From 2a39ece5afea00d0a41a1de21ad1d39f8f1fbb32 Mon Sep 17 00:00:00 2001 From: bsongis Date: Sun, 10 Feb 2013 19:40:17 +0000 Subject: [PATCH] ACT Tx is stopped. Directory removed --- src/Makefile | 33 +- .../CMSIS/CM3/CoreSupport/core_cm3.c | 784 -- .../CMSIS/CM3/CoreSupport/core_cm3.h | 1818 ---- .../ST/STM32F10x/Release_Notes.html | 284 - .../startup/TrueSTUDIO/startup_stm32f10x_cl.s | 473 - .../startup/TrueSTUDIO/startup_stm32f10x_hd.s | 469 - .../TrueSTUDIO/startup_stm32f10x_hd_vl.s | 451 - .../startup/TrueSTUDIO/startup_stm32f10x_ld.s | 347 - .../TrueSTUDIO/startup_stm32f10x_ld_vl.s | 392 - .../startup/TrueSTUDIO/startup_stm32f10x_md.s | 363 - .../TrueSTUDIO/startup_stm32f10x_md_vl.s | 408 - .../startup/TrueSTUDIO/startup_stm32f10x_xl.s | 467 - .../startup/arm/startup_stm32f10x_cl.s | 368 - .../startup/arm/startup_stm32f10x_hd.s | 358 - .../startup/arm/startup_stm32f10x_hd_vl.s | 346 - .../startup/arm/startup_stm32f10x_ld.s | 297 - .../startup/arm/startup_stm32f10x_ld_vl.s | 304 - .../startup/arm/startup_stm32f10x_md.s | 307 - .../startup/arm/startup_stm32f10x_md_vl.s | 315 - .../startup/arm/startup_stm32f10x_xl.s | 358 - .../startup/gcc_ride7/startup_stm32f10x_cl.s | 468 - .../startup/gcc_ride7/startup_stm32f10x_hd.s | 465 - .../gcc_ride7/startup_stm32f10x_hd_vl.s | 442 - .../startup/gcc_ride7/startup_stm32f10x_ld.s | 343 - .../gcc_ride7/startup_stm32f10x_ld_vl.s | 383 - .../startup/gcc_ride7/startup_stm32f10x_md.s | 358 - .../gcc_ride7/startup_stm32f10x_md_vl.s | 399 - .../startup/gcc_ride7/startup_stm32f10x_xl.s | 465 - .../startup/iar/startup_stm32f10x_cl.s | 507 - .../startup/iar/startup_stm32f10x_hd.s | 496 - .../startup/iar/startup_stm32f10x_hd_vl.s | 461 - .../startup/iar/startup_stm32f10x_ld.s | 366 - .../startup/iar/startup_stm32f10x_ld_vl.s | 369 - .../startup/iar/startup_stm32f10x_md.s | 391 - .../startup/iar/startup_stm32f10x_md_vl.s | 394 - .../startup/iar/startup_stm32f10x_xl.s | 496 - .../DeviceSupport/ST/STM32F10x/stm32f10x.h | 8336 ----------------- .../ST/STM32F10x/system_stm32f10x.c | 1094 --- .../ST/STM32F10x/system_stm32f10x.h | 98 - .../Libraries/CMSIS/CMSIS debug support.htm | 243 - .../Libraries/CMSIS/CMSIS_changes.htm | 320 - .../CMSIS/Documentation/CMSIS_Core.htm | 1337 --- .../Libraries/CMSIS/License.doc | Bin 39936 -> 0 bytes .../Release_Notes.html | 342 - .../STM32F10x_StdPeriph_Driver/inc/misc.h | 220 - .../inc/stm32f10x_adc.h | 483 - .../inc/stm32f10x_bkp.h | 195 - .../inc/stm32f10x_can.h | 697 -- .../inc/stm32f10x_cec.h | 210 - .../inc/stm32f10x_crc.h | 94 - .../inc/stm32f10x_dac.h | 317 - .../inc/stm32f10x_dbgmcu.h | 119 - .../inc/stm32f10x_dma.h | 439 - .../inc/stm32f10x_exti.h | 184 - .../inc/stm32f10x_flash.h | 426 - .../inc/stm32f10x_fsmc.h | 733 -- .../inc/stm32f10x_gpio.h | 385 - .../inc/stm32f10x_i2c.h | 684 -- .../inc/stm32f10x_iwdg.h | 140 - .../inc/stm32f10x_pwr.h | 156 - .../inc/stm32f10x_rcc.h | 727 -- .../inc/stm32f10x_rtc.h | 135 - .../inc/stm32f10x_sdio.h | 531 -- .../inc/stm32f10x_spi.h | 487 - .../inc/stm32f10x_tim.h | 1164 --- .../inc/stm32f10x_usart.h | 412 - .../inc/stm32f10x_wwdg.h | 115 - .../STM32F10x_StdPeriph_Driver/src/misc.c | 225 - .../src/stm32f10x_adc.c | 1307 --- .../src/stm32f10x_bkp.c | 308 - .../src/stm32f10x_can.c | 1415 --- .../src/stm32f10x_cec.c | 433 - .../src/stm32f10x_crc.c | 160 - .../src/stm32f10x_dac.c | 571 -- .../src/stm32f10x_dbgmcu.c | 162 - .../src/stm32f10x_dma.c | 714 -- .../src/stm32f10x_exti.c | 269 - .../src/stm32f10x_flash.c | 1684 ---- .../src/stm32f10x_fsmc.c | 866 -- .../src/stm32f10x_gpio.c | 650 -- .../src/stm32f10x_i2c.c | 1331 --- .../src/stm32f10x_iwdg.c | 190 - .../src/stm32f10x_pwr.c | 307 - .../src/stm32f10x_rcc.c | 1470 --- .../src/stm32f10x_rtc.c | 339 - .../src/stm32f10x_sdio.c | 799 -- .../src/stm32f10x_spi.c | 908 -- .../src/stm32f10x_tim.c | 2890 ------ .../src/stm32f10x_usart.c | 1058 --- .../src/stm32f10x_wwdg.c | 224 - .../Release_Notes.html | 1031 -- .../Utilities/STM32_EVAL/Common/fonts.c | 997 -- .../Utilities/STM32_EVAL/Common/fonts.h | 118 - .../STM32_EVAL/Common/stm32_eval_i2c_ee.c | 854 -- .../STM32_EVAL/Common/stm32_eval_i2c_ee.h | 201 - .../Common/stm32_eval_i2c_tsensor.c | 977 -- .../Common/stm32_eval_i2c_tsensor.h | 173 - .../STM32_EVAL/Common/stm32_eval_sdio_sd.c | 2502 ----- .../STM32_EVAL/Common/stm32_eval_sdio_sd.h | 397 - .../STM32_EVAL/Common/stm32_eval_spi_flash.c | 541 -- .../STM32_EVAL/Common/stm32_eval_spi_flash.h | 151 - .../STM32_EVAL/Common/stm32_eval_spi_sd.c | 901 -- .../STM32_EVAL/Common/stm32_eval_spi_sd.h | 280 - .../Utilities/STM32_EVAL/Release_Notes.html | 328 - .../STM32100B_EVAL/stm32100b_eval.c | 624 -- .../STM32100B_EVAL/stm32100b_eval.h | 341 - .../STM32100B_EVAL/stm32100b_eval_cec.c | 1722 ---- .../STM32100B_EVAL/stm32100b_eval_cec.h | 290 - .../STM32100B_EVAL/stm32100b_eval_lcd.c | 1875 ---- .../STM32100B_EVAL/stm32100b_eval_lcd.h | 393 - .../STM32100E_EVAL/stm32100e_eval.c | 762 -- .../STM32100E_EVAL/stm32100e_eval.h | 393 - .../STM32100E_EVAL/stm32100e_eval_cec.c | 1722 ---- .../STM32100E_EVAL/stm32100e_eval_cec.h | 290 - .../stm32100e_eval_fsmc_onenand.c | 482 - .../stm32100e_eval_fsmc_onenand.h | 189 - .../STM32100E_EVAL/stm32100e_eval_fsmc_sram.c | 237 - .../STM32100E_EVAL/stm32100e_eval_fsmc_sram.h | 104 - .../STM32100E_EVAL/stm32100e_eval_ioe.c | 1405 --- .../STM32100E_EVAL/stm32100e_eval_ioe.h | 491 - .../STM32100E_EVAL/stm32100e_eval_lcd.c | 1419 --- .../STM32100E_EVAL/stm32100e_eval_lcd.h | 359 - .../STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c | 620 -- .../STM32_EVAL/STM3210B_EVAL/stm3210b_eval.h | 347 - .../STM3210B_EVAL/stm3210b_eval_lcd.c | 1878 ---- .../STM3210B_EVAL/stm3210b_eval_lcd.h | 394 - .../STM32_EVAL/STM3210C_EVAL/stm3210c_eval.c | 604 -- .../STM32_EVAL/STM3210C_EVAL/stm3210c_eval.h | 277 - .../STM3210C_EVAL/stm3210c_eval_ioe.c | 1594 ---- .../STM3210C_EVAL/stm3210c_eval_ioe.h | 537 -- .../STM3210C_EVAL/stm3210c_eval_lcd.c | 1407 --- .../STM3210C_EVAL/stm3210c_eval_lcd.h | 379 - .../STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c | 667 -- .../STM32_EVAL/STM3210E_EVAL/stm3210e_eval.h | 342 - .../STM3210E_EVAL/stm3210e_eval_fsmc_nand.c | 546 -- .../STM3210E_EVAL/stm3210e_eval_fsmc_nand.h | 177 - .../STM3210E_EVAL/stm3210e_eval_fsmc_nor.c | 479 - .../STM3210E_EVAL/stm3210e_eval_fsmc_nor.h | 128 - .../STM3210E_EVAL/stm3210e_eval_fsmc_sram.c | 237 - .../STM3210E_EVAL/stm3210e_eval_fsmc_sram.h | 104 - .../STM3210E_EVAL/stm3210e_eval_lcd.c | 1329 --- .../STM3210E_EVAL/stm3210e_eval_lcd.h | 359 - .../STM32L152_EVAL/stm32l152_eval.c | 750 -- .../STM32L152_EVAL/stm32l152_eval.h | 403 - .../STM32L152_EVAL/stm32l152_eval_glass_lcd.c | 855 -- .../STM32L152_EVAL/stm32l152_eval_glass_lcd.h | 125 - .../STM32L152_EVAL/stm32l152_eval_i2c_ee.c | 810 -- .../STM32L152_EVAL/stm32l152_eval_i2c_ee.h | 181 - .../STM32L152_EVAL/stm32l152_eval_lcd.c | 1529 --- .../STM32L152_EVAL/stm32l152_eval_lcd.h | 392 - .../Utilities/STM32_EVAL/stm32_eval.c | 120 - .../Utilities/STM32_EVAL/stm32_eval.h | 368 - .../_htmresc/CMSIS_Logo_Final.jpg | Bin 123676 -> 0 bytes .../_htmresc/logo.bmp | Bin 6798 -> 0 bytes .../stm32f10x_stdperiph_lib_um.chm | Bin 19649306 -> 0 bytes src/act/audio_driver.cpp | 58 - src/act/board_act.cpp | 121 - src/act/board_act.h | 170 - src/act/keys_driver.cpp | 161 - src/splash_ACT.lbm | 11 - src/splash_ACT.xbm | 210 - 161 files changed, 2 insertions(+), 96064 deletions(-) delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport/core_cm3.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport/core_cm3.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/Release_Notes.html delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_cl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_hd.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_hd_vl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_ld.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_ld_vl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_md.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_md_vl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_xl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_cl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_hd.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_hd_vl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_ld.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_ld_vl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_md.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_md_vl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_xl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_cl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd_vl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld_vl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_md.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_md_vl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_xl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_cl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd_vl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld_vl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_md.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_md_vl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_xl.s delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CMSIS debug support.htm delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CMSIS_changes.htm delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/Documentation/CMSIS_Core.htm delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/License.doc delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/Release_Notes.html delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/misc.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_adc.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_bkp.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_can.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_cec.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_crc.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dac.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dbgmcu.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dma.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_exti.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_flash.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_fsmc.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_gpio.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_i2c.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_iwdg.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_pwr.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rcc.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rtc.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_sdio.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_spi.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_tim.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_usart.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_wwdg.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_bkp.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_can.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_cec.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_crc.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dbgmcu.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_iwdg.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rtc.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_wwdg.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Release_Notes.html delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/fonts.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/fonts.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_ee.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_ee.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_tsensor.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_tsensor.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_sdio_sd.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_sdio_sd.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_flash.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_flash.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_sd.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_sd.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Release_Notes.html delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_cec.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_cec.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_lcd.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_lcd.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_cec.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_cec.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_onenand.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_onenand.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_sram.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_sram.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_ioe.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_ioe.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_lcd.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_lcd.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval_lcd.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval_lcd.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_ioe.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_ioe.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_lcd.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_lcd.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nand.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nand.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nor.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nor.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_sram.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_sram.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_lcd.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_lcd.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_glass_lcd.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_glass_lcd.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_i2c_ee.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_i2c_ee.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_lcd.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_lcd.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/stm32_eval.c delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/stm32_eval.h delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/_htmresc/CMSIS_Logo_Final.jpg delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/_htmresc/logo.bmp delete mode 100644 src/act/STM32F10x_StdPeriph_Lib_V3.5.0/stm32f10x_stdperiph_lib_um.chm delete mode 100644 src/act/audio_driver.cpp delete mode 100644 src/act/board_act.cpp delete mode 100644 src/act/board_act.h delete mode 100644 src/act/keys_driver.cpp delete mode 100644 src/splash_ACT.lbm delete mode 100644 src/splash_ACT.xbm diff --git a/src/Makefile b/src/Makefile index eb9e6d2ef..d75de7d52 100644 --- a/src/Makefile +++ b/src/Makefile @@ -50,7 +50,7 @@ DELAY = 5 #----------- BUILD OPTIONS --------------------------- # PCB version -# Values: 9X, 9X128, 9XR, 9XR128, GRUVIN9X, SKY9X, X9D, ACT +# Values: 9X, 9X128, 9XR, 9XR128, GRUVIN9X, SKY9X, X9D # Old values STD and STD128 are mapped to 9X and 9X128 for compatibility PCB = 9X @@ -278,14 +278,6 @@ ifeq ($(PCB), X9D) SDCARD = YES endif -ifeq ($(PCB), ACT) - ARCH = ARM - LDSCRIPT = x9d/stm32_flash.ld - TRGT = arm-none-eabi- - MCU = cortex-m3 - SDCARD = NO -endif - CC = $(TRGT)gcc AS = $(TRGT)as OBJCOPY = $(TRGT)objcopy @@ -481,22 +473,6 @@ endif RUN_FROM_FLASH = 1 -ifeq ($(PCB), ACT) - # ACT radio - OPT = 2 - CPPDEFS += -DPCBACT -DCPUARM -DEEPROM_VARIANT=0 -DAUDIO -DPXX -DDSM2 -DDSM2_PPM -DSTM32F10X_HD - EXTRAINCDIRS += sky9x CoOS/kernel CoOS/portable - EXTRAINCDIRS += act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x - BOARDSRC = act/board_act.cpp - EXTRABOARDSRC += x9d/lcd_driver.cpp - SRC += CoOS/kernel/core.c CoOS/kernel/hook.c CoOS/kernel/task.c CoOS/kernel/event.c CoOS/kernel/time.c CoOS/kernel/timer.c CoOS/kernel/flag.c CoOS/kernel/mutex.c CoOS/kernel/serviceReq.c CoOS/portable/GCC/port.c CoOS/portable/arch.c - EEPROMSRC = eeprom_avr.cpp # TODO later eeprom_conversions.cpp - CPPSRC += x9d/pulses_driver.cpp act/keys_driver.cpp act/audio_driver.cpp - CPPSRC += audio_arm.cpp - PULSESSRC = pulses_arm.cpp - CPPSRC += monitors_views.cpp -endif - ifeq ($(PCB), X9D) # X9D radio OPT = 2 @@ -855,7 +831,7 @@ eep: $(TARGET).eep lss: $(TARGET).lss sym: $(TARGET).sym -lbm: font.lbm font_tiny.lbm font_small.lbm font_midsize.lbm font_dblsize.lbm sticks.lbm splash_9x.lbm splash_X9D.lbm splash_ACT.lbm asterisk.lbm +lbm: font.lbm font_tiny.lbm font_small.lbm font_midsize.lbm font_dblsize.lbm sticks.lbm splash_9x.lbm splash_X9D.lbm asterisk.lbm # Build stamp-file stamp_header: @@ -944,11 +920,6 @@ splash_X9D.lbm: splash_X9D.bmp @echo "Convert X9D splash from xbm to lbm:" $(IMG2LBM) $< $@ bmp -splash_ACT.lbm: splash_ACT.xbm - @echo - @echo "Convert ACT splash from xbm to lbm:" - $(IMG2LBM) $< $@ largimg - asterisk.lbm: asterisk.xbm @echo @echo "Convert asterisk from xbm to lbm:" diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport/core_cm3.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport/core_cm3.c deleted file mode 100644 index 56fddc52b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport/core_cm3.c +++ /dev/null @@ -1,784 +0,0 @@ -/**************************************************************************//** - * @file core_cm3.c - * @brief CMSIS Cortex-M3 Core Peripheral Access Layer Source File - * @version V1.30 - * @date 30. October 2009 - * - * @note - * Copyright (C) 2009 ARM Limited. All rights reserved. - * - * @par - * ARM Limited (ARM) is supplying this software for use with Cortex-M - * processor based microcontrollers. This file can be freely distributed - * within development tools that are supporting such ARM based processors. - * - * @par - * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED - * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. - * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR - * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - * - ******************************************************************************/ - -#include - -/* define compiler specific symbols */ -#if defined ( __CC_ARM ) - #define __ASM __asm /*!< asm keyword for ARM Compiler */ - #define __INLINE __inline /*!< inline keyword for ARM Compiler */ - -#elif defined ( __ICCARM__ ) - #define __ASM __asm /*!< asm keyword for IAR Compiler */ - #define __INLINE inline /*!< inline keyword for IAR Compiler. Only avaiable in High optimization mode! */ - -#elif defined ( __GNUC__ ) - #define __ASM __asm /*!< asm keyword for GNU Compiler */ - #define __INLINE inline /*!< inline keyword for GNU Compiler */ - -#elif defined ( __TASKING__ ) - #define __ASM __asm /*!< asm keyword for TASKING Compiler */ - #define __INLINE inline /*!< inline keyword for TASKING Compiler */ - -#endif - - -/* ################### Compiler specific Intrinsics ########################### */ - -#if defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/ -/* ARM armcc specific functions */ - -/** - * @brief Return the Process Stack Pointer - * - * @return ProcessStackPointer - * - * Return the actual process stack pointer - */ -__ASM uint32_t __get_PSP(void) -{ - mrs r0, psp - bx lr -} - -/** - * @brief Set the Process Stack Pointer - * - * @param topOfProcStack Process Stack Pointer - * - * Assign the value ProcessStackPointer to the MSP - * (process stack pointer) Cortex processor register - */ -__ASM void __set_PSP(uint32_t topOfProcStack) -{ - msr psp, r0 - bx lr -} - -/** - * @brief Return the Main Stack Pointer - * - * @return Main Stack Pointer - * - * Return the current value of the MSP (main stack pointer) - * Cortex processor register - */ -__ASM uint32_t __get_MSP(void) -{ - mrs r0, msp - bx lr -} - -/** - * @brief Set the Main Stack Pointer - * - * @param topOfMainStack Main Stack Pointer - * - * Assign the value mainStackPointer to the MSP - * (main stack pointer) Cortex processor register - */ -__ASM void __set_MSP(uint32_t mainStackPointer) -{ - msr msp, r0 - bx lr -} - -/** - * @brief Reverse byte order in unsigned short value - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in unsigned short value - */ -__ASM uint32_t __REV16(uint16_t value) -{ - rev16 r0, r0 - bx lr -} - -/** - * @brief Reverse byte order in signed short value with sign extension to integer - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in signed short value with sign extension to integer - */ -__ASM int32_t __REVSH(int16_t value) -{ - revsh r0, r0 - bx lr -} - - -#if (__ARMCC_VERSION < 400000) - -/** - * @brief Remove the exclusive lock created by ldrex - * - * Removes the exclusive lock which is created by ldrex. - */ -__ASM void __CLREX(void) -{ - clrex -} - -/** - * @brief Return the Base Priority value - * - * @return BasePriority - * - * Return the content of the base priority register - */ -__ASM uint32_t __get_BASEPRI(void) -{ - mrs r0, basepri - bx lr -} - -/** - * @brief Set the Base Priority value - * - * @param basePri BasePriority - * - * Set the base priority register - */ -__ASM void __set_BASEPRI(uint32_t basePri) -{ - msr basepri, r0 - bx lr -} - -/** - * @brief Return the Priority Mask value - * - * @return PriMask - * - * Return state of the priority mask bit from the priority mask register - */ -__ASM uint32_t __get_PRIMASK(void) -{ - mrs r0, primask - bx lr -} - -/** - * @brief Set the Priority Mask value - * - * @param priMask PriMask - * - * Set the priority mask bit in the priority mask register - */ -__ASM void __set_PRIMASK(uint32_t priMask) -{ - msr primask, r0 - bx lr -} - -/** - * @brief Return the Fault Mask value - * - * @return FaultMask - * - * Return the content of the fault mask register - */ -__ASM uint32_t __get_FAULTMASK(void) -{ - mrs r0, faultmask - bx lr -} - -/** - * @brief Set the Fault Mask value - * - * @param faultMask faultMask value - * - * Set the fault mask register - */ -__ASM void __set_FAULTMASK(uint32_t faultMask) -{ - msr faultmask, r0 - bx lr -} - -/** - * @brief Return the Control Register value - * - * @return Control value - * - * Return the content of the control register - */ -__ASM uint32_t __get_CONTROL(void) -{ - mrs r0, control - bx lr -} - -/** - * @brief Set the Control Register value - * - * @param control Control value - * - * Set the control register - */ -__ASM void __set_CONTROL(uint32_t control) -{ - msr control, r0 - bx lr -} - -#endif /* __ARMCC_VERSION */ - - - -#elif (defined (__ICCARM__)) /*------------------ ICC Compiler -------------------*/ -/* IAR iccarm specific functions */ -#pragma diag_suppress=Pe940 - -/** - * @brief Return the Process Stack Pointer - * - * @return ProcessStackPointer - * - * Return the actual process stack pointer - */ -uint32_t __get_PSP(void) -{ - __ASM("mrs r0, psp"); - __ASM("bx lr"); -} - -/** - * @brief Set the Process Stack Pointer - * - * @param topOfProcStack Process Stack Pointer - * - * Assign the value ProcessStackPointer to the MSP - * (process stack pointer) Cortex processor register - */ -void __set_PSP(uint32_t topOfProcStack) -{ - __ASM("msr psp, r0"); - __ASM("bx lr"); -} - -/** - * @brief Return the Main Stack Pointer - * - * @return Main Stack Pointer - * - * Return the current value of the MSP (main stack pointer) - * Cortex processor register - */ -uint32_t __get_MSP(void) -{ - __ASM("mrs r0, msp"); - __ASM("bx lr"); -} - -/** - * @brief Set the Main Stack Pointer - * - * @param topOfMainStack Main Stack Pointer - * - * Assign the value mainStackPointer to the MSP - * (main stack pointer) Cortex processor register - */ -void __set_MSP(uint32_t topOfMainStack) -{ - __ASM("msr msp, r0"); - __ASM("bx lr"); -} - -/** - * @brief Reverse byte order in unsigned short value - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in unsigned short value - */ -uint32_t __REV16(uint16_t value) -{ - __ASM("rev16 r0, r0"); - __ASM("bx lr"); -} - -/** - * @brief Reverse bit order of value - * - * @param value value to reverse - * @return reversed value - * - * Reverse bit order of value - */ -uint32_t __RBIT(uint32_t value) -{ - __ASM("rbit r0, r0"); - __ASM("bx lr"); -} - -/** - * @brief LDR Exclusive (8 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 8 bit values) - */ -uint8_t __LDREXB(uint8_t *addr) -{ - __ASM("ldrexb r0, [r0]"); - __ASM("bx lr"); -} - -/** - * @brief LDR Exclusive (16 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 16 bit values - */ -uint16_t __LDREXH(uint16_t *addr) -{ - __ASM("ldrexh r0, [r0]"); - __ASM("bx lr"); -} - -/** - * @brief LDR Exclusive (32 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 32 bit values - */ -uint32_t __LDREXW(uint32_t *addr) -{ - __ASM("ldrex r0, [r0]"); - __ASM("bx lr"); -} - -/** - * @brief STR Exclusive (8 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 8 bit values - */ -uint32_t __STREXB(uint8_t value, uint8_t *addr) -{ - __ASM("strexb r0, r0, [r1]"); - __ASM("bx lr"); -} - -/** - * @brief STR Exclusive (16 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 16 bit values - */ -uint32_t __STREXH(uint16_t value, uint16_t *addr) -{ - __ASM("strexh r0, r0, [r1]"); - __ASM("bx lr"); -} - -/** - * @brief STR Exclusive (32 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 32 bit values - */ -uint32_t __STREXW(uint32_t value, uint32_t *addr) -{ - __ASM("strex r0, r0, [r1]"); - __ASM("bx lr"); -} - -#pragma diag_default=Pe940 - - -#elif (defined (__GNUC__)) /*------------------ GNU Compiler ---------------------*/ -/* GNU gcc specific functions */ - -/** - * @brief Return the Process Stack Pointer - * - * @return ProcessStackPointer - * - * Return the actual process stack pointer - */ -uint32_t __get_PSP(void) __attribute__( ( naked ) ); -uint32_t __get_PSP(void) -{ - uint32_t result=0; - - __ASM volatile ("MRS %0, psp\n\t" - "MOV r0, %0 \n\t" - "BX lr \n\t" : "=r" (result) ); - return(result); -} - -/** - * @brief Set the Process Stack Pointer - * - * @param topOfProcStack Process Stack Pointer - * - * Assign the value ProcessStackPointer to the MSP - * (process stack pointer) Cortex processor register - */ -void __set_PSP(uint32_t topOfProcStack) __attribute__( ( naked ) ); -void __set_PSP(uint32_t topOfProcStack) -{ - __ASM volatile ("MSR psp, %0\n\t" - "BX lr \n\t" : : "r" (topOfProcStack) ); -} - -/** - * @brief Return the Main Stack Pointer - * - * @return Main Stack Pointer - * - * Return the current value of the MSP (main stack pointer) - * Cortex processor register - */ -uint32_t __get_MSP(void) __attribute__( ( naked ) ); -uint32_t __get_MSP(void) -{ - uint32_t result=0; - - __ASM volatile ("MRS %0, msp\n\t" - "MOV r0, %0 \n\t" - "BX lr \n\t" : "=r" (result) ); - return(result); -} - -/** - * @brief Set the Main Stack Pointer - * - * @param topOfMainStack Main Stack Pointer - * - * Assign the value mainStackPointer to the MSP - * (main stack pointer) Cortex processor register - */ -void __set_MSP(uint32_t topOfMainStack) __attribute__( ( naked ) ); -void __set_MSP(uint32_t topOfMainStack) -{ - __ASM volatile ("MSR msp, %0\n\t" - "BX lr \n\t" : : "r" (topOfMainStack) ); -} - -/** - * @brief Return the Base Priority value - * - * @return BasePriority - * - * Return the content of the base priority register - */ -uint32_t __get_BASEPRI(void) -{ - uint32_t result=0; - - __ASM volatile ("MRS %0, basepri_max" : "=r" (result) ); - return(result); -} - -/** - * @brief Set the Base Priority value - * - * @param basePri BasePriority - * - * Set the base priority register - */ -void __set_BASEPRI(uint32_t value) -{ - __ASM volatile ("MSR basepri, %0" : : "r" (value) ); -} - -/** - * @brief Return the Priority Mask value - * - * @return PriMask - * - * Return state of the priority mask bit from the priority mask register - */ -uint32_t __get_PRIMASK(void) -{ - uint32_t result=0; - - __ASM volatile ("MRS %0, primask" : "=r" (result) ); - return(result); -} - -/** - * @brief Set the Priority Mask value - * - * @param priMask PriMask - * - * Set the priority mask bit in the priority mask register - */ -void __set_PRIMASK(uint32_t priMask) -{ - __ASM volatile ("MSR primask, %0" : : "r" (priMask) ); -} - -/** - * @brief Return the Fault Mask value - * - * @return FaultMask - * - * Return the content of the fault mask register - */ -uint32_t __get_FAULTMASK(void) -{ - uint32_t result=0; - - __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); - return(result); -} - -/** - * @brief Set the Fault Mask value - * - * @param faultMask faultMask value - * - * Set the fault mask register - */ -void __set_FAULTMASK(uint32_t faultMask) -{ - __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) ); -} - -/** - * @brief Return the Control Register value -* -* @return Control value - * - * Return the content of the control register - */ -uint32_t __get_CONTROL(void) -{ - uint32_t result=0; - - __ASM volatile ("MRS %0, control" : "=r" (result) ); - return(result); -} - -/** - * @brief Set the Control Register value - * - * @param control Control value - * - * Set the control register - */ -void __set_CONTROL(uint32_t control) -{ - __ASM volatile ("MSR control, %0" : : "r" (control) ); -} - - -/** - * @brief Reverse byte order in integer value - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in integer value - */ -uint32_t __REV(uint32_t value) -{ - uint32_t result=0; - - __ASM volatile ("rev %0, %1" : "=r" (result) : "r" (value) ); - return(result); -} - -/** - * @brief Reverse byte order in unsigned short value - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in unsigned short value - */ -uint32_t __REV16(uint16_t value) -{ - uint32_t result=0; - - __ASM volatile ("rev16 %0, %1" : "=r" (result) : "r" (value) ); - return(result); -} - -/** - * @brief Reverse byte order in signed short value with sign extension to integer - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in signed short value with sign extension to integer - */ -int32_t __REVSH(int16_t value) -{ - uint32_t result=0; - - __ASM volatile ("revsh %0, %1" : "=r" (result) : "r" (value) ); - return(result); -} - -/** - * @brief Reverse bit order of value - * - * @param value value to reverse - * @return reversed value - * - * Reverse bit order of value - */ -uint32_t __RBIT(uint32_t value) -{ - uint32_t result=0; - - __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) ); - return(result); -} - -/** - * @brief LDR Exclusive (8 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 8 bit value - */ -uint8_t __LDREXB(uint8_t *addr) -{ - uint8_t result=0; - - __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) ); - return(result); -} - -/** - * @brief LDR Exclusive (16 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 16 bit values - */ -uint16_t __LDREXH(uint16_t *addr) -{ - uint16_t result=0; - - __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) ); - return(result); -} - -/** - * @brief LDR Exclusive (32 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 32 bit values - */ -uint32_t __LDREXW(uint32_t *addr) -{ - uint32_t result=0; - - __ASM volatile ("ldrex %0, [%1]" : "=r" (result) : "r" (addr) ); - return(result); -} - -/** - * @brief STR Exclusive (8 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 8 bit values - */ -uint32_t __STREXB(uint8_t value, uint8_t *addr) -{ - uint32_t result=0; - - __ASM volatile ("strexb %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) ); - return(result); -} - -/** - * @brief STR Exclusive (16 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 16 bit values - */ -uint32_t __STREXH(uint16_t value, uint16_t *addr) -{ - uint32_t result=0; - - __ASM volatile ("strexh %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) ); - return(result); -} - -/** - * @brief STR Exclusive (32 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 32 bit values - */ -uint32_t __STREXW(uint32_t value, uint32_t *addr) -{ - uint32_t result=0; - - __ASM volatile ("strex %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) ); - return(result); -} - - -#elif (defined (__TASKING__)) /*------------------ TASKING Compiler ---------------------*/ -/* TASKING carm specific functions */ - -/* - * The CMSIS functions have been implemented as intrinsics in the compiler. - * Please use "carm -?i" to get an up to date list of all instrinsics, - * Including the CMSIS ones. - */ - -#endif diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport/core_cm3.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport/core_cm3.h deleted file mode 100644 index 2b6b51a7d..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport/core_cm3.h +++ /dev/null @@ -1,1818 +0,0 @@ -/**************************************************************************//** - * @file core_cm3.h - * @brief CMSIS Cortex-M3 Core Peripheral Access Layer Header File - * @version V1.30 - * @date 30. October 2009 - * - * @note - * Copyright (C) 2009 ARM Limited. All rights reserved. - * - * @par - * ARM Limited (ARM) is supplying this software for use with Cortex-M - * processor based microcontrollers. This file can be freely distributed - * within development tools that are supporting such ARM based processors. - * - * @par - * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED - * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. - * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR - * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. - * - ******************************************************************************/ - -#ifndef __CM3_CORE_H__ -#define __CM3_CORE_H__ - -/** @addtogroup CMSIS_CM3_core_LintCinfiguration CMSIS CM3 Core Lint Configuration - * - * List of Lint messages which will be suppressed and not shown: - * - Error 10: \n - * register uint32_t __regBasePri __asm("basepri"); \n - * Error 10: Expecting ';' - * . - * - Error 530: \n - * return(__regBasePri); \n - * Warning 530: Symbol '__regBasePri' (line 264) not initialized - * . - * - Error 550: \n - * __regBasePri = (basePri & 0x1ff); \n - * Warning 550: Symbol '__regBasePri' (line 271) not accessed - * . - * - Error 754: \n - * uint32_t RESERVED0[24]; \n - * Info 754: local structure member '' (line 109, file ./cm3_core.h) not referenced - * . - * - Error 750: \n - * #define __CM3_CORE_H__ \n - * Info 750: local macro '__CM3_CORE_H__' (line 43, file./cm3_core.h) not referenced - * . - * - Error 528: \n - * static __INLINE void NVIC_DisableIRQ(uint32_t IRQn) \n - * Warning 528: Symbol 'NVIC_DisableIRQ(unsigned int)' (line 419, file ./cm3_core.h) not referenced - * . - * - Error 751: \n - * } InterruptType_Type; \n - * Info 751: local typedef 'InterruptType_Type' (line 170, file ./cm3_core.h) not referenced - * . - * Note: To re-enable a Message, insert a space before 'lint' * - * - */ - -/*lint -save */ -/*lint -e10 */ -/*lint -e530 */ -/*lint -e550 */ -/*lint -e754 */ -/*lint -e750 */ -/*lint -e528 */ -/*lint -e751 */ - - -/** @addtogroup CMSIS_CM3_core_definitions CM3 Core Definitions - This file defines all structures and symbols for CMSIS core: - - CMSIS version number - - Cortex-M core registers and bitfields - - Cortex-M core peripheral base address - @{ - */ - -#ifdef __cplusplus - extern "C" { -#endif - -#define __CM3_CMSIS_VERSION_MAIN (0x01) /*!< [31:16] CMSIS HAL main version */ -#define __CM3_CMSIS_VERSION_SUB (0x30) /*!< [15:0] CMSIS HAL sub version */ -#define __CM3_CMSIS_VERSION ((__CM3_CMSIS_VERSION_MAIN << 16) | __CM3_CMSIS_VERSION_SUB) /*!< CMSIS HAL version number */ - -#define __CORTEX_M (0x03) /*!< Cortex core */ - -#include /* Include standard types */ - -#if defined (__ICCARM__) - #include /* IAR Intrinsics */ -#endif - - -#ifndef __NVIC_PRIO_BITS - #define __NVIC_PRIO_BITS 4 /*!< standard definition for NVIC Priority Bits */ -#endif - - - - -/** - * IO definitions - * - * define access restrictions to peripheral registers - */ - -#ifdef __cplusplus - #define __I volatile /*!< defines 'read only' permissions */ -#else - #define __I volatile const /*!< defines 'read only' permissions */ -#endif -#define __O volatile /*!< defines 'write only' permissions */ -#define __IO volatile /*!< defines 'read / write' permissions */ - - - -/******************************************************************************* - * Register Abstraction - ******************************************************************************/ -/** @addtogroup CMSIS_CM3_core_register CMSIS CM3 Core Register - @{ -*/ - - -/** @addtogroup CMSIS_CM3_NVIC CMSIS CM3 NVIC - memory mapped structure for Nested Vectored Interrupt Controller (NVIC) - @{ - */ -typedef struct -{ - __IO uint32_t ISER[8]; /*!< Offset: 0x000 Interrupt Set Enable Register */ - uint32_t RESERVED0[24]; - __IO uint32_t ICER[8]; /*!< Offset: 0x080 Interrupt Clear Enable Register */ - uint32_t RSERVED1[24]; - __IO uint32_t ISPR[8]; /*!< Offset: 0x100 Interrupt Set Pending Register */ - uint32_t RESERVED2[24]; - __IO uint32_t ICPR[8]; /*!< Offset: 0x180 Interrupt Clear Pending Register */ - uint32_t RESERVED3[24]; - __IO uint32_t IABR[8]; /*!< Offset: 0x200 Interrupt Active bit Register */ - uint32_t RESERVED4[56]; - __IO uint8_t IP[240]; /*!< Offset: 0x300 Interrupt Priority Register (8Bit wide) */ - uint32_t RESERVED5[644]; - __O uint32_t STIR; /*!< Offset: 0xE00 Software Trigger Interrupt Register */ -} NVIC_Type; -/*@}*/ /* end of group CMSIS_CM3_NVIC */ - - -/** @addtogroup CMSIS_CM3_SCB CMSIS CM3 SCB - memory mapped structure for System Control Block (SCB) - @{ - */ -typedef struct -{ - __I uint32_t CPUID; /*!< Offset: 0x00 CPU ID Base Register */ - __IO uint32_t ICSR; /*!< Offset: 0x04 Interrupt Control State Register */ - __IO uint32_t VTOR; /*!< Offset: 0x08 Vector Table Offset Register */ - __IO uint32_t AIRCR; /*!< Offset: 0x0C Application Interrupt / Reset Control Register */ - __IO uint32_t SCR; /*!< Offset: 0x10 System Control Register */ - __IO uint32_t CCR; /*!< Offset: 0x14 Configuration Control Register */ - __IO uint8_t SHP[12]; /*!< Offset: 0x18 System Handlers Priority Registers (4-7, 8-11, 12-15) */ - __IO uint32_t SHCSR; /*!< Offset: 0x24 System Handler Control and State Register */ - __IO uint32_t CFSR; /*!< Offset: 0x28 Configurable Fault Status Register */ - __IO uint32_t HFSR; /*!< Offset: 0x2C Hard Fault Status Register */ - __IO uint32_t DFSR; /*!< Offset: 0x30 Debug Fault Status Register */ - __IO uint32_t MMFAR; /*!< Offset: 0x34 Mem Manage Address Register */ - __IO uint32_t BFAR; /*!< Offset: 0x38 Bus Fault Address Register */ - __IO uint32_t AFSR; /*!< Offset: 0x3C Auxiliary Fault Status Register */ - __I uint32_t PFR[2]; /*!< Offset: 0x40 Processor Feature Register */ - __I uint32_t DFR; /*!< Offset: 0x48 Debug Feature Register */ - __I uint32_t ADR; /*!< Offset: 0x4C Auxiliary Feature Register */ - __I uint32_t MMFR[4]; /*!< Offset: 0x50 Memory Model Feature Register */ - __I uint32_t ISAR[5]; /*!< Offset: 0x60 ISA Feature Register */ -} SCB_Type; - -/* SCB CPUID Register Definitions */ -#define SCB_CPUID_IMPLEMENTER_Pos 24 /*!< SCB CPUID: IMPLEMENTER Position */ -#define SCB_CPUID_IMPLEMENTER_Msk (0xFFul << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */ - -#define SCB_CPUID_VARIANT_Pos 20 /*!< SCB CPUID: VARIANT Position */ -#define SCB_CPUID_VARIANT_Msk (0xFul << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */ - -#define SCB_CPUID_PARTNO_Pos 4 /*!< SCB CPUID: PARTNO Position */ -#define SCB_CPUID_PARTNO_Msk (0xFFFul << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */ - -#define SCB_CPUID_REVISION_Pos 0 /*!< SCB CPUID: REVISION Position */ -#define SCB_CPUID_REVISION_Msk (0xFul << SCB_CPUID_REVISION_Pos) /*!< SCB CPUID: REVISION Mask */ - -/* SCB Interrupt Control State Register Definitions */ -#define SCB_ICSR_NMIPENDSET_Pos 31 /*!< SCB ICSR: NMIPENDSET Position */ -#define SCB_ICSR_NMIPENDSET_Msk (1ul << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */ - -#define SCB_ICSR_PENDSVSET_Pos 28 /*!< SCB ICSR: PENDSVSET Position */ -#define SCB_ICSR_PENDSVSET_Msk (1ul << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */ - -#define SCB_ICSR_PENDSVCLR_Pos 27 /*!< SCB ICSR: PENDSVCLR Position */ -#define SCB_ICSR_PENDSVCLR_Msk (1ul << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */ - -#define SCB_ICSR_PENDSTSET_Pos 26 /*!< SCB ICSR: PENDSTSET Position */ -#define SCB_ICSR_PENDSTSET_Msk (1ul << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */ - -#define SCB_ICSR_PENDSTCLR_Pos 25 /*!< SCB ICSR: PENDSTCLR Position */ -#define SCB_ICSR_PENDSTCLR_Msk (1ul << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */ - -#define SCB_ICSR_ISRPREEMPT_Pos 23 /*!< SCB ICSR: ISRPREEMPT Position */ -#define SCB_ICSR_ISRPREEMPT_Msk (1ul << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */ - -#define SCB_ICSR_ISRPENDING_Pos 22 /*!< SCB ICSR: ISRPENDING Position */ -#define SCB_ICSR_ISRPENDING_Msk (1ul << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */ - -#define SCB_ICSR_VECTPENDING_Pos 12 /*!< SCB ICSR: VECTPENDING Position */ -#define SCB_ICSR_VECTPENDING_Msk (0x1FFul << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */ - -#define SCB_ICSR_RETTOBASE_Pos 11 /*!< SCB ICSR: RETTOBASE Position */ -#define SCB_ICSR_RETTOBASE_Msk (1ul << SCB_ICSR_RETTOBASE_Pos) /*!< SCB ICSR: RETTOBASE Mask */ - -#define SCB_ICSR_VECTACTIVE_Pos 0 /*!< SCB ICSR: VECTACTIVE Position */ -#define SCB_ICSR_VECTACTIVE_Msk (0x1FFul << SCB_ICSR_VECTACTIVE_Pos) /*!< SCB ICSR: VECTACTIVE Mask */ - -/* SCB Interrupt Control State Register Definitions */ -#define SCB_VTOR_TBLBASE_Pos 29 /*!< SCB VTOR: TBLBASE Position */ -#define SCB_VTOR_TBLBASE_Msk (0x1FFul << SCB_VTOR_TBLBASE_Pos) /*!< SCB VTOR: TBLBASE Mask */ - -#define SCB_VTOR_TBLOFF_Pos 7 /*!< SCB VTOR: TBLOFF Position */ -#define SCB_VTOR_TBLOFF_Msk (0x3FFFFFul << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */ - -/* SCB Application Interrupt and Reset Control Register Definitions */ -#define SCB_AIRCR_VECTKEY_Pos 16 /*!< SCB AIRCR: VECTKEY Position */ -#define SCB_AIRCR_VECTKEY_Msk (0xFFFFul << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */ - -#define SCB_AIRCR_VECTKEYSTAT_Pos 16 /*!< SCB AIRCR: VECTKEYSTAT Position */ -#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFul << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */ - -#define SCB_AIRCR_ENDIANESS_Pos 15 /*!< SCB AIRCR: ENDIANESS Position */ -#define SCB_AIRCR_ENDIANESS_Msk (1ul << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */ - -#define SCB_AIRCR_PRIGROUP_Pos 8 /*!< SCB AIRCR: PRIGROUP Position */ -#define SCB_AIRCR_PRIGROUP_Msk (7ul << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ - -#define SCB_AIRCR_SYSRESETREQ_Pos 2 /*!< SCB AIRCR: SYSRESETREQ Position */ -#define SCB_AIRCR_SYSRESETREQ_Msk (1ul << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */ - -#define SCB_AIRCR_VECTCLRACTIVE_Pos 1 /*!< SCB AIRCR: VECTCLRACTIVE Position */ -#define SCB_AIRCR_VECTCLRACTIVE_Msk (1ul << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */ - -#define SCB_AIRCR_VECTRESET_Pos 0 /*!< SCB AIRCR: VECTRESET Position */ -#define SCB_AIRCR_VECTRESET_Msk (1ul << SCB_AIRCR_VECTRESET_Pos) /*!< SCB AIRCR: VECTRESET Mask */ - -/* SCB System Control Register Definitions */ -#define SCB_SCR_SEVONPEND_Pos 4 /*!< SCB SCR: SEVONPEND Position */ -#define SCB_SCR_SEVONPEND_Msk (1ul << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */ - -#define SCB_SCR_SLEEPDEEP_Pos 2 /*!< SCB SCR: SLEEPDEEP Position */ -#define SCB_SCR_SLEEPDEEP_Msk (1ul << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */ - -#define SCB_SCR_SLEEPONEXIT_Pos 1 /*!< SCB SCR: SLEEPONEXIT Position */ -#define SCB_SCR_SLEEPONEXIT_Msk (1ul << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */ - -/* SCB Configuration Control Register Definitions */ -#define SCB_CCR_STKALIGN_Pos 9 /*!< SCB CCR: STKALIGN Position */ -#define SCB_CCR_STKALIGN_Msk (1ul << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */ - -#define SCB_CCR_BFHFNMIGN_Pos 8 /*!< SCB CCR: BFHFNMIGN Position */ -#define SCB_CCR_BFHFNMIGN_Msk (1ul << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB CCR: BFHFNMIGN Mask */ - -#define SCB_CCR_DIV_0_TRP_Pos 4 /*!< SCB CCR: DIV_0_TRP Position */ -#define SCB_CCR_DIV_0_TRP_Msk (1ul << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB CCR: DIV_0_TRP Mask */ - -#define SCB_CCR_UNALIGN_TRP_Pos 3 /*!< SCB CCR: UNALIGN_TRP Position */ -#define SCB_CCR_UNALIGN_TRP_Msk (1ul << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */ - -#define SCB_CCR_USERSETMPEND_Pos 1 /*!< SCB CCR: USERSETMPEND Position */ -#define SCB_CCR_USERSETMPEND_Msk (1ul << SCB_CCR_USERSETMPEND_Pos) /*!< SCB CCR: USERSETMPEND Mask */ - -#define SCB_CCR_NONBASETHRDENA_Pos 0 /*!< SCB CCR: NONBASETHRDENA Position */ -#define SCB_CCR_NONBASETHRDENA_Msk (1ul << SCB_CCR_NONBASETHRDENA_Pos) /*!< SCB CCR: NONBASETHRDENA Mask */ - -/* SCB System Handler Control and State Register Definitions */ -#define SCB_SHCSR_USGFAULTENA_Pos 18 /*!< SCB SHCSR: USGFAULTENA Position */ -#define SCB_SHCSR_USGFAULTENA_Msk (1ul << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB SHCSR: USGFAULTENA Mask */ - -#define SCB_SHCSR_BUSFAULTENA_Pos 17 /*!< SCB SHCSR: BUSFAULTENA Position */ -#define SCB_SHCSR_BUSFAULTENA_Msk (1ul << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB SHCSR: BUSFAULTENA Mask */ - -#define SCB_SHCSR_MEMFAULTENA_Pos 16 /*!< SCB SHCSR: MEMFAULTENA Position */ -#define SCB_SHCSR_MEMFAULTENA_Msk (1ul << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB SHCSR: MEMFAULTENA Mask */ - -#define SCB_SHCSR_SVCALLPENDED_Pos 15 /*!< SCB SHCSR: SVCALLPENDED Position */ -#define SCB_SHCSR_SVCALLPENDED_Msk (1ul << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */ - -#define SCB_SHCSR_BUSFAULTPENDED_Pos 14 /*!< SCB SHCSR: BUSFAULTPENDED Position */ -#define SCB_SHCSR_BUSFAULTPENDED_Msk (1ul << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB SHCSR: BUSFAULTPENDED Mask */ - -#define SCB_SHCSR_MEMFAULTPENDED_Pos 13 /*!< SCB SHCSR: MEMFAULTPENDED Position */ -#define SCB_SHCSR_MEMFAULTPENDED_Msk (1ul << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB SHCSR: MEMFAULTPENDED Mask */ - -#define SCB_SHCSR_USGFAULTPENDED_Pos 12 /*!< SCB SHCSR: USGFAULTPENDED Position */ -#define SCB_SHCSR_USGFAULTPENDED_Msk (1ul << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB SHCSR: USGFAULTPENDED Mask */ - -#define SCB_SHCSR_SYSTICKACT_Pos 11 /*!< SCB SHCSR: SYSTICKACT Position */ -#define SCB_SHCSR_SYSTICKACT_Msk (1ul << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB SHCSR: SYSTICKACT Mask */ - -#define SCB_SHCSR_PENDSVACT_Pos 10 /*!< SCB SHCSR: PENDSVACT Position */ -#define SCB_SHCSR_PENDSVACT_Msk (1ul << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB SHCSR: PENDSVACT Mask */ - -#define SCB_SHCSR_MONITORACT_Pos 8 /*!< SCB SHCSR: MONITORACT Position */ -#define SCB_SHCSR_MONITORACT_Msk (1ul << SCB_SHCSR_MONITORACT_Pos) /*!< SCB SHCSR: MONITORACT Mask */ - -#define SCB_SHCSR_SVCALLACT_Pos 7 /*!< SCB SHCSR: SVCALLACT Position */ -#define SCB_SHCSR_SVCALLACT_Msk (1ul << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB SHCSR: SVCALLACT Mask */ - -#define SCB_SHCSR_USGFAULTACT_Pos 3 /*!< SCB SHCSR: USGFAULTACT Position */ -#define SCB_SHCSR_USGFAULTACT_Msk (1ul << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB SHCSR: USGFAULTACT Mask */ - -#define SCB_SHCSR_BUSFAULTACT_Pos 1 /*!< SCB SHCSR: BUSFAULTACT Position */ -#define SCB_SHCSR_BUSFAULTACT_Msk (1ul << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB SHCSR: BUSFAULTACT Mask */ - -#define SCB_SHCSR_MEMFAULTACT_Pos 0 /*!< SCB SHCSR: MEMFAULTACT Position */ -#define SCB_SHCSR_MEMFAULTACT_Msk (1ul << SCB_SHCSR_MEMFAULTACT_Pos) /*!< SCB SHCSR: MEMFAULTACT Mask */ - -/* SCB Configurable Fault Status Registers Definitions */ -#define SCB_CFSR_USGFAULTSR_Pos 16 /*!< SCB CFSR: Usage Fault Status Register Position */ -#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFul << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB CFSR: Usage Fault Status Register Mask */ - -#define SCB_CFSR_BUSFAULTSR_Pos 8 /*!< SCB CFSR: Bus Fault Status Register Position */ -#define SCB_CFSR_BUSFAULTSR_Msk (0xFFul << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB CFSR: Bus Fault Status Register Mask */ - -#define SCB_CFSR_MEMFAULTSR_Pos 0 /*!< SCB CFSR: Memory Manage Fault Status Register Position */ -#define SCB_CFSR_MEMFAULTSR_Msk (0xFFul << SCB_CFSR_MEMFAULTSR_Pos) /*!< SCB CFSR: Memory Manage Fault Status Register Mask */ - -/* SCB Hard Fault Status Registers Definitions */ -#define SCB_HFSR_DEBUGEVT_Pos 31 /*!< SCB HFSR: DEBUGEVT Position */ -#define SCB_HFSR_DEBUGEVT_Msk (1ul << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB HFSR: DEBUGEVT Mask */ - -#define SCB_HFSR_FORCED_Pos 30 /*!< SCB HFSR: FORCED Position */ -#define SCB_HFSR_FORCED_Msk (1ul << SCB_HFSR_FORCED_Pos) /*!< SCB HFSR: FORCED Mask */ - -#define SCB_HFSR_VECTTBL_Pos 1 /*!< SCB HFSR: VECTTBL Position */ -#define SCB_HFSR_VECTTBL_Msk (1ul << SCB_HFSR_VECTTBL_Pos) /*!< SCB HFSR: VECTTBL Mask */ - -/* SCB Debug Fault Status Register Definitions */ -#define SCB_DFSR_EXTERNAL_Pos 4 /*!< SCB DFSR: EXTERNAL Position */ -#define SCB_DFSR_EXTERNAL_Msk (1ul << SCB_DFSR_EXTERNAL_Pos) /*!< SCB DFSR: EXTERNAL Mask */ - -#define SCB_DFSR_VCATCH_Pos 3 /*!< SCB DFSR: VCATCH Position */ -#define SCB_DFSR_VCATCH_Msk (1ul << SCB_DFSR_VCATCH_Pos) /*!< SCB DFSR: VCATCH Mask */ - -#define SCB_DFSR_DWTTRAP_Pos 2 /*!< SCB DFSR: DWTTRAP Position */ -#define SCB_DFSR_DWTTRAP_Msk (1ul << SCB_DFSR_DWTTRAP_Pos) /*!< SCB DFSR: DWTTRAP Mask */ - -#define SCB_DFSR_BKPT_Pos 1 /*!< SCB DFSR: BKPT Position */ -#define SCB_DFSR_BKPT_Msk (1ul << SCB_DFSR_BKPT_Pos) /*!< SCB DFSR: BKPT Mask */ - -#define SCB_DFSR_HALTED_Pos 0 /*!< SCB DFSR: HALTED Position */ -#define SCB_DFSR_HALTED_Msk (1ul << SCB_DFSR_HALTED_Pos) /*!< SCB DFSR: HALTED Mask */ -/*@}*/ /* end of group CMSIS_CM3_SCB */ - - -/** @addtogroup CMSIS_CM3_SysTick CMSIS CM3 SysTick - memory mapped structure for SysTick - @{ - */ -typedef struct -{ - __IO uint32_t CTRL; /*!< Offset: 0x00 SysTick Control and Status Register */ - __IO uint32_t LOAD; /*!< Offset: 0x04 SysTick Reload Value Register */ - __IO uint32_t VAL; /*!< Offset: 0x08 SysTick Current Value Register */ - __I uint32_t CALIB; /*!< Offset: 0x0C SysTick Calibration Register */ -} SysTick_Type; - -/* SysTick Control / Status Register Definitions */ -#define SysTick_CTRL_COUNTFLAG_Pos 16 /*!< SysTick CTRL: COUNTFLAG Position */ -#define SysTick_CTRL_COUNTFLAG_Msk (1ul << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */ - -#define SysTick_CTRL_CLKSOURCE_Pos 2 /*!< SysTick CTRL: CLKSOURCE Position */ -#define SysTick_CTRL_CLKSOURCE_Msk (1ul << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */ - -#define SysTick_CTRL_TICKINT_Pos 1 /*!< SysTick CTRL: TICKINT Position */ -#define SysTick_CTRL_TICKINT_Msk (1ul << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */ - -#define SysTick_CTRL_ENABLE_Pos 0 /*!< SysTick CTRL: ENABLE Position */ -#define SysTick_CTRL_ENABLE_Msk (1ul << SysTick_CTRL_ENABLE_Pos) /*!< SysTick CTRL: ENABLE Mask */ - -/* SysTick Reload Register Definitions */ -#define SysTick_LOAD_RELOAD_Pos 0 /*!< SysTick LOAD: RELOAD Position */ -#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFul << SysTick_LOAD_RELOAD_Pos) /*!< SysTick LOAD: RELOAD Mask */ - -/* SysTick Current Register Definitions */ -#define SysTick_VAL_CURRENT_Pos 0 /*!< SysTick VAL: CURRENT Position */ -#define SysTick_VAL_CURRENT_Msk (0xFFFFFFul << SysTick_VAL_CURRENT_Pos) /*!< SysTick VAL: CURRENT Mask */ - -/* SysTick Calibration Register Definitions */ -#define SysTick_CALIB_NOREF_Pos 31 /*!< SysTick CALIB: NOREF Position */ -#define SysTick_CALIB_NOREF_Msk (1ul << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */ - -#define SysTick_CALIB_SKEW_Pos 30 /*!< SysTick CALIB: SKEW Position */ -#define SysTick_CALIB_SKEW_Msk (1ul << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */ - -#define SysTick_CALIB_TENMS_Pos 0 /*!< SysTick CALIB: TENMS Position */ -#define SysTick_CALIB_TENMS_Msk (0xFFFFFFul << SysTick_VAL_CURRENT_Pos) /*!< SysTick CALIB: TENMS Mask */ -/*@}*/ /* end of group CMSIS_CM3_SysTick */ - - -/** @addtogroup CMSIS_CM3_ITM CMSIS CM3 ITM - memory mapped structure for Instrumentation Trace Macrocell (ITM) - @{ - */ -typedef struct -{ - __O union - { - __O uint8_t u8; /*!< Offset: ITM Stimulus Port 8-bit */ - __O uint16_t u16; /*!< Offset: ITM Stimulus Port 16-bit */ - __O uint32_t u32; /*!< Offset: ITM Stimulus Port 32-bit */ - } PORT [32]; /*!< Offset: 0x00 ITM Stimulus Port Registers */ - uint32_t RESERVED0[864]; - __IO uint32_t TER; /*!< Offset: ITM Trace Enable Register */ - uint32_t RESERVED1[15]; - __IO uint32_t TPR; /*!< Offset: ITM Trace Privilege Register */ - uint32_t RESERVED2[15]; - __IO uint32_t TCR; /*!< Offset: ITM Trace Control Register */ - uint32_t RESERVED3[29]; - __IO uint32_t IWR; /*!< Offset: ITM Integration Write Register */ - __IO uint32_t IRR; /*!< Offset: ITM Integration Read Register */ - __IO uint32_t IMCR; /*!< Offset: ITM Integration Mode Control Register */ - uint32_t RESERVED4[43]; - __IO uint32_t LAR; /*!< Offset: ITM Lock Access Register */ - __IO uint32_t LSR; /*!< Offset: ITM Lock Status Register */ - uint32_t RESERVED5[6]; - __I uint32_t PID4; /*!< Offset: ITM Peripheral Identification Register #4 */ - __I uint32_t PID5; /*!< Offset: ITM Peripheral Identification Register #5 */ - __I uint32_t PID6; /*!< Offset: ITM Peripheral Identification Register #6 */ - __I uint32_t PID7; /*!< Offset: ITM Peripheral Identification Register #7 */ - __I uint32_t PID0; /*!< Offset: ITM Peripheral Identification Register #0 */ - __I uint32_t PID1; /*!< Offset: ITM Peripheral Identification Register #1 */ - __I uint32_t PID2; /*!< Offset: ITM Peripheral Identification Register #2 */ - __I uint32_t PID3; /*!< Offset: ITM Peripheral Identification Register #3 */ - __I uint32_t CID0; /*!< Offset: ITM Component Identification Register #0 */ - __I uint32_t CID1; /*!< Offset: ITM Component Identification Register #1 */ - __I uint32_t CID2; /*!< Offset: ITM Component Identification Register #2 */ - __I uint32_t CID3; /*!< Offset: ITM Component Identification Register #3 */ -} ITM_Type; - -/* ITM Trace Privilege Register Definitions */ -#define ITM_TPR_PRIVMASK_Pos 0 /*!< ITM TPR: PRIVMASK Position */ -#define ITM_TPR_PRIVMASK_Msk (0xFul << ITM_TPR_PRIVMASK_Pos) /*!< ITM TPR: PRIVMASK Mask */ - -/* ITM Trace Control Register Definitions */ -#define ITM_TCR_BUSY_Pos 23 /*!< ITM TCR: BUSY Position */ -#define ITM_TCR_BUSY_Msk (1ul << ITM_TCR_BUSY_Pos) /*!< ITM TCR: BUSY Mask */ - -#define ITM_TCR_ATBID_Pos 16 /*!< ITM TCR: ATBID Position */ -#define ITM_TCR_ATBID_Msk (0x7Ful << ITM_TCR_ATBID_Pos) /*!< ITM TCR: ATBID Mask */ - -#define ITM_TCR_TSPrescale_Pos 8 /*!< ITM TCR: TSPrescale Position */ -#define ITM_TCR_TSPrescale_Msk (3ul << ITM_TCR_TSPrescale_Pos) /*!< ITM TCR: TSPrescale Mask */ - -#define ITM_TCR_SWOENA_Pos 4 /*!< ITM TCR: SWOENA Position */ -#define ITM_TCR_SWOENA_Msk (1ul << ITM_TCR_SWOENA_Pos) /*!< ITM TCR: SWOENA Mask */ - -#define ITM_TCR_DWTENA_Pos 3 /*!< ITM TCR: DWTENA Position */ -#define ITM_TCR_DWTENA_Msk (1ul << ITM_TCR_DWTENA_Pos) /*!< ITM TCR: DWTENA Mask */ - -#define ITM_TCR_SYNCENA_Pos 2 /*!< ITM TCR: SYNCENA Position */ -#define ITM_TCR_SYNCENA_Msk (1ul << ITM_TCR_SYNCENA_Pos) /*!< ITM TCR: SYNCENA Mask */ - -#define ITM_TCR_TSENA_Pos 1 /*!< ITM TCR: TSENA Position */ -#define ITM_TCR_TSENA_Msk (1ul << ITM_TCR_TSENA_Pos) /*!< ITM TCR: TSENA Mask */ - -#define ITM_TCR_ITMENA_Pos 0 /*!< ITM TCR: ITM Enable bit Position */ -#define ITM_TCR_ITMENA_Msk (1ul << ITM_TCR_ITMENA_Pos) /*!< ITM TCR: ITM Enable bit Mask */ - -/* ITM Integration Write Register Definitions */ -#define ITM_IWR_ATVALIDM_Pos 0 /*!< ITM IWR: ATVALIDM Position */ -#define ITM_IWR_ATVALIDM_Msk (1ul << ITM_IWR_ATVALIDM_Pos) /*!< ITM IWR: ATVALIDM Mask */ - -/* ITM Integration Read Register Definitions */ -#define ITM_IRR_ATREADYM_Pos 0 /*!< ITM IRR: ATREADYM Position */ -#define ITM_IRR_ATREADYM_Msk (1ul << ITM_IRR_ATREADYM_Pos) /*!< ITM IRR: ATREADYM Mask */ - -/* ITM Integration Mode Control Register Definitions */ -#define ITM_IMCR_INTEGRATION_Pos 0 /*!< ITM IMCR: INTEGRATION Position */ -#define ITM_IMCR_INTEGRATION_Msk (1ul << ITM_IMCR_INTEGRATION_Pos) /*!< ITM IMCR: INTEGRATION Mask */ - -/* ITM Lock Status Register Definitions */ -#define ITM_LSR_ByteAcc_Pos 2 /*!< ITM LSR: ByteAcc Position */ -#define ITM_LSR_ByteAcc_Msk (1ul << ITM_LSR_ByteAcc_Pos) /*!< ITM LSR: ByteAcc Mask */ - -#define ITM_LSR_Access_Pos 1 /*!< ITM LSR: Access Position */ -#define ITM_LSR_Access_Msk (1ul << ITM_LSR_Access_Pos) /*!< ITM LSR: Access Mask */ - -#define ITM_LSR_Present_Pos 0 /*!< ITM LSR: Present Position */ -#define ITM_LSR_Present_Msk (1ul << ITM_LSR_Present_Pos) /*!< ITM LSR: Present Mask */ -/*@}*/ /* end of group CMSIS_CM3_ITM */ - - -/** @addtogroup CMSIS_CM3_InterruptType CMSIS CM3 Interrupt Type - memory mapped structure for Interrupt Type - @{ - */ -typedef struct -{ - uint32_t RESERVED0; - __I uint32_t ICTR; /*!< Offset: 0x04 Interrupt Control Type Register */ -#if ((defined __CM3_REV) && (__CM3_REV >= 0x200)) - __IO uint32_t ACTLR; /*!< Offset: 0x08 Auxiliary Control Register */ -#else - uint32_t RESERVED1; -#endif -} InterruptType_Type; - -/* Interrupt Controller Type Register Definitions */ -#define InterruptType_ICTR_INTLINESNUM_Pos 0 /*!< InterruptType ICTR: INTLINESNUM Position */ -#define InterruptType_ICTR_INTLINESNUM_Msk (0x1Ful << InterruptType_ICTR_INTLINESNUM_Pos) /*!< InterruptType ICTR: INTLINESNUM Mask */ - -/* Auxiliary Control Register Definitions */ -#define InterruptType_ACTLR_DISFOLD_Pos 2 /*!< InterruptType ACTLR: DISFOLD Position */ -#define InterruptType_ACTLR_DISFOLD_Msk (1ul << InterruptType_ACTLR_DISFOLD_Pos) /*!< InterruptType ACTLR: DISFOLD Mask */ - -#define InterruptType_ACTLR_DISDEFWBUF_Pos 1 /*!< InterruptType ACTLR: DISDEFWBUF Position */ -#define InterruptType_ACTLR_DISDEFWBUF_Msk (1ul << InterruptType_ACTLR_DISDEFWBUF_Pos) /*!< InterruptType ACTLR: DISDEFWBUF Mask */ - -#define InterruptType_ACTLR_DISMCYCINT_Pos 0 /*!< InterruptType ACTLR: DISMCYCINT Position */ -#define InterruptType_ACTLR_DISMCYCINT_Msk (1ul << InterruptType_ACTLR_DISMCYCINT_Pos) /*!< InterruptType ACTLR: DISMCYCINT Mask */ -/*@}*/ /* end of group CMSIS_CM3_InterruptType */ - - -#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1) -/** @addtogroup CMSIS_CM3_MPU CMSIS CM3 MPU - memory mapped structure for Memory Protection Unit (MPU) - @{ - */ -typedef struct -{ - __I uint32_t TYPE; /*!< Offset: 0x00 MPU Type Register */ - __IO uint32_t CTRL; /*!< Offset: 0x04 MPU Control Register */ - __IO uint32_t RNR; /*!< Offset: 0x08 MPU Region RNRber Register */ - __IO uint32_t RBAR; /*!< Offset: 0x0C MPU Region Base Address Register */ - __IO uint32_t RASR; /*!< Offset: 0x10 MPU Region Attribute and Size Register */ - __IO uint32_t RBAR_A1; /*!< Offset: 0x14 MPU Alias 1 Region Base Address Register */ - __IO uint32_t RASR_A1; /*!< Offset: 0x18 MPU Alias 1 Region Attribute and Size Register */ - __IO uint32_t RBAR_A2; /*!< Offset: 0x1C MPU Alias 2 Region Base Address Register */ - __IO uint32_t RASR_A2; /*!< Offset: 0x20 MPU Alias 2 Region Attribute and Size Register */ - __IO uint32_t RBAR_A3; /*!< Offset: 0x24 MPU Alias 3 Region Base Address Register */ - __IO uint32_t RASR_A3; /*!< Offset: 0x28 MPU Alias 3 Region Attribute and Size Register */ -} MPU_Type; - -/* MPU Type Register */ -#define MPU_TYPE_IREGION_Pos 16 /*!< MPU TYPE: IREGION Position */ -#define MPU_TYPE_IREGION_Msk (0xFFul << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */ - -#define MPU_TYPE_DREGION_Pos 8 /*!< MPU TYPE: DREGION Position */ -#define MPU_TYPE_DREGION_Msk (0xFFul << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */ - -#define MPU_TYPE_SEPARATE_Pos 0 /*!< MPU TYPE: SEPARATE Position */ -#define MPU_TYPE_SEPARATE_Msk (1ul << MPU_TYPE_SEPARATE_Pos) /*!< MPU TYPE: SEPARATE Mask */ - -/* MPU Control Register */ -#define MPU_CTRL_PRIVDEFENA_Pos 2 /*!< MPU CTRL: PRIVDEFENA Position */ -#define MPU_CTRL_PRIVDEFENA_Msk (1ul << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */ - -#define MPU_CTRL_HFNMIENA_Pos 1 /*!< MPU CTRL: HFNMIENA Position */ -#define MPU_CTRL_HFNMIENA_Msk (1ul << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */ - -#define MPU_CTRL_ENABLE_Pos 0 /*!< MPU CTRL: ENABLE Position */ -#define MPU_CTRL_ENABLE_Msk (1ul << MPU_CTRL_ENABLE_Pos) /*!< MPU CTRL: ENABLE Mask */ - -/* MPU Region Number Register */ -#define MPU_RNR_REGION_Pos 0 /*!< MPU RNR: REGION Position */ -#define MPU_RNR_REGION_Msk (0xFFul << MPU_RNR_REGION_Pos) /*!< MPU RNR: REGION Mask */ - -/* MPU Region Base Address Register */ -#define MPU_RBAR_ADDR_Pos 5 /*!< MPU RBAR: ADDR Position */ -#define MPU_RBAR_ADDR_Msk (0x7FFFFFFul << MPU_RBAR_ADDR_Pos) /*!< MPU RBAR: ADDR Mask */ - -#define MPU_RBAR_VALID_Pos 4 /*!< MPU RBAR: VALID Position */ -#define MPU_RBAR_VALID_Msk (1ul << MPU_RBAR_VALID_Pos) /*!< MPU RBAR: VALID Mask */ - -#define MPU_RBAR_REGION_Pos 0 /*!< MPU RBAR: REGION Position */ -#define MPU_RBAR_REGION_Msk (0xFul << MPU_RBAR_REGION_Pos) /*!< MPU RBAR: REGION Mask */ - -/* MPU Region Attribute and Size Register */ -#define MPU_RASR_XN_Pos 28 /*!< MPU RASR: XN Position */ -#define MPU_RASR_XN_Msk (1ul << MPU_RASR_XN_Pos) /*!< MPU RASR: XN Mask */ - -#define MPU_RASR_AP_Pos 24 /*!< MPU RASR: AP Position */ -#define MPU_RASR_AP_Msk (7ul << MPU_RASR_AP_Pos) /*!< MPU RASR: AP Mask */ - -#define MPU_RASR_TEX_Pos 19 /*!< MPU RASR: TEX Position */ -#define MPU_RASR_TEX_Msk (7ul << MPU_RASR_TEX_Pos) /*!< MPU RASR: TEX Mask */ - -#define MPU_RASR_S_Pos 18 /*!< MPU RASR: Shareable bit Position */ -#define MPU_RASR_S_Msk (1ul << MPU_RASR_S_Pos) /*!< MPU RASR: Shareable bit Mask */ - -#define MPU_RASR_C_Pos 17 /*!< MPU RASR: Cacheable bit Position */ -#define MPU_RASR_C_Msk (1ul << MPU_RASR_C_Pos) /*!< MPU RASR: Cacheable bit Mask */ - -#define MPU_RASR_B_Pos 16 /*!< MPU RASR: Bufferable bit Position */ -#define MPU_RASR_B_Msk (1ul << MPU_RASR_B_Pos) /*!< MPU RASR: Bufferable bit Mask */ - -#define MPU_RASR_SRD_Pos 8 /*!< MPU RASR: Sub-Region Disable Position */ -#define MPU_RASR_SRD_Msk (0xFFul << MPU_RASR_SRD_Pos) /*!< MPU RASR: Sub-Region Disable Mask */ - -#define MPU_RASR_SIZE_Pos 1 /*!< MPU RASR: Region Size Field Position */ -#define MPU_RASR_SIZE_Msk (0x1Ful << MPU_RASR_SIZE_Pos) /*!< MPU RASR: Region Size Field Mask */ - -#define MPU_RASR_ENA_Pos 0 /*!< MPU RASR: Region enable bit Position */ -#define MPU_RASR_ENA_Msk (0x1Ful << MPU_RASR_ENA_Pos) /*!< MPU RASR: Region enable bit Disable Mask */ - -/*@}*/ /* end of group CMSIS_CM3_MPU */ -#endif - - -/** @addtogroup CMSIS_CM3_CoreDebug CMSIS CM3 Core Debug - memory mapped structure for Core Debug Register - @{ - */ -typedef struct -{ - __IO uint32_t DHCSR; /*!< Offset: 0x00 Debug Halting Control and Status Register */ - __O uint32_t DCRSR; /*!< Offset: 0x04 Debug Core Register Selector Register */ - __IO uint32_t DCRDR; /*!< Offset: 0x08 Debug Core Register Data Register */ - __IO uint32_t DEMCR; /*!< Offset: 0x0C Debug Exception and Monitor Control Register */ -} CoreDebug_Type; - -/* Debug Halting Control and Status Register */ -#define CoreDebug_DHCSR_DBGKEY_Pos 16 /*!< CoreDebug DHCSR: DBGKEY Position */ -#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFul << CoreDebug_DHCSR_DBGKEY_Pos) /*!< CoreDebug DHCSR: DBGKEY Mask */ - -#define CoreDebug_DHCSR_S_RESET_ST_Pos 25 /*!< CoreDebug DHCSR: S_RESET_ST Position */ -#define CoreDebug_DHCSR_S_RESET_ST_Msk (1ul << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< CoreDebug DHCSR: S_RESET_ST Mask */ - -#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24 /*!< CoreDebug DHCSR: S_RETIRE_ST Position */ -#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1ul << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< CoreDebug DHCSR: S_RETIRE_ST Mask */ - -#define CoreDebug_DHCSR_S_LOCKUP_Pos 19 /*!< CoreDebug DHCSR: S_LOCKUP Position */ -#define CoreDebug_DHCSR_S_LOCKUP_Msk (1ul << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< CoreDebug DHCSR: S_LOCKUP Mask */ - -#define CoreDebug_DHCSR_S_SLEEP_Pos 18 /*!< CoreDebug DHCSR: S_SLEEP Position */ -#define CoreDebug_DHCSR_S_SLEEP_Msk (1ul << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< CoreDebug DHCSR: S_SLEEP Mask */ - -#define CoreDebug_DHCSR_S_HALT_Pos 17 /*!< CoreDebug DHCSR: S_HALT Position */ -#define CoreDebug_DHCSR_S_HALT_Msk (1ul << CoreDebug_DHCSR_S_HALT_Pos) /*!< CoreDebug DHCSR: S_HALT Mask */ - -#define CoreDebug_DHCSR_S_REGRDY_Pos 16 /*!< CoreDebug DHCSR: S_REGRDY Position */ -#define CoreDebug_DHCSR_S_REGRDY_Msk (1ul << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< CoreDebug DHCSR: S_REGRDY Mask */ - -#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5 /*!< CoreDebug DHCSR: C_SNAPSTALL Position */ -#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1ul << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< CoreDebug DHCSR: C_SNAPSTALL Mask */ - -#define CoreDebug_DHCSR_C_MASKINTS_Pos 3 /*!< CoreDebug DHCSR: C_MASKINTS Position */ -#define CoreDebug_DHCSR_C_MASKINTS_Msk (1ul << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< CoreDebug DHCSR: C_MASKINTS Mask */ - -#define CoreDebug_DHCSR_C_STEP_Pos 2 /*!< CoreDebug DHCSR: C_STEP Position */ -#define CoreDebug_DHCSR_C_STEP_Msk (1ul << CoreDebug_DHCSR_C_STEP_Pos) /*!< CoreDebug DHCSR: C_STEP Mask */ - -#define CoreDebug_DHCSR_C_HALT_Pos 1 /*!< CoreDebug DHCSR: C_HALT Position */ -#define CoreDebug_DHCSR_C_HALT_Msk (1ul << CoreDebug_DHCSR_C_HALT_Pos) /*!< CoreDebug DHCSR: C_HALT Mask */ - -#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0 /*!< CoreDebug DHCSR: C_DEBUGEN Position */ -#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1ul << CoreDebug_DHCSR_C_DEBUGEN_Pos) /*!< CoreDebug DHCSR: C_DEBUGEN Mask */ - -/* Debug Core Register Selector Register */ -#define CoreDebug_DCRSR_REGWnR_Pos 16 /*!< CoreDebug DCRSR: REGWnR Position */ -#define CoreDebug_DCRSR_REGWnR_Msk (1ul << CoreDebug_DCRSR_REGWnR_Pos) /*!< CoreDebug DCRSR: REGWnR Mask */ - -#define CoreDebug_DCRSR_REGSEL_Pos 0 /*!< CoreDebug DCRSR: REGSEL Position */ -#define CoreDebug_DCRSR_REGSEL_Msk (0x1Ful << CoreDebug_DCRSR_REGSEL_Pos) /*!< CoreDebug DCRSR: REGSEL Mask */ - -/* Debug Exception and Monitor Control Register */ -#define CoreDebug_DEMCR_TRCENA_Pos 24 /*!< CoreDebug DEMCR: TRCENA Position */ -#define CoreDebug_DEMCR_TRCENA_Msk (1ul << CoreDebug_DEMCR_TRCENA_Pos) /*!< CoreDebug DEMCR: TRCENA Mask */ - -#define CoreDebug_DEMCR_MON_REQ_Pos 19 /*!< CoreDebug DEMCR: MON_REQ Position */ -#define CoreDebug_DEMCR_MON_REQ_Msk (1ul << CoreDebug_DEMCR_MON_REQ_Pos) /*!< CoreDebug DEMCR: MON_REQ Mask */ - -#define CoreDebug_DEMCR_MON_STEP_Pos 18 /*!< CoreDebug DEMCR: MON_STEP Position */ -#define CoreDebug_DEMCR_MON_STEP_Msk (1ul << CoreDebug_DEMCR_MON_STEP_Pos) /*!< CoreDebug DEMCR: MON_STEP Mask */ - -#define CoreDebug_DEMCR_MON_PEND_Pos 17 /*!< CoreDebug DEMCR: MON_PEND Position */ -#define CoreDebug_DEMCR_MON_PEND_Msk (1ul << CoreDebug_DEMCR_MON_PEND_Pos) /*!< CoreDebug DEMCR: MON_PEND Mask */ - -#define CoreDebug_DEMCR_MON_EN_Pos 16 /*!< CoreDebug DEMCR: MON_EN Position */ -#define CoreDebug_DEMCR_MON_EN_Msk (1ul << CoreDebug_DEMCR_MON_EN_Pos) /*!< CoreDebug DEMCR: MON_EN Mask */ - -#define CoreDebug_DEMCR_VC_HARDERR_Pos 10 /*!< CoreDebug DEMCR: VC_HARDERR Position */ -#define CoreDebug_DEMCR_VC_HARDERR_Msk (1ul << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< CoreDebug DEMCR: VC_HARDERR Mask */ - -#define CoreDebug_DEMCR_VC_INTERR_Pos 9 /*!< CoreDebug DEMCR: VC_INTERR Position */ -#define CoreDebug_DEMCR_VC_INTERR_Msk (1ul << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< CoreDebug DEMCR: VC_INTERR Mask */ - -#define CoreDebug_DEMCR_VC_BUSERR_Pos 8 /*!< CoreDebug DEMCR: VC_BUSERR Position */ -#define CoreDebug_DEMCR_VC_BUSERR_Msk (1ul << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< CoreDebug DEMCR: VC_BUSERR Mask */ - -#define CoreDebug_DEMCR_VC_STATERR_Pos 7 /*!< CoreDebug DEMCR: VC_STATERR Position */ -#define CoreDebug_DEMCR_VC_STATERR_Msk (1ul << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< CoreDebug DEMCR: VC_STATERR Mask */ - -#define CoreDebug_DEMCR_VC_CHKERR_Pos 6 /*!< CoreDebug DEMCR: VC_CHKERR Position */ -#define CoreDebug_DEMCR_VC_CHKERR_Msk (1ul << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< CoreDebug DEMCR: VC_CHKERR Mask */ - -#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5 /*!< CoreDebug DEMCR: VC_NOCPERR Position */ -#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1ul << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< CoreDebug DEMCR: VC_NOCPERR Mask */ - -#define CoreDebug_DEMCR_VC_MMERR_Pos 4 /*!< CoreDebug DEMCR: VC_MMERR Position */ -#define CoreDebug_DEMCR_VC_MMERR_Msk (1ul << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< CoreDebug DEMCR: VC_MMERR Mask */ - -#define CoreDebug_DEMCR_VC_CORERESET_Pos 0 /*!< CoreDebug DEMCR: VC_CORERESET Position */ -#define CoreDebug_DEMCR_VC_CORERESET_Msk (1ul << CoreDebug_DEMCR_VC_CORERESET_Pos) /*!< CoreDebug DEMCR: VC_CORERESET Mask */ -/*@}*/ /* end of group CMSIS_CM3_CoreDebug */ - - -/* Memory mapping of Cortex-M3 Hardware */ -#define SCS_BASE (0xE000E000) /*!< System Control Space Base Address */ -#define ITM_BASE (0xE0000000) /*!< ITM Base Address */ -#define CoreDebug_BASE (0xE000EDF0) /*!< Core Debug Base Address */ -#define SysTick_BASE (SCS_BASE + 0x0010) /*!< SysTick Base Address */ -#define NVIC_BASE (SCS_BASE + 0x0100) /*!< NVIC Base Address */ -#define SCB_BASE (SCS_BASE + 0x0D00) /*!< System Control Block Base Address */ - -#define InterruptType ((InterruptType_Type *) SCS_BASE) /*!< Interrupt Type Register */ -#define SCB ((SCB_Type *) SCB_BASE) /*!< SCB configuration struct */ -#define SysTick ((SysTick_Type *) SysTick_BASE) /*!< SysTick configuration struct */ -#define NVIC ((NVIC_Type *) NVIC_BASE) /*!< NVIC configuration struct */ -#define ITM ((ITM_Type *) ITM_BASE) /*!< ITM configuration struct */ -#define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE) /*!< Core Debug configuration struct */ - -#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1) - #define MPU_BASE (SCS_BASE + 0x0D90) /*!< Memory Protection Unit */ - #define MPU ((MPU_Type*) MPU_BASE) /*!< Memory Protection Unit */ -#endif - -/*@}*/ /* end of group CMSIS_CM3_core_register */ - - -/******************************************************************************* - * Hardware Abstraction Layer - ******************************************************************************/ - -#if defined ( __CC_ARM ) - #define __ASM __asm /*!< asm keyword for ARM Compiler */ - #define __INLINE __inline /*!< inline keyword for ARM Compiler */ - -#elif defined ( __ICCARM__ ) - #define __ASM __asm /*!< asm keyword for IAR Compiler */ - #define __INLINE inline /*!< inline keyword for IAR Compiler. Only avaiable in High optimization mode! */ - -#elif defined ( __GNUC__ ) - #define __ASM __asm /*!< asm keyword for GNU Compiler */ - #define __INLINE inline /*!< inline keyword for GNU Compiler */ - -#elif defined ( __TASKING__ ) - #define __ASM __asm /*!< asm keyword for TASKING Compiler */ - #define __INLINE inline /*!< inline keyword for TASKING Compiler */ - -#endif - - -/* ################### Compiler specific Intrinsics ########################### */ - -#if defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/ -/* ARM armcc specific functions */ - -#define __enable_fault_irq __enable_fiq -#define __disable_fault_irq __disable_fiq - -#define __NOP __nop -#define __WFI __wfi -#define __WFE __wfe -#define __SEV __sev -#define __ISB() __isb(0) -#define __DSB() __dsb(0) -#define __DMB() __dmb(0) -#define __REV __rev -#define __RBIT __rbit -#define __LDREXB(ptr) ((unsigned char ) __ldrex(ptr)) -#define __LDREXH(ptr) ((unsigned short) __ldrex(ptr)) -#define __LDREXW(ptr) ((unsigned int ) __ldrex(ptr)) -#define __STREXB(value, ptr) __strex(value, ptr) -#define __STREXH(value, ptr) __strex(value, ptr) -#define __STREXW(value, ptr) __strex(value, ptr) - - -/* intrinsic unsigned long long __ldrexd(volatile void *ptr) */ -/* intrinsic int __strexd(unsigned long long val, volatile void *ptr) */ -/* intrinsic void __enable_irq(); */ -/* intrinsic void __disable_irq(); */ - - -/** - * @brief Return the Process Stack Pointer - * - * @return ProcessStackPointer - * - * Return the actual process stack pointer - */ -extern uint32_t __get_PSP(void); - -/** - * @brief Set the Process Stack Pointer - * - * @param topOfProcStack Process Stack Pointer - * - * Assign the value ProcessStackPointer to the MSP - * (process stack pointer) Cortex processor register - */ -extern void __set_PSP(uint32_t topOfProcStack); - -/** - * @brief Return the Main Stack Pointer - * - * @return Main Stack Pointer - * - * Return the current value of the MSP (main stack pointer) - * Cortex processor register - */ -extern uint32_t __get_MSP(void); - -/** - * @brief Set the Main Stack Pointer - * - * @param topOfMainStack Main Stack Pointer - * - * Assign the value mainStackPointer to the MSP - * (main stack pointer) Cortex processor register - */ -extern void __set_MSP(uint32_t topOfMainStack); - -/** - * @brief Reverse byte order in unsigned short value - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in unsigned short value - */ -extern uint32_t __REV16(uint16_t value); - -/** - * @brief Reverse byte order in signed short value with sign extension to integer - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in signed short value with sign extension to integer - */ -extern int32_t __REVSH(int16_t value); - - -#if (__ARMCC_VERSION < 400000) - -/** - * @brief Remove the exclusive lock created by ldrex - * - * Removes the exclusive lock which is created by ldrex. - */ -extern void __CLREX(void); - -/** - * @brief Return the Base Priority value - * - * @return BasePriority - * - * Return the content of the base priority register - */ -extern uint32_t __get_BASEPRI(void); - -/** - * @brief Set the Base Priority value - * - * @param basePri BasePriority - * - * Set the base priority register - */ -extern void __set_BASEPRI(uint32_t basePri); - -/** - * @brief Return the Priority Mask value - * - * @return PriMask - * - * Return state of the priority mask bit from the priority mask register - */ -extern uint32_t __get_PRIMASK(void); - -/** - * @brief Set the Priority Mask value - * - * @param priMask PriMask - * - * Set the priority mask bit in the priority mask register - */ -extern void __set_PRIMASK(uint32_t priMask); - -/** - * @brief Return the Fault Mask value - * - * @return FaultMask - * - * Return the content of the fault mask register - */ -extern uint32_t __get_FAULTMASK(void); - -/** - * @brief Set the Fault Mask value - * - * @param faultMask faultMask value - * - * Set the fault mask register - */ -extern void __set_FAULTMASK(uint32_t faultMask); - -/** - * @brief Return the Control Register value - * - * @return Control value - * - * Return the content of the control register - */ -extern uint32_t __get_CONTROL(void); - -/** - * @brief Set the Control Register value - * - * @param control Control value - * - * Set the control register - */ -extern void __set_CONTROL(uint32_t control); - -#else /* (__ARMCC_VERSION >= 400000) */ - -/** - * @brief Remove the exclusive lock created by ldrex - * - * Removes the exclusive lock which is created by ldrex. - */ -#define __CLREX __clrex - -/** - * @brief Return the Base Priority value - * - * @return BasePriority - * - * Return the content of the base priority register - */ -static __INLINE uint32_t __get_BASEPRI(void) -{ - register uint32_t __regBasePri __ASM("basepri"); - return(__regBasePri); -} - -/** - * @brief Set the Base Priority value - * - * @param basePri BasePriority - * - * Set the base priority register - */ -static __INLINE void __set_BASEPRI(uint32_t basePri) -{ - register uint32_t __regBasePri __ASM("basepri"); - __regBasePri = (basePri & 0xff); -} - -/** - * @brief Return the Priority Mask value - * - * @return PriMask - * - * Return state of the priority mask bit from the priority mask register - */ -static __INLINE uint32_t __get_PRIMASK(void) -{ - register uint32_t __regPriMask __ASM("primask"); - return(__regPriMask); -} - -/** - * @brief Set the Priority Mask value - * - * @param priMask PriMask - * - * Set the priority mask bit in the priority mask register - */ -static __INLINE void __set_PRIMASK(uint32_t priMask) -{ - register uint32_t __regPriMask __ASM("primask"); - __regPriMask = (priMask); -} - -/** - * @brief Return the Fault Mask value - * - * @return FaultMask - * - * Return the content of the fault mask register - */ -static __INLINE uint32_t __get_FAULTMASK(void) -{ - register uint32_t __regFaultMask __ASM("faultmask"); - return(__regFaultMask); -} - -/** - * @brief Set the Fault Mask value - * - * @param faultMask faultMask value - * - * Set the fault mask register - */ -static __INLINE void __set_FAULTMASK(uint32_t faultMask) -{ - register uint32_t __regFaultMask __ASM("faultmask"); - __regFaultMask = (faultMask & 1); -} - -/** - * @brief Return the Control Register value - * - * @return Control value - * - * Return the content of the control register - */ -static __INLINE uint32_t __get_CONTROL(void) -{ - register uint32_t __regControl __ASM("control"); - return(__regControl); -} - -/** - * @brief Set the Control Register value - * - * @param control Control value - * - * Set the control register - */ -static __INLINE void __set_CONTROL(uint32_t control) -{ - register uint32_t __regControl __ASM("control"); - __regControl = control; -} - -#endif /* __ARMCC_VERSION */ - - - -#elif (defined (__ICCARM__)) /*------------------ ICC Compiler -------------------*/ -/* IAR iccarm specific functions */ - -#define __enable_irq __enable_interrupt /*!< global Interrupt enable */ -#define __disable_irq __disable_interrupt /*!< global Interrupt disable */ - -static __INLINE void __enable_fault_irq() { __ASM ("cpsie f"); } -static __INLINE void __disable_fault_irq() { __ASM ("cpsid f"); } - -#define __NOP __no_operation /*!< no operation intrinsic in IAR Compiler */ -static __INLINE void __WFI() { __ASM ("wfi"); } -static __INLINE void __WFE() { __ASM ("wfe"); } -static __INLINE void __SEV() { __ASM ("sev"); } -static __INLINE void __CLREX() { __ASM ("clrex"); } - -/* intrinsic void __ISB(void) */ -/* intrinsic void __DSB(void) */ -/* intrinsic void __DMB(void) */ -/* intrinsic void __set_PRIMASK(); */ -/* intrinsic void __get_PRIMASK(); */ -/* intrinsic void __set_FAULTMASK(); */ -/* intrinsic void __get_FAULTMASK(); */ -/* intrinsic uint32_t __REV(uint32_t value); */ -/* intrinsic uint32_t __REVSH(uint32_t value); */ -/* intrinsic unsigned long __STREX(unsigned long, unsigned long); */ -/* intrinsic unsigned long __LDREX(unsigned long *); */ - - -/** - * @brief Return the Process Stack Pointer - * - * @return ProcessStackPointer - * - * Return the actual process stack pointer - */ -extern uint32_t __get_PSP(void); - -/** - * @brief Set the Process Stack Pointer - * - * @param topOfProcStack Process Stack Pointer - * - * Assign the value ProcessStackPointer to the MSP - * (process stack pointer) Cortex processor register - */ -extern void __set_PSP(uint32_t topOfProcStack); - -/** - * @brief Return the Main Stack Pointer - * - * @return Main Stack Pointer - * - * Return the current value of the MSP (main stack pointer) - * Cortex processor register - */ -extern uint32_t __get_MSP(void); - -/** - * @brief Set the Main Stack Pointer - * - * @param topOfMainStack Main Stack Pointer - * - * Assign the value mainStackPointer to the MSP - * (main stack pointer) Cortex processor register - */ -extern void __set_MSP(uint32_t topOfMainStack); - -/** - * @brief Reverse byte order in unsigned short value - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in unsigned short value - */ -extern uint32_t __REV16(uint16_t value); - -/** - * @brief Reverse bit order of value - * - * @param value value to reverse - * @return reversed value - * - * Reverse bit order of value - */ -extern uint32_t __RBIT(uint32_t value); - -/** - * @brief LDR Exclusive (8 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 8 bit values) - */ -extern uint8_t __LDREXB(uint8_t *addr); - -/** - * @brief LDR Exclusive (16 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 16 bit values - */ -extern uint16_t __LDREXH(uint16_t *addr); - -/** - * @brief LDR Exclusive (32 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 32 bit values - */ -extern uint32_t __LDREXW(uint32_t *addr); - -/** - * @brief STR Exclusive (8 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 8 bit values - */ -extern uint32_t __STREXB(uint8_t value, uint8_t *addr); - -/** - * @brief STR Exclusive (16 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 16 bit values - */ -extern uint32_t __STREXH(uint16_t value, uint16_t *addr); - -/** - * @brief STR Exclusive (32 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 32 bit values - */ -extern uint32_t __STREXW(uint32_t value, uint32_t *addr); - - - -#elif (defined (__GNUC__)) /*------------------ GNU Compiler ---------------------*/ -/* GNU gcc specific functions */ - -static __INLINE void __enable_irq() { __ASM volatile ("cpsie i"); } -static __INLINE void __disable_irq() { __ASM volatile ("cpsid i"); } - -static __INLINE void __enable_fault_irq() { __ASM volatile ("cpsie f"); } -static __INLINE void __disable_fault_irq() { __ASM volatile ("cpsid f"); } - -static __INLINE void __NOP() { __ASM volatile ("nop"); } -static __INLINE void __WFI() { __ASM volatile ("wfi"); } -static __INLINE void __WFE() { __ASM volatile ("wfe"); } -static __INLINE void __SEV() { __ASM volatile ("sev"); } -static __INLINE void __ISB() { __ASM volatile ("isb"); } -static __INLINE void __DSB() { __ASM volatile ("dsb"); } -static __INLINE void __DMB() { __ASM volatile ("dmb"); } -static __INLINE void __CLREX() { __ASM volatile ("clrex"); } - - -/** - * @brief Return the Process Stack Pointer - * - * @return ProcessStackPointer - * - * Return the actual process stack pointer - */ -extern uint32_t __get_PSP(void); - -/** - * @brief Set the Process Stack Pointer - * - * @param topOfProcStack Process Stack Pointer - * - * Assign the value ProcessStackPointer to the MSP - * (process stack pointer) Cortex processor register - */ -extern void __set_PSP(uint32_t topOfProcStack); - -/** - * @brief Return the Main Stack Pointer - * - * @return Main Stack Pointer - * - * Return the current value of the MSP (main stack pointer) - * Cortex processor register - */ -extern uint32_t __get_MSP(void); - -/** - * @brief Set the Main Stack Pointer - * - * @param topOfMainStack Main Stack Pointer - * - * Assign the value mainStackPointer to the MSP - * (main stack pointer) Cortex processor register - */ -extern void __set_MSP(uint32_t topOfMainStack); - -/** - * @brief Return the Base Priority value - * - * @return BasePriority - * - * Return the content of the base priority register - */ -extern uint32_t __get_BASEPRI(void); - -/** - * @brief Set the Base Priority value - * - * @param basePri BasePriority - * - * Set the base priority register - */ -extern void __set_BASEPRI(uint32_t basePri); - -/** - * @brief Return the Priority Mask value - * - * @return PriMask - * - * Return state of the priority mask bit from the priority mask register - */ -extern uint32_t __get_PRIMASK(void); - -/** - * @brief Set the Priority Mask value - * - * @param priMask PriMask - * - * Set the priority mask bit in the priority mask register - */ -extern void __set_PRIMASK(uint32_t priMask); - -/** - * @brief Return the Fault Mask value - * - * @return FaultMask - * - * Return the content of the fault mask register - */ -extern uint32_t __get_FAULTMASK(void); - -/** - * @brief Set the Fault Mask value - * - * @param faultMask faultMask value - * - * Set the fault mask register - */ -extern void __set_FAULTMASK(uint32_t faultMask); - -/** - * @brief Return the Control Register value -* -* @return Control value - * - * Return the content of the control register - */ -extern uint32_t __get_CONTROL(void); - -/** - * @brief Set the Control Register value - * - * @param control Control value - * - * Set the control register - */ -extern void __set_CONTROL(uint32_t control); - -/** - * @brief Reverse byte order in integer value - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in integer value - */ -extern uint32_t __REV(uint32_t value); - -/** - * @brief Reverse byte order in unsigned short value - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in unsigned short value - */ -extern uint32_t __REV16(uint16_t value); - -/** - * @brief Reverse byte order in signed short value with sign extension to integer - * - * @param value value to reverse - * @return reversed value - * - * Reverse byte order in signed short value with sign extension to integer - */ -extern int32_t __REVSH(int16_t value); - -/** - * @brief Reverse bit order of value - * - * @param value value to reverse - * @return reversed value - * - * Reverse bit order of value - */ -extern uint32_t __RBIT(uint32_t value); - -/** - * @brief LDR Exclusive (8 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 8 bit value - */ -extern uint8_t __LDREXB(uint8_t *addr); - -/** - * @brief LDR Exclusive (16 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 16 bit values - */ -extern uint16_t __LDREXH(uint16_t *addr); - -/** - * @brief LDR Exclusive (32 bit) - * - * @param *addr address pointer - * @return value of (*address) - * - * Exclusive LDR command for 32 bit values - */ -extern uint32_t __LDREXW(uint32_t *addr); - -/** - * @brief STR Exclusive (8 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 8 bit values - */ -extern uint32_t __STREXB(uint8_t value, uint8_t *addr); - -/** - * @brief STR Exclusive (16 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 16 bit values - */ -extern uint32_t __STREXH(uint16_t value, uint16_t *addr); - -/** - * @brief STR Exclusive (32 bit) - * - * @param value value to store - * @param *addr address pointer - * @return successful / failed - * - * Exclusive STR command for 32 bit values - */ -extern uint32_t __STREXW(uint32_t value, uint32_t *addr); - - -#elif (defined (__TASKING__)) /*------------------ TASKING Compiler ---------------------*/ -/* TASKING carm specific functions */ - -/* - * The CMSIS functions have been implemented as intrinsics in the compiler. - * Please use "carm -?i" to get an up to date list of all instrinsics, - * Including the CMSIS ones. - */ - -#endif - - -/** @addtogroup CMSIS_CM3_Core_FunctionInterface CMSIS CM3 Core Function Interface - Core Function Interface containing: - - Core NVIC Functions - - Core SysTick Functions - - Core Reset Functions -*/ -/*@{*/ - -/* ########################## NVIC functions #################################### */ - -/** - * @brief Set the Priority Grouping in NVIC Interrupt Controller - * - * @param PriorityGroup is priority grouping field - * - * Set the priority grouping field using the required unlock sequence. - * The parameter priority_grouping is assigned to the field - * SCB->AIRCR [10:8] PRIGROUP field. Only values from 0..7 are used. - * In case of a conflict between priority grouping and available - * priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set. - */ -static __INLINE void NVIC_SetPriorityGrouping(uint32_t PriorityGroup) -{ - uint32_t reg_value; - uint32_t PriorityGroupTmp = (PriorityGroup & 0x07); /* only values 0..7 are used */ - - reg_value = SCB->AIRCR; /* read old register configuration */ - reg_value &= ~(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk); /* clear bits to change */ - reg_value = (reg_value | - (0x5FA << SCB_AIRCR_VECTKEY_Pos) | - (PriorityGroupTmp << 8)); /* Insert write key and priorty group */ - SCB->AIRCR = reg_value; -} - -/** - * @brief Get the Priority Grouping from NVIC Interrupt Controller - * - * @return priority grouping field - * - * Get the priority grouping from NVIC Interrupt Controller. - * priority grouping is SCB->AIRCR [10:8] PRIGROUP field. - */ -static __INLINE uint32_t NVIC_GetPriorityGrouping(void) -{ - return ((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos); /* read priority grouping field */ -} - -/** - * @brief Enable Interrupt in NVIC Interrupt Controller - * - * @param IRQn The positive number of the external interrupt to enable - * - * Enable a device specific interupt in the NVIC interrupt controller. - * The interrupt number cannot be a negative value. - */ -static __INLINE void NVIC_EnableIRQ(IRQn_Type IRQn) -{ - NVIC->ISER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* enable interrupt */ -} - -/** - * @brief Disable the interrupt line for external interrupt specified - * - * @param IRQn The positive number of the external interrupt to disable - * - * Disable a device specific interupt in the NVIC interrupt controller. - * The interrupt number cannot be a negative value. - */ -static __INLINE void NVIC_DisableIRQ(IRQn_Type IRQn) -{ - NVIC->ICER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* disable interrupt */ -} - -/** - * @brief Read the interrupt pending bit for a device specific interrupt source - * - * @param IRQn The number of the device specifc interrupt - * @return 1 = interrupt pending, 0 = interrupt not pending - * - * Read the pending register in NVIC and return 1 if its status is pending, - * otherwise it returns 0 - */ -static __INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn) -{ - return((uint32_t) ((NVIC->ISPR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); /* Return 1 if pending else 0 */ -} - -/** - * @brief Set the pending bit for an external interrupt - * - * @param IRQn The number of the interrupt for set pending - * - * Set the pending bit for the specified interrupt. - * The interrupt number cannot be a negative value. - */ -static __INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn) -{ - NVIC->ISPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* set interrupt pending */ -} - -/** - * @brief Clear the pending bit for an external interrupt - * - * @param IRQn The number of the interrupt for clear pending - * - * Clear the pending bit for the specified interrupt. - * The interrupt number cannot be a negative value. - */ -static __INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn) -{ - NVIC->ICPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); /* Clear pending interrupt */ -} - -/** - * @brief Read the active bit for an external interrupt - * - * @param IRQn The number of the interrupt for read active bit - * @return 1 = interrupt active, 0 = interrupt not active - * - * Read the active register in NVIC and returns 1 if its status is active, - * otherwise it returns 0. - */ -static __INLINE uint32_t NVIC_GetActive(IRQn_Type IRQn) -{ - return((uint32_t)((NVIC->IABR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); /* Return 1 if active else 0 */ -} - -/** - * @brief Set the priority for an interrupt - * - * @param IRQn The number of the interrupt for set priority - * @param priority The priority to set - * - * Set the priority for the specified interrupt. The interrupt - * number can be positive to specify an external (device specific) - * interrupt, or negative to specify an internal (core) interrupt. - * - * Note: The priority cannot be set for every core interrupt. - */ -static __INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) -{ - if(IRQn < 0) { - SCB->SHP[((uint32_t)(IRQn) & 0xF)-4] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff); } /* set Priority for Cortex-M3 System Interrupts */ - else { - NVIC->IP[(uint32_t)(IRQn)] = ((priority << (8 - __NVIC_PRIO_BITS)) & 0xff); } /* set Priority for device specific Interrupts */ -} - -/** - * @brief Read the priority for an interrupt - * - * @param IRQn The number of the interrupt for get priority - * @return The priority for the interrupt - * - * Read the priority for the specified interrupt. The interrupt - * number can be positive to specify an external (device specific) - * interrupt, or negative to specify an internal (core) interrupt. - * - * The returned priority value is automatically aligned to the implemented - * priority bits of the microcontroller. - * - * Note: The priority cannot be set for every core interrupt. - */ -static __INLINE uint32_t NVIC_GetPriority(IRQn_Type IRQn) -{ - - if(IRQn < 0) { - return((uint32_t)(SCB->SHP[((uint32_t)(IRQn) & 0xF)-4] >> (8 - __NVIC_PRIO_BITS))); } /* get priority for Cortex-M3 system interrupts */ - else { - return((uint32_t)(NVIC->IP[(uint32_t)(IRQn)] >> (8 - __NVIC_PRIO_BITS))); } /* get priority for device specific interrupts */ -} - - -/** - * @brief Encode the priority for an interrupt - * - * @param PriorityGroup The used priority group - * @param PreemptPriority The preemptive priority value (starting from 0) - * @param SubPriority The sub priority value (starting from 0) - * @return The encoded priority for the interrupt - * - * Encode the priority for an interrupt with the given priority group, - * preemptive priority value and sub priority value. - * In case of a conflict between priority grouping and available - * priority bits (__NVIC_PRIO_BITS) the samllest possible priority group is set. - * - * The returned priority value can be used for NVIC_SetPriority(...) function - */ -static __INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) -{ - uint32_t PriorityGroupTmp = (PriorityGroup & 0x07); /* only values 0..7 are used */ - uint32_t PreemptPriorityBits; - uint32_t SubPriorityBits; - - PreemptPriorityBits = ((7 - PriorityGroupTmp) > __NVIC_PRIO_BITS) ? __NVIC_PRIO_BITS : 7 - PriorityGroupTmp; - SubPriorityBits = ((PriorityGroupTmp + __NVIC_PRIO_BITS) < 7) ? 0 : PriorityGroupTmp - 7 + __NVIC_PRIO_BITS; - - return ( - ((PreemptPriority & ((1 << (PreemptPriorityBits)) - 1)) << SubPriorityBits) | - ((SubPriority & ((1 << (SubPriorityBits )) - 1))) - ); -} - - -/** - * @brief Decode the priority of an interrupt - * - * @param Priority The priority for the interrupt - * @param PriorityGroup The used priority group - * @param pPreemptPriority The preemptive priority value (starting from 0) - * @param pSubPriority The sub priority value (starting from 0) - * - * Decode an interrupt priority value with the given priority group to - * preemptive priority value and sub priority value. - * In case of a conflict between priority grouping and available - * priority bits (__NVIC_PRIO_BITS) the samllest possible priority group is set. - * - * The priority value can be retrieved with NVIC_GetPriority(...) function - */ -static __INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* pPreemptPriority, uint32_t* pSubPriority) -{ - uint32_t PriorityGroupTmp = (PriorityGroup & 0x07); /* only values 0..7 are used */ - uint32_t PreemptPriorityBits; - uint32_t SubPriorityBits; - - PreemptPriorityBits = ((7 - PriorityGroupTmp) > __NVIC_PRIO_BITS) ? __NVIC_PRIO_BITS : 7 - PriorityGroupTmp; - SubPriorityBits = ((PriorityGroupTmp + __NVIC_PRIO_BITS) < 7) ? 0 : PriorityGroupTmp - 7 + __NVIC_PRIO_BITS; - - *pPreemptPriority = (Priority >> SubPriorityBits) & ((1 << (PreemptPriorityBits)) - 1); - *pSubPriority = (Priority ) & ((1 << (SubPriorityBits )) - 1); -} - - - -/* ################################## SysTick function ############################################ */ - -#if (!defined (__Vendor_SysTickConfig)) || (__Vendor_SysTickConfig == 0) - -/** - * @brief Initialize and start the SysTick counter and its interrupt. - * - * @param ticks number of ticks between two interrupts - * @return 1 = failed, 0 = successful - * - * Initialise the system tick timer and its interrupt and start the - * system tick timer / counter in free running mode to generate - * periodical interrupts. - */ -static __INLINE uint32_t SysTick_Config(uint32_t ticks) -{ - if (ticks > SysTick_LOAD_RELOAD_Msk) return (1); /* Reload value impossible */ - - SysTick->LOAD = (ticks & SysTick_LOAD_RELOAD_Msk) - 1; /* set reload register */ - NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1); /* set Priority for Cortex-M0 System Interrupts */ - SysTick->VAL = 0; /* Load the SysTick Counter Value */ - SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | - SysTick_CTRL_TICKINT_Msk | - SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ - return (0); /* Function successful */ -} - -#endif - - - - -/* ################################## Reset function ############################################ */ - -/** - * @brief Initiate a system reset request. - * - * Initiate a system reset request to reset the MCU - */ -static __INLINE void NVIC_SystemReset(void) -{ - SCB->AIRCR = ((0x5FA << SCB_AIRCR_VECTKEY_Pos) | - (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | - SCB_AIRCR_SYSRESETREQ_Msk); /* Keep priority group unchanged */ - __DSB(); /* Ensure completion of memory access */ - while(1); /* wait until reset */ -} - -/*@}*/ /* end of group CMSIS_CM3_Core_FunctionInterface */ - - - -/* ##################################### Debug In/Output function ########################################### */ - -/** @addtogroup CMSIS_CM3_CoreDebugInterface CMSIS CM3 Core Debug Interface - Core Debug Interface containing: - - Core Debug Receive / Transmit Functions - - Core Debug Defines - - Core Debug Variables -*/ -/*@{*/ - -extern volatile int ITM_RxBuffer; /*!< variable to receive characters */ -#define ITM_RXBUFFER_EMPTY 0x5AA55AA5 /*!< value identifying ITM_RxBuffer is ready for next character */ - - -/** - * @brief Outputs a character via the ITM channel 0 - * - * @param ch character to output - * @return character to output - * - * The function outputs a character via the ITM channel 0. - * The function returns when no debugger is connected that has booked the output. - * It is blocking when a debugger is connected, but the previous character send is not transmitted. - */ -static __INLINE uint32_t ITM_SendChar (uint32_t ch) -{ - if ((CoreDebug->DEMCR & CoreDebug_DEMCR_TRCENA_Msk) && /* Trace enabled */ - (ITM->TCR & ITM_TCR_ITMENA_Msk) && /* ITM enabled */ - (ITM->TER & (1ul << 0) ) ) /* ITM Port #0 enabled */ - { - while (ITM->PORT[0].u32 == 0); - ITM->PORT[0].u8 = (uint8_t) ch; - } - return (ch); -} - - -/** - * @brief Inputs a character via variable ITM_RxBuffer - * - * @return received character, -1 = no character received - * - * The function inputs a character via variable ITM_RxBuffer. - * The function returns when no debugger is connected that has booked the output. - * It is blocking when a debugger is connected, but the previous character send is not transmitted. - */ -static __INLINE int ITM_ReceiveChar (void) { - int ch = -1; /* no character available */ - - if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) { - ch = ITM_RxBuffer; - ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */ - } - - return (ch); -} - - -/** - * @brief Check if a character via variable ITM_RxBuffer is available - * - * @return 1 = character available, 0 = no character available - * - * The function checks variable ITM_RxBuffer whether a character is available or not. - * The function returns '1' if a character is available and '0' if no character is available. - */ -static __INLINE int ITM_CheckChar (void) { - - if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) { - return (0); /* no character available */ - } else { - return (1); /* character available */ - } -} - -/*@}*/ /* end of group CMSIS_CM3_core_DebugInterface */ - - -#ifdef __cplusplus -} -#endif - -/*@}*/ /* end of group CMSIS_CM3_core_definitions */ - -#endif /* __CM3_CORE_H__ */ - -/*lint -restore */ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/Release_Notes.html b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/Release_Notes.html deleted file mode 100644 index b80f38df1..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/Release_Notes.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - - - - - - -Release Notes for STM32F10x CMSIS - - - - - -
-


-

-
- - - - - - -
- - - - - - - - - -
Back to Release page
-

Release -Notes for STM32F10x CMSIS

-

Copyright 2011 STMicroelectronics

-

-
-

 

- - - - - - -
-

Contents

-
    -
  1. STM32F10x CMSIS -update History
  2. -
  3. License
  4. -
- -

STM32F10x CMSIS -update History


-

V3.5.0 / 11-March-2011

-

Main -Changes

- -
    -
  • stm32f10x.h -and startup_stm32f10x_hd_vl.s files: remove the FSMC interrupt -definition for STM32F10x High-density Value line devices.
    -
  • -
  • system_stm32f10x.c file provided within the CMSIS folder.
    -
  • - -
- -

3.4.0 -- 10/15/2010

- -
    -
  1. General
  2. -
- -
    -
  • Add support -for STM32F10x High-density Value line devices.
  • -
-
    -
  1. STM32F10x CMSIS Device Peripheral Access Layer
  2. -
- - - -
    -
  • STM32F10x CMSIS Cortex-M3 Device Peripheral Access Layer Header File: stm32f10x.h
    -
    • Update to support High-density Value line devices
      • Add new define STM32F10X_HD_VL
      • -
      • RCC, AFIO, FSMC bits definition updated
      • -
      -
    • - - All -STM32 devices definitions are commented by default. User has to select the -appropriate device before starting else an error will be signaled on compile -time.
    • -
    • Add new IRQs definitons inside the IRQn_Type enumeration for STM23 High-density Value line devices.
    • -
    • "bool" type removed.
      -
    • -
  • STM32F10x CMSIS Cortex-M3 Device Peripheral Access Layer System Files: system_stm32f10x.h and system_stm32f10x.c
    -
  • -
      -
    • "system_stm32f10x.c" moved to to "STM32F10x_StdPeriph_Template" directory. This file is also moved to each example directory under "STM32F10x_StdPeriph_Examples".
      -
    • -
    • SystemInit_ExtMemCtl() function: update to support High-density Value line devices.
    • -
    • Add "VECT_TAB_SRAM" inside "system_stm32f10x.c" -to select if the user want to place the Vector Table in internal SRAM. -An additional define is also to specify the Vector Table offset "VECT_TAB_OFFSET".
      -
    • - -
    -
  • STM32F10x CMSIS startup files:startup_stm32f10x_xx.s
    • Add three -startup files for STM32 High-density Value line devices: - startup_stm32f10x_hd_vl.s
    -
-

3.3.0 -- 04/16/2010

- -
  1. General
-
  • Add support -for STM32F10x XL-density devices.
  • Add startup files for TrueSTUDIO toolchain
  1. STM32F10x CMSIS Device Peripheral Access Layer
- -
  • STM32F10x CMSIS Cortex-M3 Device Peripheral Access Layer Header File: stm32f10x.h
    -
    • Update to support XL-density devices
      • Add new define STM32F10X_XL
      • Add new IRQs for TIM9..14
      • Update FLASH_TypeDef structure
      • Add new IP instances TIM9..14
      • RCC, AFIO, DBGMCU bits definition updated
    • Correct IRQs definition for MD-, LD-, MD_VL- and LD_VL-density devices (remove comma "," at the end of enum list)
  • STM32F10x CMSIS Cortex-M3 Device Peripheral Access Layer System Files: system_stm32f10x.h and system_stm32f10x.c
    -
    • SystemInit_ExtMemCtl() function: update to support XL-density devices
    • SystemInit() function: swap the order of SetSysClock() and SystemInit_ExtMemCtl() functions. 
      -
  • STM32F10x CMSIS startup files:
    • add three -startup files for STM32 XL-density devices: - startup_stm32f10x_xl.s
    • startup_stm32f10x_md_vl.s for RIDE7: add USART3 IRQ Handler (was missing in previous version)
    • Add startup files for TrueSTUDIO toolchain
-

3.2.0 -- 03/01/2010

-
    -
  1. General
  2. -
-
    - -
  • STM32F10x CMSIS files updated to CMSIS V1.30 release
  • -
  • Directory structure updated to be aligned with CMSIS V1.30
    -
  • -
  • Add support -for STM32 Low-density Value line (STM32F100x4/6) and -Medium-density Value line (STM32F100x8/B) devices. 
  • - -
-
    -
  1. CMSIS Core Peripheral Access Layer
- -
    -
  1. STM32F10x CMSIS Device Peripheral Access Layer
  2. - -
- -
    - -
  • STM32F10x CMSIS Cortex-M3 Device Peripheral Access Layer Header File: stm32f10x.h
    -
  • -
      -
    • Update -the stm32f10x.h file to support new Value line devices features: CEC -peripheral, new General purpose timers TIM15, TIM16 and TIM17.
    • -
    • Peripherals Bits definitions updated to be in line with Value line devices available features.
      -
    • -
    • HSE_Value, -HSI_Value and HSEStartup_TimeOut changed to upper case: HSE_VALUE, -HSI_VALUE and HSE_STARTUP_TIMEOUT. Old names are kept for legacy -purposes.
      -
    • -
    -
  • STM32F10x CMSIS Cortex-M3 Device Peripheral Access Layer System Files: system_stm32f10x.h and system_stm32f10x.c
    -
  • -
      -
    • SystemFrequency variable name changed to SystemCoreClock
      -
    • -
    • Default - SystemCoreClock is changed to 24MHz when Value line devices are selected and to 72MHz on other devices.
      -
    • -
    • All while(1) loop were removed from all clock setting functions. User has to handle the HSE startup failure.
      -
    • -
    • Additional function void SystemCoreClockUpdate (void) is provided.
      -
    • -
    -
  • STM32F10x CMSIS Startup files: startup_stm32f10x_xx.s
  • -
      -
    • Add new -startup files for STM32 Low-density Value line devices: - startup_stm32f10x_ld_vl.s
    • -
    • Add new startup -files for STM32 Medium-density Value line devices: - startup_stm32f10x_md_vl.s
    • -
    • SystemInit() function is called from startup file (startup_stm32f10x_xx.s) before to branch to application main.
      -To reconfigure the default setting of SystemInit() function, refer to system_stm32f10x.c file
      -
    • -
    • GNU startup file for Low density devices (startup_stm32f10x_ld.s) is updated to fix compilation errors.
      -
    • -
    - -
- -
    -
-

License

-

The -enclosed firmware and all the related documentation are not covered by -a License Agreement, if you need such License you can contact your -local STMicroelectronics office.

-

THE -PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO -SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR -ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY -CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY -CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH -THEIR PRODUCTS.

-

 

-
-
-

For -complete documentation on STM32(CORTEX M3) 32-Bit Microcontrollers -visit www.st.com/STM32

-
-

-
-
-

 

-
- \ No newline at end of file diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_cl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_cl.s deleted file mode 100644 index e34a52067..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_cl.s +++ /dev/null @@ -1,473 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_cl.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x Connectivity line Devices vector table for Atollic - * toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR - * address. - * - Configure the clock system - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF1E0F85F -/** - * @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: - -/* 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_2_IRQHandler - .word CAN1_TX_IRQHandler - .word CAN1_RX0_IRQHandler - .word CAN1_RX1_IRQHandler - .word CAN1_SCE_IRQHandler - .word EXTI9_5_IRQHandler - .word TIM1_BRK_IRQHandler - .word TIM1_UP_IRQHandler - .word TIM1_TRG_COM_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word TIM4_IRQHandler - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word I2C2_EV_IRQHandler - .word I2C2_ER_IRQHandler - .word SPI1_IRQHandler - .word SPI2_IRQHandler - .word USART1_IRQHandler - .word USART2_IRQHandler - .word USART3_IRQHandler - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word OTG_FS_WKUP_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word TIM5_IRQHandler - .word SPI3_IRQHandler - .word UART4_IRQHandler - .word UART5_IRQHandler - .word TIM6_IRQHandler - .word TIM7_IRQHandler - .word DMA2_Channel1_IRQHandler - .word DMA2_Channel2_IRQHandler - .word DMA2_Channel3_IRQHandler - .word DMA2_Channel4_IRQHandler - .word DMA2_Channel5_IRQHandler - .word ETH_IRQHandler - .word ETH_WKUP_IRQHandler - .word CAN2_TX_IRQHandler - .word CAN2_RX0_IRQHandler - .word CAN2_RX1_IRQHandler - .word CAN2_SCE_IRQHandler - .word OTG_FS_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x1E0. This is for boot in RAM mode for - STM32F10x Connectivity line Devices. */ - -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_2_IRQHandler - .thumb_set ADC1_2_IRQHandler,Default_Handler - - .weak CAN1_TX_IRQHandler - .thumb_set CAN1_TX_IRQHandler,Default_Handler - - .weak CAN1_RX0_IRQHandler - .thumb_set CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_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 RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak OTG_FS_WKUP_IRQHandler - .thumb_set OTG_FS_WKUP_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_IRQHandler - .thumb_set TIM6_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - - .weak DMA2_Channel1_IRQHandler - .thumb_set DMA2_Channel1_IRQHandler,Default_Handler - - .weak DMA2_Channel2_IRQHandler - .thumb_set DMA2_Channel2_IRQHandler,Default_Handler - - .weak DMA2_Channel3_IRQHandler - .thumb_set DMA2_Channel3_IRQHandler,Default_Handler - - .weak DMA2_Channel4_IRQHandler - .thumb_set DMA2_Channel4_IRQHandler,Default_Handler - - .weak DMA2_Channel5_IRQHandler - .thumb_set DMA2_Channel5_IRQHandler,Default_Handler - - .weak ETH_IRQHandler - .thumb_set ETH_IRQHandler,Default_Handler - - .weak ETH_WKUP_IRQHandler - .thumb_set ETH_WKUP_IRQHandler,Default_Handler - - .weak CAN2_TX_IRQHandler - .thumb_set CAN2_TX_IRQHandler,Default_Handler - - .weak CAN2_RX0_IRQHandler - .thumb_set CAN2_RX0_IRQHandler,Default_Handler - - .weak CAN2_RX1_IRQHandler - .thumb_set CAN2_RX1_IRQHandler,Default_Handler - - .weak CAN2_SCE_IRQHandler - .thumb_set CAN2_SCE_IRQHandler,Default_Handler - - .weak OTG_FS_IRQHandler - .thumb_set OTG_FS_IRQHandler ,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_hd.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_hd.s deleted file mode 100644 index 0aa91884f..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_hd.s +++ /dev/null @@ -1,469 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_hd.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x High Density Devices vector table for Atollic toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address, - * - Configure the clock system - * - Configure external SRAM mounted on STM3210E-EVAL board - * to be used as data memory (optional, to be enabled by user) - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF1E0F85F -/** - * @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: - -/* 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_2_IRQHandler - .word USB_HP_CAN1_TX_IRQHandler - .word USB_LP_CAN1_RX0_IRQHandler - .word CAN1_RX1_IRQHandler - .word CAN1_SCE_IRQHandler - .word EXTI9_5_IRQHandler - .word TIM1_BRK_IRQHandler - .word TIM1_UP_IRQHandler - .word TIM1_TRG_COM_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word TIM4_IRQHandler - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word I2C2_EV_IRQHandler - .word I2C2_ER_IRQHandler - .word SPI1_IRQHandler - .word SPI2_IRQHandler - .word USART1_IRQHandler - .word USART2_IRQHandler - .word USART3_IRQHandler - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word USBWakeUp_IRQHandler - .word TIM8_BRK_IRQHandler - .word TIM8_UP_IRQHandler - .word TIM8_TRG_COM_IRQHandler - .word TIM8_CC_IRQHandler - .word ADC3_IRQHandler - .word FSMC_IRQHandler - .word SDIO_IRQHandler - .word TIM5_IRQHandler - .word SPI3_IRQHandler - .word UART4_IRQHandler - .word UART5_IRQHandler - .word TIM6_IRQHandler - .word TIM7_IRQHandler - .word DMA2_Channel1_IRQHandler - .word DMA2_Channel2_IRQHandler - .word DMA2_Channel3_IRQHandler - .word DMA2_Channel4_5_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x1E0. This is for boot in RAM mode for - STM32F10x High Density devices. */ - -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_2_IRQHandler - .thumb_set ADC1_2_IRQHandler,Default_Handler - - .weak USB_HP_CAN1_TX_IRQHandler - .thumb_set USB_HP_CAN1_TX_IRQHandler,Default_Handler - - .weak USB_LP_CAN1_RX0_IRQHandler - .thumb_set USB_LP_CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_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 RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak USBWakeUp_IRQHandler - .thumb_set USBWakeUp_IRQHandler,Default_Handler - - .weak TIM8_BRK_IRQHandler - .thumb_set TIM8_BRK_IRQHandler,Default_Handler - - .weak TIM8_UP_IRQHandler - .thumb_set TIM8_UP_IRQHandler,Default_Handler - - .weak TIM8_TRG_COM_IRQHandler - .thumb_set TIM8_TRG_COM_IRQHandler,Default_Handler - - .weak TIM8_CC_IRQHandler - .thumb_set TIM8_CC_IRQHandler,Default_Handler - - .weak ADC3_IRQHandler - .thumb_set ADC3_IRQHandler,Default_Handler - - .weak FSMC_IRQHandler - .thumb_set FSMC_IRQHandler,Default_Handler - - .weak SDIO_IRQHandler - .thumb_set SDIO_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_IRQHandler - .thumb_set TIM6_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - - .weak DMA2_Channel1_IRQHandler - .thumb_set DMA2_Channel1_IRQHandler,Default_Handler - - .weak DMA2_Channel2_IRQHandler - .thumb_set DMA2_Channel2_IRQHandler,Default_Handler - - .weak DMA2_Channel3_IRQHandler - .thumb_set DMA2_Channel3_IRQHandler,Default_Handler - - .weak DMA2_Channel4_5_IRQHandler - .thumb_set DMA2_Channel4_5_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_hd_vl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_hd_vl.s deleted file mode 100644 index 55aa39861..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_hd_vl.s +++ /dev/null @@ -1,451 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_hd_vl.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x High Density Value Line Devices vector table for Atollic - * toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system - * - Configure external SRAM mounted on STM32100E-EVAL board - * to be used as data memory (optional, to be enabled by user) - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF108F85F -/** - * @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: - -/* 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word EXTI9_5_IRQHandler - .word TIM1_BRK_TIM15_IRQHandler - .word TIM1_UP_TIM16_IRQHandler - .word TIM1_TRG_COM_TIM17_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word TIM4_IRQHandler - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word I2C2_EV_IRQHandler - .word I2C2_ER_IRQHandler - .word SPI1_IRQHandler - .word SPI2_IRQHandler - .word USART1_IRQHandler - .word USART2_IRQHandler - .word USART3_IRQHandler - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word CEC_IRQHandler - .word TIM12_IRQHandler - .word TIM13_IRQHandler - .word TIM14_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word TIM5_IRQHandler - .word SPI3_IRQHandler - .word UART4_IRQHandler - .word UART5_IRQHandler - .word TIM6_DAC_IRQHandler - .word TIM7_IRQHandler - .word DMA2_Channel1_IRQHandler - .word DMA2_Channel2_IRQHandler - .word DMA2_Channel3_IRQHandler - .word DMA2_Channel4_5_IRQHandler - .word DMA2_Channel5_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x1E0. This is for boot in RAM mode for - STM32F10x High Density Value line devices. */ - -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_IRQHandler - .thumb_set ADC1_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM15_IRQHandler - .thumb_set TIM1_BRK_TIM15_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM16_IRQHandler - .thumb_set TIM1_UP_TIM16_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM17_IRQHandler - .thumb_set TIM1_TRG_COM_TIM17_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 RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak CEC_IRQHandler - .thumb_set CEC_IRQHandler,Default_Handler - - .weak TIM12_IRQHandler - .thumb_set TIM12_IRQHandler,Default_Handler - - .weak TIM13_IRQHandler - .thumb_set TIM13_IRQHandler,Default_Handler - - .weak TIM14_IRQHandler - .thumb_set TIM14_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_Channel1_IRQHandler - .thumb_set DMA2_Channel1_IRQHandler,Default_Handler - - .weak DMA2_Channel2_IRQHandler - .thumb_set DMA2_Channel2_IRQHandler,Default_Handler - - .weak DMA2_Channel3_IRQHandler - .thumb_set DMA2_Channel3_IRQHandler,Default_Handler - - .weak DMA2_Channel4_5_IRQHandler - .thumb_set DMA2_Channel4_5_IRQHandler,Default_Handler - - .weak DMA2_Channel5_IRQHandler - .thumb_set DMA2_Channel5_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ - diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_ld.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_ld.s deleted file mode 100644 index 2c5aaa06b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_ld.s +++ /dev/null @@ -1,347 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_ld.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x Low Density Devices vector table for Atollic toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address. - * - Configure the clock system - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF108F85F -/** - * @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: - -/* 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_2_IRQHandler - .word USB_HP_CAN1_TX_IRQHandler - .word USB_LP_CAN1_RX0_IRQHandler - .word CAN1_RX1_IRQHandler - .word CAN1_SCE_IRQHandler - .word EXTI9_5_IRQHandler - .word TIM1_BRK_IRQHandler - .word TIM1_UP_IRQHandler - .word TIM1_TRG_COM_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word 0 - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word 0 - .word 0 - .word SPI1_IRQHandler - .word 0 - .word USART1_IRQHandler - .word USART2_IRQHandler - .word 0 - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word USBWakeUp_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x108. This is for boot in RAM mode for - STM32F10x Low Density devices.*/ - -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_2_IRQHandler - .thumb_set ADC1_2_IRQHandler,Default_Handler - - .weak USB_HP_CAN1_TX_IRQHandler - .thumb_set USB_HP_CAN1_TX_IRQHandler,Default_Handler - - .weak USB_LP_CAN1_RX0_IRQHandler - .thumb_set USB_LP_CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_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 I2C1_EV_IRQHandler - .thumb_set I2C1_EV_IRQHandler,Default_Handler - - .weak I2C1_ER_IRQHandler - .thumb_set I2C1_ER_IRQHandler,Default_Handler - - .weak SPI1_IRQHandler - .thumb_set SPI1_IRQHandler,Default_Handler - - .weak USART1_IRQHandler - .thumb_set USART1_IRQHandler,Default_Handler - - .weak USART2_IRQHandler - .thumb_set USART2_IRQHandler,Default_Handler - - .weak EXTI15_10_IRQHandler - .thumb_set EXTI15_10_IRQHandler,Default_Handler - - .weak RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak USBWakeUp_IRQHandler - .thumb_set USBWakeUp_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_ld_vl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_ld_vl.s deleted file mode 100644 index 9af6e8ba0..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_ld_vl.s +++ /dev/null @@ -1,392 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_ld_vl.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x Low Density Value Line Devices vector table for Atollic toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF108F85F -/** - * @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: - -/* 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word EXTI9_5_IRQHandler - .word TIM1_BRK_TIM15_IRQHandler - .word TIM1_UP_TIM16_IRQHandler - .word TIM1_TRG_COM_TIM17_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word 0 - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word 0 - .word 0 - .word SPI1_IRQHandler - .word 0 - .word USART1_IRQHandler - .word USART2_IRQHandler - .word 0 - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word CEC_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word TIM6_DAC_IRQHandler - .word TIM7_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x01CC. This is for boot in RAM mode for - STM32F10x Medium Value Line Density devices. */ - -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_IRQHandler - .thumb_set ADC1_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM15_IRQHandler - .thumb_set TIM1_BRK_TIM15_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM16_IRQHandler - .thumb_set TIM1_UP_TIM16_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM17_IRQHandler - .thumb_set TIM1_TRG_COM_TIM17_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 I2C1_EV_IRQHandler - .thumb_set I2C1_EV_IRQHandler,Default_Handler - - .weak I2C1_ER_IRQHandler - .thumb_set I2C1_ER_IRQHandler,Default_Handler - - .weak SPI1_IRQHandler - .thumb_set SPI1_IRQHandler,Default_Handler - - .weak USART1_IRQHandler - .thumb_set USART1_IRQHandler,Default_Handler - - .weak USART2_IRQHandler - .thumb_set USART2_IRQHandler,Default_Handler - - .weak EXTI15_10_IRQHandler - .thumb_set EXTI15_10_IRQHandler,Default_Handler - - .weak RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak CEC_IRQHandler - .thumb_set CEC_IRQHandler,Default_Handler - - .weak TIM6_DAC_IRQHandler - .thumb_set TIM6_DAC_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ - diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_md.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_md.s deleted file mode 100644 index c14ba2104..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_md.s +++ /dev/null @@ -1,363 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_md.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x Medium Density Devices vector table for Atollic toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF108F85F -/** - * @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: - -/* 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_2_IRQHandler - .word USB_HP_CAN1_TX_IRQHandler - .word USB_LP_CAN1_RX0_IRQHandler - .word CAN1_RX1_IRQHandler - .word CAN1_SCE_IRQHandler - .word EXTI9_5_IRQHandler - .word TIM1_BRK_IRQHandler - .word TIM1_UP_IRQHandler - .word TIM1_TRG_COM_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word TIM4_IRQHandler - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word I2C2_EV_IRQHandler - .word I2C2_ER_IRQHandler - .word SPI1_IRQHandler - .word SPI2_IRQHandler - .word USART1_IRQHandler - .word USART2_IRQHandler - .word USART3_IRQHandler - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word USBWakeUp_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x108. This is for boot in RAM mode for - STM32F10x Medium Density devices. */ - -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_2_IRQHandler - .thumb_set ADC1_2_IRQHandler,Default_Handler - - .weak USB_HP_CAN1_TX_IRQHandler - .thumb_set USB_HP_CAN1_TX_IRQHandler,Default_Handler - - .weak USB_LP_CAN1_RX0_IRQHandler - .thumb_set USB_LP_CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_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 RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak USBWakeUp_IRQHandler - .thumb_set USBWakeUp_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ - diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_md_vl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_md_vl.s deleted file mode 100644 index 4ac1230db..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_md_vl.s +++ /dev/null @@ -1,408 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_md_vl.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x Medium Density Value Line Devices vector table for Atollic - * toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF108F85F -/** - * @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: - -/* 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word EXTI9_5_IRQHandler - .word TIM1_BRK_TIM15_IRQHandler - .word TIM1_UP_TIM16_IRQHandler - .word TIM1_TRG_COM_TIM17_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word TIM4_IRQHandler - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word I2C2_EV_IRQHandler - .word I2C2_ER_IRQHandler - .word SPI1_IRQHandler - .word SPI2_IRQHandler - .word USART1_IRQHandler - .word USART2_IRQHandler - .word USART3_IRQHandler - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word CEC_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word TIM6_DAC_IRQHandler - .word TIM7_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x01CC. This is for boot in RAM mode for - STM32F10x Medium Value Line Density devices. */ - -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_IRQHandler - .thumb_set ADC1_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM15_IRQHandler - .thumb_set TIM1_BRK_TIM15_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM16_IRQHandler - .thumb_set TIM1_UP_TIM16_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM17_IRQHandler - .thumb_set TIM1_TRG_COM_TIM17_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 RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak CEC_IRQHandler - .thumb_set CEC_IRQHandler,Default_Handler - - .weak TIM6_DAC_IRQHandler - .thumb_set TIM6_DAC_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ - diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_xl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_xl.s deleted file mode 100644 index 19bdf5a8c..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_xl.s +++ /dev/null @@ -1,467 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_xl.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x XL-Density Devices vector table for TrueSTUDIO toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system and the external SRAM mounted on - * STM3210E-EVAL board to be used as data memory (optional, - * to be enabled by user) - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF1E0F85F -/** - * @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: - -/* 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_2_IRQHandler - .word USB_HP_CAN1_TX_IRQHandler - .word USB_LP_CAN1_RX0_IRQHandler - .word CAN1_RX1_IRQHandler - .word CAN1_SCE_IRQHandler - .word EXTI9_5_IRQHandler - .word TIM1_BRK_TIM9_IRQHandler - .word TIM1_UP_TIM10_IRQHandler - .word TIM1_TRG_COM_TIM11_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word TIM4_IRQHandler - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word I2C2_EV_IRQHandler - .word I2C2_ER_IRQHandler - .word SPI1_IRQHandler - .word SPI2_IRQHandler - .word USART1_IRQHandler - .word USART2_IRQHandler - .word USART3_IRQHandler - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word USBWakeUp_IRQHandler - .word TIM8_BRK_TIM12_IRQHandler - .word TIM8_UP_TIM13_IRQHandler - .word TIM8_TRG_COM_TIM14_IRQHandler - .word TIM8_CC_IRQHandler - .word ADC3_IRQHandler - .word FSMC_IRQHandler - .word SDIO_IRQHandler - .word TIM5_IRQHandler - .word SPI3_IRQHandler - .word UART4_IRQHandler - .word UART5_IRQHandler - .word TIM6_IRQHandler - .word TIM7_IRQHandler - .word DMA2_Channel1_IRQHandler - .word DMA2_Channel2_IRQHandler - .word DMA2_Channel3_IRQHandler - .word DMA2_Channel4_5_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x1E0. This is for boot in RAM mode for - STM32F10x XL-Density devices. */ -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_2_IRQHandler - .thumb_set ADC1_2_IRQHandler,Default_Handler - - .weak USB_HP_CAN1_TX_IRQHandler - .thumb_set USB_HP_CAN1_TX_IRQHandler,Default_Handler - - .weak USB_LP_CAN1_RX0_IRQHandler - .thumb_set USB_LP_CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM9_IRQHandler - .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM10_IRQHandler - .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM11_IRQHandler - .thumb_set TIM1_TRG_COM_TIM11_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 RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak USBWakeUp_IRQHandler - .thumb_set USBWakeUp_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 ADC3_IRQHandler - .thumb_set ADC3_IRQHandler,Default_Handler - - .weak FSMC_IRQHandler - .thumb_set FSMC_IRQHandler,Default_Handler - - .weak SDIO_IRQHandler - .thumb_set SDIO_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_IRQHandler - .thumb_set TIM6_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - - .weak DMA2_Channel1_IRQHandler - .thumb_set DMA2_Channel1_IRQHandler,Default_Handler - - .weak DMA2_Channel2_IRQHandler - .thumb_set DMA2_Channel2_IRQHandler,Default_Handler - - .weak DMA2_Channel3_IRQHandler - .thumb_set DMA2_Channel3_IRQHandler,Default_Handler - - .weak DMA2_Channel4_5_IRQHandler - .thumb_set DMA2_Channel4_5_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_cl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_cl.s deleted file mode 100644 index 8196e697f..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_cl.s +++ /dev/null @@ -1,368 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_cl.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x Connectivity line devices vector table for MDK-ARM -;* toolchain. -;* This module performs: -;* - Set the initial SP -;* - Set the initial PC == Reset_Handler -;* - Set the vector table entries with the exceptions ISR address -;* - Configure the clock system -;* - Branches to __main in the C library (which eventually -;* calls main()). -;* After Reset the CortexM3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;* <<< Use Configuration Wizard in Context Menu >>> -;******************************************************************************* -; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* - -; Amount of memory (in bytes) allocated for Stack -; Tailor this value to your application needs -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000200 - - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_2_IRQHandler ; ADC1 and ADC2 - DCD CAN1_TX_IRQHandler ; CAN1 TX - DCD CAN1_RX0_IRQHandler ; CAN1 RX0 - DCD CAN1_RX1_IRQHandler ; CAN1 RX1 - DCD CAN1_SCE_IRQHandler ; CAN1 SCE - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_IRQHandler ; TIM1 Break - DCD TIM1_UP_IRQHandler ; TIM1 Update - DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C1 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC alarm through EXTI line - DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD TIM5_IRQHandler ; TIM5 - DCD SPI3_IRQHandler ; SPI3 - DCD UART4_IRQHandler ; UART4 - DCD UART5_IRQHandler ; UART5 - DCD TIM6_IRQHandler ; TIM6 - DCD TIM7_IRQHandler ; TIM7 - DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1 - DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2 - DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3 - DCD DMA2_Channel4_IRQHandler ; DMA2 Channel4 - DCD DMA2_Channel5_IRQHandler ; DMA2 Channel5 - DCD ETH_IRQHandler ; Ethernet - DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line - DCD CAN2_TX_IRQHandler ; CAN2 TX - DCD CAN2_RX0_IRQHandler ; CAN2 RX0 - DCD CAN2_RX1_IRQHandler ; CAN2 RX1 - DCD CAN2_SCE_IRQHandler ; CAN2 SCE - DCD OTG_FS_IRQHandler ; USB OTG FS -__Vectors_End - -__Vectors_Size EQU __Vectors_End - __Vectors - - AREA |.text|, CODE, READONLY - -; Reset handler -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - - EXPORT WWDG_IRQHandler [WEAK] - EXPORT PVD_IRQHandler [WEAK] - EXPORT TAMPER_IRQHandler [WEAK] - EXPORT RTC_IRQHandler [WEAK] - EXPORT FLASH_IRQHandler [WEAK] - EXPORT RCC_IRQHandler [WEAK] - EXPORT EXTI0_IRQHandler [WEAK] - EXPORT EXTI1_IRQHandler [WEAK] - EXPORT EXTI2_IRQHandler [WEAK] - EXPORT EXTI3_IRQHandler [WEAK] - EXPORT EXTI4_IRQHandler [WEAK] - EXPORT DMA1_Channel1_IRQHandler [WEAK] - EXPORT DMA1_Channel2_IRQHandler [WEAK] - EXPORT DMA1_Channel3_IRQHandler [WEAK] - EXPORT DMA1_Channel4_IRQHandler [WEAK] - EXPORT DMA1_Channel5_IRQHandler [WEAK] - EXPORT DMA1_Channel6_IRQHandler [WEAK] - EXPORT DMA1_Channel7_IRQHandler [WEAK] - EXPORT ADC1_2_IRQHandler [WEAK] - EXPORT CAN1_TX_IRQHandler [WEAK] - EXPORT CAN1_RX0_IRQHandler [WEAK] - EXPORT CAN1_RX1_IRQHandler [WEAK] - EXPORT CAN1_SCE_IRQHandler [WEAK] - EXPORT EXTI9_5_IRQHandler [WEAK] - EXPORT TIM1_BRK_IRQHandler [WEAK] - EXPORT TIM1_UP_IRQHandler [WEAK] - EXPORT TIM1_TRG_COM_IRQHandler [WEAK] - EXPORT TIM1_CC_IRQHandler [WEAK] - EXPORT TIM2_IRQHandler [WEAK] - EXPORT TIM3_IRQHandler [WEAK] - EXPORT TIM4_IRQHandler [WEAK] - EXPORT I2C1_EV_IRQHandler [WEAK] - EXPORT I2C1_ER_IRQHandler [WEAK] - EXPORT I2C2_EV_IRQHandler [WEAK] - EXPORT I2C2_ER_IRQHandler [WEAK] - EXPORT SPI1_IRQHandler [WEAK] - EXPORT SPI2_IRQHandler [WEAK] - EXPORT USART1_IRQHandler [WEAK] - EXPORT USART2_IRQHandler [WEAK] - EXPORT USART3_IRQHandler [WEAK] - EXPORT EXTI15_10_IRQHandler [WEAK] - EXPORT RTCAlarm_IRQHandler [WEAK] - EXPORT OTG_FS_WKUP_IRQHandler [WEAK] - EXPORT TIM5_IRQHandler [WEAK] - EXPORT SPI3_IRQHandler [WEAK] - EXPORT UART4_IRQHandler [WEAK] - EXPORT UART5_IRQHandler [WEAK] - EXPORT TIM6_IRQHandler [WEAK] - EXPORT TIM7_IRQHandler [WEAK] - EXPORT DMA2_Channel1_IRQHandler [WEAK] - EXPORT DMA2_Channel2_IRQHandler [WEAK] - EXPORT DMA2_Channel3_IRQHandler [WEAK] - EXPORT DMA2_Channel4_IRQHandler [WEAK] - EXPORT DMA2_Channel5_IRQHandler [WEAK] - EXPORT ETH_IRQHandler [WEAK] - EXPORT ETH_WKUP_IRQHandler [WEAK] - EXPORT CAN2_TX_IRQHandler [WEAK] - EXPORT CAN2_RX0_IRQHandler [WEAK] - EXPORT CAN2_RX1_IRQHandler [WEAK] - EXPORT CAN2_SCE_IRQHandler [WEAK] - EXPORT OTG_FS_IRQHandler [WEAK] - -WWDG_IRQHandler -PVD_IRQHandler -TAMPER_IRQHandler -RTC_IRQHandler -FLASH_IRQHandler -RCC_IRQHandler -EXTI0_IRQHandler -EXTI1_IRQHandler -EXTI2_IRQHandler -EXTI3_IRQHandler -EXTI4_IRQHandler -DMA1_Channel1_IRQHandler -DMA1_Channel2_IRQHandler -DMA1_Channel3_IRQHandler -DMA1_Channel4_IRQHandler -DMA1_Channel5_IRQHandler -DMA1_Channel6_IRQHandler -DMA1_Channel7_IRQHandler -ADC1_2_IRQHandler -CAN1_TX_IRQHandler -CAN1_RX0_IRQHandler -CAN1_RX1_IRQHandler -CAN1_SCE_IRQHandler -EXTI9_5_IRQHandler -TIM1_BRK_IRQHandler -TIM1_UP_IRQHandler -TIM1_TRG_COM_IRQHandler -TIM1_CC_IRQHandler -TIM2_IRQHandler -TIM3_IRQHandler -TIM4_IRQHandler -I2C1_EV_IRQHandler -I2C1_ER_IRQHandler -I2C2_EV_IRQHandler -I2C2_ER_IRQHandler -SPI1_IRQHandler -SPI2_IRQHandler -USART1_IRQHandler -USART2_IRQHandler -USART3_IRQHandler -EXTI15_10_IRQHandler -RTCAlarm_IRQHandler -OTG_FS_WKUP_IRQHandler -TIM5_IRQHandler -SPI3_IRQHandler -UART4_IRQHandler -UART5_IRQHandler -TIM6_IRQHandler -TIM7_IRQHandler -DMA2_Channel1_IRQHandler -DMA2_Channel2_IRQHandler -DMA2_Channel3_IRQHandler -DMA2_Channel4_IRQHandler -DMA2_Channel5_IRQHandler -ETH_IRQHandler -ETH_WKUP_IRQHandler -CAN2_TX_IRQHandler -CAN2_RX0_IRQHandler -CAN2_RX1_IRQHandler -CAN2_SCE_IRQHandler -OTG_FS_IRQHandler - - B . - - ENDP - - ALIGN - -;******************************************************************************* -; User Stack and Heap initialization -;******************************************************************************* - IF :DEF:__MICROLIB - - EXPORT __initial_sp - EXPORT __heap_base - EXPORT __heap_limit - - ELSE - - IMPORT __use_two_region_memory - EXPORT __user_initial_stackheap - -__user_initial_stackheap - - LDR R0, = Heap_Mem - LDR R1, =(Stack_Mem + Stack_Size) - LDR R2, = (Heap_Mem + Heap_Size) - LDR R3, = Stack_Mem - BX LR - - ALIGN - - ENDIF - - END - -;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE***** diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_hd.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_hd.s deleted file mode 100644 index adc9b94a9..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_hd.s +++ /dev/null @@ -1,358 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_hd.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x High Density Devices vector table for MDK-ARM -;* toolchain. -;* This module performs: -;* - Set the initial SP -;* - Set the initial PC == Reset_Handler -;* - Set the vector table entries with the exceptions ISR address -;* - Configure the clock system and also configure the external -;* SRAM mounted on STM3210E-EVAL board to be used as data -;* memory (optional, to be enabled by user) -;* - Branches to __main in the C library (which eventually -;* calls main()). -;* After Reset the CortexM3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;* <<< Use Configuration Wizard in Context Menu >>> -;******************************************************************************* -; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* - -; Amount of memory (in bytes) allocated for Stack -; Tailor this value to your application needs -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -Stack_Mem SPACE Stack_Size -__initial_sp - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000200 - - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_2_IRQHandler ; ADC1 & ADC2 - DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX - DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0 - DCD CAN1_RX1_IRQHandler ; CAN1 RX1 - DCD CAN1_SCE_IRQHandler ; CAN1 SCE - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_IRQHandler ; TIM1 Break - DCD TIM1_UP_IRQHandler ; TIM1 Update - DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C2 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend - DCD TIM8_BRK_IRQHandler ; TIM8 Break - DCD TIM8_UP_IRQHandler ; TIM8 Update - DCD TIM8_TRG_COM_IRQHandler ; TIM8 Trigger and Commutation - DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare - DCD ADC3_IRQHandler ; ADC3 - DCD FSMC_IRQHandler ; FSMC - DCD SDIO_IRQHandler ; SDIO - DCD TIM5_IRQHandler ; TIM5 - DCD SPI3_IRQHandler ; SPI3 - DCD UART4_IRQHandler ; UART4 - DCD UART5_IRQHandler ; UART5 - DCD TIM6_IRQHandler ; TIM6 - DCD TIM7_IRQHandler ; TIM7 - DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1 - DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2 - DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3 - DCD DMA2_Channel4_5_IRQHandler ; DMA2 Channel4 & Channel5 -__Vectors_End - -__Vectors_Size EQU __Vectors_End - __Vectors - - AREA |.text|, CODE, READONLY - -; Reset handler -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT __main - IMPORT SystemInit - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - - EXPORT WWDG_IRQHandler [WEAK] - EXPORT PVD_IRQHandler [WEAK] - EXPORT TAMPER_IRQHandler [WEAK] - EXPORT RTC_IRQHandler [WEAK] - EXPORT FLASH_IRQHandler [WEAK] - EXPORT RCC_IRQHandler [WEAK] - EXPORT EXTI0_IRQHandler [WEAK] - EXPORT EXTI1_IRQHandler [WEAK] - EXPORT EXTI2_IRQHandler [WEAK] - EXPORT EXTI3_IRQHandler [WEAK] - EXPORT EXTI4_IRQHandler [WEAK] - EXPORT DMA1_Channel1_IRQHandler [WEAK] - EXPORT DMA1_Channel2_IRQHandler [WEAK] - EXPORT DMA1_Channel3_IRQHandler [WEAK] - EXPORT DMA1_Channel4_IRQHandler [WEAK] - EXPORT DMA1_Channel5_IRQHandler [WEAK] - EXPORT DMA1_Channel6_IRQHandler [WEAK] - EXPORT DMA1_Channel7_IRQHandler [WEAK] - EXPORT ADC1_2_IRQHandler [WEAK] - EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK] - EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK] - EXPORT CAN1_RX1_IRQHandler [WEAK] - EXPORT CAN1_SCE_IRQHandler [WEAK] - EXPORT EXTI9_5_IRQHandler [WEAK] - EXPORT TIM1_BRK_IRQHandler [WEAK] - EXPORT TIM1_UP_IRQHandler [WEAK] - EXPORT TIM1_TRG_COM_IRQHandler [WEAK] - EXPORT TIM1_CC_IRQHandler [WEAK] - EXPORT TIM2_IRQHandler [WEAK] - EXPORT TIM3_IRQHandler [WEAK] - EXPORT TIM4_IRQHandler [WEAK] - EXPORT I2C1_EV_IRQHandler [WEAK] - EXPORT I2C1_ER_IRQHandler [WEAK] - EXPORT I2C2_EV_IRQHandler [WEAK] - EXPORT I2C2_ER_IRQHandler [WEAK] - EXPORT SPI1_IRQHandler [WEAK] - EXPORT SPI2_IRQHandler [WEAK] - EXPORT USART1_IRQHandler [WEAK] - EXPORT USART2_IRQHandler [WEAK] - EXPORT USART3_IRQHandler [WEAK] - EXPORT EXTI15_10_IRQHandler [WEAK] - EXPORT RTCAlarm_IRQHandler [WEAK] - EXPORT USBWakeUp_IRQHandler [WEAK] - EXPORT TIM8_BRK_IRQHandler [WEAK] - EXPORT TIM8_UP_IRQHandler [WEAK] - EXPORT TIM8_TRG_COM_IRQHandler [WEAK] - EXPORT TIM8_CC_IRQHandler [WEAK] - EXPORT ADC3_IRQHandler [WEAK] - EXPORT FSMC_IRQHandler [WEAK] - EXPORT SDIO_IRQHandler [WEAK] - EXPORT TIM5_IRQHandler [WEAK] - EXPORT SPI3_IRQHandler [WEAK] - EXPORT UART4_IRQHandler [WEAK] - EXPORT UART5_IRQHandler [WEAK] - EXPORT TIM6_IRQHandler [WEAK] - EXPORT TIM7_IRQHandler [WEAK] - EXPORT DMA2_Channel1_IRQHandler [WEAK] - EXPORT DMA2_Channel2_IRQHandler [WEAK] - EXPORT DMA2_Channel3_IRQHandler [WEAK] - EXPORT DMA2_Channel4_5_IRQHandler [WEAK] - -WWDG_IRQHandler -PVD_IRQHandler -TAMPER_IRQHandler -RTC_IRQHandler -FLASH_IRQHandler -RCC_IRQHandler -EXTI0_IRQHandler -EXTI1_IRQHandler -EXTI2_IRQHandler -EXTI3_IRQHandler -EXTI4_IRQHandler -DMA1_Channel1_IRQHandler -DMA1_Channel2_IRQHandler -DMA1_Channel3_IRQHandler -DMA1_Channel4_IRQHandler -DMA1_Channel5_IRQHandler -DMA1_Channel6_IRQHandler -DMA1_Channel7_IRQHandler -ADC1_2_IRQHandler -USB_HP_CAN1_TX_IRQHandler -USB_LP_CAN1_RX0_IRQHandler -CAN1_RX1_IRQHandler -CAN1_SCE_IRQHandler -EXTI9_5_IRQHandler -TIM1_BRK_IRQHandler -TIM1_UP_IRQHandler -TIM1_TRG_COM_IRQHandler -TIM1_CC_IRQHandler -TIM2_IRQHandler -TIM3_IRQHandler -TIM4_IRQHandler -I2C1_EV_IRQHandler -I2C1_ER_IRQHandler -I2C2_EV_IRQHandler -I2C2_ER_IRQHandler -SPI1_IRQHandler -SPI2_IRQHandler -USART1_IRQHandler -USART2_IRQHandler -USART3_IRQHandler -EXTI15_10_IRQHandler -RTCAlarm_IRQHandler -USBWakeUp_IRQHandler -TIM8_BRK_IRQHandler -TIM8_UP_IRQHandler -TIM8_TRG_COM_IRQHandler -TIM8_CC_IRQHandler -ADC3_IRQHandler -FSMC_IRQHandler -SDIO_IRQHandler -TIM5_IRQHandler -SPI3_IRQHandler -UART4_IRQHandler -UART5_IRQHandler -TIM6_IRQHandler -TIM7_IRQHandler -DMA2_Channel1_IRQHandler -DMA2_Channel2_IRQHandler -DMA2_Channel3_IRQHandler -DMA2_Channel4_5_IRQHandler - B . - - ENDP - - ALIGN - -;******************************************************************************* -; User Stack and Heap initialization -;******************************************************************************* - IF :DEF:__MICROLIB - - EXPORT __initial_sp - EXPORT __heap_base - EXPORT __heap_limit - - ELSE - - IMPORT __use_two_region_memory - EXPORT __user_initial_stackheap - -__user_initial_stackheap - - LDR R0, = Heap_Mem - LDR R1, =(Stack_Mem + Stack_Size) - LDR R2, = (Heap_Mem + Heap_Size) - LDR R3, = Stack_Mem - BX LR - - ALIGN - - ENDIF - - END - -;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE***** diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_hd_vl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_hd_vl.s deleted file mode 100644 index d6082b096..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_hd_vl.s +++ /dev/null @@ -1,346 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_hd_vl.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x High Density Value Line Devices vector table -;* for MDK-ARM toolchain. -;* This module performs: -;* - Set the initial SP -;* - Set the initial PC == Reset_Handler -;* - Set the vector table entries with the exceptions ISR address -;* - Configure the clock system and also configure the external -;* SRAM mounted on STM32100E-EVAL board to be used as data -;* memory (optional, to be enabled by user) -;* - Branches to __main in the C library (which eventually -;* calls main()). -;* After Reset the CortexM3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;* <<< Use Configuration Wizard in Context Menu >>> -;******************************************************************************* -; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* - -; Amount of memory (in bytes) allocated for Stack -; Tailor this value to your application needs -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000200 - - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_IRQHandler ; ADC1 - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_TIM15_IRQHandler ; TIM1 Break and TIM15 - DCD TIM1_UP_TIM16_IRQHandler ; TIM1 Update and TIM16 - DCD TIM1_TRG_COM_TIM17_IRQHandler ; TIM1 Trigger and Commutation and TIM17 - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C2 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD CEC_IRQHandler ; HDMI-CEC - DCD TIM12_IRQHandler ; TIM12 - DCD TIM13_IRQHandler ; TIM13 - DCD TIM14_IRQHandler ; TIM14 - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD TIM5_IRQHandler ; TIM5 - DCD SPI3_IRQHandler ; SPI3 - DCD UART4_IRQHandler ; UART4 - DCD UART5_IRQHandler ; UART5 - DCD TIM6_DAC_IRQHandler ; TIM6 and DAC underrun - DCD TIM7_IRQHandler ; TIM7 - DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1 - DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2 - DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3 - DCD DMA2_Channel4_5_IRQHandler ; DMA2 Channel4 & Channel5 - DCD DMA2_Channel5_IRQHandler ; DMA2 Channel5 -__Vectors_End - -__Vectors_Size EQU __Vectors_End - __Vectors - - AREA |.text|, CODE, READONLY - -; Reset handler -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT __main - IMPORT SystemInit - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - - EXPORT WWDG_IRQHandler [WEAK] - EXPORT PVD_IRQHandler [WEAK] - EXPORT TAMPER_IRQHandler [WEAK] - EXPORT RTC_IRQHandler [WEAK] - EXPORT FLASH_IRQHandler [WEAK] - EXPORT RCC_IRQHandler [WEAK] - EXPORT EXTI0_IRQHandler [WEAK] - EXPORT EXTI1_IRQHandler [WEAK] - EXPORT EXTI2_IRQHandler [WEAK] - EXPORT EXTI3_IRQHandler [WEAK] - EXPORT EXTI4_IRQHandler [WEAK] - EXPORT DMA1_Channel1_IRQHandler [WEAK] - EXPORT DMA1_Channel2_IRQHandler [WEAK] - EXPORT DMA1_Channel3_IRQHandler [WEAK] - EXPORT DMA1_Channel4_IRQHandler [WEAK] - EXPORT DMA1_Channel5_IRQHandler [WEAK] - EXPORT DMA1_Channel6_IRQHandler [WEAK] - EXPORT DMA1_Channel7_IRQHandler [WEAK] - EXPORT ADC1_IRQHandler [WEAK] - EXPORT EXTI9_5_IRQHandler [WEAK] - EXPORT TIM1_BRK_TIM15_IRQHandler [WEAK] - EXPORT TIM1_UP_TIM16_IRQHandler [WEAK] - EXPORT TIM1_TRG_COM_TIM17_IRQHandler [WEAK] - EXPORT TIM1_CC_IRQHandler [WEAK] - EXPORT TIM2_IRQHandler [WEAK] - EXPORT TIM3_IRQHandler [WEAK] - EXPORT TIM4_IRQHandler [WEAK] - EXPORT I2C1_EV_IRQHandler [WEAK] - EXPORT I2C1_ER_IRQHandler [WEAK] - EXPORT I2C2_EV_IRQHandler [WEAK] - EXPORT I2C2_ER_IRQHandler [WEAK] - EXPORT SPI1_IRQHandler [WEAK] - EXPORT SPI2_IRQHandler [WEAK] - EXPORT USART1_IRQHandler [WEAK] - EXPORT USART2_IRQHandler [WEAK] - EXPORT USART3_IRQHandler [WEAK] - EXPORT EXTI15_10_IRQHandler [WEAK] - EXPORT RTCAlarm_IRQHandler [WEAK] - EXPORT CEC_IRQHandler [WEAK] - EXPORT TIM12_IRQHandler [WEAK] - EXPORT TIM13_IRQHandler [WEAK] - EXPORT TIM14_IRQHandler [WEAK] - EXPORT TIM5_IRQHandler [WEAK] - EXPORT SPI3_IRQHandler [WEAK] - EXPORT UART4_IRQHandler [WEAK] - EXPORT UART5_IRQHandler [WEAK] - EXPORT TIM6_DAC_IRQHandler [WEAK] - EXPORT TIM7_IRQHandler [WEAK] - EXPORT DMA2_Channel1_IRQHandler [WEAK] - EXPORT DMA2_Channel2_IRQHandler [WEAK] - EXPORT DMA2_Channel3_IRQHandler [WEAK] - EXPORT DMA2_Channel4_5_IRQHandler [WEAK] - EXPORT DMA2_Channel5_IRQHandler [WEAK] - -WWDG_IRQHandler -PVD_IRQHandler -TAMPER_IRQHandler -RTC_IRQHandler -FLASH_IRQHandler -RCC_IRQHandler -EXTI0_IRQHandler -EXTI1_IRQHandler -EXTI2_IRQHandler -EXTI3_IRQHandler -EXTI4_IRQHandler -DMA1_Channel1_IRQHandler -DMA1_Channel2_IRQHandler -DMA1_Channel3_IRQHandler -DMA1_Channel4_IRQHandler -DMA1_Channel5_IRQHandler -DMA1_Channel6_IRQHandler -DMA1_Channel7_IRQHandler -ADC1_IRQHandler -EXTI9_5_IRQHandler -TIM1_BRK_TIM15_IRQHandler -TIM1_UP_TIM16_IRQHandler -TIM1_TRG_COM_TIM17_IRQHandler -TIM1_CC_IRQHandler -TIM2_IRQHandler -TIM3_IRQHandler -TIM4_IRQHandler -I2C1_EV_IRQHandler -I2C1_ER_IRQHandler -I2C2_EV_IRQHandler -I2C2_ER_IRQHandler -SPI1_IRQHandler -SPI2_IRQHandler -USART1_IRQHandler -USART2_IRQHandler -USART3_IRQHandler -EXTI15_10_IRQHandler -RTCAlarm_IRQHandler -CEC_IRQHandler -TIM12_IRQHandler -TIM13_IRQHandler -TIM14_IRQHandler -TIM5_IRQHandler -SPI3_IRQHandler -UART4_IRQHandler -UART5_IRQHandler -TIM6_DAC_IRQHandler -TIM7_IRQHandler -DMA2_Channel1_IRQHandler -DMA2_Channel2_IRQHandler -DMA2_Channel3_IRQHandler -DMA2_Channel4_5_IRQHandler -DMA2_Channel5_IRQHandler - B . - - ENDP - - ALIGN - -;******************************************************************************* -; User Stack and Heap initialization -;******************************************************************************* - IF :DEF:__MICROLIB - - EXPORT __initial_sp - EXPORT __heap_base - EXPORT __heap_limit - - ELSE - - IMPORT __use_two_region_memory - EXPORT __user_initial_stackheap - -__user_initial_stackheap - - LDR R0, = Heap_Mem - LDR R1, =(Stack_Mem + Stack_Size) - LDR R2, = (Heap_Mem + Heap_Size) - LDR R3, = Stack_Mem - BX LR - - ALIGN - - ENDIF - - END - -;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE***** diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_ld.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_ld.s deleted file mode 100644 index 3f3ac2ffd..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_ld.s +++ /dev/null @@ -1,297 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_ld.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x Low Density Devices vector table for MDK-ARM -;* toolchain. -;* This module performs: -;* - Set the initial SP -;* - Set the initial PC == Reset_Handler -;* - Set the vector table entries with the exceptions ISR address -;* - Configure the clock system -;* - Branches to __main in the C library (which eventually -;* calls main()). -;* After Reset the CortexM3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;* <<< Use Configuration Wizard in Context Menu >>> -;******************************************************************************* -; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* - -; Amount of memory (in bytes) allocated for Stack -; Tailor this value to your application needs -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000200 - - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_2_IRQHandler ; ADC1_2 - DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX - DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0 - DCD CAN1_RX1_IRQHandler ; CAN1 RX1 - DCD CAN1_SCE_IRQHandler ; CAN1 SCE - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_IRQHandler ; TIM1 Break - DCD TIM1_UP_IRQHandler ; TIM1 Update - DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD 0 ; Reserved - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SPI1_IRQHandler ; SPI1 - DCD 0 ; Reserved - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD 0 ; Reserved - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend -__Vectors_End - -__Vectors_Size EQU __Vectors_End - __Vectors - - AREA |.text|, CODE, READONLY - -; Reset handler routine -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT __main - IMPORT SystemInit - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - - EXPORT WWDG_IRQHandler [WEAK] - EXPORT PVD_IRQHandler [WEAK] - EXPORT TAMPER_IRQHandler [WEAK] - EXPORT RTC_IRQHandler [WEAK] - EXPORT FLASH_IRQHandler [WEAK] - EXPORT RCC_IRQHandler [WEAK] - EXPORT EXTI0_IRQHandler [WEAK] - EXPORT EXTI1_IRQHandler [WEAK] - EXPORT EXTI2_IRQHandler [WEAK] - EXPORT EXTI3_IRQHandler [WEAK] - EXPORT EXTI4_IRQHandler [WEAK] - EXPORT DMA1_Channel1_IRQHandler [WEAK] - EXPORT DMA1_Channel2_IRQHandler [WEAK] - EXPORT DMA1_Channel3_IRQHandler [WEAK] - EXPORT DMA1_Channel4_IRQHandler [WEAK] - EXPORT DMA1_Channel5_IRQHandler [WEAK] - EXPORT DMA1_Channel6_IRQHandler [WEAK] - EXPORT DMA1_Channel7_IRQHandler [WEAK] - EXPORT ADC1_2_IRQHandler [WEAK] - EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK] - EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK] - EXPORT CAN1_RX1_IRQHandler [WEAK] - EXPORT CAN1_SCE_IRQHandler [WEAK] - EXPORT EXTI9_5_IRQHandler [WEAK] - EXPORT TIM1_BRK_IRQHandler [WEAK] - EXPORT TIM1_UP_IRQHandler [WEAK] - EXPORT TIM1_TRG_COM_IRQHandler [WEAK] - EXPORT TIM1_CC_IRQHandler [WEAK] - EXPORT TIM2_IRQHandler [WEAK] - EXPORT TIM3_IRQHandler [WEAK] - EXPORT I2C1_EV_IRQHandler [WEAK] - EXPORT I2C1_ER_IRQHandler [WEAK] - EXPORT SPI1_IRQHandler [WEAK] - EXPORT USART1_IRQHandler [WEAK] - EXPORT USART2_IRQHandler [WEAK] - EXPORT EXTI15_10_IRQHandler [WEAK] - EXPORT RTCAlarm_IRQHandler [WEAK] - EXPORT USBWakeUp_IRQHandler [WEAK] - -WWDG_IRQHandler -PVD_IRQHandler -TAMPER_IRQHandler -RTC_IRQHandler -FLASH_IRQHandler -RCC_IRQHandler -EXTI0_IRQHandler -EXTI1_IRQHandler -EXTI2_IRQHandler -EXTI3_IRQHandler -EXTI4_IRQHandler -DMA1_Channel1_IRQHandler -DMA1_Channel2_IRQHandler -DMA1_Channel3_IRQHandler -DMA1_Channel4_IRQHandler -DMA1_Channel5_IRQHandler -DMA1_Channel6_IRQHandler -DMA1_Channel7_IRQHandler -ADC1_2_IRQHandler -USB_HP_CAN1_TX_IRQHandler -USB_LP_CAN1_RX0_IRQHandler -CAN1_RX1_IRQHandler -CAN1_SCE_IRQHandler -EXTI9_5_IRQHandler -TIM1_BRK_IRQHandler -TIM1_UP_IRQHandler -TIM1_TRG_COM_IRQHandler -TIM1_CC_IRQHandler -TIM2_IRQHandler -TIM3_IRQHandler -I2C1_EV_IRQHandler -I2C1_ER_IRQHandler -SPI1_IRQHandler -USART1_IRQHandler -USART2_IRQHandler -EXTI15_10_IRQHandler -RTCAlarm_IRQHandler -USBWakeUp_IRQHandler - - B . - - ENDP - - ALIGN - -;******************************************************************************* -; User Stack and Heap initialization -;******************************************************************************* - IF :DEF:__MICROLIB - - EXPORT __initial_sp - EXPORT __heap_base - EXPORT __heap_limit - - ELSE - - IMPORT __use_two_region_memory - EXPORT __user_initial_stackheap - -__user_initial_stackheap - - LDR R0, = Heap_Mem - LDR R1, =(Stack_Mem + Stack_Size) - LDR R2, = (Heap_Mem + Heap_Size) - LDR R3, = Stack_Mem - BX LR - - ALIGN - - ENDIF - - END - -;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE***** diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_ld_vl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_ld_vl.s deleted file mode 100644 index fe22fc011..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_ld_vl.s +++ /dev/null @@ -1,304 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_ld_vl.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x Low Density Value Line Devices vector table -;* for MDK-ARM toolchain. -;* This module performs: -;* - Set the initial SP -;* - Set the initial PC == Reset_Handler -;* - Set the vector table entries with the exceptions ISR address -;* - Configure the clock system -;* - Branches to __main in the C library (which eventually -;* calls main()). -;* After Reset the CortexM3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;* <<< Use Configuration Wizard in Context Menu >>> -;******************************************************************************* -; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* - -; Amount of memory (in bytes) allocated for Stack -; Tailor this value to your application needs -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000200 - - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_IRQHandler ; ADC1 - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_TIM15_IRQHandler ; TIM1 Break and TIM15 - DCD TIM1_UP_TIM16_IRQHandler ; TIM1 Update and TIM16 - DCD TIM1_TRG_COM_TIM17_IRQHandler ; TIM1 Trigger and Commutation and TIM17 - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD 0 ; Reserved - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SPI1_IRQHandler ; SPI1 - DCD 0 ; Reserved - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD 0 ; Reserved - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD CEC_IRQHandler ; HDMI-CEC - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD TIM6_DAC_IRQHandler ; TIM6 and DAC underrun - DCD TIM7_IRQHandler ; TIM7 -__Vectors_End - -__Vectors_Size EQU __Vectors_End - __Vectors - - AREA |.text|, CODE, READONLY - -; Reset handler -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT __main - IMPORT SystemInit - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - - EXPORT WWDG_IRQHandler [WEAK] - EXPORT PVD_IRQHandler [WEAK] - EXPORT TAMPER_IRQHandler [WEAK] - EXPORT RTC_IRQHandler [WEAK] - EXPORT FLASH_IRQHandler [WEAK] - EXPORT RCC_IRQHandler [WEAK] - EXPORT EXTI0_IRQHandler [WEAK] - EXPORT EXTI1_IRQHandler [WEAK] - EXPORT EXTI2_IRQHandler [WEAK] - EXPORT EXTI3_IRQHandler [WEAK] - EXPORT EXTI4_IRQHandler [WEAK] - EXPORT DMA1_Channel1_IRQHandler [WEAK] - EXPORT DMA1_Channel2_IRQHandler [WEAK] - EXPORT DMA1_Channel3_IRQHandler [WEAK] - EXPORT DMA1_Channel4_IRQHandler [WEAK] - EXPORT DMA1_Channel5_IRQHandler [WEAK] - EXPORT DMA1_Channel6_IRQHandler [WEAK] - EXPORT DMA1_Channel7_IRQHandler [WEAK] - EXPORT ADC1_IRQHandler [WEAK] - EXPORT EXTI9_5_IRQHandler [WEAK] - EXPORT TIM1_BRK_TIM15_IRQHandler [WEAK] - EXPORT TIM1_UP_TIM16_IRQHandler [WEAK] - EXPORT TIM1_TRG_COM_TIM17_IRQHandler [WEAK] - EXPORT TIM1_CC_IRQHandler [WEAK] - EXPORT TIM2_IRQHandler [WEAK] - EXPORT TIM3_IRQHandler [WEAK] - EXPORT I2C1_EV_IRQHandler [WEAK] - EXPORT I2C1_ER_IRQHandler [WEAK] - EXPORT SPI1_IRQHandler [WEAK] - EXPORT USART1_IRQHandler [WEAK] - EXPORT USART2_IRQHandler [WEAK] - EXPORT EXTI15_10_IRQHandler [WEAK] - EXPORT RTCAlarm_IRQHandler [WEAK] - EXPORT CEC_IRQHandler [WEAK] - EXPORT TIM6_DAC_IRQHandler [WEAK] - EXPORT TIM7_IRQHandler [WEAK] -WWDG_IRQHandler -PVD_IRQHandler -TAMPER_IRQHandler -RTC_IRQHandler -FLASH_IRQHandler -RCC_IRQHandler -EXTI0_IRQHandler -EXTI1_IRQHandler -EXTI2_IRQHandler -EXTI3_IRQHandler -EXTI4_IRQHandler -DMA1_Channel1_IRQHandler -DMA1_Channel2_IRQHandler -DMA1_Channel3_IRQHandler -DMA1_Channel4_IRQHandler -DMA1_Channel5_IRQHandler -DMA1_Channel6_IRQHandler -DMA1_Channel7_IRQHandler -ADC1_IRQHandler -EXTI9_5_IRQHandler -TIM1_BRK_TIM15_IRQHandler -TIM1_UP_TIM16_IRQHandler -TIM1_TRG_COM_TIM17_IRQHandler -TIM1_CC_IRQHandler -TIM2_IRQHandler -TIM3_IRQHandler -I2C1_EV_IRQHandler -I2C1_ER_IRQHandler -SPI1_IRQHandler -USART1_IRQHandler -USART2_IRQHandler -EXTI15_10_IRQHandler -RTCAlarm_IRQHandler -CEC_IRQHandler -TIM6_DAC_IRQHandler -TIM7_IRQHandler - B . - - ENDP - - ALIGN - -;******************************************************************************* -; User Stack and Heap initialization -;******************************************************************************* - IF :DEF:__MICROLIB - - EXPORT __initial_sp - EXPORT __heap_base - EXPORT __heap_limit - - ELSE - - IMPORT __use_two_region_memory - EXPORT __user_initial_stackheap - -__user_initial_stackheap - - LDR R0, = Heap_Mem - LDR R1, =(Stack_Mem + Stack_Size) - LDR R2, = (Heap_Mem + Heap_Size) - LDR R3, = Stack_Mem - BX LR - - ALIGN - - ENDIF - - END - -;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE***** diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_md.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_md.s deleted file mode 100644 index 3223fc95b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_md.s +++ /dev/null @@ -1,307 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_md.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x Medium Density Devices vector table for MDK-ARM -;* toolchain. -;* This module performs: -;* - Set the initial SP -;* - Set the initial PC == Reset_Handler -;* - Set the vector table entries with the exceptions ISR address -;* - Configure the clock system -;* - Branches to __main in the C library (which eventually -;* calls main()). -;* After Reset the CortexM3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;* <<< Use Configuration Wizard in Context Menu >>> -;******************************************************************************* -; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* - -; Amount of memory (in bytes) allocated for Stack -; Tailor this value to your application needs -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000200 - - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_2_IRQHandler ; ADC1_2 - DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX - DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0 - DCD CAN1_RX1_IRQHandler ; CAN1 RX1 - DCD CAN1_SCE_IRQHandler ; CAN1 SCE - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_IRQHandler ; TIM1 Break - DCD TIM1_UP_IRQHandler ; TIM1 Update - DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C2 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend -__Vectors_End - -__Vectors_Size EQU __Vectors_End - __Vectors - - AREA |.text|, CODE, READONLY - -; Reset handler -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT __main - IMPORT SystemInit - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - - EXPORT WWDG_IRQHandler [WEAK] - EXPORT PVD_IRQHandler [WEAK] - EXPORT TAMPER_IRQHandler [WEAK] - EXPORT RTC_IRQHandler [WEAK] - EXPORT FLASH_IRQHandler [WEAK] - EXPORT RCC_IRQHandler [WEAK] - EXPORT EXTI0_IRQHandler [WEAK] - EXPORT EXTI1_IRQHandler [WEAK] - EXPORT EXTI2_IRQHandler [WEAK] - EXPORT EXTI3_IRQHandler [WEAK] - EXPORT EXTI4_IRQHandler [WEAK] - EXPORT DMA1_Channel1_IRQHandler [WEAK] - EXPORT DMA1_Channel2_IRQHandler [WEAK] - EXPORT DMA1_Channel3_IRQHandler [WEAK] - EXPORT DMA1_Channel4_IRQHandler [WEAK] - EXPORT DMA1_Channel5_IRQHandler [WEAK] - EXPORT DMA1_Channel6_IRQHandler [WEAK] - EXPORT DMA1_Channel7_IRQHandler [WEAK] - EXPORT ADC1_2_IRQHandler [WEAK] - EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK] - EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK] - EXPORT CAN1_RX1_IRQHandler [WEAK] - EXPORT CAN1_SCE_IRQHandler [WEAK] - EXPORT EXTI9_5_IRQHandler [WEAK] - EXPORT TIM1_BRK_IRQHandler [WEAK] - EXPORT TIM1_UP_IRQHandler [WEAK] - EXPORT TIM1_TRG_COM_IRQHandler [WEAK] - EXPORT TIM1_CC_IRQHandler [WEAK] - EXPORT TIM2_IRQHandler [WEAK] - EXPORT TIM3_IRQHandler [WEAK] - EXPORT TIM4_IRQHandler [WEAK] - EXPORT I2C1_EV_IRQHandler [WEAK] - EXPORT I2C1_ER_IRQHandler [WEAK] - EXPORT I2C2_EV_IRQHandler [WEAK] - EXPORT I2C2_ER_IRQHandler [WEAK] - EXPORT SPI1_IRQHandler [WEAK] - EXPORT SPI2_IRQHandler [WEAK] - EXPORT USART1_IRQHandler [WEAK] - EXPORT USART2_IRQHandler [WEAK] - EXPORT USART3_IRQHandler [WEAK] - EXPORT EXTI15_10_IRQHandler [WEAK] - EXPORT RTCAlarm_IRQHandler [WEAK] - EXPORT USBWakeUp_IRQHandler [WEAK] - -WWDG_IRQHandler -PVD_IRQHandler -TAMPER_IRQHandler -RTC_IRQHandler -FLASH_IRQHandler -RCC_IRQHandler -EXTI0_IRQHandler -EXTI1_IRQHandler -EXTI2_IRQHandler -EXTI3_IRQHandler -EXTI4_IRQHandler -DMA1_Channel1_IRQHandler -DMA1_Channel2_IRQHandler -DMA1_Channel3_IRQHandler -DMA1_Channel4_IRQHandler -DMA1_Channel5_IRQHandler -DMA1_Channel6_IRQHandler -DMA1_Channel7_IRQHandler -ADC1_2_IRQHandler -USB_HP_CAN1_TX_IRQHandler -USB_LP_CAN1_RX0_IRQHandler -CAN1_RX1_IRQHandler -CAN1_SCE_IRQHandler -EXTI9_5_IRQHandler -TIM1_BRK_IRQHandler -TIM1_UP_IRQHandler -TIM1_TRG_COM_IRQHandler -TIM1_CC_IRQHandler -TIM2_IRQHandler -TIM3_IRQHandler -TIM4_IRQHandler -I2C1_EV_IRQHandler -I2C1_ER_IRQHandler -I2C2_EV_IRQHandler -I2C2_ER_IRQHandler -SPI1_IRQHandler -SPI2_IRQHandler -USART1_IRQHandler -USART2_IRQHandler -USART3_IRQHandler -EXTI15_10_IRQHandler -RTCAlarm_IRQHandler -USBWakeUp_IRQHandler - - B . - - ENDP - - ALIGN - -;******************************************************************************* -; User Stack and Heap initialization -;******************************************************************************* - IF :DEF:__MICROLIB - - EXPORT __initial_sp - EXPORT __heap_base - EXPORT __heap_limit - - ELSE - - IMPORT __use_two_region_memory - EXPORT __user_initial_stackheap - -__user_initial_stackheap - - LDR R0, = Heap_Mem - LDR R1, =(Stack_Mem + Stack_Size) - LDR R2, = (Heap_Mem + Heap_Size) - LDR R3, = Stack_Mem - BX LR - - ALIGN - - ENDIF - - END - -;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE***** diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_md_vl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_md_vl.s deleted file mode 100644 index d3b8aa6c1..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_md_vl.s +++ /dev/null @@ -1,315 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_md_vl.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x Medium Density Value Line Devices vector table -;* for MDK-ARM toolchain. -;* This module performs: -;* - Set the initial SP -;* - Set the initial PC == Reset_Handler -;* - Set the vector table entries with the exceptions ISR address -;* - Configure the clock system -;* - Branches to __main in the C library (which eventually -;* calls main()). -;* After Reset the CortexM3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;* <<< Use Configuration Wizard in Context Menu >>> -;******************************************************************************* -; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* - -; Amount of memory (in bytes) allocated for Stack -; Tailor this value to your application needs -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -Stack_Mem SPACE Stack_Size -__initial_sp - - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000200 - - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_IRQHandler ; ADC1 - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_TIM15_IRQHandler ; TIM1 Break and TIM15 - DCD TIM1_UP_TIM16_IRQHandler ; TIM1 Update and TIM16 - DCD TIM1_TRG_COM_TIM17_IRQHandler ; TIM1 Trigger and Commutation and TIM17 - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C2 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD CEC_IRQHandler ; HDMI-CEC - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD TIM6_DAC_IRQHandler ; TIM6 and DAC underrun - DCD TIM7_IRQHandler ; TIM7 -__Vectors_End - -__Vectors_Size EQU __Vectors_End - __Vectors - - AREA |.text|, CODE, READONLY - -; Reset handler -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT __main - IMPORT SystemInit - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - - EXPORT WWDG_IRQHandler [WEAK] - EXPORT PVD_IRQHandler [WEAK] - EXPORT TAMPER_IRQHandler [WEAK] - EXPORT RTC_IRQHandler [WEAK] - EXPORT FLASH_IRQHandler [WEAK] - EXPORT RCC_IRQHandler [WEAK] - EXPORT EXTI0_IRQHandler [WEAK] - EXPORT EXTI1_IRQHandler [WEAK] - EXPORT EXTI2_IRQHandler [WEAK] - EXPORT EXTI3_IRQHandler [WEAK] - EXPORT EXTI4_IRQHandler [WEAK] - EXPORT DMA1_Channel1_IRQHandler [WEAK] - EXPORT DMA1_Channel2_IRQHandler [WEAK] - EXPORT DMA1_Channel3_IRQHandler [WEAK] - EXPORT DMA1_Channel4_IRQHandler [WEAK] - EXPORT DMA1_Channel5_IRQHandler [WEAK] - EXPORT DMA1_Channel6_IRQHandler [WEAK] - EXPORT DMA1_Channel7_IRQHandler [WEAK] - EXPORT ADC1_IRQHandler [WEAK] - EXPORT EXTI9_5_IRQHandler [WEAK] - EXPORT TIM1_BRK_TIM15_IRQHandler [WEAK] - EXPORT TIM1_UP_TIM16_IRQHandler [WEAK] - EXPORT TIM1_TRG_COM_TIM17_IRQHandler [WEAK] - EXPORT TIM1_CC_IRQHandler [WEAK] - EXPORT TIM2_IRQHandler [WEAK] - EXPORT TIM3_IRQHandler [WEAK] - EXPORT TIM4_IRQHandler [WEAK] - EXPORT I2C1_EV_IRQHandler [WEAK] - EXPORT I2C1_ER_IRQHandler [WEAK] - EXPORT I2C2_EV_IRQHandler [WEAK] - EXPORT I2C2_ER_IRQHandler [WEAK] - EXPORT SPI1_IRQHandler [WEAK] - EXPORT SPI2_IRQHandler [WEAK] - EXPORT USART1_IRQHandler [WEAK] - EXPORT USART2_IRQHandler [WEAK] - EXPORT USART3_IRQHandler [WEAK] - EXPORT EXTI15_10_IRQHandler [WEAK] - EXPORT RTCAlarm_IRQHandler [WEAK] - EXPORT CEC_IRQHandler [WEAK] - EXPORT TIM6_DAC_IRQHandler [WEAK] - EXPORT TIM7_IRQHandler [WEAK] - -WWDG_IRQHandler -PVD_IRQHandler -TAMPER_IRQHandler -RTC_IRQHandler -FLASH_IRQHandler -RCC_IRQHandler -EXTI0_IRQHandler -EXTI1_IRQHandler -EXTI2_IRQHandler -EXTI3_IRQHandler -EXTI4_IRQHandler -DMA1_Channel1_IRQHandler -DMA1_Channel2_IRQHandler -DMA1_Channel3_IRQHandler -DMA1_Channel4_IRQHandler -DMA1_Channel5_IRQHandler -DMA1_Channel6_IRQHandler -DMA1_Channel7_IRQHandler -ADC1_IRQHandler -EXTI9_5_IRQHandler -TIM1_BRK_TIM15_IRQHandler -TIM1_UP_TIM16_IRQHandler -TIM1_TRG_COM_TIM17_IRQHandler -TIM1_CC_IRQHandler -TIM2_IRQHandler -TIM3_IRQHandler -TIM4_IRQHandler -I2C1_EV_IRQHandler -I2C1_ER_IRQHandler -I2C2_EV_IRQHandler -I2C2_ER_IRQHandler -SPI1_IRQHandler -SPI2_IRQHandler -USART1_IRQHandler -USART2_IRQHandler -USART3_IRQHandler -EXTI15_10_IRQHandler -RTCAlarm_IRQHandler -CEC_IRQHandler -TIM6_DAC_IRQHandler -TIM7_IRQHandler - B . - - ENDP - - ALIGN - -;******************************************************************************* -; User Stack and Heap initialization -;******************************************************************************* - IF :DEF:__MICROLIB - - EXPORT __initial_sp - EXPORT __heap_base - EXPORT __heap_limit - - ELSE - - IMPORT __use_two_region_memory - EXPORT __user_initial_stackheap - -__user_initial_stackheap - - LDR R0, = Heap_Mem - LDR R1, =(Stack_Mem + Stack_Size) - LDR R2, = (Heap_Mem + Heap_Size) - LDR R3, = Stack_Mem - BX LR - - ALIGN - - ENDIF - - END - -;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE***** diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_xl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_xl.s deleted file mode 100644 index 7970052d7..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_xl.s +++ /dev/null @@ -1,358 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_xl.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x XL-Density Devices vector table for MDK-ARM -;* toolchain. -;* This module performs: -;* - Set the initial SP -;* - Set the initial PC == Reset_Handler -;* - Set the vector table entries with the exceptions ISR address -;* - Configure the clock system and also configure the external -;* SRAM mounted on STM3210E-EVAL board to be used as data -;* memory (optional, to be enabled by user) -;* - Branches to __main in the C library (which eventually -;* calls main()). -;* After Reset the CortexM3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;* <<< Use Configuration Wizard in Context Menu >>> -;******************************************************************************* -; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* - -; Amount of memory (in bytes) allocated for Stack -; Tailor this value to your application needs -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -Stack_Mem SPACE Stack_Size -__initial_sp - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000200 - - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_sp ; Top of Stack - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_2_IRQHandler ; ADC1 & ADC2 - DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX - DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0 - DCD CAN1_RX1_IRQHandler ; CAN1 RX1 - DCD CAN1_SCE_IRQHandler ; CAN1 SCE - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 - DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 - DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C2 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend - DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 - DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 - DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 - DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare - DCD ADC3_IRQHandler ; ADC3 - DCD FSMC_IRQHandler ; FSMC - DCD SDIO_IRQHandler ; SDIO - DCD TIM5_IRQHandler ; TIM5 - DCD SPI3_IRQHandler ; SPI3 - DCD UART4_IRQHandler ; UART4 - DCD UART5_IRQHandler ; UART5 - DCD TIM6_IRQHandler ; TIM6 - DCD TIM7_IRQHandler ; TIM7 - DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1 - DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2 - DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3 - DCD DMA2_Channel4_5_IRQHandler ; DMA2 Channel4 & Channel5 -__Vectors_End - -__Vectors_Size EQU __Vectors_End - __Vectors - - AREA |.text|, CODE, READONLY - -; Reset handler -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT __main - IMPORT SystemInit - LDR R0, =SystemInit - BLX R0 - LDR R0, =__main - BX R0 - ENDP - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - - EXPORT WWDG_IRQHandler [WEAK] - EXPORT PVD_IRQHandler [WEAK] - EXPORT TAMPER_IRQHandler [WEAK] - EXPORT RTC_IRQHandler [WEAK] - EXPORT FLASH_IRQHandler [WEAK] - EXPORT RCC_IRQHandler [WEAK] - EXPORT EXTI0_IRQHandler [WEAK] - EXPORT EXTI1_IRQHandler [WEAK] - EXPORT EXTI2_IRQHandler [WEAK] - EXPORT EXTI3_IRQHandler [WEAK] - EXPORT EXTI4_IRQHandler [WEAK] - EXPORT DMA1_Channel1_IRQHandler [WEAK] - EXPORT DMA1_Channel2_IRQHandler [WEAK] - EXPORT DMA1_Channel3_IRQHandler [WEAK] - EXPORT DMA1_Channel4_IRQHandler [WEAK] - EXPORT DMA1_Channel5_IRQHandler [WEAK] - EXPORT DMA1_Channel6_IRQHandler [WEAK] - EXPORT DMA1_Channel7_IRQHandler [WEAK] - EXPORT ADC1_2_IRQHandler [WEAK] - EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK] - EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK] - EXPORT CAN1_RX1_IRQHandler [WEAK] - EXPORT CAN1_SCE_IRQHandler [WEAK] - EXPORT EXTI9_5_IRQHandler [WEAK] - EXPORT TIM1_BRK_TIM9_IRQHandler [WEAK] - EXPORT TIM1_UP_TIM10_IRQHandler [WEAK] - EXPORT TIM1_TRG_COM_TIM11_IRQHandler [WEAK] - EXPORT TIM1_CC_IRQHandler [WEAK] - EXPORT TIM2_IRQHandler [WEAK] - EXPORT TIM3_IRQHandler [WEAK] - EXPORT TIM4_IRQHandler [WEAK] - EXPORT I2C1_EV_IRQHandler [WEAK] - EXPORT I2C1_ER_IRQHandler [WEAK] - EXPORT I2C2_EV_IRQHandler [WEAK] - EXPORT I2C2_ER_IRQHandler [WEAK] - EXPORT SPI1_IRQHandler [WEAK] - EXPORT SPI2_IRQHandler [WEAK] - EXPORT USART1_IRQHandler [WEAK] - EXPORT USART2_IRQHandler [WEAK] - EXPORT USART3_IRQHandler [WEAK] - EXPORT EXTI15_10_IRQHandler [WEAK] - EXPORT RTCAlarm_IRQHandler [WEAK] - EXPORT USBWakeUp_IRQHandler [WEAK] - EXPORT TIM8_BRK_TIM12_IRQHandler [WEAK] - EXPORT TIM8_UP_TIM13_IRQHandler [WEAK] - EXPORT TIM8_TRG_COM_TIM14_IRQHandler [WEAK] - EXPORT TIM8_CC_IRQHandler [WEAK] - EXPORT ADC3_IRQHandler [WEAK] - EXPORT FSMC_IRQHandler [WEAK] - EXPORT SDIO_IRQHandler [WEAK] - EXPORT TIM5_IRQHandler [WEAK] - EXPORT SPI3_IRQHandler [WEAK] - EXPORT UART4_IRQHandler [WEAK] - EXPORT UART5_IRQHandler [WEAK] - EXPORT TIM6_IRQHandler [WEAK] - EXPORT TIM7_IRQHandler [WEAK] - EXPORT DMA2_Channel1_IRQHandler [WEAK] - EXPORT DMA2_Channel2_IRQHandler [WEAK] - EXPORT DMA2_Channel3_IRQHandler [WEAK] - EXPORT DMA2_Channel4_5_IRQHandler [WEAK] - -WWDG_IRQHandler -PVD_IRQHandler -TAMPER_IRQHandler -RTC_IRQHandler -FLASH_IRQHandler -RCC_IRQHandler -EXTI0_IRQHandler -EXTI1_IRQHandler -EXTI2_IRQHandler -EXTI3_IRQHandler -EXTI4_IRQHandler -DMA1_Channel1_IRQHandler -DMA1_Channel2_IRQHandler -DMA1_Channel3_IRQHandler -DMA1_Channel4_IRQHandler -DMA1_Channel5_IRQHandler -DMA1_Channel6_IRQHandler -DMA1_Channel7_IRQHandler -ADC1_2_IRQHandler -USB_HP_CAN1_TX_IRQHandler -USB_LP_CAN1_RX0_IRQHandler -CAN1_RX1_IRQHandler -CAN1_SCE_IRQHandler -EXTI9_5_IRQHandler -TIM1_BRK_TIM9_IRQHandler -TIM1_UP_TIM10_IRQHandler -TIM1_TRG_COM_TIM11_IRQHandler -TIM1_CC_IRQHandler -TIM2_IRQHandler -TIM3_IRQHandler -TIM4_IRQHandler -I2C1_EV_IRQHandler -I2C1_ER_IRQHandler -I2C2_EV_IRQHandler -I2C2_ER_IRQHandler -SPI1_IRQHandler -SPI2_IRQHandler -USART1_IRQHandler -USART2_IRQHandler -USART3_IRQHandler -EXTI15_10_IRQHandler -RTCAlarm_IRQHandler -USBWakeUp_IRQHandler -TIM8_BRK_TIM12_IRQHandler -TIM8_UP_TIM13_IRQHandler -TIM8_TRG_COM_TIM14_IRQHandler -TIM8_CC_IRQHandler -ADC3_IRQHandler -FSMC_IRQHandler -SDIO_IRQHandler -TIM5_IRQHandler -SPI3_IRQHandler -UART4_IRQHandler -UART5_IRQHandler -TIM6_IRQHandler -TIM7_IRQHandler -DMA2_Channel1_IRQHandler -DMA2_Channel2_IRQHandler -DMA2_Channel3_IRQHandler -DMA2_Channel4_5_IRQHandler - B . - - ENDP - - ALIGN - -;******************************************************************************* -; User Stack and Heap initialization -;******************************************************************************* - IF :DEF:__MICROLIB - - EXPORT __initial_sp - EXPORT __heap_base - EXPORT __heap_limit - - ELSE - - IMPORT __use_two_region_memory - EXPORT __user_initial_stackheap - -__user_initial_stackheap - - LDR R0, = Heap_Mem - LDR R1, =(Stack_Mem + Stack_Size) - LDR R2, = (Heap_Mem + Heap_Size) - LDR R3, = Stack_Mem - BX LR - - ALIGN - - ENDIF - - END - -;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE***** diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_cl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_cl.s deleted file mode 100644 index 039ec06ca..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_cl.s +++ /dev/null @@ -1,468 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_cl.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x Connectivity line Devices vector table for RIDE7 toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR - * address. - * - Configure the clock system - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF1E0F85F -/** - * @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: - -/* 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 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_2_IRQHandler - .word CAN1_TX_IRQHandler - .word CAN1_RX0_IRQHandler - .word CAN1_RX1_IRQHandler - .word CAN1_SCE_IRQHandler - .word EXTI9_5_IRQHandler - .word TIM1_BRK_IRQHandler - .word TIM1_UP_IRQHandler - .word TIM1_TRG_COM_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word TIM4_IRQHandler - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word I2C2_EV_IRQHandler - .word I2C2_ER_IRQHandler - .word SPI1_IRQHandler - .word SPI2_IRQHandler - .word USART1_IRQHandler - .word USART2_IRQHandler - .word USART3_IRQHandler - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word OTG_FS_WKUP_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word TIM5_IRQHandler - .word SPI3_IRQHandler - .word UART4_IRQHandler - .word UART5_IRQHandler - .word TIM6_IRQHandler - .word TIM7_IRQHandler - .word DMA2_Channel1_IRQHandler - .word DMA2_Channel2_IRQHandler - .word DMA2_Channel3_IRQHandler - .word DMA2_Channel4_IRQHandler - .word DMA2_Channel5_IRQHandler - .word ETH_IRQHandler - .word ETH_WKUP_IRQHandler - .word CAN2_TX_IRQHandler - .word CAN2_RX0_IRQHandler - .word CAN2_RX1_IRQHandler - .word CAN2_SCE_IRQHandler - .word OTG_FS_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x1E0. This is for boot in RAM mode for - STM32F10x Connectivity line Devices. */ - -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_2_IRQHandler - .thumb_set ADC1_2_IRQHandler,Default_Handler - - .weak CAN1_TX_IRQHandler - .thumb_set CAN1_TX_IRQHandler,Default_Handler - - .weak CAN1_RX0_IRQHandler - .thumb_set CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_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 RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak OTG_FS_WKUP_IRQHandler - .thumb_set OTG_FS_WKUP_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_IRQHandler - .thumb_set TIM6_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - - .weak DMA2_Channel1_IRQHandler - .thumb_set DMA2_Channel1_IRQHandler,Default_Handler - - .weak DMA2_Channel2_IRQHandler - .thumb_set DMA2_Channel2_IRQHandler,Default_Handler - - .weak DMA2_Channel3_IRQHandler - .thumb_set DMA2_Channel3_IRQHandler,Default_Handler - - .weak DMA2_Channel4_IRQHandler - .thumb_set DMA2_Channel4_IRQHandler,Default_Handler - - .weak DMA2_Channel5_IRQHandler - .thumb_set DMA2_Channel5_IRQHandler,Default_Handler - - .weak ETH_IRQHandler - .thumb_set ETH_IRQHandler,Default_Handler - - .weak ETH_WKUP_IRQHandler - .thumb_set ETH_WKUP_IRQHandler,Default_Handler - - .weak CAN2_TX_IRQHandler - .thumb_set CAN2_TX_IRQHandler,Default_Handler - - .weak CAN2_RX0_IRQHandler - .thumb_set CAN2_RX0_IRQHandler,Default_Handler - - .weak CAN2_RX1_IRQHandler - .thumb_set CAN2_RX1_IRQHandler,Default_Handler - - .weak CAN2_SCE_IRQHandler - .thumb_set CAN2_SCE_IRQHandler,Default_Handler - - .weak OTG_FS_IRQHandler - .thumb_set OTG_FS_IRQHandler ,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd.s deleted file mode 100644 index e4ba08c41..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd.s +++ /dev/null @@ -1,465 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_hd.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x High Density Devices vector table for RIDE7 toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system and the external SRAM mounted on - * STM3210E-EVAL board to be used as data memory (optional, - * to be enabled by user) - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 */ - -.equ BootRAM, 0xF1E0F85F -/** - * @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: - -/* 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 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_2_IRQHandler - .word USB_HP_CAN1_TX_IRQHandler - .word USB_LP_CAN1_RX0_IRQHandler - .word CAN1_RX1_IRQHandler - .word CAN1_SCE_IRQHandler - .word EXTI9_5_IRQHandler - .word TIM1_BRK_IRQHandler - .word TIM1_UP_IRQHandler - .word TIM1_TRG_COM_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word TIM4_IRQHandler - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word I2C2_EV_IRQHandler - .word I2C2_ER_IRQHandler - .word SPI1_IRQHandler - .word SPI2_IRQHandler - .word USART1_IRQHandler - .word USART2_IRQHandler - .word USART3_IRQHandler - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word USBWakeUp_IRQHandler - .word TIM8_BRK_IRQHandler - .word TIM8_UP_IRQHandler - .word TIM8_TRG_COM_IRQHandler - .word TIM8_CC_IRQHandler - .word ADC3_IRQHandler - .word FSMC_IRQHandler - .word SDIO_IRQHandler - .word TIM5_IRQHandler - .word SPI3_IRQHandler - .word UART4_IRQHandler - .word UART5_IRQHandler - .word TIM6_IRQHandler - .word TIM7_IRQHandler - .word DMA2_Channel1_IRQHandler - .word DMA2_Channel2_IRQHandler - .word DMA2_Channel3_IRQHandler - .word DMA2_Channel4_5_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x1E0. This is for boot in RAM mode for - STM32F10x High Density devices. */ -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_2_IRQHandler - .thumb_set ADC1_2_IRQHandler,Default_Handler - - .weak USB_HP_CAN1_TX_IRQHandler - .thumb_set USB_HP_CAN1_TX_IRQHandler,Default_Handler - - .weak USB_LP_CAN1_RX0_IRQHandler - .thumb_set USB_LP_CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_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 RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak USBWakeUp_IRQHandler - .thumb_set USBWakeUp_IRQHandler,Default_Handler - - .weak TIM8_BRK_IRQHandler - .thumb_set TIM8_BRK_IRQHandler,Default_Handler - - .weak TIM8_UP_IRQHandler - .thumb_set TIM8_UP_IRQHandler,Default_Handler - - .weak TIM8_TRG_COM_IRQHandler - .thumb_set TIM8_TRG_COM_IRQHandler,Default_Handler - - .weak TIM8_CC_IRQHandler - .thumb_set TIM8_CC_IRQHandler,Default_Handler - - .weak ADC3_IRQHandler - .thumb_set ADC3_IRQHandler,Default_Handler - - .weak FSMC_IRQHandler - .thumb_set FSMC_IRQHandler,Default_Handler - - .weak SDIO_IRQHandler - .thumb_set SDIO_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_IRQHandler - .thumb_set TIM6_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - - .weak DMA2_Channel1_IRQHandler - .thumb_set DMA2_Channel1_IRQHandler,Default_Handler - - .weak DMA2_Channel2_IRQHandler - .thumb_set DMA2_Channel2_IRQHandler,Default_Handler - - .weak DMA2_Channel3_IRQHandler - .thumb_set DMA2_Channel3_IRQHandler,Default_Handler - - .weak DMA2_Channel4_5_IRQHandler - .thumb_set DMA2_Channel4_5_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd_vl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd_vl.s deleted file mode 100644 index daad5cc34..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd_vl.s +++ /dev/null @@ -1,442 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_hd_vl.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x High Density Value Line Devices vector table for RIDE7 - * toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system and the external SRAM mounted on - * STM32100E-EVAL board to be used as data memory (optional, - * to be enabled by user) - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF108F85F -/** - * @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: - -/* 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 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word EXTI9_5_IRQHandler - .word TIM1_BRK_TIM15_IRQHandler - .word TIM1_UP_TIM16_IRQHandler - .word TIM1_TRG_COM_TIM17_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word TIM4_IRQHandler - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word I2C2_EV_IRQHandler - .word I2C2_ER_IRQHandler - .word SPI1_IRQHandler - .word SPI2_IRQHandler - .word USART1_IRQHandler - .word USART2_IRQHandler - .word USART3_IRQHandler - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word CEC_IRQHandler - .word TIM12_IRQHandler - .word TIM13_IRQHandler - .word TIM14_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word TIM5_IRQHandler - .word SPI3_IRQHandler - .word UART4_IRQHandler - .word UART5_IRQHandler - .word TIM6_DAC_IRQHandler - .word TIM7_IRQHandler - .word DMA2_Channel1_IRQHandler - .word DMA2_Channel2_IRQHandler - .word DMA2_Channel3_IRQHandler - .word DMA2_Channel4_5_IRQHandler - .word DMA2_Channel5_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x1E0. This is for boot in RAM mode for - STM32F10x High Density Value line devices. */ - -/******************************************************************************* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_IRQHandler - .thumb_set ADC1_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM15_IRQHandler - .thumb_set TIM1_BRK_TIM15_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM16_IRQHandler - .thumb_set TIM1_UP_TIM16_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM17_IRQHandler - .thumb_set TIM1_TRG_COM_TIM17_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 RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak CEC_IRQHandler - .thumb_set CEC_IRQHandler,Default_Handler - - .weak TIM12_IRQHandler - .thumb_set TIM12_IRQHandler,Default_Handler - - .weak TIM13_IRQHandler - .thumb_set TIM13_IRQHandler,Default_Handler - - .weak TIM14_IRQHandler - .thumb_set TIM14_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_Channel1_IRQHandler - .thumb_set DMA2_Channel1_IRQHandler,Default_Handler - - .weak DMA2_Channel2_IRQHandler - .thumb_set DMA2_Channel2_IRQHandler,Default_Handler - - .weak DMA2_Channel3_IRQHandler - .thumb_set DMA2_Channel3_IRQHandler,Default_Handler - - .weak DMA2_Channel4_5_IRQHandler - .thumb_set DMA2_Channel4_5_IRQHandler,Default_Handler - - .weak DMA2_Channel5_IRQHandler - .thumb_set DMA2_Channel5_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld.s deleted file mode 100644 index aaa09ecd4..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld.s +++ /dev/null @@ -1,343 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_ld.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x Low Density Devices vector table for RIDE7 toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF108F85F -/** - * @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: - -/* 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 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_2_IRQHandler - .word USB_HP_CAN1_TX_IRQHandler - .word USB_LP_CAN1_RX0_IRQHandler - .word CAN1_RX1_IRQHandler - .word CAN1_SCE_IRQHandler - .word EXTI9_5_IRQHandler - .word TIM1_BRK_IRQHandler - .word TIM1_UP_IRQHandler - .word TIM1_TRG_COM_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word 0 - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word 0 - .word 0 - .word SPI1_IRQHandler - .word 0 - .word USART1_IRQHandler - .word USART2_IRQHandler - .word 0 - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word USBWakeUp_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x108. This is for boot in RAM mode for - STM32F10x Low Density devices.*/ - -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_2_IRQHandler - .thumb_set ADC1_2_IRQHandler,Default_Handler - - .weak USB_HP_CAN1_TX_IRQHandler - .thumb_set USB_HP_CAN1_TX_IRQHandler,Default_Handler - - .weak USB_LP_CAN1_RX0_IRQHandler - .thumb_set USB_LP_CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_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 I2C1_EV_IRQHandler - .thumb_set I2C1_EV_IRQHandler,Default_Handler - - .weak I2C1_ER_IRQHandler - .thumb_set I2C1_ER_IRQHandler,Default_Handler - - .weak SPI1_IRQHandler - .thumb_set SPI1_IRQHandler,Default_Handler - - .weak USART1_IRQHandler - .thumb_set USART1_IRQHandler,Default_Handler - - .weak USART2_IRQHandler - .thumb_set USART2_IRQHandler,Default_Handler - - .weak EXTI15_10_IRQHandler - .thumb_set EXTI15_10_IRQHandler,Default_Handler - - .weak RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak USBWakeUp_IRQHandler - .thumb_set USBWakeUp_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld_vl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld_vl.s deleted file mode 100644 index d4401be2f..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_ld_vl.s +++ /dev/null @@ -1,383 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_ld_vl.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x Low Density Value Line Devices vector table for RIDE7 - * toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF108F85F -/** - * @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: - -/* 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 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word EXTI9_5_IRQHandler - .word TIM1_BRK_TIM15_IRQHandler - .word TIM1_UP_TIM16_IRQHandler - .word TIM1_TRG_COM_TIM17_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word 0 - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word 0 - .word 0 - .word SPI1_IRQHandler - .word 0 - .word USART1_IRQHandler - .word USART2_IRQHandler - .word 0 - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word CEC_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word TIM6_DAC_IRQHandler - .word TIM7_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x01CC. This is for boot in RAM mode for - STM32F10x Low Density Value Line devices. */ - -/******************************************************************************* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_IRQHandler - .thumb_set ADC1_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM15_IRQHandler - .thumb_set TIM1_BRK_TIM15_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM16_IRQHandler - .thumb_set TIM1_UP_TIM16_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM17_IRQHandler - .thumb_set TIM1_TRG_COM_TIM17_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 I2C1_EV_IRQHandler - .thumb_set I2C1_EV_IRQHandler,Default_Handler - - .weak I2C1_ER_IRQHandler - .thumb_set I2C1_ER_IRQHandler,Default_Handler - - .weak SPI1_IRQHandler - .thumb_set SPI1_IRQHandler,Default_Handler - - .weak USART1_IRQHandler - .thumb_set USART1_IRQHandler,Default_Handler - - .weak USART2_IRQHandler - .thumb_set USART2_IRQHandler,Default_Handler - - .weak EXTI15_10_IRQHandler - .thumb_set EXTI15_10_IRQHandler,Default_Handler - - .weak RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak CEC_IRQHandler - .thumb_set CEC_IRQHandler,Default_Handler - - .weak TIM6_DAC_IRQHandler - .thumb_set TIM6_DAC_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_md.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_md.s deleted file mode 100644 index 4b4a0502b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_md.s +++ /dev/null @@ -1,358 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_md.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x Medium Density Devices vector table for RIDE7 toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF108F85F -/** - * @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: - -/* 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 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_2_IRQHandler - .word USB_HP_CAN1_TX_IRQHandler - .word USB_LP_CAN1_RX0_IRQHandler - .word CAN1_RX1_IRQHandler - .word CAN1_SCE_IRQHandler - .word EXTI9_5_IRQHandler - .word TIM1_BRK_IRQHandler - .word TIM1_UP_IRQHandler - .word TIM1_TRG_COM_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word TIM4_IRQHandler - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word I2C2_EV_IRQHandler - .word I2C2_ER_IRQHandler - .word SPI1_IRQHandler - .word SPI2_IRQHandler - .word USART1_IRQHandler - .word USART2_IRQHandler - .word USART3_IRQHandler - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word USBWakeUp_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x108. This is for boot in RAM mode for - STM32F10x Medium Density devices. */ - -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_2_IRQHandler - .thumb_set ADC1_2_IRQHandler,Default_Handler - - .weak USB_HP_CAN1_TX_IRQHandler - .thumb_set USB_HP_CAN1_TX_IRQHandler,Default_Handler - - .weak USB_LP_CAN1_RX0_IRQHandler - .thumb_set USB_LP_CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_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 RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak USBWakeUp_IRQHandler - .thumb_set USBWakeUp_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_md_vl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_md_vl.s deleted file mode 100644 index 8bce9979b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_md_vl.s +++ /dev/null @@ -1,399 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_md_vl.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x Medium Density Value Line Devices vector table for RIDE7 - * toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 - -.equ BootRAM, 0xF108F85F -/** - * @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: - -/* 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 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word EXTI9_5_IRQHandler - .word TIM1_BRK_TIM15_IRQHandler - .word TIM1_UP_TIM16_IRQHandler - .word TIM1_TRG_COM_TIM17_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word TIM4_IRQHandler - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word I2C2_EV_IRQHandler - .word I2C2_ER_IRQHandler - .word SPI1_IRQHandler - .word SPI2_IRQHandler - .word USART1_IRQHandler - .word USART2_IRQHandler - .word USART3_IRQHandler - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word CEC_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word TIM6_DAC_IRQHandler - .word TIM7_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x01CC. This is for boot in RAM mode for - STM32F10x Medium Value Line Density devices. */ - -/******************************************************************************* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_IRQHandler - .thumb_set ADC1_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM15_IRQHandler - .thumb_set TIM1_BRK_TIM15_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM16_IRQHandler - .thumb_set TIM1_UP_TIM16_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM17_IRQHandler - .thumb_set TIM1_TRG_COM_TIM17_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 RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak CEC_IRQHandler - .thumb_set CEC_IRQHandler,Default_Handler - - .weak TIM6_DAC_IRQHandler - .thumb_set TIM6_DAC_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_xl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_xl.s deleted file mode 100644 index 3d727a0d5..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_xl.s +++ /dev/null @@ -1,465 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f10x_xl.s - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief STM32F10x XL-Density Devices vector table for RIDE7 toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system and the external SRAM mounted on - * STM3210E-EVAL board to be used as data memory (optional, - * to be enabled by user) - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .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 */ - -.equ BootRAM, 0xF1E0F85F -/** - * @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: - -/* 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 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 M3. 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 - .word WWDG_IRQHandler - .word PVD_IRQHandler - .word TAMPER_IRQHandler - .word RTC_IRQHandler - .word FLASH_IRQHandler - .word RCC_IRQHandler - .word EXTI0_IRQHandler - .word EXTI1_IRQHandler - .word EXTI2_IRQHandler - .word EXTI3_IRQHandler - .word EXTI4_IRQHandler - .word DMA1_Channel1_IRQHandler - .word DMA1_Channel2_IRQHandler - .word DMA1_Channel3_IRQHandler - .word DMA1_Channel4_IRQHandler - .word DMA1_Channel5_IRQHandler - .word DMA1_Channel6_IRQHandler - .word DMA1_Channel7_IRQHandler - .word ADC1_2_IRQHandler - .word USB_HP_CAN1_TX_IRQHandler - .word USB_LP_CAN1_RX0_IRQHandler - .word CAN1_RX1_IRQHandler - .word CAN1_SCE_IRQHandler - .word EXTI9_5_IRQHandler - .word TIM1_BRK_TIM9_IRQHandler - .word TIM1_UP_TIM10_IRQHandler - .word TIM1_TRG_COM_TIM11_IRQHandler - .word TIM1_CC_IRQHandler - .word TIM2_IRQHandler - .word TIM3_IRQHandler - .word TIM4_IRQHandler - .word I2C1_EV_IRQHandler - .word I2C1_ER_IRQHandler - .word I2C2_EV_IRQHandler - .word I2C2_ER_IRQHandler - .word SPI1_IRQHandler - .word SPI2_IRQHandler - .word USART1_IRQHandler - .word USART2_IRQHandler - .word USART3_IRQHandler - .word EXTI15_10_IRQHandler - .word RTCAlarm_IRQHandler - .word USBWakeUp_IRQHandler - .word TIM8_BRK_TIM12_IRQHandler - .word TIM8_UP_TIM13_IRQHandler - .word TIM8_TRG_COM_TIM14_IRQHandler - .word TIM8_CC_IRQHandler - .word ADC3_IRQHandler - .word FSMC_IRQHandler - .word SDIO_IRQHandler - .word TIM5_IRQHandler - .word SPI3_IRQHandler - .word UART4_IRQHandler - .word UART5_IRQHandler - .word TIM6_IRQHandler - .word TIM7_IRQHandler - .word DMA2_Channel1_IRQHandler - .word DMA2_Channel2_IRQHandler - .word DMA2_Channel3_IRQHandler - .word DMA2_Channel4_5_IRQHandler - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - .word BootRAM /* @0x1E0. This is for boot in RAM mode for - STM32F10x XL Density devices. */ -/******************************************************************************* -* -* 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_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMPER_IRQHandler - .thumb_set TAMPER_IRQHandler,Default_Handler - - .weak RTC_IRQHandler - .thumb_set RTC_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_Channel1_IRQHandler - .thumb_set DMA1_Channel1_IRQHandler,Default_Handler - - .weak DMA1_Channel2_IRQHandler - .thumb_set DMA1_Channel2_IRQHandler,Default_Handler - - .weak DMA1_Channel3_IRQHandler - .thumb_set DMA1_Channel3_IRQHandler,Default_Handler - - .weak DMA1_Channel4_IRQHandler - .thumb_set DMA1_Channel4_IRQHandler,Default_Handler - - .weak DMA1_Channel5_IRQHandler - .thumb_set DMA1_Channel5_IRQHandler,Default_Handler - - .weak DMA1_Channel6_IRQHandler - .thumb_set DMA1_Channel6_IRQHandler,Default_Handler - - .weak DMA1_Channel7_IRQHandler - .thumb_set DMA1_Channel7_IRQHandler,Default_Handler - - .weak ADC1_2_IRQHandler - .thumb_set ADC1_2_IRQHandler,Default_Handler - - .weak USB_HP_CAN1_TX_IRQHandler - .thumb_set USB_HP_CAN1_TX_IRQHandler,Default_Handler - - .weak USB_LP_CAN1_RX0_IRQHandler - .thumb_set USB_LP_CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM9_IRQHandler - .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM10_IRQHandler - .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM11_IRQHandler - .thumb_set TIM1_TRG_COM_TIM11_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 RTCAlarm_IRQHandler - .thumb_set RTCAlarm_IRQHandler,Default_Handler - - .weak USBWakeUp_IRQHandler - .thumb_set USBWakeUp_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 ADC3_IRQHandler - .thumb_set ADC3_IRQHandler,Default_Handler - - .weak FSMC_IRQHandler - .thumb_set FSMC_IRQHandler,Default_Handler - - .weak SDIO_IRQHandler - .thumb_set SDIO_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_IRQHandler - .thumb_set TIM6_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - - .weak DMA2_Channel1_IRQHandler - .thumb_set DMA2_Channel1_IRQHandler,Default_Handler - - .weak DMA2_Channel2_IRQHandler - .thumb_set DMA2_Channel2_IRQHandler,Default_Handler - - .weak DMA2_Channel3_IRQHandler - .thumb_set DMA2_Channel3_IRQHandler,Default_Handler - - .weak DMA2_Channel4_5_IRQHandler - .thumb_set DMA2_Channel4_5_IRQHandler,Default_Handler - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_cl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_cl.s deleted file mode 100644 index 55a79320b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_cl.s +++ /dev/null @@ -1,507 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************* -;* File Name : startup_stm32f10x_cl.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x Connectivity line devices vector table for -;* EWARM toolchain. -;* This module performs: -;* - Set the initial SP -;* - Configure the clock system -;* - Set the initial PC == __iar_program_start, -;* - Set the vector table entries with the exceptions ISR -;* address. -;* After Reset the Cortex-M3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;******************************************************************************** -;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* -; -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - - DATA -__vector_table - DCD sfe(CSTACK) - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_2_IRQHandler ; ADC1 and ADC2 - DCD CAN1_TX_IRQHandler ; CAN1 TX - DCD CAN1_RX0_IRQHandler ; CAN1 RX0 - DCD CAN1_RX1_IRQHandler ; CAN1 RX1 - DCD CAN1_SCE_IRQHandler ; CAN1 SCE - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_IRQHandler ; TIM1 Break - DCD TIM1_UP_IRQHandler ; TIM1 Update - DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C1 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC alarm through EXTI line - DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD TIM5_IRQHandler ; TIM5 - DCD SPI3_IRQHandler ; SPI3 - DCD UART4_IRQHandler ; UART4 - DCD UART5_IRQHandler ; UART5 - DCD TIM6_IRQHandler ; TIM6 - DCD TIM7_IRQHandler ; TIM7 - DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1 - DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2 - DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3 - DCD DMA2_Channel4_IRQHandler ; DMA2 Channel4 - DCD DMA2_Channel5_IRQHandler ; DMA2 Channel5 - DCD ETH_IRQHandler ; Ethernet - DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line - DCD CAN2_TX_IRQHandler ; CAN2 TX - DCD CAN2_RX0_IRQHandler ; CAN2 RX0 - DCD CAN2_RX1_IRQHandler ; CAN2 RX1 - DCD CAN2_SCE_IRQHandler ; CAN2 SCE - DCD OTG_FS_IRQHandler ; USB OTG FS - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; Default interrupt handlers. -;; - THUMB - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - PUBWEAK NMI_Handler - SECTION .text:CODE:REORDER(1) -NMI_Handler - B NMI_Handler - - PUBWEAK HardFault_Handler - SECTION .text:CODE:REORDER(1) -HardFault_Handler - B HardFault_Handler - - PUBWEAK MemManage_Handler - SECTION .text:CODE:REORDER(1) -MemManage_Handler - B MemManage_Handler - - PUBWEAK BusFault_Handler - SECTION .text:CODE:REORDER(1) -BusFault_Handler - B BusFault_Handler - - PUBWEAK UsageFault_Handler - SECTION .text:CODE:REORDER(1) -UsageFault_Handler - B UsageFault_Handler - - PUBWEAK SVC_Handler - SECTION .text:CODE:REORDER(1) -SVC_Handler - B SVC_Handler - - PUBWEAK DebugMon_Handler - SECTION .text:CODE:REORDER(1) -DebugMon_Handler - B DebugMon_Handler - - PUBWEAK PendSV_Handler - SECTION .text:CODE:REORDER(1) -PendSV_Handler - B PendSV_Handler - - PUBWEAK SysTick_Handler - SECTION .text:CODE:REORDER(1) -SysTick_Handler - B SysTick_Handler - - PUBWEAK WWDG_IRQHandler - SECTION .text:CODE:REORDER(1) -WWDG_IRQHandler - B WWDG_IRQHandler - - PUBWEAK PVD_IRQHandler - SECTION .text:CODE:REORDER(1) -PVD_IRQHandler - B PVD_IRQHandler - - PUBWEAK TAMPER_IRQHandler - SECTION .text:CODE:REORDER(1) -TAMPER_IRQHandler - B TAMPER_IRQHandler - - PUBWEAK RTC_IRQHandler - SECTION .text:CODE:REORDER(1) -RTC_IRQHandler - B RTC_IRQHandler - - PUBWEAK FLASH_IRQHandler - SECTION .text:CODE:REORDER(1) -FLASH_IRQHandler - B FLASH_IRQHandler - - PUBWEAK RCC_IRQHandler - SECTION .text:CODE:REORDER(1) -RCC_IRQHandler - B RCC_IRQHandler - - PUBWEAK EXTI0_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI0_IRQHandler - B EXTI0_IRQHandler - - PUBWEAK EXTI1_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI1_IRQHandler - B EXTI1_IRQHandler - - PUBWEAK EXTI2_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI2_IRQHandler - B EXTI2_IRQHandler - - PUBWEAK EXTI3_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI3_IRQHandler - B EXTI3_IRQHandler - - - PUBWEAK EXTI4_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI4_IRQHandler - B EXTI4_IRQHandler - - PUBWEAK DMA1_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel1_IRQHandler - B DMA1_Channel1_IRQHandler - - PUBWEAK DMA1_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel2_IRQHandler - B DMA1_Channel2_IRQHandler - - PUBWEAK DMA1_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel3_IRQHandler - B DMA1_Channel3_IRQHandler - - PUBWEAK DMA1_Channel4_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel4_IRQHandler - B DMA1_Channel4_IRQHandler - - PUBWEAK DMA1_Channel5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel5_IRQHandler - B DMA1_Channel5_IRQHandler - - PUBWEAK DMA1_Channel6_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel6_IRQHandler - B DMA1_Channel6_IRQHandler - - PUBWEAK DMA1_Channel7_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel7_IRQHandler - B DMA1_Channel7_IRQHandler - - PUBWEAK ADC1_2_IRQHandler - SECTION .text:CODE:REORDER(1) -ADC1_2_IRQHandler - B ADC1_2_IRQHandler - - PUBWEAK CAN1_TX_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_TX_IRQHandler - B CAN1_TX_IRQHandler - - PUBWEAK CAN1_RX0_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_RX0_IRQHandler - B CAN1_RX0_IRQHandler - - PUBWEAK CAN1_RX1_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_RX1_IRQHandler - B CAN1_RX1_IRQHandler - - PUBWEAK CAN1_SCE_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_SCE_IRQHandler - B CAN1_SCE_IRQHandler - - PUBWEAK EXTI9_5_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI9_5_IRQHandler - B EXTI9_5_IRQHandler - - PUBWEAK TIM1_BRK_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_BRK_IRQHandler - B TIM1_BRK_IRQHandler - - PUBWEAK TIM1_UP_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_UP_IRQHandler - B TIM1_UP_IRQHandler - - PUBWEAK TIM1_TRG_COM_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_TRG_COM_IRQHandler - B TIM1_TRG_COM_IRQHandler - - PUBWEAK TIM1_CC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_CC_IRQHandler - B TIM1_CC_IRQHandler - - PUBWEAK TIM2_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM2_IRQHandler - B TIM2_IRQHandler - - PUBWEAK TIM3_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM3_IRQHandler - B TIM3_IRQHandler - - PUBWEAK TIM4_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM4_IRQHandler - B TIM4_IRQHandler - - PUBWEAK I2C1_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_EV_IRQHandler - B I2C1_EV_IRQHandler - - PUBWEAK I2C1_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_ER_IRQHandler - B I2C1_ER_IRQHandler - - PUBWEAK I2C2_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_EV_IRQHandler - B I2C2_EV_IRQHandler - - PUBWEAK I2C2_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_ER_IRQHandler - B I2C2_ER_IRQHandler - - PUBWEAK SPI1_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI1_IRQHandler - B SPI1_IRQHandler - - PUBWEAK SPI2_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI2_IRQHandler - B SPI2_IRQHandler - - PUBWEAK USART1_IRQHandler - SECTION .text:CODE:REORDER(1) -USART1_IRQHandler - B USART1_IRQHandler - - PUBWEAK USART2_IRQHandler - SECTION .text:CODE:REORDER(1) -USART2_IRQHandler - B USART2_IRQHandler - - PUBWEAK USART3_IRQHandler - SECTION .text:CODE:REORDER(1) -USART3_IRQHandler - B USART3_IRQHandler - - PUBWEAK EXTI15_10_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI15_10_IRQHandler - B EXTI15_10_IRQHandler - - PUBWEAK RTCAlarm_IRQHandler - SECTION .text:CODE:REORDER(1) -RTCAlarm_IRQHandler - B RTCAlarm_IRQHandler - - PUBWEAK OTG_FS_WKUP_IRQHandler - SECTION .text:CODE:REORDER(1) -OTG_FS_WKUP_IRQHandler - B OTG_FS_WKUP_IRQHandler - - PUBWEAK TIM5_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM5_IRQHandler - B TIM5_IRQHandler - - PUBWEAK SPI3_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI3_IRQHandler - B SPI3_IRQHandler - - PUBWEAK UART4_IRQHandler - SECTION .text:CODE:REORDER(1) -UART4_IRQHandler - B UART4_IRQHandler - - PUBWEAK UART5_IRQHandler - SECTION .text:CODE:REORDER(1) -UART5_IRQHandler - B UART5_IRQHandler - - PUBWEAK TIM6_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM6_IRQHandler - B TIM6_IRQHandler - - PUBWEAK TIM7_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM7_IRQHandler - B TIM7_IRQHandler - - PUBWEAK DMA2_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel1_IRQHandler - B DMA2_Channel1_IRQHandler - - PUBWEAK DMA2_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel2_IRQHandler - B DMA2_Channel2_IRQHandler - - PUBWEAK DMA2_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel3_IRQHandler - B DMA2_Channel3_IRQHandler - - PUBWEAK DMA2_Channel4_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel4_IRQHandler - B DMA2_Channel4_IRQHandler - - PUBWEAK DMA2_Channel5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel5_IRQHandler - B DMA2_Channel5_IRQHandler - - PUBWEAK ETH_IRQHandler - SECTION .text:CODE:REORDER(1) -ETH_IRQHandler - B ETH_IRQHandler - - PUBWEAK ETH_WKUP_IRQHandler - SECTION .text:CODE:REORDER(1) -ETH_WKUP_IRQHandler - B ETH_WKUP_IRQHandler - - PUBWEAK CAN2_TX_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN2_TX_IRQHandler - B CAN2_TX_IRQHandler - - PUBWEAK CAN2_RX0_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN2_RX0_IRQHandler - B CAN2_RX0_IRQHandler - - PUBWEAK CAN2_RX1_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN2_RX1_IRQHandler - B CAN2_RX1_IRQHandler - - PUBWEAK CAN2_SCE_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN2_SCE_IRQHandler - B CAN2_SCE_IRQHandler - - PUBWEAK OTG_FS_IRQHandler - SECTION .text:CODE:REORDER(1) -OTG_FS_IRQHandler - B OTG_FS_IRQHandler - - END -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd.s deleted file mode 100644 index 37ee7a203..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd.s +++ /dev/null @@ -1,496 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_hd.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x High Density Devices vector table for EWARM -;* toolchain. -;* This module performs: -;* - Set the initial SP -;* - Configure the clock system and the external SRAM -;* mounted on STM3210E-EVAL board to be used as data -;* memory (optional, to be enabled by user) -;* - Set the initial PC == __iar_program_start, -;* - Set the vector table entries with the exceptions ISR address, -;* After Reset the Cortex-M3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;******************************************************************************** -;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* -; -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - - DATA - -__vector_table - DCD sfe(CSTACK) - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_2_IRQHandler ; ADC1 & ADC2 - DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX - DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0 - DCD CAN1_RX1_IRQHandler ; CAN1 RX1 - DCD CAN1_SCE_IRQHandler ; CAN1 SCE - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_IRQHandler ; TIM1 Break - DCD TIM1_UP_IRQHandler ; TIM1 Update - DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C2 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend - DCD TIM8_BRK_IRQHandler ; TIM8 Break - DCD TIM8_UP_IRQHandler ; TIM8 Update - DCD TIM8_TRG_COM_IRQHandler ; TIM8 Trigger and Commutation - DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare - DCD ADC3_IRQHandler ; ADC3 - DCD FSMC_IRQHandler ; FSMC - DCD SDIO_IRQHandler ; SDIO - DCD TIM5_IRQHandler ; TIM5 - DCD SPI3_IRQHandler ; SPI3 - DCD UART4_IRQHandler ; UART4 - DCD UART5_IRQHandler ; UART5 - DCD TIM6_IRQHandler ; TIM6 - DCD TIM7_IRQHandler ; TIM7 - DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1 - DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2 - DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3 - DCD DMA2_Channel4_5_IRQHandler ; DMA2 Channel4 & Channel5 -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; Default interrupt handlers. -;; - THUMB - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - PUBWEAK NMI_Handler - SECTION .text:CODE:REORDER(1) -NMI_Handler - B NMI_Handler - - PUBWEAK HardFault_Handler - SECTION .text:CODE:REORDER(1) -HardFault_Handler - B HardFault_Handler - - PUBWEAK MemManage_Handler - SECTION .text:CODE:REORDER(1) -MemManage_Handler - B MemManage_Handler - - PUBWEAK BusFault_Handler - SECTION .text:CODE:REORDER(1) -BusFault_Handler - B BusFault_Handler - - PUBWEAK UsageFault_Handler - SECTION .text:CODE:REORDER(1) -UsageFault_Handler - B UsageFault_Handler - - PUBWEAK SVC_Handler - SECTION .text:CODE:REORDER(1) -SVC_Handler - B SVC_Handler - - PUBWEAK DebugMon_Handler - SECTION .text:CODE:REORDER(1) -DebugMon_Handler - B DebugMon_Handler - - PUBWEAK PendSV_Handler - SECTION .text:CODE:REORDER(1) -PendSV_Handler - B PendSV_Handler - - PUBWEAK SysTick_Handler - SECTION .text:CODE:REORDER(1) -SysTick_Handler - B SysTick_Handler - - PUBWEAK WWDG_IRQHandler - SECTION .text:CODE:REORDER(1) -WWDG_IRQHandler - B WWDG_IRQHandler - - PUBWEAK PVD_IRQHandler - SECTION .text:CODE:REORDER(1) -PVD_IRQHandler - B PVD_IRQHandler - - PUBWEAK TAMPER_IRQHandler - SECTION .text:CODE:REORDER(1) -TAMPER_IRQHandler - B TAMPER_IRQHandler - - PUBWEAK RTC_IRQHandler - SECTION .text:CODE:REORDER(1) -RTC_IRQHandler - B RTC_IRQHandler - - PUBWEAK FLASH_IRQHandler - SECTION .text:CODE:REORDER(1) -FLASH_IRQHandler - B FLASH_IRQHandler - - PUBWEAK RCC_IRQHandler - SECTION .text:CODE:REORDER(1) -RCC_IRQHandler - B RCC_IRQHandler - - PUBWEAK EXTI0_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI0_IRQHandler - B EXTI0_IRQHandler - - PUBWEAK EXTI1_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI1_IRQHandler - B EXTI1_IRQHandler - - PUBWEAK EXTI2_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI2_IRQHandler - B EXTI2_IRQHandler - - PUBWEAK EXTI3_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI3_IRQHandler - B EXTI3_IRQHandler - - PUBWEAK EXTI4_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI4_IRQHandler - B EXTI4_IRQHandler - - PUBWEAK DMA1_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel1_IRQHandler - B DMA1_Channel1_IRQHandler - - PUBWEAK DMA1_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel2_IRQHandler - B DMA1_Channel2_IRQHandler - - PUBWEAK DMA1_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel3_IRQHandler - B DMA1_Channel3_IRQHandler - - PUBWEAK DMA1_Channel4_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel4_IRQHandler - B DMA1_Channel4_IRQHandler - - PUBWEAK DMA1_Channel5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel5_IRQHandler - B DMA1_Channel5_IRQHandler - - PUBWEAK DMA1_Channel6_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel6_IRQHandler - B DMA1_Channel6_IRQHandler - - PUBWEAK DMA1_Channel7_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel7_IRQHandler - B DMA1_Channel7_IRQHandler - - PUBWEAK ADC1_2_IRQHandler - SECTION .text:CODE:REORDER(1) -ADC1_2_IRQHandler - B ADC1_2_IRQHandler - - PUBWEAK USB_HP_CAN1_TX_IRQHandler - SECTION .text:CODE:REORDER(1) -USB_HP_CAN1_TX_IRQHandler - B USB_HP_CAN1_TX_IRQHandler - - PUBWEAK USB_LP_CAN1_RX0_IRQHandler - SECTION .text:CODE:REORDER(1) -USB_LP_CAN1_RX0_IRQHandler - B USB_LP_CAN1_RX0_IRQHandler - - PUBWEAK CAN1_RX1_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_RX1_IRQHandler - B CAN1_RX1_IRQHandler - - PUBWEAK CAN1_SCE_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_SCE_IRQHandler - B CAN1_SCE_IRQHandler - - PUBWEAK EXTI9_5_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI9_5_IRQHandler - B EXTI9_5_IRQHandler - - PUBWEAK TIM1_BRK_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_BRK_IRQHandler - B TIM1_BRK_IRQHandler - - PUBWEAK TIM1_UP_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_UP_IRQHandler - B TIM1_UP_IRQHandler - - PUBWEAK TIM1_TRG_COM_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_TRG_COM_IRQHandler - B TIM1_TRG_COM_IRQHandler - - PUBWEAK TIM1_CC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_CC_IRQHandler - B TIM1_CC_IRQHandler - - PUBWEAK TIM2_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM2_IRQHandler - B TIM2_IRQHandler - - PUBWEAK TIM3_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM3_IRQHandler - B TIM3_IRQHandler - - PUBWEAK TIM4_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM4_IRQHandler - B TIM4_IRQHandler - - PUBWEAK I2C1_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_EV_IRQHandler - B I2C1_EV_IRQHandler - - PUBWEAK I2C1_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_ER_IRQHandler - B I2C1_ER_IRQHandler - - PUBWEAK I2C2_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_EV_IRQHandler - B I2C2_EV_IRQHandler - - PUBWEAK I2C2_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_ER_IRQHandler - B I2C2_ER_IRQHandler - - PUBWEAK SPI1_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI1_IRQHandler - B SPI1_IRQHandler - - PUBWEAK SPI2_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI2_IRQHandler - B SPI2_IRQHandler - - PUBWEAK USART1_IRQHandler - SECTION .text:CODE:REORDER(1) -USART1_IRQHandler - B USART1_IRQHandler - - PUBWEAK USART2_IRQHandler - SECTION .text:CODE:REORDER(1) -USART2_IRQHandler - B USART2_IRQHandler - - PUBWEAK USART3_IRQHandler - SECTION .text:CODE:REORDER(1) -USART3_IRQHandler - B USART3_IRQHandler - - PUBWEAK EXTI15_10_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI15_10_IRQHandler - B EXTI15_10_IRQHandler - - PUBWEAK RTCAlarm_IRQHandler - SECTION .text:CODE:REORDER(1) -RTCAlarm_IRQHandler - B RTCAlarm_IRQHandler - - PUBWEAK USBWakeUp_IRQHandler - SECTION .text:CODE:REORDER(1) -USBWakeUp_IRQHandler - B USBWakeUp_IRQHandler - - PUBWEAK TIM8_BRK_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM8_BRK_IRQHandler - B TIM8_BRK_IRQHandler - - PUBWEAK TIM8_UP_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM8_UP_IRQHandler - B TIM8_UP_IRQHandler - - PUBWEAK TIM8_TRG_COM_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM8_TRG_COM_IRQHandler - B TIM8_TRG_COM_IRQHandler - - PUBWEAK TIM8_CC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM8_CC_IRQHandler - B TIM8_CC_IRQHandler - - PUBWEAK ADC3_IRQHandler - SECTION .text:CODE:REORDER(1) -ADC3_IRQHandler - B ADC3_IRQHandler - - PUBWEAK FSMC_IRQHandler - SECTION .text:CODE:REORDER(1) -FSMC_IRQHandler - B FSMC_IRQHandler - - PUBWEAK SDIO_IRQHandler - SECTION .text:CODE:REORDER(1) -SDIO_IRQHandler - B SDIO_IRQHandler - - PUBWEAK TIM5_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM5_IRQHandler - B TIM5_IRQHandler - - PUBWEAK SPI3_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI3_IRQHandler - B SPI3_IRQHandler - - PUBWEAK UART4_IRQHandler - SECTION .text:CODE:REORDER(1) -UART4_IRQHandler - B UART4_IRQHandler - - PUBWEAK UART5_IRQHandler - SECTION .text:CODE:REORDER(1) -UART5_IRQHandler - B UART5_IRQHandler - - PUBWEAK TIM6_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM6_IRQHandler - B TIM6_IRQHandler - - PUBWEAK TIM7_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM7_IRQHandler - B TIM7_IRQHandler - - PUBWEAK DMA2_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel1_IRQHandler - B DMA2_Channel1_IRQHandler - - PUBWEAK DMA2_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel2_IRQHandler - B DMA2_Channel2_IRQHandler - - PUBWEAK DMA2_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel3_IRQHandler - B DMA2_Channel3_IRQHandler - - PUBWEAK DMA2_Channel4_5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel4_5_IRQHandler - B DMA2_Channel4_5_IRQHandler - - - END - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd_vl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd_vl.s deleted file mode 100644 index 33f592f1a..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd_vl.s +++ /dev/null @@ -1,461 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_hd_vl.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x High Density Value Line Devices vector table -;* for EWARM toolchain. -;* This module performs: -;* - Set the initial SP -;* - Configure the clock system and the external SRAM -;* mounted on STM32100E-EVAL board to be used as data -;* memory (optional, to be enabled by user) -;* - Set the initial PC == __iar_program_start, -;* - Set the vector table entries with the exceptions ISR -;* address. -;* After Reset the Cortex-M3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;******************************************************************************** -;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* -; -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - - DATA -__vector_table - DCD sfe(CSTACK) - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_IRQHandler ; ADC1 - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_TIM15_IRQHandler ; TIM1 Break and TIM15 - DCD TIM1_UP_TIM16_IRQHandler ; TIM1 Update and TIM16 - DCD TIM1_TRG_COM_TIM17_IRQHandler ; TIM1 Trigger and Commutation and TIM17 - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C2 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD CEC_IRQHandler ; HDMI-CEC - DCD TIM12_IRQHandler ; TIM12 - DCD TIM13_IRQHandler ; TIM13 - DCD TIM14_IRQHandler ; TIM14 - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD TIM5_IRQHandler ; TIM5 - DCD SPI3_IRQHandler ; SPI3 - DCD UART4_IRQHandler ; UART4 - DCD UART5_IRQHandler ; UART5 - DCD TIM6_DAC_IRQHandler ; TIM6 and DAC underrun - DCD TIM7_IRQHandler ; TIM7 - DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1 - DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2 - DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3 - DCD DMA2_Channel4_5_IRQHandler ; DMA2 Channel4 & Channel5 - DCD DMA2_Channel5_IRQHandler ; DMA2 Channel5 - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; Default interrupt handlers. -;; - THUMB - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - PUBWEAK NMI_Handler - SECTION .text:CODE:REORDER(1) -NMI_Handler - B NMI_Handler - - PUBWEAK HardFault_Handler - SECTION .text:CODE:REORDER(1) -HardFault_Handler - B HardFault_Handler - - PUBWEAK MemManage_Handler - SECTION .text:CODE:REORDER(1) -MemManage_Handler - B MemManage_Handler - - PUBWEAK BusFault_Handler - SECTION .text:CODE:REORDER(1) -BusFault_Handler - B BusFault_Handler - - PUBWEAK UsageFault_Handler - SECTION .text:CODE:REORDER(1) -UsageFault_Handler - B UsageFault_Handler - - PUBWEAK SVC_Handler - SECTION .text:CODE:REORDER(1) -SVC_Handler - B SVC_Handler - - PUBWEAK DebugMon_Handler - SECTION .text:CODE:REORDER(1) -DebugMon_Handler - B DebugMon_Handler - - PUBWEAK PendSV_Handler - SECTION .text:CODE:REORDER(1) -PendSV_Handler - B PendSV_Handler - - PUBWEAK SysTick_Handler - SECTION .text:CODE:REORDER(1) -SysTick_Handler - B SysTick_Handler - - PUBWEAK WWDG_IRQHandler - SECTION .text:CODE:REORDER(1) -WWDG_IRQHandler - B WWDG_IRQHandler - - PUBWEAK PVD_IRQHandler - SECTION .text:CODE:REORDER(1) -PVD_IRQHandler - B PVD_IRQHandler - - PUBWEAK TAMPER_IRQHandler - SECTION .text:CODE:REORDER(1) -TAMPER_IRQHandler - B TAMPER_IRQHandler - - PUBWEAK RTC_IRQHandler - SECTION .text:CODE:REORDER(1) -RTC_IRQHandler - B RTC_IRQHandler - - PUBWEAK FLASH_IRQHandler - SECTION .text:CODE:REORDER(1) -FLASH_IRQHandler - B FLASH_IRQHandler - - PUBWEAK RCC_IRQHandler - SECTION .text:CODE:REORDER(1) -RCC_IRQHandler - B RCC_IRQHandler - - PUBWEAK EXTI0_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI0_IRQHandler - B EXTI0_IRQHandler - - PUBWEAK EXTI1_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI1_IRQHandler - B EXTI1_IRQHandler - - PUBWEAK EXTI2_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI2_IRQHandler - B EXTI2_IRQHandler - - PUBWEAK EXTI3_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI3_IRQHandler - B EXTI3_IRQHandler - - PUBWEAK EXTI4_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI4_IRQHandler - B EXTI4_IRQHandler - - PUBWEAK DMA1_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel1_IRQHandler - B DMA1_Channel1_IRQHandler - - PUBWEAK DMA1_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel2_IRQHandler - B DMA1_Channel2_IRQHandler - - PUBWEAK DMA1_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel3_IRQHandler - B DMA1_Channel3_IRQHandler - - PUBWEAK DMA1_Channel4_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel4_IRQHandler - B DMA1_Channel4_IRQHandler - - PUBWEAK DMA1_Channel5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel5_IRQHandler - B DMA1_Channel5_IRQHandler - - PUBWEAK DMA1_Channel6_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel6_IRQHandler - B DMA1_Channel6_IRQHandler - - PUBWEAK DMA1_Channel7_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel7_IRQHandler - B DMA1_Channel7_IRQHandler - - PUBWEAK ADC1_IRQHandler - SECTION .text:CODE:REORDER(1) -ADC1_IRQHandler - B ADC1_IRQHandler - - PUBWEAK EXTI9_5_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI9_5_IRQHandler - B EXTI9_5_IRQHandler - - PUBWEAK TIM1_BRK_TIM15_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_BRK_TIM15_IRQHandler - B TIM1_BRK_TIM15_IRQHandler - - PUBWEAK TIM1_UP_TIM16_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_UP_TIM16_IRQHandler - B TIM1_UP_TIM16_IRQHandler - - PUBWEAK TIM1_TRG_COM_TIM17_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_TRG_COM_TIM17_IRQHandler - B TIM1_TRG_COM_TIM17_IRQHandler - - PUBWEAK TIM1_CC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_CC_IRQHandler - B TIM1_CC_IRQHandler - - PUBWEAK TIM2_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM2_IRQHandler - B TIM2_IRQHandler - - PUBWEAK TIM3_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM3_IRQHandler - B TIM3_IRQHandler - - PUBWEAK TIM4_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM4_IRQHandler - B TIM4_IRQHandler - - PUBWEAK I2C1_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_EV_IRQHandler - B I2C1_EV_IRQHandler - - PUBWEAK I2C1_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_ER_IRQHandler - B I2C1_ER_IRQHandler - - PUBWEAK I2C2_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_EV_IRQHandler - B I2C2_EV_IRQHandler - - PUBWEAK I2C2_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_ER_IRQHandler - B I2C2_ER_IRQHandler - - PUBWEAK SPI1_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI1_IRQHandler - B SPI1_IRQHandler - - PUBWEAK SPI2_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI2_IRQHandler - B SPI2_IRQHandler - - PUBWEAK USART1_IRQHandler - SECTION .text:CODE:REORDER(1) -USART1_IRQHandler - B USART1_IRQHandler - - PUBWEAK USART2_IRQHandler - SECTION .text:CODE:REORDER(1) -USART2_IRQHandler - B USART2_IRQHandler - - PUBWEAK USART3_IRQHandler - SECTION .text:CODE:REORDER(1) -USART3_IRQHandler - B USART3_IRQHandler - - PUBWEAK EXTI15_10_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI15_10_IRQHandler - B EXTI15_10_IRQHandler - - PUBWEAK RTCAlarm_IRQHandler - SECTION .text:CODE:REORDER(1) -RTCAlarm_IRQHandler - B RTCAlarm_IRQHandler - - PUBWEAK CEC_IRQHandler - SECTION .text:CODE:REORDER(1) -CEC_IRQHandler - B CEC_IRQHandler - - PUBWEAK TIM12_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM12_IRQHandler - B TIM12_IRQHandler - - PUBWEAK TIM13_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM13_IRQHandler - B TIM13_IRQHandler - - PUBWEAK TIM14_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM14_IRQHandler - B TIM14_IRQHandler - - PUBWEAK TIM5_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM5_IRQHandler - B TIM5_IRQHandler - - PUBWEAK SPI3_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI3_IRQHandler - B SPI3_IRQHandler - - PUBWEAK UART4_IRQHandler - SECTION .text:CODE:REORDER(1) -UART4_IRQHandler - B UART4_IRQHandler - - PUBWEAK UART5_IRQHandler - SECTION .text:CODE:REORDER(1) -UART5_IRQHandler - B UART5_IRQHandler - - PUBWEAK TIM6_DAC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM6_DAC_IRQHandler - B TIM6_DAC_IRQHandler - - PUBWEAK TIM7_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM7_IRQHandler - B TIM7_IRQHandler - - PUBWEAK DMA2_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel1_IRQHandler - B DMA2_Channel1_IRQHandler - - PUBWEAK DMA2_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel2_IRQHandler - B DMA2_Channel2_IRQHandler - - PUBWEAK DMA2_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel3_IRQHandler - B DMA2_Channel3_IRQHandler - - PUBWEAK DMA2_Channel4_5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel4_5_IRQHandler - B DMA2_Channel4_5_IRQHandler - - PUBWEAK DMA2_Channel5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel5_IRQHandler - B DMA2_Channel5_IRQHandler - - END -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld.s deleted file mode 100644 index e2b2b4df0..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld.s +++ /dev/null @@ -1,366 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_ld.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x Low Density Devices vector table for EWARM -;* toolchain. -;* This module performs: -;* - Set the initial SP -;* - Configure the clock system -;* - Set the initial PC == __iar_program_start, -;* - Set the vector table entries with the exceptions ISR -;* address. -;* After Reset the Cortex-M3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;******************************************************************************** -;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* -; -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - - DATA -__vector_table - DCD sfe(CSTACK) - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_2_IRQHandler ; ADC1 & ADC2 - DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX - DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0 - DCD CAN1_RX1_IRQHandler ; CAN1 RX1 - DCD CAN1_SCE_IRQHandler ; CAN1 SCE - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_IRQHandler ; TIM1 Break - DCD TIM1_UP_IRQHandler ; TIM1 Update - DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD 0 ; Reserved - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SPI1_IRQHandler ; SPI1 - DCD 0 ; Reserved - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD 0 ; Reserved - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; Default interrupt handlers. -;; - THUMB - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - PUBWEAK NMI_Handler - SECTION .text:CODE:REORDER(1) -NMI_Handler - B NMI_Handler - - PUBWEAK HardFault_Handler - SECTION .text:CODE:REORDER(1) -HardFault_Handler - B HardFault_Handler - - PUBWEAK MemManage_Handler - SECTION .text:CODE:REORDER(1) -MemManage_Handler - B MemManage_Handler - - PUBWEAK BusFault_Handler - SECTION .text:CODE:REORDER(1) -BusFault_Handler - B BusFault_Handler - - PUBWEAK UsageFault_Handler - SECTION .text:CODE:REORDER(1) -UsageFault_Handler - B UsageFault_Handler - - PUBWEAK SVC_Handler - SECTION .text:CODE:REORDER(1) -SVC_Handler - B SVC_Handler - - PUBWEAK DebugMon_Handler - SECTION .text:CODE:REORDER(1) -DebugMon_Handler - B DebugMon_Handler - - PUBWEAK PendSV_Handler - SECTION .text:CODE:REORDER(1) -PendSV_Handler - B PendSV_Handler - - PUBWEAK SysTick_Handler - SECTION .text:CODE:REORDER(1) -SysTick_Handler - B SysTick_Handler - - PUBWEAK WWDG_IRQHandler - SECTION .text:CODE:REORDER(1) -WWDG_IRQHandler - B WWDG_IRQHandler - - PUBWEAK PVD_IRQHandler - SECTION .text:CODE:REORDER(1) -PVD_IRQHandler - B PVD_IRQHandler - - PUBWEAK TAMPER_IRQHandler - SECTION .text:CODE:REORDER(1) -TAMPER_IRQHandler - B TAMPER_IRQHandler - - PUBWEAK RTC_IRQHandler - SECTION .text:CODE:REORDER(1) -RTC_IRQHandler - B RTC_IRQHandler - - PUBWEAK FLASH_IRQHandler - SECTION .text:CODE:REORDER(1) -FLASH_IRQHandler - B FLASH_IRQHandler - - PUBWEAK RCC_IRQHandler - SECTION .text:CODE:REORDER(1) -RCC_IRQHandler - B RCC_IRQHandler - - PUBWEAK EXTI0_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI0_IRQHandler - B EXTI0_IRQHandler - - PUBWEAK EXTI1_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI1_IRQHandler - B EXTI1_IRQHandler - - PUBWEAK EXTI2_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI2_IRQHandler - B EXTI2_IRQHandler - - PUBWEAK EXTI3_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI3_IRQHandler - B EXTI3_IRQHandler - - PUBWEAK EXTI4_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI4_IRQHandler - B EXTI4_IRQHandler - - PUBWEAK DMA1_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel1_IRQHandler - B DMA1_Channel1_IRQHandler - - PUBWEAK DMA1_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel2_IRQHandler - B DMA1_Channel2_IRQHandler - - PUBWEAK DMA1_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel3_IRQHandler - B DMA1_Channel3_IRQHandler - - PUBWEAK DMA1_Channel4_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel4_IRQHandler - B DMA1_Channel4_IRQHandler - - PUBWEAK DMA1_Channel5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel5_IRQHandler - B DMA1_Channel5_IRQHandler - - PUBWEAK DMA1_Channel6_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel6_IRQHandler - B DMA1_Channel6_IRQHandler - - PUBWEAK DMA1_Channel7_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel7_IRQHandler - B DMA1_Channel7_IRQHandler - - PUBWEAK ADC1_2_IRQHandler - SECTION .text:CODE:REORDER(1) -ADC1_2_IRQHandler - B ADC1_2_IRQHandler - - PUBWEAK USB_HP_CAN1_TX_IRQHandler - SECTION .text:CODE:REORDER(1) -USB_HP_CAN1_TX_IRQHandler - B USB_HP_CAN1_TX_IRQHandler - - PUBWEAK USB_LP_CAN1_RX0_IRQHandler - SECTION .text:CODE:REORDER(1) -USB_LP_CAN1_RX0_IRQHandler - B USB_LP_CAN1_RX0_IRQHandler - - PUBWEAK CAN1_RX1_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_RX1_IRQHandler - B CAN1_RX1_IRQHandler - - PUBWEAK CAN1_SCE_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_SCE_IRQHandler - B CAN1_SCE_IRQHandler - - PUBWEAK EXTI9_5_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI9_5_IRQHandler - B EXTI9_5_IRQHandler - - PUBWEAK TIM1_BRK_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_BRK_IRQHandler - B TIM1_BRK_IRQHandler - - PUBWEAK TIM1_UP_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_UP_IRQHandler - B TIM1_UP_IRQHandler - - PUBWEAK TIM1_TRG_COM_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_TRG_COM_IRQHandler - B TIM1_TRG_COM_IRQHandler - - PUBWEAK TIM1_CC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_CC_IRQHandler - B TIM1_CC_IRQHandler - - PUBWEAK TIM2_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM2_IRQHandler - B TIM2_IRQHandler - - PUBWEAK TIM3_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM3_IRQHandler - B TIM3_IRQHandler - - PUBWEAK I2C1_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_EV_IRQHandler - B I2C1_EV_IRQHandler - - PUBWEAK I2C1_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_ER_IRQHandler - B I2C1_ER_IRQHandler - - PUBWEAK SPI1_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI1_IRQHandler - B SPI1_IRQHandler - - PUBWEAK USART1_IRQHandler - SECTION .text:CODE:REORDER(1) -USART1_IRQHandler - B USART1_IRQHandler - - PUBWEAK USART2_IRQHandler - SECTION .text:CODE:REORDER(1) -USART2_IRQHandler - B USART2_IRQHandler - - PUBWEAK EXTI15_10_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI15_10_IRQHandler - B EXTI15_10_IRQHandler - - PUBWEAK RTCAlarm_IRQHandler - SECTION .text:CODE:REORDER(1) -RTCAlarm_IRQHandler - B RTCAlarm_IRQHandler - - PUBWEAK USBWakeUp_IRQHandler - SECTION .text:CODE:REORDER(1) -USBWakeUp_IRQHandler - B USBWakeUp_IRQHandler - - END -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld_vl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld_vl.s deleted file mode 100644 index a4a49331c..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld_vl.s +++ /dev/null @@ -1,369 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_ld_vl.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x Low Density Value Line Devices vector table -;* for EWARM toolchain. -;* This module performs: -;* - Set the initial SP -;* - Configure the clock system -;* - Set the initial PC == __iar_program_start, -;* - Set the vector table entries with the exceptions ISR -;* address. -;* After Reset the Cortex-M3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;******************************************************************************** -;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* -; -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - - DATA -__vector_table - DCD sfe(CSTACK) - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_IRQHandler ; ADC1 - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_TIM15_IRQHandler ; TIM1 Break and TIM15 - DCD TIM1_UP_TIM16_IRQHandler ; TIM1 Update and TIM16 - DCD TIM1_TRG_COM_TIM17_IRQHandler ; TIM1 Trigger and Commutation and TIM17 - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD 0 ; Reserved - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SPI1_IRQHandler ; SPI1 - DCD 0 ; Reserved - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD 0 ; Reserved - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD CEC_IRQHandler ; HDMI-CEC - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD TIM6_DAC_IRQHandler ; TIM6 and DAC underrun - DCD TIM7_IRQHandler ; TIM7 - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; Default interrupt handlers. -;; - THUMB - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - PUBWEAK NMI_Handler - SECTION .text:CODE:REORDER(1) -NMI_Handler - B NMI_Handler - - PUBWEAK HardFault_Handler - SECTION .text:CODE:REORDER(1) -HardFault_Handler - B HardFault_Handler - - PUBWEAK MemManage_Handler - SECTION .text:CODE:REORDER(1) -MemManage_Handler - B MemManage_Handler - - PUBWEAK BusFault_Handler - SECTION .text:CODE:REORDER(1) -BusFault_Handler - B BusFault_Handler - - PUBWEAK UsageFault_Handler - SECTION .text:CODE:REORDER(1) -UsageFault_Handler - B UsageFault_Handler - - PUBWEAK SVC_Handler - SECTION .text:CODE:REORDER(1) -SVC_Handler - B SVC_Handler - - PUBWEAK DebugMon_Handler - SECTION .text:CODE:REORDER(1) -DebugMon_Handler - B DebugMon_Handler - - PUBWEAK PendSV_Handler - SECTION .text:CODE:REORDER(1) -PendSV_Handler - B PendSV_Handler - - PUBWEAK SysTick_Handler - SECTION .text:CODE:REORDER(1) -SysTick_Handler - B SysTick_Handler - - PUBWEAK WWDG_IRQHandler - SECTION .text:CODE:REORDER(1) -WWDG_IRQHandler - B WWDG_IRQHandler - - PUBWEAK PVD_IRQHandler - SECTION .text:CODE:REORDER(1) -PVD_IRQHandler - B PVD_IRQHandler - - PUBWEAK TAMPER_IRQHandler - SECTION .text:CODE:REORDER(1) -TAMPER_IRQHandler - B TAMPER_IRQHandler - - PUBWEAK RTC_IRQHandler - SECTION .text:CODE:REORDER(1) -RTC_IRQHandler - B RTC_IRQHandler - - PUBWEAK FLASH_IRQHandler - SECTION .text:CODE:REORDER(1) -FLASH_IRQHandler - B FLASH_IRQHandler - - PUBWEAK RCC_IRQHandler - SECTION .text:CODE:REORDER(1) -RCC_IRQHandler - B RCC_IRQHandler - - PUBWEAK EXTI0_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI0_IRQHandler - B EXTI0_IRQHandler - - PUBWEAK EXTI1_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI1_IRQHandler - B EXTI1_IRQHandler - - PUBWEAK EXTI2_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI2_IRQHandler - B EXTI2_IRQHandler - - PUBWEAK EXTI3_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI3_IRQHandler - B EXTI3_IRQHandler - - PUBWEAK EXTI4_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI4_IRQHandler - B EXTI4_IRQHandler - - PUBWEAK DMA1_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel1_IRQHandler - B DMA1_Channel1_IRQHandler - - PUBWEAK DMA1_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel2_IRQHandler - B DMA1_Channel2_IRQHandler - - PUBWEAK DMA1_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel3_IRQHandler - B DMA1_Channel3_IRQHandler - - PUBWEAK DMA1_Channel4_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel4_IRQHandler - B DMA1_Channel4_IRQHandler - - PUBWEAK DMA1_Channel5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel5_IRQHandler - B DMA1_Channel5_IRQHandler - - PUBWEAK DMA1_Channel6_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel6_IRQHandler - B DMA1_Channel6_IRQHandler - - PUBWEAK DMA1_Channel7_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel7_IRQHandler - B DMA1_Channel7_IRQHandler - - PUBWEAK ADC1_IRQHandler - SECTION .text:CODE:REORDER(1) -ADC1_IRQHandler - B ADC1_IRQHandler - - PUBWEAK EXTI9_5_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI9_5_IRQHandler - B EXTI9_5_IRQHandler - - PUBWEAK TIM1_BRK_TIM15_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_BRK_TIM15_IRQHandler - B TIM1_BRK_TIM15_IRQHandler - - PUBWEAK TIM1_UP_TIM16_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_UP_TIM16_IRQHandler - B TIM1_UP_TIM16_IRQHandler - - PUBWEAK TIM1_TRG_COM_TIM17_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_TRG_COM_TIM17_IRQHandler - B TIM1_TRG_COM_TIM17_IRQHandler - - PUBWEAK TIM1_CC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_CC_IRQHandler - B TIM1_CC_IRQHandler - - PUBWEAK TIM2_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM2_IRQHandler - B TIM2_IRQHandler - - PUBWEAK TIM3_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM3_IRQHandler - B TIM3_IRQHandler - - PUBWEAK I2C1_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_EV_IRQHandler - B I2C1_EV_IRQHandler - - PUBWEAK I2C1_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_ER_IRQHandler - B I2C1_ER_IRQHandler - - PUBWEAK SPI1_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI1_IRQHandler - B SPI1_IRQHandler - - PUBWEAK USART1_IRQHandler - SECTION .text:CODE:REORDER(1) -USART1_IRQHandler - B USART1_IRQHandler - - PUBWEAK USART2_IRQHandler - SECTION .text:CODE:REORDER(1) -USART2_IRQHandler - B USART2_IRQHandler - - PUBWEAK EXTI15_10_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI15_10_IRQHandler - B EXTI15_10_IRQHandler - - PUBWEAK RTCAlarm_IRQHandler - SECTION .text:CODE:REORDER(1) -RTCAlarm_IRQHandler - B RTCAlarm_IRQHandler - - PUBWEAK CEC_IRQHandler - SECTION .text:CODE:REORDER(1) -CEC_IRQHandler - B CEC_IRQHandler - - PUBWEAK TIM6_DAC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM6_DAC_IRQHandler - B TIM6_DAC_IRQHandler - - PUBWEAK TIM7_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM7_IRQHandler - B TIM7_IRQHandler - - END -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_md.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_md.s deleted file mode 100644 index 5863eb90f..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_md.s +++ /dev/null @@ -1,391 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_md.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x Medium Density Devices vector table for -;* EWARM toolchain. -;* This module performs: -;* - Set the initial SP -;* - Configure the clock system -;* - Set the initial PC == __iar_program_start, -;* - Set the vector table entries with the exceptions ISR -;* address. -;* After Reset the Cortex-M3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;******************************************************************************** -;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* -; -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - - DATA -__vector_table - DCD sfe(CSTACK) - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_2_IRQHandler ; ADC1 & ADC2 - DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX - DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0 - DCD CAN1_RX1_IRQHandler ; CAN1 RX1 - DCD CAN1_SCE_IRQHandler ; CAN1 SCE - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_IRQHandler ; TIM1 Break - DCD TIM1_UP_IRQHandler ; TIM1 Update - DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C2 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; Default interrupt handlers. -;; - THUMB - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - PUBWEAK NMI_Handler - SECTION .text:CODE:REORDER(1) -NMI_Handler - B NMI_Handler - - PUBWEAK HardFault_Handler - SECTION .text:CODE:REORDER(1) -HardFault_Handler - B HardFault_Handler - - PUBWEAK MemManage_Handler - SECTION .text:CODE:REORDER(1) -MemManage_Handler - B MemManage_Handler - - PUBWEAK BusFault_Handler - SECTION .text:CODE:REORDER(1) -BusFault_Handler - B BusFault_Handler - - PUBWEAK UsageFault_Handler - SECTION .text:CODE:REORDER(1) -UsageFault_Handler - B UsageFault_Handler - - PUBWEAK SVC_Handler - SECTION .text:CODE:REORDER(1) -SVC_Handler - B SVC_Handler - - PUBWEAK DebugMon_Handler - SECTION .text:CODE:REORDER(1) -DebugMon_Handler - B DebugMon_Handler - - PUBWEAK PendSV_Handler - SECTION .text:CODE:REORDER(1) -PendSV_Handler - B PendSV_Handler - - PUBWEAK SysTick_Handler - SECTION .text:CODE:REORDER(1) -SysTick_Handler - B SysTick_Handler - - PUBWEAK WWDG_IRQHandler - SECTION .text:CODE:REORDER(1) -WWDG_IRQHandler - B WWDG_IRQHandler - - PUBWEAK PVD_IRQHandler - SECTION .text:CODE:REORDER(1) -PVD_IRQHandler - B PVD_IRQHandler - - PUBWEAK TAMPER_IRQHandler - SECTION .text:CODE:REORDER(1) -TAMPER_IRQHandler - B TAMPER_IRQHandler - - PUBWEAK RTC_IRQHandler - SECTION .text:CODE:REORDER(1) -RTC_IRQHandler - B RTC_IRQHandler - - PUBWEAK FLASH_IRQHandler - SECTION .text:CODE:REORDER(1) -FLASH_IRQHandler - B FLASH_IRQHandler - - PUBWEAK RCC_IRQHandler - SECTION .text:CODE:REORDER(1) -RCC_IRQHandler - B RCC_IRQHandler - - PUBWEAK EXTI0_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI0_IRQHandler - B EXTI0_IRQHandler - - PUBWEAK EXTI1_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI1_IRQHandler - B EXTI1_IRQHandler - - PUBWEAK EXTI2_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI2_IRQHandler - B EXTI2_IRQHandler - - PUBWEAK EXTI3_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI3_IRQHandler - B EXTI3_IRQHandler - - PUBWEAK EXTI4_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI4_IRQHandler - B EXTI4_IRQHandler - - PUBWEAK DMA1_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel1_IRQHandler - B DMA1_Channel1_IRQHandler - - PUBWEAK DMA1_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel2_IRQHandler - B DMA1_Channel2_IRQHandler - - PUBWEAK DMA1_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel3_IRQHandler - B DMA1_Channel3_IRQHandler - - PUBWEAK DMA1_Channel4_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel4_IRQHandler - B DMA1_Channel4_IRQHandler - - PUBWEAK DMA1_Channel5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel5_IRQHandler - B DMA1_Channel5_IRQHandler - - PUBWEAK DMA1_Channel6_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel6_IRQHandler - B DMA1_Channel6_IRQHandler - - PUBWEAK DMA1_Channel7_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel7_IRQHandler - B DMA1_Channel7_IRQHandler - - PUBWEAK ADC1_2_IRQHandler - SECTION .text:CODE:REORDER(1) -ADC1_2_IRQHandler - B ADC1_2_IRQHandler - - PUBWEAK USB_HP_CAN1_TX_IRQHandler - SECTION .text:CODE:REORDER(1) -USB_HP_CAN1_TX_IRQHandler - B USB_HP_CAN1_TX_IRQHandler - - PUBWEAK USB_LP_CAN1_RX0_IRQHandler - SECTION .text:CODE:REORDER(1) -USB_LP_CAN1_RX0_IRQHandler - B USB_LP_CAN1_RX0_IRQHandler - - PUBWEAK CAN1_RX1_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_RX1_IRQHandler - B CAN1_RX1_IRQHandler - - PUBWEAK CAN1_SCE_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_SCE_IRQHandler - B CAN1_SCE_IRQHandler - - PUBWEAK EXTI9_5_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI9_5_IRQHandler - B EXTI9_5_IRQHandler - - PUBWEAK TIM1_BRK_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_BRK_IRQHandler - B TIM1_BRK_IRQHandler - - PUBWEAK TIM1_UP_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_UP_IRQHandler - B TIM1_UP_IRQHandler - - PUBWEAK TIM1_TRG_COM_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_TRG_COM_IRQHandler - B TIM1_TRG_COM_IRQHandler - - PUBWEAK TIM1_CC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_CC_IRQHandler - B TIM1_CC_IRQHandler - - PUBWEAK TIM2_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM2_IRQHandler - B TIM2_IRQHandler - - PUBWEAK TIM3_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM3_IRQHandler - B TIM3_IRQHandler - - PUBWEAK TIM4_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM4_IRQHandler - B TIM4_IRQHandler - - PUBWEAK I2C1_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_EV_IRQHandler - B I2C1_EV_IRQHandler - - PUBWEAK I2C1_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_ER_IRQHandler - B I2C1_ER_IRQHandler - - PUBWEAK I2C2_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_EV_IRQHandler - B I2C2_EV_IRQHandler - - PUBWEAK I2C2_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_ER_IRQHandler - B I2C2_ER_IRQHandler - - PUBWEAK SPI1_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI1_IRQHandler - B SPI1_IRQHandler - - PUBWEAK SPI2_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI2_IRQHandler - B SPI2_IRQHandler - - PUBWEAK USART1_IRQHandler - SECTION .text:CODE:REORDER(1) -USART1_IRQHandler - B USART1_IRQHandler - - PUBWEAK USART2_IRQHandler - SECTION .text:CODE:REORDER(1) -USART2_IRQHandler - B USART2_IRQHandler - - PUBWEAK USART3_IRQHandler - SECTION .text:CODE:REORDER(1) -USART3_IRQHandler - B USART3_IRQHandler - - PUBWEAK EXTI15_10_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI15_10_IRQHandler - B EXTI15_10_IRQHandler - - PUBWEAK RTCAlarm_IRQHandler - SECTION .text:CODE:REORDER(1) -RTCAlarm_IRQHandler - B RTCAlarm_IRQHandler - - PUBWEAK USBWakeUp_IRQHandler - SECTION .text:CODE:REORDER(1) -USBWakeUp_IRQHandler - B USBWakeUp_IRQHandler - - END -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_md_vl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_md_vl.s deleted file mode 100644 index add509da6..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_md_vl.s +++ /dev/null @@ -1,394 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_md_vl.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x Medium Density Value Line Devices vector table -;* for EWARM toolchain. -;* This module performs: -;* - Set the initial SP -;* - Configure the clock system -;* - Set the initial PC == __iar_program_start, -;* - Set the vector table entries with the exceptions ISR -;* address. -;* After Reset the Cortex-M3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;******************************************************************************** -;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* -; -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - - DATA -__vector_table - DCD sfe(CSTACK) - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_IRQHandler ; ADC1 - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_TIM15_IRQHandler ; TIM1 Break and TIM15 - DCD TIM1_UP_TIM16_IRQHandler ; TIM1 Update and TIM16 - DCD TIM1_TRG_COM_TIM17_IRQHandler ; TIM1 Trigger and Commutation and TIM17 - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C2 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD CEC_IRQHandler ; HDMI-CEC - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD TIM6_DAC_IRQHandler ; TIM6 and DAC underrun - DCD TIM7_IRQHandler ; TIM7 - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; Default interrupt handlers. -;; - THUMB - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - PUBWEAK NMI_Handler - SECTION .text:CODE:REORDER(1) -NMI_Handler - B NMI_Handler - - PUBWEAK HardFault_Handler - SECTION .text:CODE:REORDER(1) -HardFault_Handler - B HardFault_Handler - - PUBWEAK MemManage_Handler - SECTION .text:CODE:REORDER(1) -MemManage_Handler - B MemManage_Handler - - PUBWEAK BusFault_Handler - SECTION .text:CODE:REORDER(1) -BusFault_Handler - B BusFault_Handler - - PUBWEAK UsageFault_Handler - SECTION .text:CODE:REORDER(1) -UsageFault_Handler - B UsageFault_Handler - - PUBWEAK SVC_Handler - SECTION .text:CODE:REORDER(1) -SVC_Handler - B SVC_Handler - - PUBWEAK DebugMon_Handler - SECTION .text:CODE:REORDER(1) -DebugMon_Handler - B DebugMon_Handler - - PUBWEAK PendSV_Handler - SECTION .text:CODE:REORDER(1) -PendSV_Handler - B PendSV_Handler - - PUBWEAK SysTick_Handler - SECTION .text:CODE:REORDER(1) -SysTick_Handler - B SysTick_Handler - - PUBWEAK WWDG_IRQHandler - SECTION .text:CODE:REORDER(1) -WWDG_IRQHandler - B WWDG_IRQHandler - - PUBWEAK PVD_IRQHandler - SECTION .text:CODE:REORDER(1) -PVD_IRQHandler - B PVD_IRQHandler - - PUBWEAK TAMPER_IRQHandler - SECTION .text:CODE:REORDER(1) -TAMPER_IRQHandler - B TAMPER_IRQHandler - - PUBWEAK RTC_IRQHandler - SECTION .text:CODE:REORDER(1) -RTC_IRQHandler - B RTC_IRQHandler - - PUBWEAK FLASH_IRQHandler - SECTION .text:CODE:REORDER(1) -FLASH_IRQHandler - B FLASH_IRQHandler - - PUBWEAK RCC_IRQHandler - SECTION .text:CODE:REORDER(1) -RCC_IRQHandler - B RCC_IRQHandler - - PUBWEAK EXTI0_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI0_IRQHandler - B EXTI0_IRQHandler - - PUBWEAK EXTI1_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI1_IRQHandler - B EXTI1_IRQHandler - - PUBWEAK EXTI2_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI2_IRQHandler - B EXTI2_IRQHandler - - PUBWEAK EXTI3_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI3_IRQHandler - B EXTI3_IRQHandler - - PUBWEAK EXTI4_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI4_IRQHandler - B EXTI4_IRQHandler - - PUBWEAK DMA1_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel1_IRQHandler - B DMA1_Channel1_IRQHandler - - PUBWEAK DMA1_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel2_IRQHandler - B DMA1_Channel2_IRQHandler - - PUBWEAK DMA1_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel3_IRQHandler - B DMA1_Channel3_IRQHandler - - PUBWEAK DMA1_Channel4_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel4_IRQHandler - B DMA1_Channel4_IRQHandler - - PUBWEAK DMA1_Channel5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel5_IRQHandler - B DMA1_Channel5_IRQHandler - - PUBWEAK DMA1_Channel6_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel6_IRQHandler - B DMA1_Channel6_IRQHandler - - PUBWEAK DMA1_Channel7_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel7_IRQHandler - B DMA1_Channel7_IRQHandler - - PUBWEAK ADC1_IRQHandler - SECTION .text:CODE:REORDER(1) -ADC1_IRQHandler - B ADC1_IRQHandler - - PUBWEAK EXTI9_5_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI9_5_IRQHandler - B EXTI9_5_IRQHandler - - PUBWEAK TIM1_BRK_TIM15_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_BRK_TIM15_IRQHandler - B TIM1_BRK_TIM15_IRQHandler - - PUBWEAK TIM1_UP_TIM16_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_UP_TIM16_IRQHandler - B TIM1_UP_TIM16_IRQHandler - - PUBWEAK TIM1_TRG_COM_TIM17_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_TRG_COM_TIM17_IRQHandler - B TIM1_TRG_COM_TIM17_IRQHandler - - PUBWEAK TIM1_CC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_CC_IRQHandler - B TIM1_CC_IRQHandler - - PUBWEAK TIM2_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM2_IRQHandler - B TIM2_IRQHandler - - PUBWEAK TIM3_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM3_IRQHandler - B TIM3_IRQHandler - - PUBWEAK TIM4_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM4_IRQHandler - B TIM4_IRQHandler - - PUBWEAK I2C1_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_EV_IRQHandler - B I2C1_EV_IRQHandler - - PUBWEAK I2C1_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_ER_IRQHandler - B I2C1_ER_IRQHandler - - PUBWEAK I2C2_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_EV_IRQHandler - B I2C2_EV_IRQHandler - - PUBWEAK I2C2_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_ER_IRQHandler - B I2C2_ER_IRQHandler - - PUBWEAK SPI1_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI1_IRQHandler - B SPI1_IRQHandler - - PUBWEAK SPI2_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI2_IRQHandler - B SPI2_IRQHandler - - PUBWEAK USART1_IRQHandler - SECTION .text:CODE:REORDER(1) -USART1_IRQHandler - B USART1_IRQHandler - - PUBWEAK USART2_IRQHandler - SECTION .text:CODE:REORDER(1) -USART2_IRQHandler - B USART2_IRQHandler - - PUBWEAK USART3_IRQHandler - SECTION .text:CODE:REORDER(1) -USART3_IRQHandler - B USART3_IRQHandler - - PUBWEAK EXTI15_10_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI15_10_IRQHandler - B EXTI15_10_IRQHandler - - PUBWEAK RTCAlarm_IRQHandler - SECTION .text:CODE:REORDER(1) -RTCAlarm_IRQHandler - B RTCAlarm_IRQHandler - - PUBWEAK CEC_IRQHandler - SECTION .text:CODE:REORDER(1) -CEC_IRQHandler - B CEC_IRQHandler - - PUBWEAK TIM6_DAC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM6_DAC_IRQHandler - B TIM6_DAC_IRQHandler - - PUBWEAK TIM7_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM7_IRQHandler - B TIM7_IRQHandler - - END -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_xl.s b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_xl.s deleted file mode 100644 index a7f49c56d..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_xl.s +++ /dev/null @@ -1,496 +0,0 @@ -;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** -;* File Name : startup_stm32f10x_xl.s -;* Author : MCD Application Team -;* Version : V3.5.0 -;* Date : 11-March-2011 -;* Description : STM32F10x XL-Density Devices vector table for EWARM -;* toolchain. -;* This module performs: -;* - Set the initial SP -;* - Configure the clock system and the external SRAM -;* mounted on STM3210E-EVAL board to be used as data -;* memory (optional, to be enabled by user) -;* - Set the initial PC == __iar_program_start, -;* - Set the vector table entries with the exceptions ISR address, -;* After Reset the Cortex-M3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;******************************************************************************** -;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. -;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, -;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE -;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING -;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. -;******************************************************************************* -; -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - - DATA - -__vector_table - DCD sfe(CSTACK) - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window Watchdog - DCD PVD_IRQHandler ; PVD through EXTI Line detect - DCD TAMPER_IRQHandler ; Tamper - DCD RTC_IRQHandler ; RTC - DCD FLASH_IRQHandler ; Flash - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line 0 - DCD EXTI1_IRQHandler ; EXTI Line 1 - DCD EXTI2_IRQHandler ; EXTI Line 2 - DCD EXTI3_IRQHandler ; EXTI Line 3 - DCD EXTI4_IRQHandler ; EXTI Line 4 - DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 - DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 - DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 - DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 - DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 - DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 - DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 - DCD ADC1_2_IRQHandler ; ADC1 & ADC2 - DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX - DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0 - DCD CAN1_RX1_IRQHandler ; CAN1 RX1 - DCD CAN1_SCE_IRQHandler ; CAN1 SCE - DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 - DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 - DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 - DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C2 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 - DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line - DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend - DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 - DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 - DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 - DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare - DCD ADC3_IRQHandler ; ADC3 - DCD FSMC_IRQHandler ; FSMC - DCD SDIO_IRQHandler ; SDIO - DCD TIM5_IRQHandler ; TIM5 - DCD SPI3_IRQHandler ; SPI3 - DCD UART4_IRQHandler ; UART4 - DCD UART5_IRQHandler ; UART5 - DCD TIM6_IRQHandler ; TIM6 - DCD TIM7_IRQHandler ; TIM7 - DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1 - DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2 - DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3 - DCD DMA2_Channel4_5_IRQHandler ; DMA2 Channel4 & Channel5 -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; Default interrupt handlers. -;; - THUMB - - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =__iar_program_start - BX R0 - - PUBWEAK NMI_Handler - SECTION .text:CODE:REORDER(1) -NMI_Handler - B NMI_Handler - - PUBWEAK HardFault_Handler - SECTION .text:CODE:REORDER(1) -HardFault_Handler - B HardFault_Handler - - PUBWEAK MemManage_Handler - SECTION .text:CODE:REORDER(1) -MemManage_Handler - B MemManage_Handler - - PUBWEAK BusFault_Handler - SECTION .text:CODE:REORDER(1) -BusFault_Handler - B BusFault_Handler - - PUBWEAK UsageFault_Handler - SECTION .text:CODE:REORDER(1) -UsageFault_Handler - B UsageFault_Handler - - PUBWEAK SVC_Handler - SECTION .text:CODE:REORDER(1) -SVC_Handler - B SVC_Handler - - PUBWEAK DebugMon_Handler - SECTION .text:CODE:REORDER(1) -DebugMon_Handler - B DebugMon_Handler - - PUBWEAK PendSV_Handler - SECTION .text:CODE:REORDER(1) -PendSV_Handler - B PendSV_Handler - - PUBWEAK SysTick_Handler - SECTION .text:CODE:REORDER(1) -SysTick_Handler - B SysTick_Handler - - PUBWEAK WWDG_IRQHandler - SECTION .text:CODE:REORDER(1) -WWDG_IRQHandler - B WWDG_IRQHandler - - PUBWEAK PVD_IRQHandler - SECTION .text:CODE:REORDER(1) -PVD_IRQHandler - B PVD_IRQHandler - - PUBWEAK TAMPER_IRQHandler - SECTION .text:CODE:REORDER(1) -TAMPER_IRQHandler - B TAMPER_IRQHandler - - PUBWEAK RTC_IRQHandler - SECTION .text:CODE:REORDER(1) -RTC_IRQHandler - B RTC_IRQHandler - - PUBWEAK FLASH_IRQHandler - SECTION .text:CODE:REORDER(1) -FLASH_IRQHandler - B FLASH_IRQHandler - - PUBWEAK RCC_IRQHandler - SECTION .text:CODE:REORDER(1) -RCC_IRQHandler - B RCC_IRQHandler - - PUBWEAK EXTI0_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI0_IRQHandler - B EXTI0_IRQHandler - - PUBWEAK EXTI1_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI1_IRQHandler - B EXTI1_IRQHandler - - PUBWEAK EXTI2_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI2_IRQHandler - B EXTI2_IRQHandler - - PUBWEAK EXTI3_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI3_IRQHandler - B EXTI3_IRQHandler - - PUBWEAK EXTI4_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI4_IRQHandler - B EXTI4_IRQHandler - - PUBWEAK DMA1_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel1_IRQHandler - B DMA1_Channel1_IRQHandler - - PUBWEAK DMA1_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel2_IRQHandler - B DMA1_Channel2_IRQHandler - - PUBWEAK DMA1_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel3_IRQHandler - B DMA1_Channel3_IRQHandler - - PUBWEAK DMA1_Channel4_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel4_IRQHandler - B DMA1_Channel4_IRQHandler - - PUBWEAK DMA1_Channel5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel5_IRQHandler - B DMA1_Channel5_IRQHandler - - PUBWEAK DMA1_Channel6_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel6_IRQHandler - B DMA1_Channel6_IRQHandler - - PUBWEAK DMA1_Channel7_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Channel7_IRQHandler - B DMA1_Channel7_IRQHandler - - PUBWEAK ADC1_2_IRQHandler - SECTION .text:CODE:REORDER(1) -ADC1_2_IRQHandler - B ADC1_2_IRQHandler - - PUBWEAK USB_HP_CAN1_TX_IRQHandler - SECTION .text:CODE:REORDER(1) -USB_HP_CAN1_TX_IRQHandler - B USB_HP_CAN1_TX_IRQHandler - - PUBWEAK USB_LP_CAN1_RX0_IRQHandler - SECTION .text:CODE:REORDER(1) -USB_LP_CAN1_RX0_IRQHandler - B USB_LP_CAN1_RX0_IRQHandler - - PUBWEAK CAN1_RX1_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_RX1_IRQHandler - B CAN1_RX1_IRQHandler - - PUBWEAK CAN1_SCE_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_SCE_IRQHandler - B CAN1_SCE_IRQHandler - - PUBWEAK EXTI9_5_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI9_5_IRQHandler - B EXTI9_5_IRQHandler - - PUBWEAK TIM1_BRK_TIM9_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_BRK_TIM9_IRQHandler - B TIM1_BRK_TIM9_IRQHandler - - PUBWEAK TIM1_UP_TIM10_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_UP_TIM10_IRQHandler - B TIM1_UP_TIM10_IRQHandler - - PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_TRG_COM_TIM11_IRQHandler - B TIM1_TRG_COM_TIM11_IRQHandler - - PUBWEAK TIM1_CC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_CC_IRQHandler - B TIM1_CC_IRQHandler - - PUBWEAK TIM2_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM2_IRQHandler - B TIM2_IRQHandler - - PUBWEAK TIM3_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM3_IRQHandler - B TIM3_IRQHandler - - PUBWEAK TIM4_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM4_IRQHandler - B TIM4_IRQHandler - - PUBWEAK I2C1_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_EV_IRQHandler - B I2C1_EV_IRQHandler - - PUBWEAK I2C1_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_ER_IRQHandler - B I2C1_ER_IRQHandler - - PUBWEAK I2C2_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_EV_IRQHandler - B I2C2_EV_IRQHandler - - PUBWEAK I2C2_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_ER_IRQHandler - B I2C2_ER_IRQHandler - - PUBWEAK SPI1_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI1_IRQHandler - B SPI1_IRQHandler - - PUBWEAK SPI2_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI2_IRQHandler - B SPI2_IRQHandler - - PUBWEAK USART1_IRQHandler - SECTION .text:CODE:REORDER(1) -USART1_IRQHandler - B USART1_IRQHandler - - PUBWEAK USART2_IRQHandler - SECTION .text:CODE:REORDER(1) -USART2_IRQHandler - B USART2_IRQHandler - - PUBWEAK USART3_IRQHandler - SECTION .text:CODE:REORDER(1) -USART3_IRQHandler - B USART3_IRQHandler - - PUBWEAK EXTI15_10_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI15_10_IRQHandler - B EXTI15_10_IRQHandler - - PUBWEAK RTCAlarm_IRQHandler - SECTION .text:CODE:REORDER(1) -RTCAlarm_IRQHandler - B RTCAlarm_IRQHandler - - PUBWEAK USBWakeUp_IRQHandler - SECTION .text:CODE:REORDER(1) -USBWakeUp_IRQHandler - B USBWakeUp_IRQHandler - - PUBWEAK TIM8_BRK_TIM12_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM8_BRK_TIM12_IRQHandler - B TIM8_BRK_TIM12_IRQHandler - - PUBWEAK TIM8_UP_TIM13_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM8_UP_TIM13_IRQHandler - B TIM8_UP_TIM13_IRQHandler - - PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM8_TRG_COM_TIM14_IRQHandler - B TIM8_TRG_COM_TIM14_IRQHandler - - PUBWEAK TIM8_CC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM8_CC_IRQHandler - B TIM8_CC_IRQHandler - - PUBWEAK ADC3_IRQHandler - SECTION .text:CODE:REORDER(1) -ADC3_IRQHandler - B ADC3_IRQHandler - - PUBWEAK FSMC_IRQHandler - SECTION .text:CODE:REORDER(1) -FSMC_IRQHandler - B FSMC_IRQHandler - - PUBWEAK SDIO_IRQHandler - SECTION .text:CODE:REORDER(1) -SDIO_IRQHandler - B SDIO_IRQHandler - - PUBWEAK TIM5_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM5_IRQHandler - B TIM5_IRQHandler - - PUBWEAK SPI3_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI3_IRQHandler - B SPI3_IRQHandler - - PUBWEAK UART4_IRQHandler - SECTION .text:CODE:REORDER(1) -UART4_IRQHandler - B UART4_IRQHandler - - PUBWEAK UART5_IRQHandler - SECTION .text:CODE:REORDER(1) -UART5_IRQHandler - B UART5_IRQHandler - - PUBWEAK TIM6_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM6_IRQHandler - B TIM6_IRQHandler - - PUBWEAK TIM7_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM7_IRQHandler - B TIM7_IRQHandler - - PUBWEAK DMA2_Channel1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel1_IRQHandler - B DMA2_Channel1_IRQHandler - - PUBWEAK DMA2_Channel2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel2_IRQHandler - B DMA2_Channel2_IRQHandler - - PUBWEAK DMA2_Channel3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel3_IRQHandler - B DMA2_Channel3_IRQHandler - - PUBWEAK DMA2_Channel4_5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Channel4_5_IRQHandler - B DMA2_Channel4_5_IRQHandler - - - END - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h deleted file mode 100644 index af0c7c9af..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h +++ /dev/null @@ -1,8336 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer Header File. - * This file contains all the peripheral register's definitions, bits - * definitions and memory mapping for STM32F10x Connectivity line, - * High density, High density value line, Medium density, - * Medium density Value line, Low density, Low density Value line - * and XL-density devices. - * - * 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 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_STDPERIPH_DRIVER" - * - To change few application-specific parameters such as the HSE - * crystal frequency - * - Data structures and the address mapping for all peripherals - * - Peripheral's registers declarations and bits definition - * - Macros to access peripheral’s registers hardware - * - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f10x - * @{ - */ - -#ifndef __STM32F10x_H -#define __STM32F10x_H - -#ifdef __cplusplus - extern "C" { -#endif - -/** @addtogroup Library_configuration_section - * @{ - */ - -/* Uncomment the line below according to the target STM32 device used in your - application - */ - -#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL) - /* #define STM32F10X_LD */ /*!< STM32F10X_LD: STM32 Low density devices */ - /* #define STM32F10X_LD_VL */ /*!< STM32F10X_LD_VL: STM32 Low density Value Line devices */ - /* #define STM32F10X_MD */ /*!< STM32F10X_MD: STM32 Medium density devices */ - /* #define STM32F10X_MD_VL */ /*!< STM32F10X_MD_VL: STM32 Medium density Value Line devices */ - /* #define STM32F10X_HD */ /*!< STM32F10X_HD: STM32 High density devices */ - /* #define STM32F10X_HD_VL */ /*!< STM32F10X_HD_VL: STM32 High density value line devices */ - /* #define STM32F10X_XL */ /*!< STM32F10X_XL: STM32 XL-density devices */ - /* #define STM32F10X_CL */ /*!< STM32F10X_CL: STM32 Connectivity line 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. - - - Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers - where the Flash memory density ranges between 16 and 32 Kbytes. - - Low-density value line devices are STM32F100xx microcontrollers where the Flash - memory density ranges between 16 and 32 Kbytes. - - Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers - where the Flash memory density ranges between 64 and 128 Kbytes. - - Medium-density value line devices are STM32F100xx microcontrollers where the - Flash memory density ranges between 64 and 128 Kbytes. - - High-density devices are STM32F101xx and STM32F103xx microcontrollers where - the Flash memory density ranges between 256 and 512 Kbytes. - - High-density value line devices are STM32F100xx microcontrollers where the - Flash memory density ranges between 256 and 512 Kbytes. - - XL-density devices are STM32F101xx and STM32F103xx microcontrollers where - the Flash memory density ranges between 512 and 1024 Kbytes. - - Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers. - */ - -#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL) - #error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)" -#endif - -#if !defined USE_STDPERIPH_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_STDPERIPH_DRIVER*/ -#endif - -/** - * @brief In the following line adjust the value of External High Speed oscillator (HSE) - used in your application - - 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. - */ -#if !defined HSE_VALUE - #ifdef STM32F10X_CL - #define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */ - #else - #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ - #endif /* STM32F10X_CL */ -#endif /* HSE_VALUE */ - - -/** - * @brief In the following line adjust the External High Speed oscillator (HSE) Startup - Timeout value - */ -#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*!< Time out for HSE start up */ - -#define HSI_VALUE ((uint32_t)8000000) /*!< Value of the Internal oscillator in Hz*/ - -/** - * @brief STM32F10x Standard Peripheral Library version number - */ -#define __STM32F10X_STDPERIPH_VERSION_MAIN (0x03) /*!< [31:24] main version */ -#define __STM32F10X_STDPERIPH_VERSION_SUB1 (0x05) /*!< [23:16] sub1 version */ -#define __STM32F10X_STDPERIPH_VERSION_SUB2 (0x00) /*!< [15:8] sub2 version */ -#define __STM32F10X_STDPERIPH_VERSION_RC (0x00) /*!< [7:0] release candidate */ -#define __STM32F10X_STDPERIPH_VERSION ( (__STM32F10X_STDPERIPH_VERSION_MAIN << 24)\ - |(__STM32F10X_STDPERIPH_VERSION_SUB1 << 16)\ - |(__STM32F10X_STDPERIPH_VERSION_SUB2 << 8)\ - |(__STM32F10X_STDPERIPH_VERSION_RC)) - -/** - * @} - */ - -/** @addtogroup Configuration_section_for_CMSIS - * @{ - */ - -/** - * @brief Configuration of the Cortex-M3 Processor and Core Peripherals - */ -#ifdef STM32F10X_XL - #define __MPU_PRESENT 1 /*!< STM32 XL-density devices provide an MPU */ -#else - #define __MPU_PRESENT 0 /*!< Other STM32 devices does not provide an MPU */ -#endif /* STM32F10X_XL */ -#define __NVIC_PRIO_BITS 4 /*!< STM32 uses 4 Bits for the Priority Levels */ -#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ - -/** - * @brief STM32F10x Interrupt Number Definition, according to the selected device - * in @ref Library_configuration_section - */ -typedef enum IRQn -{ -/****** Cortex-M3 Processor Exceptions Numbers ***************************************************/ - NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */ - MemoryManagement_IRQn = -12, /*!< 4 Cortex-M3 Memory Management Interrupt */ - BusFault_IRQn = -11, /*!< 5 Cortex-M3 Bus Fault Interrupt */ - UsageFault_IRQn = -10, /*!< 6 Cortex-M3 Usage Fault Interrupt */ - SVCall_IRQn = -5, /*!< 11 Cortex-M3 SV Call Interrupt */ - DebugMonitor_IRQn = -4, /*!< 12 Cortex-M3 Debug Monitor Interrupt */ - PendSV_IRQn = -2, /*!< 14 Cortex-M3 Pend SV Interrupt */ - SysTick_IRQn = -1, /*!< 15 Cortex-M3 System Tick Interrupt */ - -/****** STM32 specific Interrupt Numbers *********************************************************/ - WWDG_IRQn = 0, /*!< Window WatchDog Interrupt */ - PVD_IRQn = 1, /*!< PVD through EXTI Line detection Interrupt */ - TAMPER_IRQn = 2, /*!< Tamper Interrupt */ - RTC_IRQn = 3, /*!< RTC global Interrupt */ - 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_Channel1_IRQn = 11, /*!< DMA1 Channel 1 global Interrupt */ - DMA1_Channel2_IRQn = 12, /*!< DMA1 Channel 2 global Interrupt */ - DMA1_Channel3_IRQn = 13, /*!< DMA1 Channel 3 global Interrupt */ - DMA1_Channel4_IRQn = 14, /*!< DMA1 Channel 4 global Interrupt */ - DMA1_Channel5_IRQn = 15, /*!< DMA1 Channel 5 global Interrupt */ - DMA1_Channel6_IRQn = 16, /*!< DMA1 Channel 6 global Interrupt */ - DMA1_Channel7_IRQn = 17, /*!< DMA1 Channel 7 global Interrupt */ - -#ifdef STM32F10X_LD - ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */ - USB_HP_CAN1_TX_IRQn = 19, /*!< USB Device High Priority or CAN1 TX Interrupts */ - USB_LP_CAN1_RX0_IRQn = 20, /*!< USB Device Low Priority or CAN1 RX0 Interrupts */ - CAN1_RX1_IRQn = 21, /*!< CAN1 RX1 Interrupt */ - CAN1_SCE_IRQn = 22, /*!< CAN1 SCE Interrupt */ - 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 */ - I2C1_EV_IRQn = 31, /*!< I2C1 Event Interrupt */ - I2C1_ER_IRQn = 32, /*!< I2C1 Error Interrupt */ - SPI1_IRQn = 35, /*!< SPI1 global Interrupt */ - USART1_IRQn = 37, /*!< USART1 global Interrupt */ - USART2_IRQn = 38, /*!< USART2 global Interrupt */ - EXTI15_10_IRQn = 40, /*!< External Line[15:10] Interrupts */ - RTCAlarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */ - USBWakeUp_IRQn = 42 /*!< USB Device WakeUp from suspend through EXTI Line Interrupt */ -#endif /* STM32F10X_LD */ - -#ifdef STM32F10X_LD_VL - ADC1_IRQn = 18, /*!< ADC1 global Interrupt */ - EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */ - TIM1_BRK_TIM15_IRQn = 24, /*!< TIM1 Break and TIM15 Interrupts */ - TIM1_UP_TIM16_IRQn = 25, /*!< TIM1 Update and TIM16 Interrupts */ - TIM1_TRG_COM_TIM17_IRQn = 26, /*!< TIM1 Trigger and Commutation and TIM17 Interrupt */ - TIM1_CC_IRQn = 27, /*!< TIM1 Capture Compare Interrupt */ - TIM2_IRQn = 28, /*!< TIM2 global Interrupt */ - TIM3_IRQn = 29, /*!< TIM3 global Interrupt */ - I2C1_EV_IRQn = 31, /*!< I2C1 Event Interrupt */ - I2C1_ER_IRQn = 32, /*!< I2C1 Error Interrupt */ - SPI1_IRQn = 35, /*!< SPI1 global Interrupt */ - USART1_IRQn = 37, /*!< USART1 global Interrupt */ - USART2_IRQn = 38, /*!< USART2 global Interrupt */ - EXTI15_10_IRQn = 40, /*!< External Line[15:10] Interrupts */ - RTCAlarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */ - CEC_IRQn = 42, /*!< HDMI-CEC Interrupt */ - TIM6_DAC_IRQn = 54, /*!< TIM6 and DAC underrun Interrupt */ - TIM7_IRQn = 55 /*!< TIM7 Interrupt */ -#endif /* STM32F10X_LD_VL */ - -#ifdef STM32F10X_MD - ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */ - USB_HP_CAN1_TX_IRQn = 19, /*!< USB Device High Priority or CAN1 TX Interrupts */ - USB_LP_CAN1_RX0_IRQn = 20, /*!< USB Device Low Priority or CAN1 RX0 Interrupts */ - CAN1_RX1_IRQn = 21, /*!< CAN1 RX1 Interrupt */ - CAN1_SCE_IRQn = 22, /*!< CAN1 SCE Interrupt */ - 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 */ - RTCAlarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */ - USBWakeUp_IRQn = 42 /*!< USB Device WakeUp from suspend through EXTI Line Interrupt */ -#endif /* STM32F10X_MD */ - -#ifdef STM32F10X_MD_VL - ADC1_IRQn = 18, /*!< ADC1 global Interrupt */ - EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */ - TIM1_BRK_TIM15_IRQn = 24, /*!< TIM1 Break and TIM15 Interrupts */ - TIM1_UP_TIM16_IRQn = 25, /*!< TIM1 Update and TIM16 Interrupts */ - TIM1_TRG_COM_TIM17_IRQn = 26, /*!< TIM1 Trigger and Commutation and TIM17 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 */ - RTCAlarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */ - CEC_IRQn = 42, /*!< HDMI-CEC Interrupt */ - TIM6_DAC_IRQn = 54, /*!< TIM6 and DAC underrun Interrupt */ - TIM7_IRQn = 55 /*!< TIM7 Interrupt */ -#endif /* STM32F10X_MD_VL */ - -#ifdef STM32F10X_HD - ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */ - USB_HP_CAN1_TX_IRQn = 19, /*!< USB Device High Priority or CAN1 TX Interrupts */ - USB_LP_CAN1_RX0_IRQn = 20, /*!< USB Device Low Priority or CAN1 RX0 Interrupts */ - CAN1_RX1_IRQn = 21, /*!< CAN1 RX1 Interrupt */ - CAN1_SCE_IRQn = 22, /*!< CAN1 SCE Interrupt */ - 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 */ - RTCAlarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */ - USBWakeUp_IRQn = 42, /*!< USB Device WakeUp from suspend through EXTI Line Interrupt */ - TIM8_BRK_IRQn = 43, /*!< TIM8 Break Interrupt */ - TIM8_UP_IRQn = 44, /*!< TIM8 Update Interrupt */ - TIM8_TRG_COM_IRQn = 45, /*!< TIM8 Trigger and Commutation Interrupt */ - TIM8_CC_IRQn = 46, /*!< TIM8 Capture Compare Interrupt */ - ADC3_IRQn = 47, /*!< ADC3 global Interrupt */ - FSMC_IRQn = 48, /*!< FSMC global Interrupt */ - SDIO_IRQn = 49, /*!< SDIO 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_IRQn = 54, /*!< TIM6 global Interrupt */ - TIM7_IRQn = 55, /*!< TIM7 global Interrupt */ - DMA2_Channel1_IRQn = 56, /*!< DMA2 Channel 1 global Interrupt */ - DMA2_Channel2_IRQn = 57, /*!< DMA2 Channel 2 global Interrupt */ - DMA2_Channel3_IRQn = 58, /*!< DMA2 Channel 3 global Interrupt */ - DMA2_Channel4_5_IRQn = 59 /*!< DMA2 Channel 4 and Channel 5 global Interrupt */ -#endif /* STM32F10X_HD */ - -#ifdef STM32F10X_HD_VL - ADC1_IRQn = 18, /*!< ADC1 global Interrupt */ - EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */ - TIM1_BRK_TIM15_IRQn = 24, /*!< TIM1 Break and TIM15 Interrupts */ - TIM1_UP_TIM16_IRQn = 25, /*!< TIM1 Update and TIM16 Interrupts */ - TIM1_TRG_COM_TIM17_IRQn = 26, /*!< TIM1 Trigger and Commutation and TIM17 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 */ - RTCAlarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */ - CEC_IRQn = 42, /*!< HDMI-CEC Interrupt */ - TIM12_IRQn = 43, /*!< TIM12 global Interrupt */ - TIM13_IRQn = 44, /*!< TIM13 global Interrupt */ - TIM14_IRQn = 45, /*!< TIM14 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 and DAC underrun Interrupt */ - TIM7_IRQn = 55, /*!< TIM7 Interrupt */ - DMA2_Channel1_IRQn = 56, /*!< DMA2 Channel 1 global Interrupt */ - DMA2_Channel2_IRQn = 57, /*!< DMA2 Channel 2 global Interrupt */ - DMA2_Channel3_IRQn = 58, /*!< DMA2 Channel 3 global Interrupt */ - DMA2_Channel4_5_IRQn = 59, /*!< DMA2 Channel 4 and Channel 5 global Interrupt */ - DMA2_Channel5_IRQn = 60 /*!< DMA2 Channel 5 global Interrupt (DMA2 Channel 5 is - mapped at position 60 only if the MISC_REMAP bit in - the AFIO_MAPR2 register is set) */ -#endif /* STM32F10X_HD_VL */ - -#ifdef STM32F10X_XL - ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */ - USB_HP_CAN1_TX_IRQn = 19, /*!< USB Device High Priority or CAN1 TX Interrupts */ - USB_LP_CAN1_RX0_IRQn = 20, /*!< USB Device Low Priority or CAN1 RX0 Interrupts */ - CAN1_RX1_IRQn = 21, /*!< CAN1 RX1 Interrupt */ - CAN1_SCE_IRQn = 22, /*!< CAN1 SCE Interrupt */ - EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */ - TIM1_BRK_TIM9_IRQn = 24, /*!< TIM1 Break Interrupt and TIM9 global Interrupt */ - TIM1_UP_TIM10_IRQn = 25, /*!< TIM1 Update Interrupt and TIM10 global Interrupt */ - TIM1_TRG_COM_TIM11_IRQn = 26, /*!< TIM1 Trigger and Commutation Interrupt and TIM11 global 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 */ - RTCAlarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */ - USBWakeUp_IRQn = 42, /*!< USB Device WakeUp from suspend 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 */ - ADC3_IRQn = 47, /*!< ADC3 global Interrupt */ - FSMC_IRQn = 48, /*!< FSMC global Interrupt */ - SDIO_IRQn = 49, /*!< SDIO 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_IRQn = 54, /*!< TIM6 global Interrupt */ - TIM7_IRQn = 55, /*!< TIM7 global Interrupt */ - DMA2_Channel1_IRQn = 56, /*!< DMA2 Channel 1 global Interrupt */ - DMA2_Channel2_IRQn = 57, /*!< DMA2 Channel 2 global Interrupt */ - DMA2_Channel3_IRQn = 58, /*!< DMA2 Channel 3 global Interrupt */ - DMA2_Channel4_5_IRQn = 59 /*!< DMA2 Channel 4 and Channel 5 global Interrupt */ -#endif /* STM32F10X_XL */ - -#ifdef STM32F10X_CL - ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */ - CAN1_TX_IRQn = 19, /*!< USB Device High Priority or CAN1 TX Interrupts */ - CAN1_RX0_IRQn = 20, /*!< USB Device Low Priority or CAN1 RX0 Interrupts */ - CAN1_RX1_IRQn = 21, /*!< CAN1 RX1 Interrupt */ - CAN1_SCE_IRQn = 22, /*!< CAN1 SCE Interrupt */ - 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 */ - RTCAlarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */ - OTG_FS_WKUP_IRQn = 42, /*!< USB OTG FS WakeUp from suspend through EXTI Line 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_IRQn = 54, /*!< TIM6 global Interrupt */ - TIM7_IRQn = 55, /*!< TIM7 global Interrupt */ - DMA2_Channel1_IRQn = 56, /*!< DMA2 Channel 1 global Interrupt */ - DMA2_Channel2_IRQn = 57, /*!< DMA2 Channel 2 global Interrupt */ - DMA2_Channel3_IRQn = 58, /*!< DMA2 Channel 3 global Interrupt */ - DMA2_Channel4_IRQn = 59, /*!< DMA2 Channel 4 global Interrupt */ - DMA2_Channel5_IRQn = 60, /*!< DMA2 Channel 5 global Interrupt */ - ETH_IRQn = 61, /*!< Ethernet global Interrupt */ - ETH_WKUP_IRQn = 62, /*!< Ethernet Wakeup through EXTI line Interrupt */ - CAN2_TX_IRQn = 63, /*!< CAN2 TX Interrupt */ - CAN2_RX0_IRQn = 64, /*!< CAN2 RX0 Interrupt */ - CAN2_RX1_IRQn = 65, /*!< CAN2 RX1 Interrupt */ - CAN2_SCE_IRQn = 66, /*!< CAN2 SCE Interrupt */ - OTG_FS_IRQn = 67 /*!< USB OTG FS global Interrupt */ -#endif /* STM32F10X_CL */ -} IRQn_Type; - -/** - * @} - */ - -#include "core_cm3.h" -#include "system_stm32f10x.h" -#include - -/** @addtogroup Exported_types - * @{ - */ - -/*!< STM32F10x Standard Peripheral Library old types (maintained for legacy purpose) */ -typedef int32_t s32; -typedef int16_t s16; -typedef int8_t s8; - -typedef const int32_t sc32; /*!< Read Only */ -typedef const int16_t sc16; /*!< Read Only */ -typedef const int8_t sc8; /*!< Read Only */ - -typedef __IO int32_t vs32; -typedef __IO int16_t vs16; -typedef __IO int8_t vs8; - -typedef __I int32_t vsc32; /*!< Read Only */ -typedef __I int16_t vsc16; /*!< Read Only */ -typedef __I int8_t vsc8; /*!< Read Only */ - -typedef uint32_t u32; -typedef uint16_t u16; -typedef uint8_t u8; - -typedef const uint32_t uc32; /*!< Read Only */ -typedef const uint16_t uc16; /*!< Read Only */ -typedef const uint8_t uc8; /*!< Read Only */ - -typedef __IO uint32_t vu32; -typedef __IO uint16_t vu16; -typedef __IO uint8_t vu8; - -typedef __I uint32_t vuc32; /*!< Read Only */ -typedef __I uint16_t vuc16; /*!< Read Only */ -typedef __I uint8_t vuc8; /*!< Read Only */ - -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; - -/*!< STM32F10x Standard Peripheral Library old definitions (maintained for legacy purpose) */ -#define HSEStartUp_TimeOut HSE_STARTUP_TIMEOUT -#define HSE_Value HSE_VALUE -#define HSI_Value HSI_VALUE -/** - * @} - */ - -/** @addtogroup Peripheral_registers_structures - * @{ - */ - -/** - * @brief Analog to Digital Converter - */ - -typedef struct -{ - __IO uint32_t SR; - __IO uint32_t CR1; - __IO uint32_t CR2; - __IO uint32_t SMPR1; - __IO uint32_t SMPR2; - __IO uint32_t JOFR1; - __IO uint32_t JOFR2; - __IO uint32_t JOFR3; - __IO uint32_t JOFR4; - __IO uint32_t HTR; - __IO uint32_t LTR; - __IO uint32_t SQR1; - __IO uint32_t SQR2; - __IO uint32_t SQR3; - __IO uint32_t JSQR; - __IO uint32_t JDR1; - __IO uint32_t JDR2; - __IO uint32_t JDR3; - __IO uint32_t JDR4; - __IO uint32_t DR; -} ADC_TypeDef; - -/** - * @brief Backup Registers - */ - -typedef struct -{ - uint32_t RESERVED0; - __IO uint16_t DR1; - uint16_t RESERVED1; - __IO uint16_t DR2; - uint16_t RESERVED2; - __IO uint16_t DR3; - uint16_t RESERVED3; - __IO uint16_t DR4; - uint16_t RESERVED4; - __IO uint16_t DR5; - uint16_t RESERVED5; - __IO uint16_t DR6; - uint16_t RESERVED6; - __IO uint16_t DR7; - uint16_t RESERVED7; - __IO uint16_t DR8; - uint16_t RESERVED8; - __IO uint16_t DR9; - uint16_t RESERVED9; - __IO uint16_t DR10; - uint16_t RESERVED10; - __IO uint16_t RTCCR; - uint16_t RESERVED11; - __IO uint16_t CR; - uint16_t RESERVED12; - __IO uint16_t CSR; - uint16_t RESERVED13[5]; - __IO uint16_t DR11; - uint16_t RESERVED14; - __IO uint16_t DR12; - uint16_t RESERVED15; - __IO uint16_t DR13; - uint16_t RESERVED16; - __IO uint16_t DR14; - uint16_t RESERVED17; - __IO uint16_t DR15; - uint16_t RESERVED18; - __IO uint16_t DR16; - uint16_t RESERVED19; - __IO uint16_t DR17; - uint16_t RESERVED20; - __IO uint16_t DR18; - uint16_t RESERVED21; - __IO uint16_t DR19; - uint16_t RESERVED22; - __IO uint16_t DR20; - uint16_t RESERVED23; - __IO uint16_t DR21; - uint16_t RESERVED24; - __IO uint16_t DR22; - uint16_t RESERVED25; - __IO uint16_t DR23; - uint16_t RESERVED26; - __IO uint16_t DR24; - uint16_t RESERVED27; - __IO uint16_t DR25; - uint16_t RESERVED28; - __IO uint16_t DR26; - uint16_t RESERVED29; - __IO uint16_t DR27; - uint16_t RESERVED30; - __IO uint16_t DR28; - uint16_t RESERVED31; - __IO uint16_t DR29; - uint16_t RESERVED32; - __IO uint16_t DR30; - uint16_t RESERVED33; - __IO uint16_t DR31; - uint16_t RESERVED34; - __IO uint16_t DR32; - uint16_t RESERVED35; - __IO uint16_t DR33; - uint16_t RESERVED36; - __IO uint16_t DR34; - uint16_t RESERVED37; - __IO uint16_t DR35; - uint16_t RESERVED38; - __IO uint16_t DR36; - uint16_t RESERVED39; - __IO uint16_t DR37; - uint16_t RESERVED40; - __IO uint16_t DR38; - uint16_t RESERVED41; - __IO uint16_t DR39; - uint16_t RESERVED42; - __IO uint16_t DR40; - uint16_t RESERVED43; - __IO uint16_t DR41; - uint16_t RESERVED44; - __IO uint16_t DR42; - uint16_t RESERVED45; -} BKP_TypeDef; - -/** - * @brief Controller Area Network TxMailBox - */ - -typedef struct -{ - __IO uint32_t TIR; - __IO uint32_t TDTR; - __IO uint32_t TDLR; - __IO uint32_t TDHR; -} CAN_TxMailBox_TypeDef; - -/** - * @brief Controller Area Network FIFOMailBox - */ - -typedef struct -{ - __IO uint32_t RIR; - __IO uint32_t RDTR; - __IO uint32_t RDLR; - __IO uint32_t RDHR; -} CAN_FIFOMailBox_TypeDef; - -/** - * @brief Controller Area Network FilterRegister - */ - -typedef struct -{ - __IO uint32_t FR1; - __IO uint32_t FR2; -} CAN_FilterRegister_TypeDef; - -/** - * @brief Controller Area Network - */ - -typedef struct -{ - __IO uint32_t MCR; - __IO uint32_t MSR; - __IO uint32_t TSR; - __IO uint32_t RF0R; - __IO uint32_t RF1R; - __IO uint32_t IER; - __IO uint32_t ESR; - __IO uint32_t BTR; - uint32_t RESERVED0[88]; - CAN_TxMailBox_TypeDef sTxMailBox[3]; - CAN_FIFOMailBox_TypeDef sFIFOMailBox[2]; - uint32_t RESERVED1[12]; - __IO uint32_t FMR; - __IO uint32_t FM1R; - uint32_t RESERVED2; - __IO uint32_t FS1R; - uint32_t RESERVED3; - __IO uint32_t FFA1R; - uint32_t RESERVED4; - __IO uint32_t FA1R; - uint32_t RESERVED5[8]; -#ifndef STM32F10X_CL - CAN_FilterRegister_TypeDef sFilterRegister[14]; -#else - CAN_FilterRegister_TypeDef sFilterRegister[28]; -#endif /* STM32F10X_CL */ -} CAN_TypeDef; - -/** - * @brief Consumer Electronics Control (CEC) - */ -typedef struct -{ - __IO uint32_t CFGR; - __IO uint32_t OAR; - __IO uint32_t PRES; - __IO uint32_t ESR; - __IO uint32_t CSR; - __IO uint32_t TXD; - __IO uint32_t RXD; -} CEC_TypeDef; - -/** - * @brief CRC calculation unit - */ - -typedef struct -{ - __IO uint32_t DR; - __IO uint8_t IDR; - uint8_t RESERVED0; - uint16_t RESERVED1; - __IO uint32_t CR; -} CRC_TypeDef; - -/** - * @brief Digital to Analog Converter - */ - -typedef struct -{ - __IO uint32_t CR; - __IO uint32_t SWTRIGR; - __IO uint32_t DHR12R1; - __IO uint32_t DHR12L1; - __IO uint32_t DHR8R1; - __IO uint32_t DHR12R2; - __IO uint32_t DHR12L2; - __IO uint32_t DHR8R2; - __IO uint32_t DHR12RD; - __IO uint32_t DHR12LD; - __IO uint32_t DHR8RD; - __IO uint32_t DOR1; - __IO uint32_t DOR2; -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) - __IO uint32_t SR; -#endif -} DAC_TypeDef; - -/** - * @brief Debug MCU - */ - -typedef struct -{ - __IO uint32_t IDCODE; - __IO uint32_t CR; -}DBGMCU_TypeDef; - -/** - * @brief DMA Controller - */ - -typedef struct -{ - __IO uint32_t CCR; - __IO uint32_t CNDTR; - __IO uint32_t CPAR; - __IO uint32_t CMAR; -} DMA_Channel_TypeDef; - -typedef struct -{ - __IO uint32_t ISR; - __IO uint32_t IFCR; -} DMA_TypeDef; - -/** - * @brief Ethernet MAC - */ - -typedef struct -{ - __IO uint32_t MACCR; - __IO uint32_t MACFFR; - __IO uint32_t MACHTHR; - __IO uint32_t MACHTLR; - __IO uint32_t MACMIIAR; - __IO uint32_t MACMIIDR; - __IO uint32_t MACFCR; - __IO uint32_t MACVLANTR; /* 8 */ - uint32_t RESERVED0[2]; - __IO uint32_t MACRWUFFR; /* 11 */ - __IO uint32_t MACPMTCSR; - uint32_t RESERVED1[2]; - __IO uint32_t MACSR; /* 15 */ - __IO uint32_t MACIMR; - __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; /* 24 */ - uint32_t RESERVED2[40]; - __IO uint32_t MMCCR; /* 65 */ - __IO uint32_t MMCRIR; - __IO uint32_t MMCTIR; - __IO uint32_t MMCRIMR; - __IO uint32_t MMCTIMR; /* 69 */ - uint32_t RESERVED3[14]; - __IO uint32_t MMCTGFSCCR; /* 84 */ - __IO uint32_t MMCTGFMSCCR; - uint32_t RESERVED4[5]; - __IO uint32_t MMCTGFCR; - uint32_t RESERVED5[10]; - __IO uint32_t MMCRFCECR; - __IO uint32_t MMCRFAECR; - uint32_t RESERVED6[10]; - __IO uint32_t MMCRGUFCR; - uint32_t RESERVED7[334]; - __IO uint32_t PTPTSCR; - __IO uint32_t PTPSSIR; - __IO uint32_t PTPTSHR; - __IO uint32_t PTPTSLR; - __IO uint32_t PTPTSHUR; - __IO uint32_t PTPTSLUR; - __IO uint32_t PTPTSAR; - __IO uint32_t PTPTTHR; - __IO uint32_t PTPTTLR; - uint32_t RESERVED8[567]; - __IO uint32_t DMABMR; - __IO uint32_t DMATPDR; - __IO uint32_t DMARPDR; - __IO uint32_t DMARDLAR; - __IO uint32_t DMATDLAR; - __IO uint32_t DMASR; - __IO uint32_t DMAOMR; - __IO uint32_t DMAIER; - __IO uint32_t DMAMFBOCR; - uint32_t RESERVED9[9]; - __IO uint32_t DMACHTDR; - __IO uint32_t DMACHRDR; - __IO uint32_t DMACHTBAR; - __IO uint32_t DMACHRBAR; -} ETH_TypeDef; - -/** - * @brief External Interrupt/Event Controller - */ - -typedef struct -{ - __IO uint32_t IMR; - __IO uint32_t EMR; - __IO uint32_t RTSR; - __IO uint32_t FTSR; - __IO uint32_t SWIER; - __IO uint32_t PR; -} EXTI_TypeDef; - -/** - * @brief FLASH Registers - */ - -typedef struct -{ - __IO uint32_t ACR; - __IO uint32_t KEYR; - __IO uint32_t OPTKEYR; - __IO uint32_t SR; - __IO uint32_t CR; - __IO uint32_t AR; - __IO uint32_t RESERVED; - __IO uint32_t OBR; - __IO uint32_t WRPR; -#ifdef STM32F10X_XL - uint32_t RESERVED1[8]; - __IO uint32_t KEYR2; - uint32_t RESERVED2; - __IO uint32_t SR2; - __IO uint32_t CR2; - __IO uint32_t AR2; -#endif /* STM32F10X_XL */ -} FLASH_TypeDef; - -/** - * @brief Option Bytes Registers - */ - -typedef struct -{ - __IO uint16_t RDP; - __IO uint16_t USER; - __IO uint16_t Data0; - __IO uint16_t Data1; - __IO uint16_t WRP0; - __IO uint16_t WRP1; - __IO uint16_t WRP2; - __IO uint16_t WRP3; -} OB_TypeDef; - -/** - * @brief Flexible Static Memory Controller - */ - -typedef struct -{ - __IO uint32_t BTCR[8]; -} FSMC_Bank1_TypeDef; - -/** - * @brief Flexible Static Memory Controller Bank1E - */ - -typedef struct -{ - __IO uint32_t BWTR[7]; -} FSMC_Bank1E_TypeDef; - -/** - * @brief Flexible Static Memory Controller Bank2 - */ - -typedef struct -{ - __IO uint32_t PCR2; - __IO uint32_t SR2; - __IO uint32_t PMEM2; - __IO uint32_t PATT2; - uint32_t RESERVED0; - __IO uint32_t ECCR2; -} FSMC_Bank2_TypeDef; - -/** - * @brief Flexible Static Memory Controller Bank3 - */ - -typedef struct -{ - __IO uint32_t PCR3; - __IO uint32_t SR3; - __IO uint32_t PMEM3; - __IO uint32_t PATT3; - uint32_t RESERVED0; - __IO uint32_t ECCR3; -} FSMC_Bank3_TypeDef; - -/** - * @brief Flexible Static Memory Controller Bank4 - */ - -typedef struct -{ - __IO uint32_t PCR4; - __IO uint32_t SR4; - __IO uint32_t PMEM4; - __IO uint32_t PATT4; - __IO uint32_t PIO4; -} FSMC_Bank4_TypeDef; - -/** - * @brief General Purpose I/O - */ - -typedef struct -{ - __IO uint32_t CRL; - __IO uint32_t CRH; - __IO uint32_t IDR; - __IO uint32_t ODR; - __IO uint32_t BSRR; - __IO uint32_t BRR; - __IO uint32_t LCKR; -} GPIO_TypeDef; - -/** - * @brief Alternate Function I/O - */ - -typedef struct -{ - __IO uint32_t EVCR; - __IO uint32_t MAPR; - __IO uint32_t EXTICR[4]; - uint32_t RESERVED0; - __IO uint32_t MAPR2; -} AFIO_TypeDef; -/** - * @brief Inter Integrated Circuit Interface - */ - -typedef struct -{ - __IO uint16_t CR1; - uint16_t RESERVED0; - __IO uint16_t CR2; - uint16_t RESERVED1; - __IO uint16_t OAR1; - uint16_t RESERVED2; - __IO uint16_t OAR2; - uint16_t RESERVED3; - __IO uint16_t DR; - uint16_t RESERVED4; - __IO uint16_t SR1; - uint16_t RESERVED5; - __IO uint16_t SR2; - uint16_t RESERVED6; - __IO uint16_t CCR; - uint16_t RESERVED7; - __IO uint16_t TRISE; - uint16_t RESERVED8; -} I2C_TypeDef; - -/** - * @brief Independent WATCHDOG - */ - -typedef struct -{ - __IO uint32_t KR; - __IO uint32_t PR; - __IO uint32_t RLR; - __IO uint32_t SR; -} IWDG_TypeDef; - -/** - * @brief Power Control - */ - -typedef struct -{ - __IO uint32_t CR; - __IO uint32_t CSR; -} PWR_TypeDef; - -/** - * @brief Reset and Clock Control - */ - -typedef struct -{ - __IO uint32_t CR; - __IO uint32_t CFGR; - __IO uint32_t CIR; - __IO uint32_t APB2RSTR; - __IO uint32_t APB1RSTR; - __IO uint32_t AHBENR; - __IO uint32_t APB2ENR; - __IO uint32_t APB1ENR; - __IO uint32_t BDCR; - __IO uint32_t CSR; - -#ifdef STM32F10X_CL - __IO uint32_t AHBRSTR; - __IO uint32_t CFGR2; -#endif /* STM32F10X_CL */ - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) - uint32_t RESERVED0; - __IO uint32_t CFGR2; -#endif /* STM32F10X_LD_VL || STM32F10X_MD_VL || STM32F10X_HD_VL */ -} RCC_TypeDef; - -/** - * @brief Real-Time Clock - */ - -typedef struct -{ - __IO uint16_t CRH; - uint16_t RESERVED0; - __IO uint16_t CRL; - uint16_t RESERVED1; - __IO uint16_t PRLH; - uint16_t RESERVED2; - __IO uint16_t PRLL; - uint16_t RESERVED3; - __IO uint16_t DIVH; - uint16_t RESERVED4; - __IO uint16_t DIVL; - uint16_t RESERVED5; - __IO uint16_t CNTH; - uint16_t RESERVED6; - __IO uint16_t CNTL; - uint16_t RESERVED7; - __IO uint16_t ALRH; - uint16_t RESERVED8; - __IO uint16_t ALRL; - uint16_t RESERVED9; -} RTC_TypeDef; - -/** - * @brief SD host Interface - */ - -typedef struct -{ - __IO uint32_t POWER; - __IO uint32_t CLKCR; - __IO uint32_t ARG; - __IO uint32_t CMD; - __I uint32_t RESPCMD; - __I uint32_t RESP1; - __I uint32_t RESP2; - __I uint32_t RESP3; - __I uint32_t RESP4; - __IO uint32_t DTIMER; - __IO uint32_t DLEN; - __IO uint32_t DCTRL; - __I uint32_t DCOUNT; - __I uint32_t STA; - __IO uint32_t ICR; - __IO uint32_t MASK; - uint32_t RESERVED0[2]; - __I uint32_t FIFOCNT; - uint32_t RESERVED1[13]; - __IO uint32_t FIFO; -} SDIO_TypeDef; - -/** - * @brief Serial Peripheral Interface - */ - -typedef struct -{ - __IO uint16_t CR1; - uint16_t RESERVED0; - __IO uint16_t CR2; - uint16_t RESERVED1; - __IO uint16_t SR; - uint16_t RESERVED2; - __IO uint16_t DR; - uint16_t RESERVED3; - __IO uint16_t CRCPR; - uint16_t RESERVED4; - __IO uint16_t RXCRCR; - uint16_t RESERVED5; - __IO uint16_t TXCRCR; - uint16_t RESERVED6; - __IO uint16_t I2SCFGR; - uint16_t RESERVED7; - __IO uint16_t I2SPR; - uint16_t RESERVED8; -} SPI_TypeDef; - -/** - * @brief TIM - */ - -typedef struct -{ - __IO uint16_t CR1; - uint16_t RESERVED0; - __IO uint16_t CR2; - uint16_t RESERVED1; - __IO uint16_t SMCR; - uint16_t RESERVED2; - __IO uint16_t DIER; - uint16_t RESERVED3; - __IO uint16_t SR; - uint16_t RESERVED4; - __IO uint16_t EGR; - uint16_t RESERVED5; - __IO uint16_t CCMR1; - uint16_t RESERVED6; - __IO uint16_t CCMR2; - uint16_t RESERVED7; - __IO uint16_t CCER; - uint16_t RESERVED8; - __IO uint16_t CNT; - uint16_t RESERVED9; - __IO uint16_t PSC; - uint16_t RESERVED10; - __IO uint16_t ARR; - uint16_t RESERVED11; - __IO uint16_t RCR; - uint16_t RESERVED12; - __IO uint16_t CCR1; - uint16_t RESERVED13; - __IO uint16_t CCR2; - uint16_t RESERVED14; - __IO uint16_t CCR3; - uint16_t RESERVED15; - __IO uint16_t CCR4; - uint16_t RESERVED16; - __IO uint16_t BDTR; - uint16_t RESERVED17; - __IO uint16_t DCR; - uint16_t RESERVED18; - __IO uint16_t DMAR; - uint16_t RESERVED19; -} TIM_TypeDef; - -/** - * @brief Universal Synchronous Asynchronous Receiver Transmitter - */ - -typedef struct -{ - __IO uint16_t SR; - uint16_t RESERVED0; - __IO uint16_t DR; - uint16_t RESERVED1; - __IO uint16_t BRR; - uint16_t RESERVED2; - __IO uint16_t CR1; - uint16_t RESERVED3; - __IO uint16_t CR2; - uint16_t RESERVED4; - __IO uint16_t CR3; - uint16_t RESERVED5; - __IO uint16_t GTPR; - uint16_t RESERVED6; -} USART_TypeDef; - -/** - * @brief Window WATCHDOG - */ - -typedef struct -{ - __IO uint32_t CR; - __IO uint32_t CFR; - __IO uint32_t SR; -} WWDG_TypeDef; - -/** - * @} - */ - -/** @addtogroup Peripheral_memory_map - * @{ - */ - - -#define FLASH_BASE ((uint32_t)0x08000000) /*!< FLASH base address in the alias region */ -#define SRAM_BASE ((uint32_t)0x20000000) /*!< SRAM base address in the alias region */ -#define PERIPH_BASE ((uint32_t)0x40000000) /*!< Peripheral base address in the alias region */ - -#define SRAM_BB_BASE ((uint32_t)0x22000000) /*!< SRAM base address in the bit-band region */ -#define PERIPH_BB_BASE ((uint32_t)0x42000000) /*!< Peripheral base address in the bit-band region */ - -#define FSMC_R_BASE ((uint32_t)0xA0000000) /*!< FSMC registers base address */ - -/*!< Peripheral memory map */ -#define APB1PERIPH_BASE PERIPH_BASE -#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000) -#define AHBPERIPH_BASE (PERIPH_BASE + 0x20000) - -#define TIM2_BASE (APB1PERIPH_BASE + 0x0000) -#define TIM3_BASE (APB1PERIPH_BASE + 0x0400) -#define TIM4_BASE (APB1PERIPH_BASE + 0x0800) -#define TIM5_BASE (APB1PERIPH_BASE + 0x0C00) -#define TIM6_BASE (APB1PERIPH_BASE + 0x1000) -#define TIM7_BASE (APB1PERIPH_BASE + 0x1400) -#define TIM12_BASE (APB1PERIPH_BASE + 0x1800) -#define TIM13_BASE (APB1PERIPH_BASE + 0x1C00) -#define TIM14_BASE (APB1PERIPH_BASE + 0x2000) -#define RTC_BASE (APB1PERIPH_BASE + 0x2800) -#define WWDG_BASE (APB1PERIPH_BASE + 0x2C00) -#define IWDG_BASE (APB1PERIPH_BASE + 0x3000) -#define SPI2_BASE (APB1PERIPH_BASE + 0x3800) -#define SPI3_BASE (APB1PERIPH_BASE + 0x3C00) -#define USART2_BASE (APB1PERIPH_BASE + 0x4400) -#define USART3_BASE (APB1PERIPH_BASE + 0x4800) -#define UART4_BASE (APB1PERIPH_BASE + 0x4C00) -#define UART5_BASE (APB1PERIPH_BASE + 0x5000) -#define I2C1_BASE (APB1PERIPH_BASE + 0x5400) -#define I2C2_BASE (APB1PERIPH_BASE + 0x5800) -#define CAN1_BASE (APB1PERIPH_BASE + 0x6400) -#define CAN2_BASE (APB1PERIPH_BASE + 0x6800) -#define BKP_BASE (APB1PERIPH_BASE + 0x6C00) -#define PWR_BASE (APB1PERIPH_BASE + 0x7000) -#define DAC_BASE (APB1PERIPH_BASE + 0x7400) -#define CEC_BASE (APB1PERIPH_BASE + 0x7800) - -#define AFIO_BASE (APB2PERIPH_BASE + 0x0000) -#define EXTI_BASE (APB2PERIPH_BASE + 0x0400) -#define GPIOA_BASE (APB2PERIPH_BASE + 0x0800) -#define GPIOB_BASE (APB2PERIPH_BASE + 0x0C00) -#define GPIOC_BASE (APB2PERIPH_BASE + 0x1000) -#define GPIOD_BASE (APB2PERIPH_BASE + 0x1400) -#define GPIOE_BASE (APB2PERIPH_BASE + 0x1800) -#define GPIOF_BASE (APB2PERIPH_BASE + 0x1C00) -#define GPIOG_BASE (APB2PERIPH_BASE + 0x2000) -#define ADC1_BASE (APB2PERIPH_BASE + 0x2400) -#define ADC2_BASE (APB2PERIPH_BASE + 0x2800) -#define TIM1_BASE (APB2PERIPH_BASE + 0x2C00) -#define SPI1_BASE (APB2PERIPH_BASE + 0x3000) -#define TIM8_BASE (APB2PERIPH_BASE + 0x3400) -#define USART1_BASE (APB2PERIPH_BASE + 0x3800) -#define ADC3_BASE (APB2PERIPH_BASE + 0x3C00) -#define TIM15_BASE (APB2PERIPH_BASE + 0x4000) -#define TIM16_BASE (APB2PERIPH_BASE + 0x4400) -#define TIM17_BASE (APB2PERIPH_BASE + 0x4800) -#define TIM9_BASE (APB2PERIPH_BASE + 0x4C00) -#define TIM10_BASE (APB2PERIPH_BASE + 0x5000) -#define TIM11_BASE (APB2PERIPH_BASE + 0x5400) - -#define SDIO_BASE (PERIPH_BASE + 0x18000) - -#define DMA1_BASE (AHBPERIPH_BASE + 0x0000) -#define DMA1_Channel1_BASE (AHBPERIPH_BASE + 0x0008) -#define DMA1_Channel2_BASE (AHBPERIPH_BASE + 0x001C) -#define DMA1_Channel3_BASE (AHBPERIPH_BASE + 0x0030) -#define DMA1_Channel4_BASE (AHBPERIPH_BASE + 0x0044) -#define DMA1_Channel5_BASE (AHBPERIPH_BASE + 0x0058) -#define DMA1_Channel6_BASE (AHBPERIPH_BASE + 0x006C) -#define DMA1_Channel7_BASE (AHBPERIPH_BASE + 0x0080) -#define DMA2_BASE (AHBPERIPH_BASE + 0x0400) -#define DMA2_Channel1_BASE (AHBPERIPH_BASE + 0x0408) -#define DMA2_Channel2_BASE (AHBPERIPH_BASE + 0x041C) -#define DMA2_Channel3_BASE (AHBPERIPH_BASE + 0x0430) -#define DMA2_Channel4_BASE (AHBPERIPH_BASE + 0x0444) -#define DMA2_Channel5_BASE (AHBPERIPH_BASE + 0x0458) -#define RCC_BASE (AHBPERIPH_BASE + 0x1000) -#define CRC_BASE (AHBPERIPH_BASE + 0x3000) - -#define FLASH_R_BASE (AHBPERIPH_BASE + 0x2000) /*!< Flash registers base address */ -#define OB_BASE ((uint32_t)0x1FFFF800) /*!< Flash Option Bytes base address */ - -#define ETH_BASE (AHBPERIPH_BASE + 0x8000) -#define ETH_MAC_BASE (ETH_BASE) -#define ETH_MMC_BASE (ETH_BASE + 0x0100) -#define ETH_PTP_BASE (ETH_BASE + 0x0700) -#define ETH_DMA_BASE (ETH_BASE + 0x1000) - -#define FSMC_Bank1_R_BASE (FSMC_R_BASE + 0x0000) /*!< FSMC Bank1 registers base address */ -#define FSMC_Bank1E_R_BASE (FSMC_R_BASE + 0x0104) /*!< FSMC Bank1E registers base address */ -#define FSMC_Bank2_R_BASE (FSMC_R_BASE + 0x0060) /*!< FSMC Bank2 registers base address */ -#define FSMC_Bank3_R_BASE (FSMC_R_BASE + 0x0080) /*!< FSMC Bank3 registers base address */ -#define FSMC_Bank4_R_BASE (FSMC_R_BASE + 0x00A0) /*!< FSMC Bank4 registers base address */ - -#define DBGMCU_BASE ((uint32_t)0xE0042000) /*!< Debug MCU registers base address */ - -/** - * @} - */ - -/** @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 TIM12 ((TIM_TypeDef *) TIM12_BASE) -#define TIM13 ((TIM_TypeDef *) TIM13_BASE) -#define TIM14 ((TIM_TypeDef *) TIM14_BASE) -#define RTC ((RTC_TypeDef *) RTC_BASE) -#define WWDG ((WWDG_TypeDef *) WWDG_BASE) -#define IWDG ((IWDG_TypeDef *) IWDG_BASE) -#define SPI2 ((SPI_TypeDef *) SPI2_BASE) -#define SPI3 ((SPI_TypeDef *) SPI3_BASE) -#define USART2 ((USART_TypeDef *) USART2_BASE) -#define USART3 ((USART_TypeDef *) USART3_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 CAN1 ((CAN_TypeDef *) CAN1_BASE) -#define CAN2 ((CAN_TypeDef *) CAN2_BASE) -#define BKP ((BKP_TypeDef *) BKP_BASE) -#define PWR ((PWR_TypeDef *) PWR_BASE) -#define DAC ((DAC_TypeDef *) DAC_BASE) -#define CEC ((CEC_TypeDef *) CEC_BASE) -#define AFIO ((AFIO_TypeDef *) AFIO_BASE) -#define EXTI ((EXTI_TypeDef *) EXTI_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 ADC1 ((ADC_TypeDef *) ADC1_BASE) -#define ADC2 ((ADC_TypeDef *) ADC2_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 ADC3 ((ADC_TypeDef *) ADC3_BASE) -#define TIM15 ((TIM_TypeDef *) TIM15_BASE) -#define TIM16 ((TIM_TypeDef *) TIM16_BASE) -#define TIM17 ((TIM_TypeDef *) TIM17_BASE) -#define TIM9 ((TIM_TypeDef *) TIM9_BASE) -#define TIM10 ((TIM_TypeDef *) TIM10_BASE) -#define TIM11 ((TIM_TypeDef *) TIM11_BASE) -#define SDIO ((SDIO_TypeDef *) SDIO_BASE) -#define DMA1 ((DMA_TypeDef *) DMA1_BASE) -#define DMA2 ((DMA_TypeDef *) DMA2_BASE) -#define DMA1_Channel1 ((DMA_Channel_TypeDef *) DMA1_Channel1_BASE) -#define DMA1_Channel2 ((DMA_Channel_TypeDef *) DMA1_Channel2_BASE) -#define DMA1_Channel3 ((DMA_Channel_TypeDef *) DMA1_Channel3_BASE) -#define DMA1_Channel4 ((DMA_Channel_TypeDef *) DMA1_Channel4_BASE) -#define DMA1_Channel5 ((DMA_Channel_TypeDef *) DMA1_Channel5_BASE) -#define DMA1_Channel6 ((DMA_Channel_TypeDef *) DMA1_Channel6_BASE) -#define DMA1_Channel7 ((DMA_Channel_TypeDef *) DMA1_Channel7_BASE) -#define DMA2_Channel1 ((DMA_Channel_TypeDef *) DMA2_Channel1_BASE) -#define DMA2_Channel2 ((DMA_Channel_TypeDef *) DMA2_Channel2_BASE) -#define DMA2_Channel3 ((DMA_Channel_TypeDef *) DMA2_Channel3_BASE) -#define DMA2_Channel4 ((DMA_Channel_TypeDef *) DMA2_Channel4_BASE) -#define DMA2_Channel5 ((DMA_Channel_TypeDef *) DMA2_Channel5_BASE) -#define RCC ((RCC_TypeDef *) RCC_BASE) -#define CRC ((CRC_TypeDef *) CRC_BASE) -#define FLASH ((FLASH_TypeDef *) FLASH_R_BASE) -#define OB ((OB_TypeDef *) OB_BASE) -#define ETH ((ETH_TypeDef *) ETH_BASE) -#define FSMC_Bank1 ((FSMC_Bank1_TypeDef *) FSMC_Bank1_R_BASE) -#define FSMC_Bank1E ((FSMC_Bank1E_TypeDef *) FSMC_Bank1E_R_BASE) -#define FSMC_Bank2 ((FSMC_Bank2_TypeDef *) FSMC_Bank2_R_BASE) -#define FSMC_Bank3 ((FSMC_Bank3_TypeDef *) FSMC_Bank3_R_BASE) -#define FSMC_Bank4 ((FSMC_Bank4_TypeDef *) FSMC_Bank4_R_BASE) -#define DBGMCU ((DBGMCU_TypeDef *) DBGMCU_BASE) - -/** - * @} - */ - -/** @addtogroup Exported_constants - * @{ - */ - - /** @addtogroup Peripheral_Registers_Bits_Definition - * @{ - */ - -/******************************************************************************/ -/* Peripheral Registers_Bits_Definition */ -/******************************************************************************/ - -/******************************************************************************/ -/* */ -/* CRC calculation unit */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for CRC_DR register *********************/ -#define CRC_DR_DR ((uint32_t)0xFFFFFFFF) /*!< Data register bits */ - - -/******************* Bit definition for CRC_IDR register ********************/ -#define CRC_IDR_IDR ((uint8_t)0xFF) /*!< General-purpose 8-bit data register bits */ - - -/******************** Bit definition for CRC_CR register ********************/ -#define CRC_CR_RESET ((uint8_t)0x01) /*!< RESET bit */ - -/******************************************************************************/ -/* */ -/* Power Control */ -/* */ -/******************************************************************************/ - -/******************** Bit definition for PWR_CR register ********************/ -#define PWR_CR_LPDS ((uint16_t)0x0001) /*!< Low-Power Deepsleep */ -#define PWR_CR_PDDS ((uint16_t)0x0002) /*!< Power Down Deepsleep */ -#define PWR_CR_CWUF ((uint16_t)0x0004) /*!< Clear Wakeup Flag */ -#define PWR_CR_CSBF ((uint16_t)0x0008) /*!< Clear Standby Flag */ -#define PWR_CR_PVDE ((uint16_t)0x0010) /*!< Power Voltage Detector Enable */ - -#define PWR_CR_PLS ((uint16_t)0x00E0) /*!< PLS[2:0] bits (PVD Level Selection) */ -#define PWR_CR_PLS_0 ((uint16_t)0x0020) /*!< Bit 0 */ -#define PWR_CR_PLS_1 ((uint16_t)0x0040) /*!< Bit 1 */ -#define PWR_CR_PLS_2 ((uint16_t)0x0080) /*!< Bit 2 */ - -/*!< PVD level configuration */ -#define PWR_CR_PLS_2V2 ((uint16_t)0x0000) /*!< PVD level 2.2V */ -#define PWR_CR_PLS_2V3 ((uint16_t)0x0020) /*!< PVD level 2.3V */ -#define PWR_CR_PLS_2V4 ((uint16_t)0x0040) /*!< PVD level 2.4V */ -#define PWR_CR_PLS_2V5 ((uint16_t)0x0060) /*!< PVD level 2.5V */ -#define PWR_CR_PLS_2V6 ((uint16_t)0x0080) /*!< PVD level 2.6V */ -#define PWR_CR_PLS_2V7 ((uint16_t)0x00A0) /*!< PVD level 2.7V */ -#define PWR_CR_PLS_2V8 ((uint16_t)0x00C0) /*!< PVD level 2.8V */ -#define PWR_CR_PLS_2V9 ((uint16_t)0x00E0) /*!< PVD level 2.9V */ - -#define PWR_CR_DBP ((uint16_t)0x0100) /*!< Disable Backup Domain write protection */ - - -/******************* Bit definition for PWR_CSR register ********************/ -#define PWR_CSR_WUF ((uint16_t)0x0001) /*!< Wakeup Flag */ -#define PWR_CSR_SBF ((uint16_t)0x0002) /*!< Standby Flag */ -#define PWR_CSR_PVDO ((uint16_t)0x0004) /*!< PVD Output */ -#define PWR_CSR_EWUP ((uint16_t)0x0100) /*!< Enable WKUP pin */ - -/******************************************************************************/ -/* */ -/* Backup registers */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for BKP_DR1 register ********************/ -#define BKP_DR1_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR2 register ********************/ -#define BKP_DR2_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR3 register ********************/ -#define BKP_DR3_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR4 register ********************/ -#define BKP_DR4_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR5 register ********************/ -#define BKP_DR5_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR6 register ********************/ -#define BKP_DR6_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR7 register ********************/ -#define BKP_DR7_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR8 register ********************/ -#define BKP_DR8_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR9 register ********************/ -#define BKP_DR9_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR10 register *******************/ -#define BKP_DR10_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR11 register *******************/ -#define BKP_DR11_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR12 register *******************/ -#define BKP_DR12_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR13 register *******************/ -#define BKP_DR13_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR14 register *******************/ -#define BKP_DR14_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR15 register *******************/ -#define BKP_DR15_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR16 register *******************/ -#define BKP_DR16_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR17 register *******************/ -#define BKP_DR17_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/****************** Bit definition for BKP_DR18 register ********************/ -#define BKP_DR18_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR19 register *******************/ -#define BKP_DR19_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR20 register *******************/ -#define BKP_DR20_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR21 register *******************/ -#define BKP_DR21_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR22 register *******************/ -#define BKP_DR22_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR23 register *******************/ -#define BKP_DR23_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR24 register *******************/ -#define BKP_DR24_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR25 register *******************/ -#define BKP_DR25_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR26 register *******************/ -#define BKP_DR26_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR27 register *******************/ -#define BKP_DR27_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR28 register *******************/ -#define BKP_DR28_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR29 register *******************/ -#define BKP_DR29_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR30 register *******************/ -#define BKP_DR30_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR31 register *******************/ -#define BKP_DR31_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR32 register *******************/ -#define BKP_DR32_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR33 register *******************/ -#define BKP_DR33_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR34 register *******************/ -#define BKP_DR34_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR35 register *******************/ -#define BKP_DR35_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR36 register *******************/ -#define BKP_DR36_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR37 register *******************/ -#define BKP_DR37_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR38 register *******************/ -#define BKP_DR38_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR39 register *******************/ -#define BKP_DR39_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR40 register *******************/ -#define BKP_DR40_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR41 register *******************/ -#define BKP_DR41_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/******************* Bit definition for BKP_DR42 register *******************/ -#define BKP_DR42_D ((uint16_t)0xFFFF) /*!< Backup data */ - -/****************** Bit definition for BKP_RTCCR register *******************/ -#define BKP_RTCCR_CAL ((uint16_t)0x007F) /*!< Calibration value */ -#define BKP_RTCCR_CCO ((uint16_t)0x0080) /*!< Calibration Clock Output */ -#define BKP_RTCCR_ASOE ((uint16_t)0x0100) /*!< Alarm or Second Output Enable */ -#define BKP_RTCCR_ASOS ((uint16_t)0x0200) /*!< Alarm or Second Output Selection */ - -/******************** Bit definition for BKP_CR register ********************/ -#define BKP_CR_TPE ((uint8_t)0x01) /*!< TAMPER pin enable */ -#define BKP_CR_TPAL ((uint8_t)0x02) /*!< TAMPER pin active level */ - -/******************* Bit definition for BKP_CSR register ********************/ -#define BKP_CSR_CTE ((uint16_t)0x0001) /*!< Clear Tamper event */ -#define BKP_CSR_CTI ((uint16_t)0x0002) /*!< Clear Tamper Interrupt */ -#define BKP_CSR_TPIE ((uint16_t)0x0004) /*!< TAMPER Pin interrupt enable */ -#define BKP_CSR_TEF ((uint16_t)0x0100) /*!< Tamper Event Flag */ -#define BKP_CSR_TIF ((uint16_t)0x0200) /*!< Tamper Interrupt Flag */ - -/******************************************************************************/ -/* */ -/* Reset and Clock Control */ -/* */ -/******************************************************************************/ - -/******************** Bit definition for RCC_CR register ********************/ -#define RCC_CR_HSION ((uint32_t)0x00000001) /*!< Internal High Speed clock enable */ -#define RCC_CR_HSIRDY ((uint32_t)0x00000002) /*!< Internal High Speed clock ready flag */ -#define RCC_CR_HSITRIM ((uint32_t)0x000000F8) /*!< Internal High Speed clock trimming */ -#define RCC_CR_HSICAL ((uint32_t)0x0000FF00) /*!< Internal High Speed clock Calibration */ -#define RCC_CR_HSEON ((uint32_t)0x00010000) /*!< External High Speed clock enable */ -#define RCC_CR_HSERDY ((uint32_t)0x00020000) /*!< External High Speed clock ready flag */ -#define RCC_CR_HSEBYP ((uint32_t)0x00040000) /*!< External High Speed clock Bypass */ -#define RCC_CR_CSSON ((uint32_t)0x00080000) /*!< Clock Security System enable */ -#define RCC_CR_PLLON ((uint32_t)0x01000000) /*!< PLL enable */ -#define RCC_CR_PLLRDY ((uint32_t)0x02000000) /*!< PLL clock ready flag */ - -#ifdef STM32F10X_CL - #define RCC_CR_PLL2ON ((uint32_t)0x04000000) /*!< PLL2 enable */ - #define RCC_CR_PLL2RDY ((uint32_t)0x08000000) /*!< PLL2 clock ready flag */ - #define RCC_CR_PLL3ON ((uint32_t)0x10000000) /*!< PLL3 enable */ - #define RCC_CR_PLL3RDY ((uint32_t)0x20000000) /*!< PLL3 clock ready flag */ -#endif /* STM32F10X_CL */ - -/******************* Bit definition for RCC_CFGR register *******************/ -/*!< SW configuration */ -#define RCC_CFGR_SW ((uint32_t)0x00000003) /*!< SW[1:0] bits (System clock Switch) */ -#define RCC_CFGR_SW_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define RCC_CFGR_SW_1 ((uint32_t)0x00000002) /*!< Bit 1 */ - -#define RCC_CFGR_SW_HSI ((uint32_t)0x00000000) /*!< HSI selected as system clock */ -#define RCC_CFGR_SW_HSE ((uint32_t)0x00000001) /*!< HSE selected as system clock */ -#define RCC_CFGR_SW_PLL ((uint32_t)0x00000002) /*!< PLL selected as system clock */ - -/*!< SWS configuration */ -#define RCC_CFGR_SWS ((uint32_t)0x0000000C) /*!< SWS[1:0] bits (System Clock Switch Status) */ -#define RCC_CFGR_SWS_0 ((uint32_t)0x00000004) /*!< Bit 0 */ -#define RCC_CFGR_SWS_1 ((uint32_t)0x00000008) /*!< Bit 1 */ - -#define RCC_CFGR_SWS_HSI ((uint32_t)0x00000000) /*!< HSI oscillator used as system clock */ -#define RCC_CFGR_SWS_HSE ((uint32_t)0x00000004) /*!< HSE oscillator used as system clock */ -#define RCC_CFGR_SWS_PLL ((uint32_t)0x00000008) /*!< PLL used as system clock */ - -/*!< HPRE configuration */ -#define RCC_CFGR_HPRE ((uint32_t)0x000000F0) /*!< HPRE[3:0] bits (AHB prescaler) */ -#define RCC_CFGR_HPRE_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define RCC_CFGR_HPRE_1 ((uint32_t)0x00000020) /*!< Bit 1 */ -#define RCC_CFGR_HPRE_2 ((uint32_t)0x00000040) /*!< Bit 2 */ -#define RCC_CFGR_HPRE_3 ((uint32_t)0x00000080) /*!< Bit 3 */ - -#define RCC_CFGR_HPRE_DIV1 ((uint32_t)0x00000000) /*!< SYSCLK not divided */ -#define RCC_CFGR_HPRE_DIV2 ((uint32_t)0x00000080) /*!< SYSCLK divided by 2 */ -#define RCC_CFGR_HPRE_DIV4 ((uint32_t)0x00000090) /*!< SYSCLK divided by 4 */ -#define RCC_CFGR_HPRE_DIV8 ((uint32_t)0x000000A0) /*!< SYSCLK divided by 8 */ -#define RCC_CFGR_HPRE_DIV16 ((uint32_t)0x000000B0) /*!< SYSCLK divided by 16 */ -#define RCC_CFGR_HPRE_DIV64 ((uint32_t)0x000000C0) /*!< SYSCLK divided by 64 */ -#define RCC_CFGR_HPRE_DIV128 ((uint32_t)0x000000D0) /*!< SYSCLK divided by 128 */ -#define RCC_CFGR_HPRE_DIV256 ((uint32_t)0x000000E0) /*!< SYSCLK divided by 256 */ -#define RCC_CFGR_HPRE_DIV512 ((uint32_t)0x000000F0) /*!< SYSCLK divided by 512 */ - -/*!< PPRE1 configuration */ -#define RCC_CFGR_PPRE1 ((uint32_t)0x00000700) /*!< PRE1[2:0] bits (APB1 prescaler) */ -#define RCC_CFGR_PPRE1_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define RCC_CFGR_PPRE1_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define RCC_CFGR_PPRE1_2 ((uint32_t)0x00000400) /*!< Bit 2 */ - -#define RCC_CFGR_PPRE1_DIV1 ((uint32_t)0x00000000) /*!< HCLK not divided */ -#define RCC_CFGR_PPRE1_DIV2 ((uint32_t)0x00000400) /*!< HCLK divided by 2 */ -#define RCC_CFGR_PPRE1_DIV4 ((uint32_t)0x00000500) /*!< HCLK divided by 4 */ -#define RCC_CFGR_PPRE1_DIV8 ((uint32_t)0x00000600) /*!< HCLK divided by 8 */ -#define RCC_CFGR_PPRE1_DIV16 ((uint32_t)0x00000700) /*!< HCLK divided by 16 */ - -/*!< PPRE2 configuration */ -#define RCC_CFGR_PPRE2 ((uint32_t)0x00003800) /*!< PRE2[2:0] bits (APB2 prescaler) */ -#define RCC_CFGR_PPRE2_0 ((uint32_t)0x00000800) /*!< Bit 0 */ -#define RCC_CFGR_PPRE2_1 ((uint32_t)0x00001000) /*!< Bit 1 */ -#define RCC_CFGR_PPRE2_2 ((uint32_t)0x00002000) /*!< Bit 2 */ - -#define RCC_CFGR_PPRE2_DIV1 ((uint32_t)0x00000000) /*!< HCLK not divided */ -#define RCC_CFGR_PPRE2_DIV2 ((uint32_t)0x00002000) /*!< HCLK divided by 2 */ -#define RCC_CFGR_PPRE2_DIV4 ((uint32_t)0x00002800) /*!< HCLK divided by 4 */ -#define RCC_CFGR_PPRE2_DIV8 ((uint32_t)0x00003000) /*!< HCLK divided by 8 */ -#define RCC_CFGR_PPRE2_DIV16 ((uint32_t)0x00003800) /*!< HCLK divided by 16 */ - -/*!< ADCPPRE configuration */ -#define RCC_CFGR_ADCPRE ((uint32_t)0x0000C000) /*!< ADCPRE[1:0] bits (ADC prescaler) */ -#define RCC_CFGR_ADCPRE_0 ((uint32_t)0x00004000) /*!< Bit 0 */ -#define RCC_CFGR_ADCPRE_1 ((uint32_t)0x00008000) /*!< Bit 1 */ - -#define RCC_CFGR_ADCPRE_DIV2 ((uint32_t)0x00000000) /*!< PCLK2 divided by 2 */ -#define RCC_CFGR_ADCPRE_DIV4 ((uint32_t)0x00004000) /*!< PCLK2 divided by 4 */ -#define RCC_CFGR_ADCPRE_DIV6 ((uint32_t)0x00008000) /*!< PCLK2 divided by 6 */ -#define RCC_CFGR_ADCPRE_DIV8 ((uint32_t)0x0000C000) /*!< PCLK2 divided by 8 */ - -#define RCC_CFGR_PLLSRC ((uint32_t)0x00010000) /*!< PLL entry clock source */ - -#define RCC_CFGR_PLLXTPRE ((uint32_t)0x00020000) /*!< HSE divider for PLL entry */ - -/*!< PLLMUL configuration */ -#define RCC_CFGR_PLLMULL ((uint32_t)0x003C0000) /*!< PLLMUL[3:0] bits (PLL multiplication factor) */ -#define RCC_CFGR_PLLMULL_0 ((uint32_t)0x00040000) /*!< Bit 0 */ -#define RCC_CFGR_PLLMULL_1 ((uint32_t)0x00080000) /*!< Bit 1 */ -#define RCC_CFGR_PLLMULL_2 ((uint32_t)0x00100000) /*!< Bit 2 */ -#define RCC_CFGR_PLLMULL_3 ((uint32_t)0x00200000) /*!< Bit 3 */ - -#ifdef STM32F10X_CL - #define RCC_CFGR_PLLSRC_HSI_Div2 ((uint32_t)0x00000000) /*!< HSI clock divided by 2 selected as PLL entry clock source */ - #define RCC_CFGR_PLLSRC_PREDIV1 ((uint32_t)0x00010000) /*!< PREDIV1 clock selected as PLL entry clock source */ - - #define RCC_CFGR_PLLXTPRE_PREDIV1 ((uint32_t)0x00000000) /*!< PREDIV1 clock not divided for PLL entry */ - #define RCC_CFGR_PLLXTPRE_PREDIV1_Div2 ((uint32_t)0x00020000) /*!< PREDIV1 clock divided by 2 for PLL entry */ - - #define RCC_CFGR_PLLMULL4 ((uint32_t)0x00080000) /*!< PLL input clock * 4 */ - #define RCC_CFGR_PLLMULL5 ((uint32_t)0x000C0000) /*!< PLL input clock * 5 */ - #define RCC_CFGR_PLLMULL6 ((uint32_t)0x00100000) /*!< PLL input clock * 6 */ - #define RCC_CFGR_PLLMULL7 ((uint32_t)0x00140000) /*!< PLL input clock * 7 */ - #define RCC_CFGR_PLLMULL8 ((uint32_t)0x00180000) /*!< PLL input clock * 8 */ - #define RCC_CFGR_PLLMULL9 ((uint32_t)0x001C0000) /*!< PLL input clock * 9 */ - #define RCC_CFGR_PLLMULL6_5 ((uint32_t)0x00340000) /*!< PLL input clock * 6.5 */ - - #define RCC_CFGR_OTGFSPRE ((uint32_t)0x00400000) /*!< USB OTG FS prescaler */ - -/*!< MCO configuration */ - #define RCC_CFGR_MCO ((uint32_t)0x0F000000) /*!< MCO[3:0] bits (Microcontroller Clock Output) */ - #define RCC_CFGR_MCO_0 ((uint32_t)0x01000000) /*!< Bit 0 */ - #define RCC_CFGR_MCO_1 ((uint32_t)0x02000000) /*!< Bit 1 */ - #define RCC_CFGR_MCO_2 ((uint32_t)0x04000000) /*!< Bit 2 */ - #define RCC_CFGR_MCO_3 ((uint32_t)0x08000000) /*!< Bit 3 */ - - #define RCC_CFGR_MCO_NOCLOCK ((uint32_t)0x00000000) /*!< No clock */ - #define RCC_CFGR_MCO_SYSCLK ((uint32_t)0x04000000) /*!< System clock selected as MCO source */ - #define RCC_CFGR_MCO_HSI ((uint32_t)0x05000000) /*!< HSI clock selected as MCO source */ - #define RCC_CFGR_MCO_HSE ((uint32_t)0x06000000) /*!< HSE clock selected as MCO source */ - #define RCC_CFGR_MCO_PLLCLK_Div2 ((uint32_t)0x07000000) /*!< PLL clock divided by 2 selected as MCO source */ - #define RCC_CFGR_MCO_PLL2CLK ((uint32_t)0x08000000) /*!< PLL2 clock selected as MCO source*/ - #define RCC_CFGR_MCO_PLL3CLK_Div2 ((uint32_t)0x09000000) /*!< PLL3 clock divided by 2 selected as MCO source*/ - #define RCC_CFGR_MCO_Ext_HSE ((uint32_t)0x0A000000) /*!< XT1 external 3-25 MHz oscillator clock selected as MCO source */ - #define RCC_CFGR_MCO_PLL3CLK ((uint32_t)0x0B000000) /*!< PLL3 clock selected as MCO source */ -#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) - #define RCC_CFGR_PLLSRC_HSI_Div2 ((uint32_t)0x00000000) /*!< HSI clock divided by 2 selected as PLL entry clock source */ - #define RCC_CFGR_PLLSRC_PREDIV1 ((uint32_t)0x00010000) /*!< PREDIV1 clock selected as PLL entry clock source */ - - #define RCC_CFGR_PLLXTPRE_PREDIV1 ((uint32_t)0x00000000) /*!< PREDIV1 clock not divided for PLL entry */ - #define RCC_CFGR_PLLXTPRE_PREDIV1_Div2 ((uint32_t)0x00020000) /*!< PREDIV1 clock divided by 2 for PLL entry */ - - #define RCC_CFGR_PLLMULL2 ((uint32_t)0x00000000) /*!< PLL input clock*2 */ - #define RCC_CFGR_PLLMULL3 ((uint32_t)0x00040000) /*!< PLL input clock*3 */ - #define RCC_CFGR_PLLMULL4 ((uint32_t)0x00080000) /*!< PLL input clock*4 */ - #define RCC_CFGR_PLLMULL5 ((uint32_t)0x000C0000) /*!< PLL input clock*5 */ - #define RCC_CFGR_PLLMULL6 ((uint32_t)0x00100000) /*!< PLL input clock*6 */ - #define RCC_CFGR_PLLMULL7 ((uint32_t)0x00140000) /*!< PLL input clock*7 */ - #define RCC_CFGR_PLLMULL8 ((uint32_t)0x00180000) /*!< PLL input clock*8 */ - #define RCC_CFGR_PLLMULL9 ((uint32_t)0x001C0000) /*!< PLL input clock*9 */ - #define RCC_CFGR_PLLMULL10 ((uint32_t)0x00200000) /*!< PLL input clock10 */ - #define RCC_CFGR_PLLMULL11 ((uint32_t)0x00240000) /*!< PLL input clock*11 */ - #define RCC_CFGR_PLLMULL12 ((uint32_t)0x00280000) /*!< PLL input clock*12 */ - #define RCC_CFGR_PLLMULL13 ((uint32_t)0x002C0000) /*!< PLL input clock*13 */ - #define RCC_CFGR_PLLMULL14 ((uint32_t)0x00300000) /*!< PLL input clock*14 */ - #define RCC_CFGR_PLLMULL15 ((uint32_t)0x00340000) /*!< PLL input clock*15 */ - #define RCC_CFGR_PLLMULL16 ((uint32_t)0x00380000) /*!< PLL input clock*16 */ - -/*!< MCO configuration */ - #define RCC_CFGR_MCO ((uint32_t)0x07000000) /*!< MCO[2:0] bits (Microcontroller Clock Output) */ - #define RCC_CFGR_MCO_0 ((uint32_t)0x01000000) /*!< Bit 0 */ - #define RCC_CFGR_MCO_1 ((uint32_t)0x02000000) /*!< Bit 1 */ - #define RCC_CFGR_MCO_2 ((uint32_t)0x04000000) /*!< Bit 2 */ - - #define RCC_CFGR_MCO_NOCLOCK ((uint32_t)0x00000000) /*!< No clock */ - #define RCC_CFGR_MCO_SYSCLK ((uint32_t)0x04000000) /*!< System clock selected as MCO source */ - #define RCC_CFGR_MCO_HSI ((uint32_t)0x05000000) /*!< HSI clock selected as MCO source */ - #define RCC_CFGR_MCO_HSE ((uint32_t)0x06000000) /*!< HSE clock selected as MCO source */ - #define RCC_CFGR_MCO_PLL ((uint32_t)0x07000000) /*!< PLL clock divided by 2 selected as MCO source */ -#else - #define RCC_CFGR_PLLSRC_HSI_Div2 ((uint32_t)0x00000000) /*!< HSI clock divided by 2 selected as PLL entry clock source */ - #define RCC_CFGR_PLLSRC_HSE ((uint32_t)0x00010000) /*!< HSE clock selected as PLL entry clock source */ - - #define RCC_CFGR_PLLXTPRE_HSE ((uint32_t)0x00000000) /*!< HSE clock not divided for PLL entry */ - #define RCC_CFGR_PLLXTPRE_HSE_Div2 ((uint32_t)0x00020000) /*!< HSE clock divided by 2 for PLL entry */ - - #define RCC_CFGR_PLLMULL2 ((uint32_t)0x00000000) /*!< PLL input clock*2 */ - #define RCC_CFGR_PLLMULL3 ((uint32_t)0x00040000) /*!< PLL input clock*3 */ - #define RCC_CFGR_PLLMULL4 ((uint32_t)0x00080000) /*!< PLL input clock*4 */ - #define RCC_CFGR_PLLMULL5 ((uint32_t)0x000C0000) /*!< PLL input clock*5 */ - #define RCC_CFGR_PLLMULL6 ((uint32_t)0x00100000) /*!< PLL input clock*6 */ - #define RCC_CFGR_PLLMULL7 ((uint32_t)0x00140000) /*!< PLL input clock*7 */ - #define RCC_CFGR_PLLMULL8 ((uint32_t)0x00180000) /*!< PLL input clock*8 */ - #define RCC_CFGR_PLLMULL9 ((uint32_t)0x001C0000) /*!< PLL input clock*9 */ - #define RCC_CFGR_PLLMULL10 ((uint32_t)0x00200000) /*!< PLL input clock10 */ - #define RCC_CFGR_PLLMULL11 ((uint32_t)0x00240000) /*!< PLL input clock*11 */ - #define RCC_CFGR_PLLMULL12 ((uint32_t)0x00280000) /*!< PLL input clock*12 */ - #define RCC_CFGR_PLLMULL13 ((uint32_t)0x002C0000) /*!< PLL input clock*13 */ - #define RCC_CFGR_PLLMULL14 ((uint32_t)0x00300000) /*!< PLL input clock*14 */ - #define RCC_CFGR_PLLMULL15 ((uint32_t)0x00340000) /*!< PLL input clock*15 */ - #define RCC_CFGR_PLLMULL16 ((uint32_t)0x00380000) /*!< PLL input clock*16 */ - #define RCC_CFGR_USBPRE ((uint32_t)0x00400000) /*!< USB Device prescaler */ - -/*!< MCO configuration */ - #define RCC_CFGR_MCO ((uint32_t)0x07000000) /*!< MCO[2:0] bits (Microcontroller Clock Output) */ - #define RCC_CFGR_MCO_0 ((uint32_t)0x01000000) /*!< Bit 0 */ - #define RCC_CFGR_MCO_1 ((uint32_t)0x02000000) /*!< Bit 1 */ - #define RCC_CFGR_MCO_2 ((uint32_t)0x04000000) /*!< Bit 2 */ - - #define RCC_CFGR_MCO_NOCLOCK ((uint32_t)0x00000000) /*!< No clock */ - #define RCC_CFGR_MCO_SYSCLK ((uint32_t)0x04000000) /*!< System clock selected as MCO source */ - #define RCC_CFGR_MCO_HSI ((uint32_t)0x05000000) /*!< HSI clock selected as MCO source */ - #define RCC_CFGR_MCO_HSE ((uint32_t)0x06000000) /*!< HSE clock selected as MCO source */ - #define RCC_CFGR_MCO_PLL ((uint32_t)0x07000000) /*!< PLL clock divided by 2 selected as MCO source */ -#endif /* STM32F10X_CL */ - -/*!<****************** Bit definition for RCC_CIR register ********************/ -#define RCC_CIR_LSIRDYF ((uint32_t)0x00000001) /*!< LSI Ready Interrupt flag */ -#define RCC_CIR_LSERDYF ((uint32_t)0x00000002) /*!< LSE Ready Interrupt flag */ -#define RCC_CIR_HSIRDYF ((uint32_t)0x00000004) /*!< HSI Ready Interrupt flag */ -#define RCC_CIR_HSERDYF ((uint32_t)0x00000008) /*!< HSE Ready Interrupt flag */ -#define RCC_CIR_PLLRDYF ((uint32_t)0x00000010) /*!< PLL Ready Interrupt flag */ -#define RCC_CIR_CSSF ((uint32_t)0x00000080) /*!< Clock Security System Interrupt flag */ -#define RCC_CIR_LSIRDYIE ((uint32_t)0x00000100) /*!< LSI Ready Interrupt Enable */ -#define RCC_CIR_LSERDYIE ((uint32_t)0x00000200) /*!< LSE Ready Interrupt Enable */ -#define RCC_CIR_HSIRDYIE ((uint32_t)0x00000400) /*!< HSI Ready Interrupt Enable */ -#define RCC_CIR_HSERDYIE ((uint32_t)0x00000800) /*!< HSE Ready Interrupt Enable */ -#define RCC_CIR_PLLRDYIE ((uint32_t)0x00001000) /*!< PLL Ready Interrupt Enable */ -#define RCC_CIR_LSIRDYC ((uint32_t)0x00010000) /*!< LSI Ready Interrupt Clear */ -#define RCC_CIR_LSERDYC ((uint32_t)0x00020000) /*!< LSE Ready Interrupt Clear */ -#define RCC_CIR_HSIRDYC ((uint32_t)0x00040000) /*!< HSI Ready Interrupt Clear */ -#define RCC_CIR_HSERDYC ((uint32_t)0x00080000) /*!< HSE Ready Interrupt Clear */ -#define RCC_CIR_PLLRDYC ((uint32_t)0x00100000) /*!< PLL Ready Interrupt Clear */ -#define RCC_CIR_CSSC ((uint32_t)0x00800000) /*!< Clock Security System Interrupt Clear */ - -#ifdef STM32F10X_CL - #define RCC_CIR_PLL2RDYF ((uint32_t)0x00000020) /*!< PLL2 Ready Interrupt flag */ - #define RCC_CIR_PLL3RDYF ((uint32_t)0x00000040) /*!< PLL3 Ready Interrupt flag */ - #define RCC_CIR_PLL2RDYIE ((uint32_t)0x00002000) /*!< PLL2 Ready Interrupt Enable */ - #define RCC_CIR_PLL3RDYIE ((uint32_t)0x00004000) /*!< PLL3 Ready Interrupt Enable */ - #define RCC_CIR_PLL2RDYC ((uint32_t)0x00200000) /*!< PLL2 Ready Interrupt Clear */ - #define RCC_CIR_PLL3RDYC ((uint32_t)0x00400000) /*!< PLL3 Ready Interrupt Clear */ -#endif /* STM32F10X_CL */ - -/***************** Bit definition for RCC_APB2RSTR register *****************/ -#define RCC_APB2RSTR_AFIORST ((uint32_t)0x00000001) /*!< Alternate Function I/O reset */ -#define RCC_APB2RSTR_IOPARST ((uint32_t)0x00000004) /*!< I/O port A reset */ -#define RCC_APB2RSTR_IOPBRST ((uint32_t)0x00000008) /*!< I/O port B reset */ -#define RCC_APB2RSTR_IOPCRST ((uint32_t)0x00000010) /*!< I/O port C reset */ -#define RCC_APB2RSTR_IOPDRST ((uint32_t)0x00000020) /*!< I/O port D reset */ -#define RCC_APB2RSTR_ADC1RST ((uint32_t)0x00000200) /*!< ADC 1 interface reset */ - -#if !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD_VL) -#define RCC_APB2RSTR_ADC2RST ((uint32_t)0x00000400) /*!< ADC 2 interface reset */ -#endif - -#define RCC_APB2RSTR_TIM1RST ((uint32_t)0x00000800) /*!< TIM1 Timer reset */ -#define RCC_APB2RSTR_SPI1RST ((uint32_t)0x00001000) /*!< SPI 1 reset */ -#define RCC_APB2RSTR_USART1RST ((uint32_t)0x00004000) /*!< USART1 reset */ - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) -#define RCC_APB2RSTR_TIM15RST ((uint32_t)0x00010000) /*!< TIM15 Timer reset */ -#define RCC_APB2RSTR_TIM16RST ((uint32_t)0x00020000) /*!< TIM16 Timer reset */ -#define RCC_APB2RSTR_TIM17RST ((uint32_t)0x00040000) /*!< TIM17 Timer reset */ -#endif - -#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) - #define RCC_APB2RSTR_IOPERST ((uint32_t)0x00000040) /*!< I/O port E reset */ -#endif /* STM32F10X_LD && STM32F10X_LD_VL */ - -#if defined (STM32F10X_HD) || defined (STM32F10X_XL) - #define RCC_APB2RSTR_IOPFRST ((uint32_t)0x00000080) /*!< I/O port F reset */ - #define RCC_APB2RSTR_IOPGRST ((uint32_t)0x00000100) /*!< I/O port G reset */ - #define RCC_APB2RSTR_TIM8RST ((uint32_t)0x00002000) /*!< TIM8 Timer reset */ - #define RCC_APB2RSTR_ADC3RST ((uint32_t)0x00008000) /*!< ADC3 interface reset */ -#endif - -#if defined (STM32F10X_HD_VL) - #define RCC_APB2RSTR_IOPFRST ((uint32_t)0x00000080) /*!< I/O port F reset */ - #define RCC_APB2RSTR_IOPGRST ((uint32_t)0x00000100) /*!< I/O port G reset */ -#endif - -#ifdef STM32F10X_XL - #define RCC_APB2RSTR_TIM9RST ((uint32_t)0x00080000) /*!< TIM9 Timer reset */ - #define RCC_APB2RSTR_TIM10RST ((uint32_t)0x00100000) /*!< TIM10 Timer reset */ - #define RCC_APB2RSTR_TIM11RST ((uint32_t)0x00200000) /*!< TIM11 Timer reset */ -#endif /* STM32F10X_XL */ - -/***************** Bit definition for RCC_APB1RSTR register *****************/ -#define RCC_APB1RSTR_TIM2RST ((uint32_t)0x00000001) /*!< Timer 2 reset */ -#define RCC_APB1RSTR_TIM3RST ((uint32_t)0x00000002) /*!< Timer 3 reset */ -#define RCC_APB1RSTR_WWDGRST ((uint32_t)0x00000800) /*!< Window Watchdog reset */ -#define RCC_APB1RSTR_USART2RST ((uint32_t)0x00020000) /*!< USART 2 reset */ -#define RCC_APB1RSTR_I2C1RST ((uint32_t)0x00200000) /*!< I2C 1 reset */ - -#if !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD_VL) -#define RCC_APB1RSTR_CAN1RST ((uint32_t)0x02000000) /*!< CAN1 reset */ -#endif - -#define RCC_APB1RSTR_BKPRST ((uint32_t)0x08000000) /*!< Backup interface reset */ -#define RCC_APB1RSTR_PWRRST ((uint32_t)0x10000000) /*!< Power interface reset */ - -#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) - #define RCC_APB1RSTR_TIM4RST ((uint32_t)0x00000004) /*!< Timer 4 reset */ - #define RCC_APB1RSTR_SPI2RST ((uint32_t)0x00004000) /*!< SPI 2 reset */ - #define RCC_APB1RSTR_USART3RST ((uint32_t)0x00040000) /*!< USART 3 reset */ - #define RCC_APB1RSTR_I2C2RST ((uint32_t)0x00400000) /*!< I2C 2 reset */ -#endif /* STM32F10X_LD && STM32F10X_LD_VL */ - -#if defined (STM32F10X_HD) || defined (STM32F10X_MD) || defined (STM32F10X_LD) || defined (STM32F10X_XL) - #define RCC_APB1RSTR_USBRST ((uint32_t)0x00800000) /*!< USB Device reset */ -#endif - -#if defined (STM32F10X_HD) || defined (STM32F10X_CL) || defined (STM32F10X_XL) - #define RCC_APB1RSTR_TIM5RST ((uint32_t)0x00000008) /*!< Timer 5 reset */ - #define RCC_APB1RSTR_TIM6RST ((uint32_t)0x00000010) /*!< Timer 6 reset */ - #define RCC_APB1RSTR_TIM7RST ((uint32_t)0x00000020) /*!< Timer 7 reset */ - #define RCC_APB1RSTR_SPI3RST ((uint32_t)0x00008000) /*!< SPI 3 reset */ - #define RCC_APB1RSTR_UART4RST ((uint32_t)0x00080000) /*!< UART 4 reset */ - #define RCC_APB1RSTR_UART5RST ((uint32_t)0x00100000) /*!< UART 5 reset */ - #define RCC_APB1RSTR_DACRST ((uint32_t)0x20000000) /*!< DAC interface reset */ -#endif - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) - #define RCC_APB1RSTR_TIM6RST ((uint32_t)0x00000010) /*!< Timer 6 reset */ - #define RCC_APB1RSTR_TIM7RST ((uint32_t)0x00000020) /*!< Timer 7 reset */ - #define RCC_APB1RSTR_DACRST ((uint32_t)0x20000000) /*!< DAC interface reset */ - #define RCC_APB1RSTR_CECRST ((uint32_t)0x40000000) /*!< CEC interface reset */ -#endif - -#if defined (STM32F10X_HD_VL) - #define RCC_APB1RSTR_TIM5RST ((uint32_t)0x00000008) /*!< Timer 5 reset */ - #define RCC_APB1RSTR_TIM12RST ((uint32_t)0x00000040) /*!< TIM12 Timer reset */ - #define RCC_APB1RSTR_TIM13RST ((uint32_t)0x00000080) /*!< TIM13 Timer reset */ - #define RCC_APB1RSTR_TIM14RST ((uint32_t)0x00000100) /*!< TIM14 Timer reset */ - #define RCC_APB1RSTR_SPI3RST ((uint32_t)0x00008000) /*!< SPI 3 reset */ - #define RCC_APB1RSTR_UART4RST ((uint32_t)0x00080000) /*!< UART 4 reset */ - #define RCC_APB1RSTR_UART5RST ((uint32_t)0x00100000) /*!< UART 5 reset */ -#endif - -#ifdef STM32F10X_CL - #define RCC_APB1RSTR_CAN2RST ((uint32_t)0x04000000) /*!< CAN2 reset */ -#endif /* STM32F10X_CL */ - -#ifdef STM32F10X_XL - #define RCC_APB1RSTR_TIM12RST ((uint32_t)0x00000040) /*!< TIM12 Timer reset */ - #define RCC_APB1RSTR_TIM13RST ((uint32_t)0x00000080) /*!< TIM13 Timer reset */ - #define RCC_APB1RSTR_TIM14RST ((uint32_t)0x00000100) /*!< TIM14 Timer reset */ -#endif /* STM32F10X_XL */ - -/****************** Bit definition for RCC_AHBENR register ******************/ -#define RCC_AHBENR_DMA1EN ((uint16_t)0x0001) /*!< DMA1 clock enable */ -#define RCC_AHBENR_SRAMEN ((uint16_t)0x0004) /*!< SRAM interface clock enable */ -#define RCC_AHBENR_FLITFEN ((uint16_t)0x0010) /*!< FLITF clock enable */ -#define RCC_AHBENR_CRCEN ((uint16_t)0x0040) /*!< CRC clock enable */ - -#if defined (STM32F10X_HD) || defined (STM32F10X_CL) || defined (STM32F10X_HD_VL) - #define RCC_AHBENR_DMA2EN ((uint16_t)0x0002) /*!< DMA2 clock enable */ -#endif - -#if defined (STM32F10X_HD) || defined (STM32F10X_XL) - #define RCC_AHBENR_FSMCEN ((uint16_t)0x0100) /*!< FSMC clock enable */ - #define RCC_AHBENR_SDIOEN ((uint16_t)0x0400) /*!< SDIO clock enable */ -#endif - -#if defined (STM32F10X_HD_VL) - #define RCC_AHBENR_FSMCEN ((uint16_t)0x0100) /*!< FSMC clock enable */ -#endif - -#ifdef STM32F10X_CL - #define RCC_AHBENR_OTGFSEN ((uint32_t)0x00001000) /*!< USB OTG FS clock enable */ - #define RCC_AHBENR_ETHMACEN ((uint32_t)0x00004000) /*!< ETHERNET MAC clock enable */ - #define RCC_AHBENR_ETHMACTXEN ((uint32_t)0x00008000) /*!< ETHERNET MAC Tx clock enable */ - #define RCC_AHBENR_ETHMACRXEN ((uint32_t)0x00010000) /*!< ETHERNET MAC Rx clock enable */ -#endif /* STM32F10X_CL */ - -/****************** Bit definition for RCC_APB2ENR register *****************/ -#define RCC_APB2ENR_AFIOEN ((uint32_t)0x00000001) /*!< Alternate Function I/O clock enable */ -#define RCC_APB2ENR_IOPAEN ((uint32_t)0x00000004) /*!< I/O port A clock enable */ -#define RCC_APB2ENR_IOPBEN ((uint32_t)0x00000008) /*!< I/O port B clock enable */ -#define RCC_APB2ENR_IOPCEN ((uint32_t)0x00000010) /*!< I/O port C clock enable */ -#define RCC_APB2ENR_IOPDEN ((uint32_t)0x00000020) /*!< I/O port D clock enable */ -#define RCC_APB2ENR_ADC1EN ((uint32_t)0x00000200) /*!< ADC 1 interface clock enable */ - -#if !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD_VL) -#define RCC_APB2ENR_ADC2EN ((uint32_t)0x00000400) /*!< ADC 2 interface clock enable */ -#endif - -#define RCC_APB2ENR_TIM1EN ((uint32_t)0x00000800) /*!< TIM1 Timer clock enable */ -#define RCC_APB2ENR_SPI1EN ((uint32_t)0x00001000) /*!< SPI 1 clock enable */ -#define RCC_APB2ENR_USART1EN ((uint32_t)0x00004000) /*!< USART1 clock enable */ - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) -#define RCC_APB2ENR_TIM15EN ((uint32_t)0x00010000) /*!< TIM15 Timer clock enable */ -#define RCC_APB2ENR_TIM16EN ((uint32_t)0x00020000) /*!< TIM16 Timer clock enable */ -#define RCC_APB2ENR_TIM17EN ((uint32_t)0x00040000) /*!< TIM17 Timer clock enable */ -#endif - -#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) - #define RCC_APB2ENR_IOPEEN ((uint32_t)0x00000040) /*!< I/O port E clock enable */ -#endif /* STM32F10X_LD && STM32F10X_LD_VL */ - -#if defined (STM32F10X_HD) || defined (STM32F10X_XL) - #define RCC_APB2ENR_IOPFEN ((uint32_t)0x00000080) /*!< I/O port F clock enable */ - #define RCC_APB2ENR_IOPGEN ((uint32_t)0x00000100) /*!< I/O port G clock enable */ - #define RCC_APB2ENR_TIM8EN ((uint32_t)0x00002000) /*!< TIM8 Timer clock enable */ - #define RCC_APB2ENR_ADC3EN ((uint32_t)0x00008000) /*!< DMA1 clock enable */ -#endif - -#if defined (STM32F10X_HD_VL) - #define RCC_APB2ENR_IOPFEN ((uint32_t)0x00000080) /*!< I/O port F clock enable */ - #define RCC_APB2ENR_IOPGEN ((uint32_t)0x00000100) /*!< I/O port G clock enable */ -#endif - -#ifdef STM32F10X_XL - #define RCC_APB2ENR_TIM9EN ((uint32_t)0x00080000) /*!< TIM9 Timer clock enable */ - #define RCC_APB2ENR_TIM10EN ((uint32_t)0x00100000) /*!< TIM10 Timer clock enable */ - #define RCC_APB2ENR_TIM11EN ((uint32_t)0x00200000) /*!< TIM11 Timer clock enable */ -#endif - -/***************** Bit definition for RCC_APB1ENR register ******************/ -#define RCC_APB1ENR_TIM2EN ((uint32_t)0x00000001) /*!< Timer 2 clock enabled*/ -#define RCC_APB1ENR_TIM3EN ((uint32_t)0x00000002) /*!< Timer 3 clock enable */ -#define RCC_APB1ENR_WWDGEN ((uint32_t)0x00000800) /*!< Window Watchdog clock enable */ -#define RCC_APB1ENR_USART2EN ((uint32_t)0x00020000) /*!< USART 2 clock enable */ -#define RCC_APB1ENR_I2C1EN ((uint32_t)0x00200000) /*!< I2C 1 clock enable */ - -#if !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD_VL) -#define RCC_APB1ENR_CAN1EN ((uint32_t)0x02000000) /*!< CAN1 clock enable */ -#endif - -#define RCC_APB1ENR_BKPEN ((uint32_t)0x08000000) /*!< Backup interface clock enable */ -#define RCC_APB1ENR_PWREN ((uint32_t)0x10000000) /*!< Power interface clock enable */ - -#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) - #define RCC_APB1ENR_TIM4EN ((uint32_t)0x00000004) /*!< Timer 4 clock enable */ - #define RCC_APB1ENR_SPI2EN ((uint32_t)0x00004000) /*!< SPI 2 clock enable */ - #define RCC_APB1ENR_USART3EN ((uint32_t)0x00040000) /*!< USART 3 clock enable */ - #define RCC_APB1ENR_I2C2EN ((uint32_t)0x00400000) /*!< I2C 2 clock enable */ -#endif /* STM32F10X_LD && STM32F10X_LD_VL */ - -#if defined (STM32F10X_HD) || defined (STM32F10X_MD) || defined (STM32F10X_LD) - #define RCC_APB1ENR_USBEN ((uint32_t)0x00800000) /*!< USB Device clock enable */ -#endif - -#if defined (STM32F10X_HD) || defined (STM32F10X_CL) - #define RCC_APB1ENR_TIM5EN ((uint32_t)0x00000008) /*!< Timer 5 clock enable */ - #define RCC_APB1ENR_TIM6EN ((uint32_t)0x00000010) /*!< Timer 6 clock enable */ - #define RCC_APB1ENR_TIM7EN ((uint32_t)0x00000020) /*!< Timer 7 clock enable */ - #define RCC_APB1ENR_SPI3EN ((uint32_t)0x00008000) /*!< SPI 3 clock enable */ - #define RCC_APB1ENR_UART4EN ((uint32_t)0x00080000) /*!< UART 4 clock enable */ - #define RCC_APB1ENR_UART5EN ((uint32_t)0x00100000) /*!< UART 5 clock enable */ - #define RCC_APB1ENR_DACEN ((uint32_t)0x20000000) /*!< DAC interface clock enable */ -#endif - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) - #define RCC_APB1ENR_TIM6EN ((uint32_t)0x00000010) /*!< Timer 6 clock enable */ - #define RCC_APB1ENR_TIM7EN ((uint32_t)0x00000020) /*!< Timer 7 clock enable */ - #define RCC_APB1ENR_DACEN ((uint32_t)0x20000000) /*!< DAC interface clock enable */ - #define RCC_APB1ENR_CECEN ((uint32_t)0x40000000) /*!< CEC interface clock enable */ -#endif - -#ifdef STM32F10X_HD_VL - #define RCC_APB1ENR_TIM5EN ((uint32_t)0x00000008) /*!< Timer 5 clock enable */ - #define RCC_APB1ENR_TIM12EN ((uint32_t)0x00000040) /*!< TIM12 Timer clock enable */ - #define RCC_APB1ENR_TIM13EN ((uint32_t)0x00000080) /*!< TIM13 Timer clock enable */ - #define RCC_APB1ENR_TIM14EN ((uint32_t)0x00000100) /*!< TIM14 Timer clock enable */ - #define RCC_APB1ENR_SPI3EN ((uint32_t)0x00008000) /*!< SPI 3 clock enable */ - #define RCC_APB1ENR_UART4EN ((uint32_t)0x00080000) /*!< UART 4 clock enable */ - #define RCC_APB1ENR_UART5EN ((uint32_t)0x00100000) /*!< UART 5 clock enable */ -#endif /* STM32F10X_HD_VL */ - -#ifdef STM32F10X_CL - #define RCC_APB1ENR_CAN2EN ((uint32_t)0x04000000) /*!< CAN2 clock enable */ -#endif /* STM32F10X_CL */ - -#ifdef STM32F10X_XL - #define RCC_APB1ENR_TIM12EN ((uint32_t)0x00000040) /*!< TIM12 Timer clock enable */ - #define RCC_APB1ENR_TIM13EN ((uint32_t)0x00000080) /*!< TIM13 Timer clock enable */ - #define RCC_APB1ENR_TIM14EN ((uint32_t)0x00000100) /*!< TIM14 Timer clock enable */ -#endif /* STM32F10X_XL */ - -/******************* Bit definition for RCC_BDCR register *******************/ -#define RCC_BDCR_LSEON ((uint32_t)0x00000001) /*!< External Low Speed oscillator enable */ -#define RCC_BDCR_LSERDY ((uint32_t)0x00000002) /*!< External Low Speed oscillator Ready */ -#define RCC_BDCR_LSEBYP ((uint32_t)0x00000004) /*!< External Low Speed oscillator Bypass */ - -#define RCC_BDCR_RTCSEL ((uint32_t)0x00000300) /*!< RTCSEL[1:0] bits (RTC clock source selection) */ -#define RCC_BDCR_RTCSEL_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define RCC_BDCR_RTCSEL_1 ((uint32_t)0x00000200) /*!< Bit 1 */ - -/*!< RTC congiguration */ -#define RCC_BDCR_RTCSEL_NOCLOCK ((uint32_t)0x00000000) /*!< No clock */ -#define RCC_BDCR_RTCSEL_LSE ((uint32_t)0x00000100) /*!< LSE oscillator clock used as RTC clock */ -#define RCC_BDCR_RTCSEL_LSI ((uint32_t)0x00000200) /*!< LSI oscillator clock used as RTC clock */ -#define RCC_BDCR_RTCSEL_HSE ((uint32_t)0x00000300) /*!< HSE oscillator clock divided by 128 used as RTC clock */ - -#define RCC_BDCR_RTCEN ((uint32_t)0x00008000) /*!< RTC clock enable */ -#define RCC_BDCR_BDRST ((uint32_t)0x00010000) /*!< Backup domain software reset */ - -/******************* Bit definition for RCC_CSR register ********************/ -#define RCC_CSR_LSION ((uint32_t)0x00000001) /*!< Internal Low Speed oscillator enable */ -#define RCC_CSR_LSIRDY ((uint32_t)0x00000002) /*!< Internal Low Speed oscillator Ready */ -#define RCC_CSR_RMVF ((uint32_t)0x01000000) /*!< Remove reset flag */ -#define RCC_CSR_PINRSTF ((uint32_t)0x04000000) /*!< PIN reset flag */ -#define RCC_CSR_PORRSTF ((uint32_t)0x08000000) /*!< POR/PDR reset flag */ -#define RCC_CSR_SFTRSTF ((uint32_t)0x10000000) /*!< Software Reset flag */ -#define RCC_CSR_IWDGRSTF ((uint32_t)0x20000000) /*!< Independent Watchdog reset flag */ -#define RCC_CSR_WWDGRSTF ((uint32_t)0x40000000) /*!< Window watchdog reset flag */ -#define RCC_CSR_LPWRRSTF ((uint32_t)0x80000000) /*!< Low-Power reset flag */ - -#ifdef STM32F10X_CL -/******************* Bit definition for RCC_AHBRSTR register ****************/ - #define RCC_AHBRSTR_OTGFSRST ((uint32_t)0x00001000) /*!< USB OTG FS reset */ - #define RCC_AHBRSTR_ETHMACRST ((uint32_t)0x00004000) /*!< ETHERNET MAC reset */ - -/******************* Bit definition for RCC_CFGR2 register ******************/ -/*!< PREDIV1 configuration */ - #define RCC_CFGR2_PREDIV1 ((uint32_t)0x0000000F) /*!< PREDIV1[3:0] bits */ - #define RCC_CFGR2_PREDIV1_0 ((uint32_t)0x00000001) /*!< Bit 0 */ - #define RCC_CFGR2_PREDIV1_1 ((uint32_t)0x00000002) /*!< Bit 1 */ - #define RCC_CFGR2_PREDIV1_2 ((uint32_t)0x00000004) /*!< Bit 2 */ - #define RCC_CFGR2_PREDIV1_3 ((uint32_t)0x00000008) /*!< Bit 3 */ - - #define RCC_CFGR2_PREDIV1_DIV1 ((uint32_t)0x00000000) /*!< PREDIV1 input clock not divided */ - #define RCC_CFGR2_PREDIV1_DIV2 ((uint32_t)0x00000001) /*!< PREDIV1 input clock divided by 2 */ - #define RCC_CFGR2_PREDIV1_DIV3 ((uint32_t)0x00000002) /*!< PREDIV1 input clock divided by 3 */ - #define RCC_CFGR2_PREDIV1_DIV4 ((uint32_t)0x00000003) /*!< PREDIV1 input clock divided by 4 */ - #define RCC_CFGR2_PREDIV1_DIV5 ((uint32_t)0x00000004) /*!< PREDIV1 input clock divided by 5 */ - #define RCC_CFGR2_PREDIV1_DIV6 ((uint32_t)0x00000005) /*!< PREDIV1 input clock divided by 6 */ - #define RCC_CFGR2_PREDIV1_DIV7 ((uint32_t)0x00000006) /*!< PREDIV1 input clock divided by 7 */ - #define RCC_CFGR2_PREDIV1_DIV8 ((uint32_t)0x00000007) /*!< PREDIV1 input clock divided by 8 */ - #define RCC_CFGR2_PREDIV1_DIV9 ((uint32_t)0x00000008) /*!< PREDIV1 input clock divided by 9 */ - #define RCC_CFGR2_PREDIV1_DIV10 ((uint32_t)0x00000009) /*!< PREDIV1 input clock divided by 10 */ - #define RCC_CFGR2_PREDIV1_DIV11 ((uint32_t)0x0000000A) /*!< PREDIV1 input clock divided by 11 */ - #define RCC_CFGR2_PREDIV1_DIV12 ((uint32_t)0x0000000B) /*!< PREDIV1 input clock divided by 12 */ - #define RCC_CFGR2_PREDIV1_DIV13 ((uint32_t)0x0000000C) /*!< PREDIV1 input clock divided by 13 */ - #define RCC_CFGR2_PREDIV1_DIV14 ((uint32_t)0x0000000D) /*!< PREDIV1 input clock divided by 14 */ - #define RCC_CFGR2_PREDIV1_DIV15 ((uint32_t)0x0000000E) /*!< PREDIV1 input clock divided by 15 */ - #define RCC_CFGR2_PREDIV1_DIV16 ((uint32_t)0x0000000F) /*!< PREDIV1 input clock divided by 16 */ - -/*!< PREDIV2 configuration */ - #define RCC_CFGR2_PREDIV2 ((uint32_t)0x000000F0) /*!< PREDIV2[3:0] bits */ - #define RCC_CFGR2_PREDIV2_0 ((uint32_t)0x00000010) /*!< Bit 0 */ - #define RCC_CFGR2_PREDIV2_1 ((uint32_t)0x00000020) /*!< Bit 1 */ - #define RCC_CFGR2_PREDIV2_2 ((uint32_t)0x00000040) /*!< Bit 2 */ - #define RCC_CFGR2_PREDIV2_3 ((uint32_t)0x00000080) /*!< Bit 3 */ - - #define RCC_CFGR2_PREDIV2_DIV1 ((uint32_t)0x00000000) /*!< PREDIV2 input clock not divided */ - #define RCC_CFGR2_PREDIV2_DIV2 ((uint32_t)0x00000010) /*!< PREDIV2 input clock divided by 2 */ - #define RCC_CFGR2_PREDIV2_DIV3 ((uint32_t)0x00000020) /*!< PREDIV2 input clock divided by 3 */ - #define RCC_CFGR2_PREDIV2_DIV4 ((uint32_t)0x00000030) /*!< PREDIV2 input clock divided by 4 */ - #define RCC_CFGR2_PREDIV2_DIV5 ((uint32_t)0x00000040) /*!< PREDIV2 input clock divided by 5 */ - #define RCC_CFGR2_PREDIV2_DIV6 ((uint32_t)0x00000050) /*!< PREDIV2 input clock divided by 6 */ - #define RCC_CFGR2_PREDIV2_DIV7 ((uint32_t)0x00000060) /*!< PREDIV2 input clock divided by 7 */ - #define RCC_CFGR2_PREDIV2_DIV8 ((uint32_t)0x00000070) /*!< PREDIV2 input clock divided by 8 */ - #define RCC_CFGR2_PREDIV2_DIV9 ((uint32_t)0x00000080) /*!< PREDIV2 input clock divided by 9 */ - #define RCC_CFGR2_PREDIV2_DIV10 ((uint32_t)0x00000090) /*!< PREDIV2 input clock divided by 10 */ - #define RCC_CFGR2_PREDIV2_DIV11 ((uint32_t)0x000000A0) /*!< PREDIV2 input clock divided by 11 */ - #define RCC_CFGR2_PREDIV2_DIV12 ((uint32_t)0x000000B0) /*!< PREDIV2 input clock divided by 12 */ - #define RCC_CFGR2_PREDIV2_DIV13 ((uint32_t)0x000000C0) /*!< PREDIV2 input clock divided by 13 */ - #define RCC_CFGR2_PREDIV2_DIV14 ((uint32_t)0x000000D0) /*!< PREDIV2 input clock divided by 14 */ - #define RCC_CFGR2_PREDIV2_DIV15 ((uint32_t)0x000000E0) /*!< PREDIV2 input clock divided by 15 */ - #define RCC_CFGR2_PREDIV2_DIV16 ((uint32_t)0x000000F0) /*!< PREDIV2 input clock divided by 16 */ - -/*!< PLL2MUL configuration */ - #define RCC_CFGR2_PLL2MUL ((uint32_t)0x00000F00) /*!< PLL2MUL[3:0] bits */ - #define RCC_CFGR2_PLL2MUL_0 ((uint32_t)0x00000100) /*!< Bit 0 */ - #define RCC_CFGR2_PLL2MUL_1 ((uint32_t)0x00000200) /*!< Bit 1 */ - #define RCC_CFGR2_PLL2MUL_2 ((uint32_t)0x00000400) /*!< Bit 2 */ - #define RCC_CFGR2_PLL2MUL_3 ((uint32_t)0x00000800) /*!< Bit 3 */ - - #define RCC_CFGR2_PLL2MUL8 ((uint32_t)0x00000600) /*!< PLL2 input clock * 8 */ - #define RCC_CFGR2_PLL2MUL9 ((uint32_t)0x00000700) /*!< PLL2 input clock * 9 */ - #define RCC_CFGR2_PLL2MUL10 ((uint32_t)0x00000800) /*!< PLL2 input clock * 10 */ - #define RCC_CFGR2_PLL2MUL11 ((uint32_t)0x00000900) /*!< PLL2 input clock * 11 */ - #define RCC_CFGR2_PLL2MUL12 ((uint32_t)0x00000A00) /*!< PLL2 input clock * 12 */ - #define RCC_CFGR2_PLL2MUL13 ((uint32_t)0x00000B00) /*!< PLL2 input clock * 13 */ - #define RCC_CFGR2_PLL2MUL14 ((uint32_t)0x00000C00) /*!< PLL2 input clock * 14 */ - #define RCC_CFGR2_PLL2MUL16 ((uint32_t)0x00000E00) /*!< PLL2 input clock * 16 */ - #define RCC_CFGR2_PLL2MUL20 ((uint32_t)0x00000F00) /*!< PLL2 input clock * 20 */ - -/*!< PLL3MUL configuration */ - #define RCC_CFGR2_PLL3MUL ((uint32_t)0x0000F000) /*!< PLL3MUL[3:0] bits */ - #define RCC_CFGR2_PLL3MUL_0 ((uint32_t)0x00001000) /*!< Bit 0 */ - #define RCC_CFGR2_PLL3MUL_1 ((uint32_t)0x00002000) /*!< Bit 1 */ - #define RCC_CFGR2_PLL3MUL_2 ((uint32_t)0x00004000) /*!< Bit 2 */ - #define RCC_CFGR2_PLL3MUL_3 ((uint32_t)0x00008000) /*!< Bit 3 */ - - #define RCC_CFGR2_PLL3MUL8 ((uint32_t)0x00006000) /*!< PLL3 input clock * 8 */ - #define RCC_CFGR2_PLL3MUL9 ((uint32_t)0x00007000) /*!< PLL3 input clock * 9 */ - #define RCC_CFGR2_PLL3MUL10 ((uint32_t)0x00008000) /*!< PLL3 input clock * 10 */ - #define RCC_CFGR2_PLL3MUL11 ((uint32_t)0x00009000) /*!< PLL3 input clock * 11 */ - #define RCC_CFGR2_PLL3MUL12 ((uint32_t)0x0000A000) /*!< PLL3 input clock * 12 */ - #define RCC_CFGR2_PLL3MUL13 ((uint32_t)0x0000B000) /*!< PLL3 input clock * 13 */ - #define RCC_CFGR2_PLL3MUL14 ((uint32_t)0x0000C000) /*!< PLL3 input clock * 14 */ - #define RCC_CFGR2_PLL3MUL16 ((uint32_t)0x0000E000) /*!< PLL3 input clock * 16 */ - #define RCC_CFGR2_PLL3MUL20 ((uint32_t)0x0000F000) /*!< PLL3 input clock * 20 */ - - #define RCC_CFGR2_PREDIV1SRC ((uint32_t)0x00010000) /*!< PREDIV1 entry clock source */ - #define RCC_CFGR2_PREDIV1SRC_PLL2 ((uint32_t)0x00010000) /*!< PLL2 selected as PREDIV1 entry clock source */ - #define RCC_CFGR2_PREDIV1SRC_HSE ((uint32_t)0x00000000) /*!< HSE selected as PREDIV1 entry clock source */ - #define RCC_CFGR2_I2S2SRC ((uint32_t)0x00020000) /*!< I2S2 entry clock source */ - #define RCC_CFGR2_I2S3SRC ((uint32_t)0x00040000) /*!< I2S3 clock source */ -#endif /* STM32F10X_CL */ - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) -/******************* Bit definition for RCC_CFGR2 register ******************/ -/*!< PREDIV1 configuration */ - #define RCC_CFGR2_PREDIV1 ((uint32_t)0x0000000F) /*!< PREDIV1[3:0] bits */ - #define RCC_CFGR2_PREDIV1_0 ((uint32_t)0x00000001) /*!< Bit 0 */ - #define RCC_CFGR2_PREDIV1_1 ((uint32_t)0x00000002) /*!< Bit 1 */ - #define RCC_CFGR2_PREDIV1_2 ((uint32_t)0x00000004) /*!< Bit 2 */ - #define RCC_CFGR2_PREDIV1_3 ((uint32_t)0x00000008) /*!< Bit 3 */ - - #define RCC_CFGR2_PREDIV1_DIV1 ((uint32_t)0x00000000) /*!< PREDIV1 input clock not divided */ - #define RCC_CFGR2_PREDIV1_DIV2 ((uint32_t)0x00000001) /*!< PREDIV1 input clock divided by 2 */ - #define RCC_CFGR2_PREDIV1_DIV3 ((uint32_t)0x00000002) /*!< PREDIV1 input clock divided by 3 */ - #define RCC_CFGR2_PREDIV1_DIV4 ((uint32_t)0x00000003) /*!< PREDIV1 input clock divided by 4 */ - #define RCC_CFGR2_PREDIV1_DIV5 ((uint32_t)0x00000004) /*!< PREDIV1 input clock divided by 5 */ - #define RCC_CFGR2_PREDIV1_DIV6 ((uint32_t)0x00000005) /*!< PREDIV1 input clock divided by 6 */ - #define RCC_CFGR2_PREDIV1_DIV7 ((uint32_t)0x00000006) /*!< PREDIV1 input clock divided by 7 */ - #define RCC_CFGR2_PREDIV1_DIV8 ((uint32_t)0x00000007) /*!< PREDIV1 input clock divided by 8 */ - #define RCC_CFGR2_PREDIV1_DIV9 ((uint32_t)0x00000008) /*!< PREDIV1 input clock divided by 9 */ - #define RCC_CFGR2_PREDIV1_DIV10 ((uint32_t)0x00000009) /*!< PREDIV1 input clock divided by 10 */ - #define RCC_CFGR2_PREDIV1_DIV11 ((uint32_t)0x0000000A) /*!< PREDIV1 input clock divided by 11 */ - #define RCC_CFGR2_PREDIV1_DIV12 ((uint32_t)0x0000000B) /*!< PREDIV1 input clock divided by 12 */ - #define RCC_CFGR2_PREDIV1_DIV13 ((uint32_t)0x0000000C) /*!< PREDIV1 input clock divided by 13 */ - #define RCC_CFGR2_PREDIV1_DIV14 ((uint32_t)0x0000000D) /*!< PREDIV1 input clock divided by 14 */ - #define RCC_CFGR2_PREDIV1_DIV15 ((uint32_t)0x0000000E) /*!< PREDIV1 input clock divided by 15 */ - #define RCC_CFGR2_PREDIV1_DIV16 ((uint32_t)0x0000000F) /*!< PREDIV1 input clock divided by 16 */ -#endif - -/******************************************************************************/ -/* */ -/* General Purpose and Alternate Function I/O */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for GPIO_CRL register *******************/ -#define GPIO_CRL_MODE ((uint32_t)0x33333333) /*!< Port x mode bits */ - -#define GPIO_CRL_MODE0 ((uint32_t)0x00000003) /*!< MODE0[1:0] bits (Port x mode bits, pin 0) */ -#define GPIO_CRL_MODE0_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define GPIO_CRL_MODE0_1 ((uint32_t)0x00000002) /*!< Bit 1 */ - -#define GPIO_CRL_MODE1 ((uint32_t)0x00000030) /*!< MODE1[1:0] bits (Port x mode bits, pin 1) */ -#define GPIO_CRL_MODE1_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define GPIO_CRL_MODE1_1 ((uint32_t)0x00000020) /*!< Bit 1 */ - -#define GPIO_CRL_MODE2 ((uint32_t)0x00000300) /*!< MODE2[1:0] bits (Port x mode bits, pin 2) */ -#define GPIO_CRL_MODE2_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define GPIO_CRL_MODE2_1 ((uint32_t)0x00000200) /*!< Bit 1 */ - -#define GPIO_CRL_MODE3 ((uint32_t)0x00003000) /*!< MODE3[1:0] bits (Port x mode bits, pin 3) */ -#define GPIO_CRL_MODE3_0 ((uint32_t)0x00001000) /*!< Bit 0 */ -#define GPIO_CRL_MODE3_1 ((uint32_t)0x00002000) /*!< Bit 1 */ - -#define GPIO_CRL_MODE4 ((uint32_t)0x00030000) /*!< MODE4[1:0] bits (Port x mode bits, pin 4) */ -#define GPIO_CRL_MODE4_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define GPIO_CRL_MODE4_1 ((uint32_t)0x00020000) /*!< Bit 1 */ - -#define GPIO_CRL_MODE5 ((uint32_t)0x00300000) /*!< MODE5[1:0] bits (Port x mode bits, pin 5) */ -#define GPIO_CRL_MODE5_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define GPIO_CRL_MODE5_1 ((uint32_t)0x00200000) /*!< Bit 1 */ - -#define GPIO_CRL_MODE6 ((uint32_t)0x03000000) /*!< MODE6[1:0] bits (Port x mode bits, pin 6) */ -#define GPIO_CRL_MODE6_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define GPIO_CRL_MODE6_1 ((uint32_t)0x02000000) /*!< Bit 1 */ - -#define GPIO_CRL_MODE7 ((uint32_t)0x30000000) /*!< MODE7[1:0] bits (Port x mode bits, pin 7) */ -#define GPIO_CRL_MODE7_0 ((uint32_t)0x10000000) /*!< Bit 0 */ -#define GPIO_CRL_MODE7_1 ((uint32_t)0x20000000) /*!< Bit 1 */ - -#define GPIO_CRL_CNF ((uint32_t)0xCCCCCCCC) /*!< Port x configuration bits */ - -#define GPIO_CRL_CNF0 ((uint32_t)0x0000000C) /*!< CNF0[1:0] bits (Port x configuration bits, pin 0) */ -#define GPIO_CRL_CNF0_0 ((uint32_t)0x00000004) /*!< Bit 0 */ -#define GPIO_CRL_CNF0_1 ((uint32_t)0x00000008) /*!< Bit 1 */ - -#define GPIO_CRL_CNF1 ((uint32_t)0x000000C0) /*!< CNF1[1:0] bits (Port x configuration bits, pin 1) */ -#define GPIO_CRL_CNF1_0 ((uint32_t)0x00000040) /*!< Bit 0 */ -#define GPIO_CRL_CNF1_1 ((uint32_t)0x00000080) /*!< Bit 1 */ - -#define GPIO_CRL_CNF2 ((uint32_t)0x00000C00) /*!< CNF2[1:0] bits (Port x configuration bits, pin 2) */ -#define GPIO_CRL_CNF2_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define GPIO_CRL_CNF2_1 ((uint32_t)0x00000800) /*!< Bit 1 */ - -#define GPIO_CRL_CNF3 ((uint32_t)0x0000C000) /*!< CNF3[1:0] bits (Port x configuration bits, pin 3) */ -#define GPIO_CRL_CNF3_0 ((uint32_t)0x00004000) /*!< Bit 0 */ -#define GPIO_CRL_CNF3_1 ((uint32_t)0x00008000) /*!< Bit 1 */ - -#define GPIO_CRL_CNF4 ((uint32_t)0x000C0000) /*!< CNF4[1:0] bits (Port x configuration bits, pin 4) */ -#define GPIO_CRL_CNF4_0 ((uint32_t)0x00040000) /*!< Bit 0 */ -#define GPIO_CRL_CNF4_1 ((uint32_t)0x00080000) /*!< Bit 1 */ - -#define GPIO_CRL_CNF5 ((uint32_t)0x00C00000) /*!< CNF5[1:0] bits (Port x configuration bits, pin 5) */ -#define GPIO_CRL_CNF5_0 ((uint32_t)0x00400000) /*!< Bit 0 */ -#define GPIO_CRL_CNF5_1 ((uint32_t)0x00800000) /*!< Bit 1 */ - -#define GPIO_CRL_CNF6 ((uint32_t)0x0C000000) /*!< CNF6[1:0] bits (Port x configuration bits, pin 6) */ -#define GPIO_CRL_CNF6_0 ((uint32_t)0x04000000) /*!< Bit 0 */ -#define GPIO_CRL_CNF6_1 ((uint32_t)0x08000000) /*!< Bit 1 */ - -#define GPIO_CRL_CNF7 ((uint32_t)0xC0000000) /*!< CNF7[1:0] bits (Port x configuration bits, pin 7) */ -#define GPIO_CRL_CNF7_0 ((uint32_t)0x40000000) /*!< Bit 0 */ -#define GPIO_CRL_CNF7_1 ((uint32_t)0x80000000) /*!< Bit 1 */ - -/******************* Bit definition for GPIO_CRH register *******************/ -#define GPIO_CRH_MODE ((uint32_t)0x33333333) /*!< Port x mode bits */ - -#define GPIO_CRH_MODE8 ((uint32_t)0x00000003) /*!< MODE8[1:0] bits (Port x mode bits, pin 8) */ -#define GPIO_CRH_MODE8_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define GPIO_CRH_MODE8_1 ((uint32_t)0x00000002) /*!< Bit 1 */ - -#define GPIO_CRH_MODE9 ((uint32_t)0x00000030) /*!< MODE9[1:0] bits (Port x mode bits, pin 9) */ -#define GPIO_CRH_MODE9_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define GPIO_CRH_MODE9_1 ((uint32_t)0x00000020) /*!< Bit 1 */ - -#define GPIO_CRH_MODE10 ((uint32_t)0x00000300) /*!< MODE10[1:0] bits (Port x mode bits, pin 10) */ -#define GPIO_CRH_MODE10_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define GPIO_CRH_MODE10_1 ((uint32_t)0x00000200) /*!< Bit 1 */ - -#define GPIO_CRH_MODE11 ((uint32_t)0x00003000) /*!< MODE11[1:0] bits (Port x mode bits, pin 11) */ -#define GPIO_CRH_MODE11_0 ((uint32_t)0x00001000) /*!< Bit 0 */ -#define GPIO_CRH_MODE11_1 ((uint32_t)0x00002000) /*!< Bit 1 */ - -#define GPIO_CRH_MODE12 ((uint32_t)0x00030000) /*!< MODE12[1:0] bits (Port x mode bits, pin 12) */ -#define GPIO_CRH_MODE12_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define GPIO_CRH_MODE12_1 ((uint32_t)0x00020000) /*!< Bit 1 */ - -#define GPIO_CRH_MODE13 ((uint32_t)0x00300000) /*!< MODE13[1:0] bits (Port x mode bits, pin 13) */ -#define GPIO_CRH_MODE13_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define GPIO_CRH_MODE13_1 ((uint32_t)0x00200000) /*!< Bit 1 */ - -#define GPIO_CRH_MODE14 ((uint32_t)0x03000000) /*!< MODE14[1:0] bits (Port x mode bits, pin 14) */ -#define GPIO_CRH_MODE14_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define GPIO_CRH_MODE14_1 ((uint32_t)0x02000000) /*!< Bit 1 */ - -#define GPIO_CRH_MODE15 ((uint32_t)0x30000000) /*!< MODE15[1:0] bits (Port x mode bits, pin 15) */ -#define GPIO_CRH_MODE15_0 ((uint32_t)0x10000000) /*!< Bit 0 */ -#define GPIO_CRH_MODE15_1 ((uint32_t)0x20000000) /*!< Bit 1 */ - -#define GPIO_CRH_CNF ((uint32_t)0xCCCCCCCC) /*!< Port x configuration bits */ - -#define GPIO_CRH_CNF8 ((uint32_t)0x0000000C) /*!< CNF8[1:0] bits (Port x configuration bits, pin 8) */ -#define GPIO_CRH_CNF8_0 ((uint32_t)0x00000004) /*!< Bit 0 */ -#define GPIO_CRH_CNF8_1 ((uint32_t)0x00000008) /*!< Bit 1 */ - -#define GPIO_CRH_CNF9 ((uint32_t)0x000000C0) /*!< CNF9[1:0] bits (Port x configuration bits, pin 9) */ -#define GPIO_CRH_CNF9_0 ((uint32_t)0x00000040) /*!< Bit 0 */ -#define GPIO_CRH_CNF9_1 ((uint32_t)0x00000080) /*!< Bit 1 */ - -#define GPIO_CRH_CNF10 ((uint32_t)0x00000C00) /*!< CNF10[1:0] bits (Port x configuration bits, pin 10) */ -#define GPIO_CRH_CNF10_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define GPIO_CRH_CNF10_1 ((uint32_t)0x00000800) /*!< Bit 1 */ - -#define GPIO_CRH_CNF11 ((uint32_t)0x0000C000) /*!< CNF11[1:0] bits (Port x configuration bits, pin 11) */ -#define GPIO_CRH_CNF11_0 ((uint32_t)0x00004000) /*!< Bit 0 */ -#define GPIO_CRH_CNF11_1 ((uint32_t)0x00008000) /*!< Bit 1 */ - -#define GPIO_CRH_CNF12 ((uint32_t)0x000C0000) /*!< CNF12[1:0] bits (Port x configuration bits, pin 12) */ -#define GPIO_CRH_CNF12_0 ((uint32_t)0x00040000) /*!< Bit 0 */ -#define GPIO_CRH_CNF12_1 ((uint32_t)0x00080000) /*!< Bit 1 */ - -#define GPIO_CRH_CNF13 ((uint32_t)0x00C00000) /*!< CNF13[1:0] bits (Port x configuration bits, pin 13) */ -#define GPIO_CRH_CNF13_0 ((uint32_t)0x00400000) /*!< Bit 0 */ -#define GPIO_CRH_CNF13_1 ((uint32_t)0x00800000) /*!< Bit 1 */ - -#define GPIO_CRH_CNF14 ((uint32_t)0x0C000000) /*!< CNF14[1:0] bits (Port x configuration bits, pin 14) */ -#define GPIO_CRH_CNF14_0 ((uint32_t)0x04000000) /*!< Bit 0 */ -#define GPIO_CRH_CNF14_1 ((uint32_t)0x08000000) /*!< Bit 1 */ - -#define GPIO_CRH_CNF15 ((uint32_t)0xC0000000) /*!< CNF15[1:0] bits (Port x configuration bits, pin 15) */ -#define GPIO_CRH_CNF15_0 ((uint32_t)0x40000000) /*!< Bit 0 */ -#define GPIO_CRH_CNF15_1 ((uint32_t)0x80000000) /*!< Bit 1 */ - -/*!<****************** Bit definition for GPIO_IDR register *******************/ -#define GPIO_IDR_IDR0 ((uint16_t)0x0001) /*!< Port input data, bit 0 */ -#define GPIO_IDR_IDR1 ((uint16_t)0x0002) /*!< Port input data, bit 1 */ -#define GPIO_IDR_IDR2 ((uint16_t)0x0004) /*!< Port input data, bit 2 */ -#define GPIO_IDR_IDR3 ((uint16_t)0x0008) /*!< Port input data, bit 3 */ -#define GPIO_IDR_IDR4 ((uint16_t)0x0010) /*!< Port input data, bit 4 */ -#define GPIO_IDR_IDR5 ((uint16_t)0x0020) /*!< Port input data, bit 5 */ -#define GPIO_IDR_IDR6 ((uint16_t)0x0040) /*!< Port input data, bit 6 */ -#define GPIO_IDR_IDR7 ((uint16_t)0x0080) /*!< Port input data, bit 7 */ -#define GPIO_IDR_IDR8 ((uint16_t)0x0100) /*!< Port input data, bit 8 */ -#define GPIO_IDR_IDR9 ((uint16_t)0x0200) /*!< Port input data, bit 9 */ -#define GPIO_IDR_IDR10 ((uint16_t)0x0400) /*!< Port input data, bit 10 */ -#define GPIO_IDR_IDR11 ((uint16_t)0x0800) /*!< Port input data, bit 11 */ -#define GPIO_IDR_IDR12 ((uint16_t)0x1000) /*!< Port input data, bit 12 */ -#define GPIO_IDR_IDR13 ((uint16_t)0x2000) /*!< Port input data, bit 13 */ -#define GPIO_IDR_IDR14 ((uint16_t)0x4000) /*!< Port input data, bit 14 */ -#define GPIO_IDR_IDR15 ((uint16_t)0x8000) /*!< Port input data, bit 15 */ - -/******************* Bit definition for GPIO_ODR register *******************/ -#define GPIO_ODR_ODR0 ((uint16_t)0x0001) /*!< Port output data, bit 0 */ -#define GPIO_ODR_ODR1 ((uint16_t)0x0002) /*!< Port output data, bit 1 */ -#define GPIO_ODR_ODR2 ((uint16_t)0x0004) /*!< Port output data, bit 2 */ -#define GPIO_ODR_ODR3 ((uint16_t)0x0008) /*!< Port output data, bit 3 */ -#define GPIO_ODR_ODR4 ((uint16_t)0x0010) /*!< Port output data, bit 4 */ -#define GPIO_ODR_ODR5 ((uint16_t)0x0020) /*!< Port output data, bit 5 */ -#define GPIO_ODR_ODR6 ((uint16_t)0x0040) /*!< Port output data, bit 6 */ -#define GPIO_ODR_ODR7 ((uint16_t)0x0080) /*!< Port output data, bit 7 */ -#define GPIO_ODR_ODR8 ((uint16_t)0x0100) /*!< Port output data, bit 8 */ -#define GPIO_ODR_ODR9 ((uint16_t)0x0200) /*!< Port output data, bit 9 */ -#define GPIO_ODR_ODR10 ((uint16_t)0x0400) /*!< Port output data, bit 10 */ -#define GPIO_ODR_ODR11 ((uint16_t)0x0800) /*!< Port output data, bit 11 */ -#define GPIO_ODR_ODR12 ((uint16_t)0x1000) /*!< Port output data, bit 12 */ -#define GPIO_ODR_ODR13 ((uint16_t)0x2000) /*!< Port output data, bit 13 */ -#define GPIO_ODR_ODR14 ((uint16_t)0x4000) /*!< Port output data, bit 14 */ -#define GPIO_ODR_ODR15 ((uint16_t)0x8000) /*!< Port output data, bit 15 */ - -/****************** Bit definition for GPIO_BSRR register *******************/ -#define GPIO_BSRR_BS0 ((uint32_t)0x00000001) /*!< Port x Set bit 0 */ -#define GPIO_BSRR_BS1 ((uint32_t)0x00000002) /*!< Port x Set bit 1 */ -#define GPIO_BSRR_BS2 ((uint32_t)0x00000004) /*!< Port x Set bit 2 */ -#define GPIO_BSRR_BS3 ((uint32_t)0x00000008) /*!< Port x Set bit 3 */ -#define GPIO_BSRR_BS4 ((uint32_t)0x00000010) /*!< Port x Set bit 4 */ -#define GPIO_BSRR_BS5 ((uint32_t)0x00000020) /*!< Port x Set bit 5 */ -#define GPIO_BSRR_BS6 ((uint32_t)0x00000040) /*!< Port x Set bit 6 */ -#define GPIO_BSRR_BS7 ((uint32_t)0x00000080) /*!< Port x Set bit 7 */ -#define GPIO_BSRR_BS8 ((uint32_t)0x00000100) /*!< Port x Set bit 8 */ -#define GPIO_BSRR_BS9 ((uint32_t)0x00000200) /*!< Port x Set bit 9 */ -#define GPIO_BSRR_BS10 ((uint32_t)0x00000400) /*!< Port x Set bit 10 */ -#define GPIO_BSRR_BS11 ((uint32_t)0x00000800) /*!< Port x Set bit 11 */ -#define GPIO_BSRR_BS12 ((uint32_t)0x00001000) /*!< Port x Set bit 12 */ -#define GPIO_BSRR_BS13 ((uint32_t)0x00002000) /*!< Port x Set bit 13 */ -#define GPIO_BSRR_BS14 ((uint32_t)0x00004000) /*!< Port x Set bit 14 */ -#define GPIO_BSRR_BS15 ((uint32_t)0x00008000) /*!< Port x Set bit 15 */ - -#define GPIO_BSRR_BR0 ((uint32_t)0x00010000) /*!< Port x Reset bit 0 */ -#define GPIO_BSRR_BR1 ((uint32_t)0x00020000) /*!< Port x Reset bit 1 */ -#define GPIO_BSRR_BR2 ((uint32_t)0x00040000) /*!< Port x Reset bit 2 */ -#define GPIO_BSRR_BR3 ((uint32_t)0x00080000) /*!< Port x Reset bit 3 */ -#define GPIO_BSRR_BR4 ((uint32_t)0x00100000) /*!< Port x Reset bit 4 */ -#define GPIO_BSRR_BR5 ((uint32_t)0x00200000) /*!< Port x Reset bit 5 */ -#define GPIO_BSRR_BR6 ((uint32_t)0x00400000) /*!< Port x Reset bit 6 */ -#define GPIO_BSRR_BR7 ((uint32_t)0x00800000) /*!< Port x Reset bit 7 */ -#define GPIO_BSRR_BR8 ((uint32_t)0x01000000) /*!< Port x Reset bit 8 */ -#define GPIO_BSRR_BR9 ((uint32_t)0x02000000) /*!< Port x Reset bit 9 */ -#define GPIO_BSRR_BR10 ((uint32_t)0x04000000) /*!< Port x Reset bit 10 */ -#define GPIO_BSRR_BR11 ((uint32_t)0x08000000) /*!< Port x Reset bit 11 */ -#define GPIO_BSRR_BR12 ((uint32_t)0x10000000) /*!< Port x Reset bit 12 */ -#define GPIO_BSRR_BR13 ((uint32_t)0x20000000) /*!< Port x Reset bit 13 */ -#define GPIO_BSRR_BR14 ((uint32_t)0x40000000) /*!< Port x Reset bit 14 */ -#define GPIO_BSRR_BR15 ((uint32_t)0x80000000) /*!< Port x Reset bit 15 */ - -/******************* Bit definition for GPIO_BRR register *******************/ -#define GPIO_BRR_BR0 ((uint16_t)0x0001) /*!< Port x Reset bit 0 */ -#define GPIO_BRR_BR1 ((uint16_t)0x0002) /*!< Port x Reset bit 1 */ -#define GPIO_BRR_BR2 ((uint16_t)0x0004) /*!< Port x Reset bit 2 */ -#define GPIO_BRR_BR3 ((uint16_t)0x0008) /*!< Port x Reset bit 3 */ -#define GPIO_BRR_BR4 ((uint16_t)0x0010) /*!< Port x Reset bit 4 */ -#define GPIO_BRR_BR5 ((uint16_t)0x0020) /*!< Port x Reset bit 5 */ -#define GPIO_BRR_BR6 ((uint16_t)0x0040) /*!< Port x Reset bit 6 */ -#define GPIO_BRR_BR7 ((uint16_t)0x0080) /*!< Port x Reset bit 7 */ -#define GPIO_BRR_BR8 ((uint16_t)0x0100) /*!< Port x Reset bit 8 */ -#define GPIO_BRR_BR9 ((uint16_t)0x0200) /*!< Port x Reset bit 9 */ -#define GPIO_BRR_BR10 ((uint16_t)0x0400) /*!< Port x Reset bit 10 */ -#define GPIO_BRR_BR11 ((uint16_t)0x0800) /*!< Port x Reset bit 11 */ -#define GPIO_BRR_BR12 ((uint16_t)0x1000) /*!< Port x Reset bit 12 */ -#define GPIO_BRR_BR13 ((uint16_t)0x2000) /*!< Port x Reset bit 13 */ -#define GPIO_BRR_BR14 ((uint16_t)0x4000) /*!< Port x Reset bit 14 */ -#define GPIO_BRR_BR15 ((uint16_t)0x8000) /*!< Port x Reset bit 15 */ - -/****************** Bit definition for GPIO_LCKR register *******************/ -#define GPIO_LCKR_LCK0 ((uint32_t)0x00000001) /*!< Port x Lock bit 0 */ -#define GPIO_LCKR_LCK1 ((uint32_t)0x00000002) /*!< Port x Lock bit 1 */ -#define GPIO_LCKR_LCK2 ((uint32_t)0x00000004) /*!< Port x Lock bit 2 */ -#define GPIO_LCKR_LCK3 ((uint32_t)0x00000008) /*!< Port x Lock bit 3 */ -#define GPIO_LCKR_LCK4 ((uint32_t)0x00000010) /*!< Port x Lock bit 4 */ -#define GPIO_LCKR_LCK5 ((uint32_t)0x00000020) /*!< Port x Lock bit 5 */ -#define GPIO_LCKR_LCK6 ((uint32_t)0x00000040) /*!< Port x Lock bit 6 */ -#define GPIO_LCKR_LCK7 ((uint32_t)0x00000080) /*!< Port x Lock bit 7 */ -#define GPIO_LCKR_LCK8 ((uint32_t)0x00000100) /*!< Port x Lock bit 8 */ -#define GPIO_LCKR_LCK9 ((uint32_t)0x00000200) /*!< Port x Lock bit 9 */ -#define GPIO_LCKR_LCK10 ((uint32_t)0x00000400) /*!< Port x Lock bit 10 */ -#define GPIO_LCKR_LCK11 ((uint32_t)0x00000800) /*!< Port x Lock bit 11 */ -#define GPIO_LCKR_LCK12 ((uint32_t)0x00001000) /*!< Port x Lock bit 12 */ -#define GPIO_LCKR_LCK13 ((uint32_t)0x00002000) /*!< Port x Lock bit 13 */ -#define GPIO_LCKR_LCK14 ((uint32_t)0x00004000) /*!< Port x Lock bit 14 */ -#define GPIO_LCKR_LCK15 ((uint32_t)0x00008000) /*!< Port x Lock bit 15 */ -#define GPIO_LCKR_LCKK ((uint32_t)0x00010000) /*!< Lock key */ - -/*----------------------------------------------------------------------------*/ - -/****************** Bit definition for AFIO_EVCR register *******************/ -#define AFIO_EVCR_PIN ((uint8_t)0x0F) /*!< PIN[3:0] bits (Pin selection) */ -#define AFIO_EVCR_PIN_0 ((uint8_t)0x01) /*!< Bit 0 */ -#define AFIO_EVCR_PIN_1 ((uint8_t)0x02) /*!< Bit 1 */ -#define AFIO_EVCR_PIN_2 ((uint8_t)0x04) /*!< Bit 2 */ -#define AFIO_EVCR_PIN_3 ((uint8_t)0x08) /*!< Bit 3 */ - -/*!< PIN configuration */ -#define AFIO_EVCR_PIN_PX0 ((uint8_t)0x00) /*!< Pin 0 selected */ -#define AFIO_EVCR_PIN_PX1 ((uint8_t)0x01) /*!< Pin 1 selected */ -#define AFIO_EVCR_PIN_PX2 ((uint8_t)0x02) /*!< Pin 2 selected */ -#define AFIO_EVCR_PIN_PX3 ((uint8_t)0x03) /*!< Pin 3 selected */ -#define AFIO_EVCR_PIN_PX4 ((uint8_t)0x04) /*!< Pin 4 selected */ -#define AFIO_EVCR_PIN_PX5 ((uint8_t)0x05) /*!< Pin 5 selected */ -#define AFIO_EVCR_PIN_PX6 ((uint8_t)0x06) /*!< Pin 6 selected */ -#define AFIO_EVCR_PIN_PX7 ((uint8_t)0x07) /*!< Pin 7 selected */ -#define AFIO_EVCR_PIN_PX8 ((uint8_t)0x08) /*!< Pin 8 selected */ -#define AFIO_EVCR_PIN_PX9 ((uint8_t)0x09) /*!< Pin 9 selected */ -#define AFIO_EVCR_PIN_PX10 ((uint8_t)0x0A) /*!< Pin 10 selected */ -#define AFIO_EVCR_PIN_PX11 ((uint8_t)0x0B) /*!< Pin 11 selected */ -#define AFIO_EVCR_PIN_PX12 ((uint8_t)0x0C) /*!< Pin 12 selected */ -#define AFIO_EVCR_PIN_PX13 ((uint8_t)0x0D) /*!< Pin 13 selected */ -#define AFIO_EVCR_PIN_PX14 ((uint8_t)0x0E) /*!< Pin 14 selected */ -#define AFIO_EVCR_PIN_PX15 ((uint8_t)0x0F) /*!< Pin 15 selected */ - -#define AFIO_EVCR_PORT ((uint8_t)0x70) /*!< PORT[2:0] bits (Port selection) */ -#define AFIO_EVCR_PORT_0 ((uint8_t)0x10) /*!< Bit 0 */ -#define AFIO_EVCR_PORT_1 ((uint8_t)0x20) /*!< Bit 1 */ -#define AFIO_EVCR_PORT_2 ((uint8_t)0x40) /*!< Bit 2 */ - -/*!< PORT configuration */ -#define AFIO_EVCR_PORT_PA ((uint8_t)0x00) /*!< Port A selected */ -#define AFIO_EVCR_PORT_PB ((uint8_t)0x10) /*!< Port B selected */ -#define AFIO_EVCR_PORT_PC ((uint8_t)0x20) /*!< Port C selected */ -#define AFIO_EVCR_PORT_PD ((uint8_t)0x30) /*!< Port D selected */ -#define AFIO_EVCR_PORT_PE ((uint8_t)0x40) /*!< Port E selected */ - -#define AFIO_EVCR_EVOE ((uint8_t)0x80) /*!< Event Output Enable */ - -/****************** Bit definition for AFIO_MAPR register *******************/ -#define AFIO_MAPR_SPI1_REMAP ((uint32_t)0x00000001) /*!< SPI1 remapping */ -#define AFIO_MAPR_I2C1_REMAP ((uint32_t)0x00000002) /*!< I2C1 remapping */ -#define AFIO_MAPR_USART1_REMAP ((uint32_t)0x00000004) /*!< USART1 remapping */ -#define AFIO_MAPR_USART2_REMAP ((uint32_t)0x00000008) /*!< USART2 remapping */ - -#define AFIO_MAPR_USART3_REMAP ((uint32_t)0x00000030) /*!< USART3_REMAP[1:0] bits (USART3 remapping) */ -#define AFIO_MAPR_USART3_REMAP_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define AFIO_MAPR_USART3_REMAP_1 ((uint32_t)0x00000020) /*!< Bit 1 */ - -/* USART3_REMAP configuration */ -#define AFIO_MAPR_USART3_REMAP_NOREMAP ((uint32_t)0x00000000) /*!< No remap (TX/PB10, RX/PB11, CK/PB12, CTS/PB13, RTS/PB14) */ -#define AFIO_MAPR_USART3_REMAP_PARTIALREMAP ((uint32_t)0x00000010) /*!< Partial remap (TX/PC10, RX/PC11, CK/PC12, CTS/PB13, RTS/PB14) */ -#define AFIO_MAPR_USART3_REMAP_FULLREMAP ((uint32_t)0x00000030) /*!< Full remap (TX/PD8, RX/PD9, CK/PD10, CTS/PD11, RTS/PD12) */ - -#define AFIO_MAPR_TIM1_REMAP ((uint32_t)0x000000C0) /*!< TIM1_REMAP[1:0] bits (TIM1 remapping) */ -#define AFIO_MAPR_TIM1_REMAP_0 ((uint32_t)0x00000040) /*!< Bit 0 */ -#define AFIO_MAPR_TIM1_REMAP_1 ((uint32_t)0x00000080) /*!< Bit 1 */ - -/*!< TIM1_REMAP configuration */ -#define AFIO_MAPR_TIM1_REMAP_NOREMAP ((uint32_t)0x00000000) /*!< No remap (ETR/PA12, CH1/PA8, CH2/PA9, CH3/PA10, CH4/PA11, BKIN/PB12, CH1N/PB13, CH2N/PB14, CH3N/PB15) */ -#define AFIO_MAPR_TIM1_REMAP_PARTIALREMAP ((uint32_t)0x00000040) /*!< Partial remap (ETR/PA12, CH1/PA8, CH2/PA9, CH3/PA10, CH4/PA11, BKIN/PA6, CH1N/PA7, CH2N/PB0, CH3N/PB1) */ -#define AFIO_MAPR_TIM1_REMAP_FULLREMAP ((uint32_t)0x000000C0) /*!< Full remap (ETR/PE7, CH1/PE9, CH2/PE11, CH3/PE13, CH4/PE14, BKIN/PE15, CH1N/PE8, CH2N/PE10, CH3N/PE12) */ - -#define AFIO_MAPR_TIM2_REMAP ((uint32_t)0x00000300) /*!< TIM2_REMAP[1:0] bits (TIM2 remapping) */ -#define AFIO_MAPR_TIM2_REMAP_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define AFIO_MAPR_TIM2_REMAP_1 ((uint32_t)0x00000200) /*!< Bit 1 */ - -/*!< TIM2_REMAP configuration */ -#define AFIO_MAPR_TIM2_REMAP_NOREMAP ((uint32_t)0x00000000) /*!< No remap (CH1/ETR/PA0, CH2/PA1, CH3/PA2, CH4/PA3) */ -#define AFIO_MAPR_TIM2_REMAP_PARTIALREMAP1 ((uint32_t)0x00000100) /*!< Partial remap (CH1/ETR/PA15, CH2/PB3, CH3/PA2, CH4/PA3) */ -#define AFIO_MAPR_TIM2_REMAP_PARTIALREMAP2 ((uint32_t)0x00000200) /*!< Partial remap (CH1/ETR/PA0, CH2/PA1, CH3/PB10, CH4/PB11) */ -#define AFIO_MAPR_TIM2_REMAP_FULLREMAP ((uint32_t)0x00000300) /*!< Full remap (CH1/ETR/PA15, CH2/PB3, CH3/PB10, CH4/PB11) */ - -#define AFIO_MAPR_TIM3_REMAP ((uint32_t)0x00000C00) /*!< TIM3_REMAP[1:0] bits (TIM3 remapping) */ -#define AFIO_MAPR_TIM3_REMAP_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define AFIO_MAPR_TIM3_REMAP_1 ((uint32_t)0x00000800) /*!< Bit 1 */ - -/*!< TIM3_REMAP configuration */ -#define AFIO_MAPR_TIM3_REMAP_NOREMAP ((uint32_t)0x00000000) /*!< No remap (CH1/PA6, CH2/PA7, CH3/PB0, CH4/PB1) */ -#define AFIO_MAPR_TIM3_REMAP_PARTIALREMAP ((uint32_t)0x00000800) /*!< Partial remap (CH1/PB4, CH2/PB5, CH3/PB0, CH4/PB1) */ -#define AFIO_MAPR_TIM3_REMAP_FULLREMAP ((uint32_t)0x00000C00) /*!< Full remap (CH1/PC6, CH2/PC7, CH3/PC8, CH4/PC9) */ - -#define AFIO_MAPR_TIM4_REMAP ((uint32_t)0x00001000) /*!< TIM4_REMAP bit (TIM4 remapping) */ - -#define AFIO_MAPR_CAN_REMAP ((uint32_t)0x00006000) /*!< CAN_REMAP[1:0] bits (CAN Alternate function remapping) */ -#define AFIO_MAPR_CAN_REMAP_0 ((uint32_t)0x00002000) /*!< Bit 0 */ -#define AFIO_MAPR_CAN_REMAP_1 ((uint32_t)0x00004000) /*!< Bit 1 */ - -/*!< CAN_REMAP configuration */ -#define AFIO_MAPR_CAN_REMAP_REMAP1 ((uint32_t)0x00000000) /*!< CANRX mapped to PA11, CANTX mapped to PA12 */ -#define AFIO_MAPR_CAN_REMAP_REMAP2 ((uint32_t)0x00004000) /*!< CANRX mapped to PB8, CANTX mapped to PB9 */ -#define AFIO_MAPR_CAN_REMAP_REMAP3 ((uint32_t)0x00006000) /*!< CANRX mapped to PD0, CANTX mapped to PD1 */ - -#define AFIO_MAPR_PD01_REMAP ((uint32_t)0x00008000) /*!< Port D0/Port D1 mapping on OSC_IN/OSC_OUT */ -#define AFIO_MAPR_TIM5CH4_IREMAP ((uint32_t)0x00010000) /*!< TIM5 Channel4 Internal Remap */ -#define AFIO_MAPR_ADC1_ETRGINJ_REMAP ((uint32_t)0x00020000) /*!< ADC 1 External Trigger Injected Conversion remapping */ -#define AFIO_MAPR_ADC1_ETRGREG_REMAP ((uint32_t)0x00040000) /*!< ADC 1 External Trigger Regular Conversion remapping */ -#define AFIO_MAPR_ADC2_ETRGINJ_REMAP ((uint32_t)0x00080000) /*!< ADC 2 External Trigger Injected Conversion remapping */ -#define AFIO_MAPR_ADC2_ETRGREG_REMAP ((uint32_t)0x00100000) /*!< ADC 2 External Trigger Regular Conversion remapping */ - -/*!< SWJ_CFG configuration */ -#define AFIO_MAPR_SWJ_CFG ((uint32_t)0x07000000) /*!< SWJ_CFG[2:0] bits (Serial Wire JTAG configuration) */ -#define AFIO_MAPR_SWJ_CFG_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define AFIO_MAPR_SWJ_CFG_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define AFIO_MAPR_SWJ_CFG_2 ((uint32_t)0x04000000) /*!< Bit 2 */ - -#define AFIO_MAPR_SWJ_CFG_RESET ((uint32_t)0x00000000) /*!< Full SWJ (JTAG-DP + SW-DP) : Reset State */ -#define AFIO_MAPR_SWJ_CFG_NOJNTRST ((uint32_t)0x01000000) /*!< Full SWJ (JTAG-DP + SW-DP) but without JNTRST */ -#define AFIO_MAPR_SWJ_CFG_JTAGDISABLE ((uint32_t)0x02000000) /*!< JTAG-DP Disabled and SW-DP Enabled */ -#define AFIO_MAPR_SWJ_CFG_DISABLE ((uint32_t)0x04000000) /*!< JTAG-DP Disabled and SW-DP Disabled */ - -#ifdef STM32F10X_CL -/*!< ETH_REMAP configuration */ - #define AFIO_MAPR_ETH_REMAP ((uint32_t)0x00200000) /*!< SPI3_REMAP bit (Ethernet MAC I/O remapping) */ - -/*!< CAN2_REMAP configuration */ - #define AFIO_MAPR_CAN2_REMAP ((uint32_t)0x00400000) /*!< CAN2_REMAP bit (CAN2 I/O remapping) */ - -/*!< MII_RMII_SEL configuration */ - #define AFIO_MAPR_MII_RMII_SEL ((uint32_t)0x00800000) /*!< MII_RMII_SEL bit (Ethernet MII or RMII selection) */ - -/*!< SPI3_REMAP configuration */ - #define AFIO_MAPR_SPI3_REMAP ((uint32_t)0x10000000) /*!< SPI3_REMAP bit (SPI3 remapping) */ - -/*!< TIM2ITR1_IREMAP configuration */ - #define AFIO_MAPR_TIM2ITR1_IREMAP ((uint32_t)0x20000000) /*!< TIM2ITR1_IREMAP bit (TIM2 internal trigger 1 remapping) */ - -/*!< PTP_PPS_REMAP configuration */ - #define AFIO_MAPR_PTP_PPS_REMAP ((uint32_t)0x40000000) /*!< PTP_PPS_REMAP bit (Ethernet PTP PPS remapping) */ -#endif - -/***************** Bit definition for AFIO_EXTICR1 register *****************/ -#define AFIO_EXTICR1_EXTI0 ((uint16_t)0x000F) /*!< EXTI 0 configuration */ -#define AFIO_EXTICR1_EXTI1 ((uint16_t)0x00F0) /*!< EXTI 1 configuration */ -#define AFIO_EXTICR1_EXTI2 ((uint16_t)0x0F00) /*!< EXTI 2 configuration */ -#define AFIO_EXTICR1_EXTI3 ((uint16_t)0xF000) /*!< EXTI 3 configuration */ - -/*!< EXTI0 configuration */ -#define AFIO_EXTICR1_EXTI0_PA ((uint16_t)0x0000) /*!< PA[0] pin */ -#define AFIO_EXTICR1_EXTI0_PB ((uint16_t)0x0001) /*!< PB[0] pin */ -#define AFIO_EXTICR1_EXTI0_PC ((uint16_t)0x0002) /*!< PC[0] pin */ -#define AFIO_EXTICR1_EXTI0_PD ((uint16_t)0x0003) /*!< PD[0] pin */ -#define AFIO_EXTICR1_EXTI0_PE ((uint16_t)0x0004) /*!< PE[0] pin */ -#define AFIO_EXTICR1_EXTI0_PF ((uint16_t)0x0005) /*!< PF[0] pin */ -#define AFIO_EXTICR1_EXTI0_PG ((uint16_t)0x0006) /*!< PG[0] pin */ - -/*!< EXTI1 configuration */ -#define AFIO_EXTICR1_EXTI1_PA ((uint16_t)0x0000) /*!< PA[1] pin */ -#define AFIO_EXTICR1_EXTI1_PB ((uint16_t)0x0010) /*!< PB[1] pin */ -#define AFIO_EXTICR1_EXTI1_PC ((uint16_t)0x0020) /*!< PC[1] pin */ -#define AFIO_EXTICR1_EXTI1_PD ((uint16_t)0x0030) /*!< PD[1] pin */ -#define AFIO_EXTICR1_EXTI1_PE ((uint16_t)0x0040) /*!< PE[1] pin */ -#define AFIO_EXTICR1_EXTI1_PF ((uint16_t)0x0050) /*!< PF[1] pin */ -#define AFIO_EXTICR1_EXTI1_PG ((uint16_t)0x0060) /*!< PG[1] pin */ - -/*!< EXTI2 configuration */ -#define AFIO_EXTICR1_EXTI2_PA ((uint16_t)0x0000) /*!< PA[2] pin */ -#define AFIO_EXTICR1_EXTI2_PB ((uint16_t)0x0100) /*!< PB[2] pin */ -#define AFIO_EXTICR1_EXTI2_PC ((uint16_t)0x0200) /*!< PC[2] pin */ -#define AFIO_EXTICR1_EXTI2_PD ((uint16_t)0x0300) /*!< PD[2] pin */ -#define AFIO_EXTICR1_EXTI2_PE ((uint16_t)0x0400) /*!< PE[2] pin */ -#define AFIO_EXTICR1_EXTI2_PF ((uint16_t)0x0500) /*!< PF[2] pin */ -#define AFIO_EXTICR1_EXTI2_PG ((uint16_t)0x0600) /*!< PG[2] pin */ - -/*!< EXTI3 configuration */ -#define AFIO_EXTICR1_EXTI3_PA ((uint16_t)0x0000) /*!< PA[3] pin */ -#define AFIO_EXTICR1_EXTI3_PB ((uint16_t)0x1000) /*!< PB[3] pin */ -#define AFIO_EXTICR1_EXTI3_PC ((uint16_t)0x2000) /*!< PC[3] pin */ -#define AFIO_EXTICR1_EXTI3_PD ((uint16_t)0x3000) /*!< PD[3] pin */ -#define AFIO_EXTICR1_EXTI3_PE ((uint16_t)0x4000) /*!< PE[3] pin */ -#define AFIO_EXTICR1_EXTI3_PF ((uint16_t)0x5000) /*!< PF[3] pin */ -#define AFIO_EXTICR1_EXTI3_PG ((uint16_t)0x6000) /*!< PG[3] pin */ - -/***************** Bit definition for AFIO_EXTICR2 register *****************/ -#define AFIO_EXTICR2_EXTI4 ((uint16_t)0x000F) /*!< EXTI 4 configuration */ -#define AFIO_EXTICR2_EXTI5 ((uint16_t)0x00F0) /*!< EXTI 5 configuration */ -#define AFIO_EXTICR2_EXTI6 ((uint16_t)0x0F00) /*!< EXTI 6 configuration */ -#define AFIO_EXTICR2_EXTI7 ((uint16_t)0xF000) /*!< EXTI 7 configuration */ - -/*!< EXTI4 configuration */ -#define AFIO_EXTICR2_EXTI4_PA ((uint16_t)0x0000) /*!< PA[4] pin */ -#define AFIO_EXTICR2_EXTI4_PB ((uint16_t)0x0001) /*!< PB[4] pin */ -#define AFIO_EXTICR2_EXTI4_PC ((uint16_t)0x0002) /*!< PC[4] pin */ -#define AFIO_EXTICR2_EXTI4_PD ((uint16_t)0x0003) /*!< PD[4] pin */ -#define AFIO_EXTICR2_EXTI4_PE ((uint16_t)0x0004) /*!< PE[4] pin */ -#define AFIO_EXTICR2_EXTI4_PF ((uint16_t)0x0005) /*!< PF[4] pin */ -#define AFIO_EXTICR2_EXTI4_PG ((uint16_t)0x0006) /*!< PG[4] pin */ - -/* EXTI5 configuration */ -#define AFIO_EXTICR2_EXTI5_PA ((uint16_t)0x0000) /*!< PA[5] pin */ -#define AFIO_EXTICR2_EXTI5_PB ((uint16_t)0x0010) /*!< PB[5] pin */ -#define AFIO_EXTICR2_EXTI5_PC ((uint16_t)0x0020) /*!< PC[5] pin */ -#define AFIO_EXTICR2_EXTI5_PD ((uint16_t)0x0030) /*!< PD[5] pin */ -#define AFIO_EXTICR2_EXTI5_PE ((uint16_t)0x0040) /*!< PE[5] pin */ -#define AFIO_EXTICR2_EXTI5_PF ((uint16_t)0x0050) /*!< PF[5] pin */ -#define AFIO_EXTICR2_EXTI5_PG ((uint16_t)0x0060) /*!< PG[5] pin */ - -/*!< EXTI6 configuration */ -#define AFIO_EXTICR2_EXTI6_PA ((uint16_t)0x0000) /*!< PA[6] pin */ -#define AFIO_EXTICR2_EXTI6_PB ((uint16_t)0x0100) /*!< PB[6] pin */ -#define AFIO_EXTICR2_EXTI6_PC ((uint16_t)0x0200) /*!< PC[6] pin */ -#define AFIO_EXTICR2_EXTI6_PD ((uint16_t)0x0300) /*!< PD[6] pin */ -#define AFIO_EXTICR2_EXTI6_PE ((uint16_t)0x0400) /*!< PE[6] pin */ -#define AFIO_EXTICR2_EXTI6_PF ((uint16_t)0x0500) /*!< PF[6] pin */ -#define AFIO_EXTICR2_EXTI6_PG ((uint16_t)0x0600) /*!< PG[6] pin */ - -/*!< EXTI7 configuration */ -#define AFIO_EXTICR2_EXTI7_PA ((uint16_t)0x0000) /*!< PA[7] pin */ -#define AFIO_EXTICR2_EXTI7_PB ((uint16_t)0x1000) /*!< PB[7] pin */ -#define AFIO_EXTICR2_EXTI7_PC ((uint16_t)0x2000) /*!< PC[7] pin */ -#define AFIO_EXTICR2_EXTI7_PD ((uint16_t)0x3000) /*!< PD[7] pin */ -#define AFIO_EXTICR2_EXTI7_PE ((uint16_t)0x4000) /*!< PE[7] pin */ -#define AFIO_EXTICR2_EXTI7_PF ((uint16_t)0x5000) /*!< PF[7] pin */ -#define AFIO_EXTICR2_EXTI7_PG ((uint16_t)0x6000) /*!< PG[7] pin */ - -/***************** Bit definition for AFIO_EXTICR3 register *****************/ -#define AFIO_EXTICR3_EXTI8 ((uint16_t)0x000F) /*!< EXTI 8 configuration */ -#define AFIO_EXTICR3_EXTI9 ((uint16_t)0x00F0) /*!< EXTI 9 configuration */ -#define AFIO_EXTICR3_EXTI10 ((uint16_t)0x0F00) /*!< EXTI 10 configuration */ -#define AFIO_EXTICR3_EXTI11 ((uint16_t)0xF000) /*!< EXTI 11 configuration */ - -/*!< EXTI8 configuration */ -#define AFIO_EXTICR3_EXTI8_PA ((uint16_t)0x0000) /*!< PA[8] pin */ -#define AFIO_EXTICR3_EXTI8_PB ((uint16_t)0x0001) /*!< PB[8] pin */ -#define AFIO_EXTICR3_EXTI8_PC ((uint16_t)0x0002) /*!< PC[8] pin */ -#define AFIO_EXTICR3_EXTI8_PD ((uint16_t)0x0003) /*!< PD[8] pin */ -#define AFIO_EXTICR3_EXTI8_PE ((uint16_t)0x0004) /*!< PE[8] pin */ -#define AFIO_EXTICR3_EXTI8_PF ((uint16_t)0x0005) /*!< PF[8] pin */ -#define AFIO_EXTICR3_EXTI8_PG ((uint16_t)0x0006) /*!< PG[8] pin */ - -/*!< EXTI9 configuration */ -#define AFIO_EXTICR3_EXTI9_PA ((uint16_t)0x0000) /*!< PA[9] pin */ -#define AFIO_EXTICR3_EXTI9_PB ((uint16_t)0x0010) /*!< PB[9] pin */ -#define AFIO_EXTICR3_EXTI9_PC ((uint16_t)0x0020) /*!< PC[9] pin */ -#define AFIO_EXTICR3_EXTI9_PD ((uint16_t)0x0030) /*!< PD[9] pin */ -#define AFIO_EXTICR3_EXTI9_PE ((uint16_t)0x0040) /*!< PE[9] pin */ -#define AFIO_EXTICR3_EXTI9_PF ((uint16_t)0x0050) /*!< PF[9] pin */ -#define AFIO_EXTICR3_EXTI9_PG ((uint16_t)0x0060) /*!< PG[9] pin */ - -/*!< EXTI10 configuration */ -#define AFIO_EXTICR3_EXTI10_PA ((uint16_t)0x0000) /*!< PA[10] pin */ -#define AFIO_EXTICR3_EXTI10_PB ((uint16_t)0x0100) /*!< PB[10] pin */ -#define AFIO_EXTICR3_EXTI10_PC ((uint16_t)0x0200) /*!< PC[10] pin */ -#define AFIO_EXTICR3_EXTI10_PD ((uint16_t)0x0300) /*!< PD[10] pin */ -#define AFIO_EXTICR3_EXTI10_PE ((uint16_t)0x0400) /*!< PE[10] pin */ -#define AFIO_EXTICR3_EXTI10_PF ((uint16_t)0x0500) /*!< PF[10] pin */ -#define AFIO_EXTICR3_EXTI10_PG ((uint16_t)0x0600) /*!< PG[10] pin */ - -/*!< EXTI11 configuration */ -#define AFIO_EXTICR3_EXTI11_PA ((uint16_t)0x0000) /*!< PA[11] pin */ -#define AFIO_EXTICR3_EXTI11_PB ((uint16_t)0x1000) /*!< PB[11] pin */ -#define AFIO_EXTICR3_EXTI11_PC ((uint16_t)0x2000) /*!< PC[11] pin */ -#define AFIO_EXTICR3_EXTI11_PD ((uint16_t)0x3000) /*!< PD[11] pin */ -#define AFIO_EXTICR3_EXTI11_PE ((uint16_t)0x4000) /*!< PE[11] pin */ -#define AFIO_EXTICR3_EXTI11_PF ((uint16_t)0x5000) /*!< PF[11] pin */ -#define AFIO_EXTICR3_EXTI11_PG ((uint16_t)0x6000) /*!< PG[11] pin */ - -/***************** Bit definition for AFIO_EXTICR4 register *****************/ -#define AFIO_EXTICR4_EXTI12 ((uint16_t)0x000F) /*!< EXTI 12 configuration */ -#define AFIO_EXTICR4_EXTI13 ((uint16_t)0x00F0) /*!< EXTI 13 configuration */ -#define AFIO_EXTICR4_EXTI14 ((uint16_t)0x0F00) /*!< EXTI 14 configuration */ -#define AFIO_EXTICR4_EXTI15 ((uint16_t)0xF000) /*!< EXTI 15 configuration */ - -/* EXTI12 configuration */ -#define AFIO_EXTICR4_EXTI12_PA ((uint16_t)0x0000) /*!< PA[12] pin */ -#define AFIO_EXTICR4_EXTI12_PB ((uint16_t)0x0001) /*!< PB[12] pin */ -#define AFIO_EXTICR4_EXTI12_PC ((uint16_t)0x0002) /*!< PC[12] pin */ -#define AFIO_EXTICR4_EXTI12_PD ((uint16_t)0x0003) /*!< PD[12] pin */ -#define AFIO_EXTICR4_EXTI12_PE ((uint16_t)0x0004) /*!< PE[12] pin */ -#define AFIO_EXTICR4_EXTI12_PF ((uint16_t)0x0005) /*!< PF[12] pin */ -#define AFIO_EXTICR4_EXTI12_PG ((uint16_t)0x0006) /*!< PG[12] pin */ - -/* EXTI13 configuration */ -#define AFIO_EXTICR4_EXTI13_PA ((uint16_t)0x0000) /*!< PA[13] pin */ -#define AFIO_EXTICR4_EXTI13_PB ((uint16_t)0x0010) /*!< PB[13] pin */ -#define AFIO_EXTICR4_EXTI13_PC ((uint16_t)0x0020) /*!< PC[13] pin */ -#define AFIO_EXTICR4_EXTI13_PD ((uint16_t)0x0030) /*!< PD[13] pin */ -#define AFIO_EXTICR4_EXTI13_PE ((uint16_t)0x0040) /*!< PE[13] pin */ -#define AFIO_EXTICR4_EXTI13_PF ((uint16_t)0x0050) /*!< PF[13] pin */ -#define AFIO_EXTICR4_EXTI13_PG ((uint16_t)0x0060) /*!< PG[13] pin */ - -/*!< EXTI14 configuration */ -#define AFIO_EXTICR4_EXTI14_PA ((uint16_t)0x0000) /*!< PA[14] pin */ -#define AFIO_EXTICR4_EXTI14_PB ((uint16_t)0x0100) /*!< PB[14] pin */ -#define AFIO_EXTICR4_EXTI14_PC ((uint16_t)0x0200) /*!< PC[14] pin */ -#define AFIO_EXTICR4_EXTI14_PD ((uint16_t)0x0300) /*!< PD[14] pin */ -#define AFIO_EXTICR4_EXTI14_PE ((uint16_t)0x0400) /*!< PE[14] pin */ -#define AFIO_EXTICR4_EXTI14_PF ((uint16_t)0x0500) /*!< PF[14] pin */ -#define AFIO_EXTICR4_EXTI14_PG ((uint16_t)0x0600) /*!< PG[14] pin */ - -/*!< EXTI15 configuration */ -#define AFIO_EXTICR4_EXTI15_PA ((uint16_t)0x0000) /*!< PA[15] pin */ -#define AFIO_EXTICR4_EXTI15_PB ((uint16_t)0x1000) /*!< PB[15] pin */ -#define AFIO_EXTICR4_EXTI15_PC ((uint16_t)0x2000) /*!< PC[15] pin */ -#define AFIO_EXTICR4_EXTI15_PD ((uint16_t)0x3000) /*!< PD[15] pin */ -#define AFIO_EXTICR4_EXTI15_PE ((uint16_t)0x4000) /*!< PE[15] pin */ -#define AFIO_EXTICR4_EXTI15_PF ((uint16_t)0x5000) /*!< PF[15] pin */ -#define AFIO_EXTICR4_EXTI15_PG ((uint16_t)0x6000) /*!< PG[15] pin */ - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) -/****************** Bit definition for AFIO_MAPR2 register ******************/ -#define AFIO_MAPR2_TIM15_REMAP ((uint32_t)0x00000001) /*!< TIM15 remapping */ -#define AFIO_MAPR2_TIM16_REMAP ((uint32_t)0x00000002) /*!< TIM16 remapping */ -#define AFIO_MAPR2_TIM17_REMAP ((uint32_t)0x00000004) /*!< TIM17 remapping */ -#define AFIO_MAPR2_CEC_REMAP ((uint32_t)0x00000008) /*!< CEC remapping */ -#define AFIO_MAPR2_TIM1_DMA_REMAP ((uint32_t)0x00000010) /*!< TIM1_DMA remapping */ -#endif - -#ifdef STM32F10X_HD_VL -#define AFIO_MAPR2_TIM13_REMAP ((uint32_t)0x00000100) /*!< TIM13 remapping */ -#define AFIO_MAPR2_TIM14_REMAP ((uint32_t)0x00000200) /*!< TIM14 remapping */ -#define AFIO_MAPR2_FSMC_NADV_REMAP ((uint32_t)0x00000400) /*!< FSMC NADV remapping */ -#define AFIO_MAPR2_TIM67_DAC_DMA_REMAP ((uint32_t)0x00000800) /*!< TIM6/TIM7 and DAC DMA remapping */ -#define AFIO_MAPR2_TIM12_REMAP ((uint32_t)0x00001000) /*!< TIM12 remapping */ -#define AFIO_MAPR2_MISC_REMAP ((uint32_t)0x00002000) /*!< Miscellaneous remapping */ -#endif - -#ifdef STM32F10X_XL -/****************** Bit definition for AFIO_MAPR2 register ******************/ -#define AFIO_MAPR2_TIM9_REMAP ((uint32_t)0x00000020) /*!< TIM9 remapping */ -#define AFIO_MAPR2_TIM10_REMAP ((uint32_t)0x00000040) /*!< TIM10 remapping */ -#define AFIO_MAPR2_TIM11_REMAP ((uint32_t)0x00000080) /*!< TIM11 remapping */ -#define AFIO_MAPR2_TIM13_REMAP ((uint32_t)0x00000100) /*!< TIM13 remapping */ -#define AFIO_MAPR2_TIM14_REMAP ((uint32_t)0x00000200) /*!< TIM14 remapping */ -#define AFIO_MAPR2_FSMC_NADV_REMAP ((uint32_t)0x00000400) /*!< FSMC NADV remapping */ -#endif - -/******************************************************************************/ -/* */ -/* SystemTick */ -/* */ -/******************************************************************************/ - -/***************** Bit definition for SysTick_CTRL register *****************/ -#define SysTick_CTRL_ENABLE ((uint32_t)0x00000001) /*!< Counter enable */ -#define SysTick_CTRL_TICKINT ((uint32_t)0x00000002) /*!< Counting down to 0 pends the SysTick handler */ -#define SysTick_CTRL_CLKSOURCE ((uint32_t)0x00000004) /*!< Clock source */ -#define SysTick_CTRL_COUNTFLAG ((uint32_t)0x00010000) /*!< Count Flag */ - -/***************** Bit definition for SysTick_LOAD register *****************/ -#define SysTick_LOAD_RELOAD ((uint32_t)0x00FFFFFF) /*!< Value to load into the SysTick Current Value Register when the counter reaches 0 */ - -/***************** Bit definition for SysTick_VAL register ******************/ -#define SysTick_VAL_CURRENT ((uint32_t)0x00FFFFFF) /*!< Current value at the time the register is accessed */ - -/***************** Bit definition for SysTick_CALIB register ****************/ -#define SysTick_CALIB_TENMS ((uint32_t)0x00FFFFFF) /*!< Reload value to use for 10ms timing */ -#define SysTick_CALIB_SKEW ((uint32_t)0x40000000) /*!< Calibration value is not exactly 10 ms */ -#define SysTick_CALIB_NOREF ((uint32_t)0x80000000) /*!< The reference clock is not provided */ - -/******************************************************************************/ -/* */ -/* Nested Vectored Interrupt Controller */ -/* */ -/******************************************************************************/ - -/****************** Bit definition for NVIC_ISER register *******************/ -#define NVIC_ISER_SETENA ((uint32_t)0xFFFFFFFF) /*!< Interrupt set enable bits */ -#define NVIC_ISER_SETENA_0 ((uint32_t)0x00000001) /*!< bit 0 */ -#define NVIC_ISER_SETENA_1 ((uint32_t)0x00000002) /*!< bit 1 */ -#define NVIC_ISER_SETENA_2 ((uint32_t)0x00000004) /*!< bit 2 */ -#define NVIC_ISER_SETENA_3 ((uint32_t)0x00000008) /*!< bit 3 */ -#define NVIC_ISER_SETENA_4 ((uint32_t)0x00000010) /*!< bit 4 */ -#define NVIC_ISER_SETENA_5 ((uint32_t)0x00000020) /*!< bit 5 */ -#define NVIC_ISER_SETENA_6 ((uint32_t)0x00000040) /*!< bit 6 */ -#define NVIC_ISER_SETENA_7 ((uint32_t)0x00000080) /*!< bit 7 */ -#define NVIC_ISER_SETENA_8 ((uint32_t)0x00000100) /*!< bit 8 */ -#define NVIC_ISER_SETENA_9 ((uint32_t)0x00000200) /*!< bit 9 */ -#define NVIC_ISER_SETENA_10 ((uint32_t)0x00000400) /*!< bit 10 */ -#define NVIC_ISER_SETENA_11 ((uint32_t)0x00000800) /*!< bit 11 */ -#define NVIC_ISER_SETENA_12 ((uint32_t)0x00001000) /*!< bit 12 */ -#define NVIC_ISER_SETENA_13 ((uint32_t)0x00002000) /*!< bit 13 */ -#define NVIC_ISER_SETENA_14 ((uint32_t)0x00004000) /*!< bit 14 */ -#define NVIC_ISER_SETENA_15 ((uint32_t)0x00008000) /*!< bit 15 */ -#define NVIC_ISER_SETENA_16 ((uint32_t)0x00010000) /*!< bit 16 */ -#define NVIC_ISER_SETENA_17 ((uint32_t)0x00020000) /*!< bit 17 */ -#define NVIC_ISER_SETENA_18 ((uint32_t)0x00040000) /*!< bit 18 */ -#define NVIC_ISER_SETENA_19 ((uint32_t)0x00080000) /*!< bit 19 */ -#define NVIC_ISER_SETENA_20 ((uint32_t)0x00100000) /*!< bit 20 */ -#define NVIC_ISER_SETENA_21 ((uint32_t)0x00200000) /*!< bit 21 */ -#define NVIC_ISER_SETENA_22 ((uint32_t)0x00400000) /*!< bit 22 */ -#define NVIC_ISER_SETENA_23 ((uint32_t)0x00800000) /*!< bit 23 */ -#define NVIC_ISER_SETENA_24 ((uint32_t)0x01000000) /*!< bit 24 */ -#define NVIC_ISER_SETENA_25 ((uint32_t)0x02000000) /*!< bit 25 */ -#define NVIC_ISER_SETENA_26 ((uint32_t)0x04000000) /*!< bit 26 */ -#define NVIC_ISER_SETENA_27 ((uint32_t)0x08000000) /*!< bit 27 */ -#define NVIC_ISER_SETENA_28 ((uint32_t)0x10000000) /*!< bit 28 */ -#define NVIC_ISER_SETENA_29 ((uint32_t)0x20000000) /*!< bit 29 */ -#define NVIC_ISER_SETENA_30 ((uint32_t)0x40000000) /*!< bit 30 */ -#define NVIC_ISER_SETENA_31 ((uint32_t)0x80000000) /*!< bit 31 */ - -/****************** Bit definition for NVIC_ICER register *******************/ -#define NVIC_ICER_CLRENA ((uint32_t)0xFFFFFFFF) /*!< Interrupt clear-enable bits */ -#define NVIC_ICER_CLRENA_0 ((uint32_t)0x00000001) /*!< bit 0 */ -#define NVIC_ICER_CLRENA_1 ((uint32_t)0x00000002) /*!< bit 1 */ -#define NVIC_ICER_CLRENA_2 ((uint32_t)0x00000004) /*!< bit 2 */ -#define NVIC_ICER_CLRENA_3 ((uint32_t)0x00000008) /*!< bit 3 */ -#define NVIC_ICER_CLRENA_4 ((uint32_t)0x00000010) /*!< bit 4 */ -#define NVIC_ICER_CLRENA_5 ((uint32_t)0x00000020) /*!< bit 5 */ -#define NVIC_ICER_CLRENA_6 ((uint32_t)0x00000040) /*!< bit 6 */ -#define NVIC_ICER_CLRENA_7 ((uint32_t)0x00000080) /*!< bit 7 */ -#define NVIC_ICER_CLRENA_8 ((uint32_t)0x00000100) /*!< bit 8 */ -#define NVIC_ICER_CLRENA_9 ((uint32_t)0x00000200) /*!< bit 9 */ -#define NVIC_ICER_CLRENA_10 ((uint32_t)0x00000400) /*!< bit 10 */ -#define NVIC_ICER_CLRENA_11 ((uint32_t)0x00000800) /*!< bit 11 */ -#define NVIC_ICER_CLRENA_12 ((uint32_t)0x00001000) /*!< bit 12 */ -#define NVIC_ICER_CLRENA_13 ((uint32_t)0x00002000) /*!< bit 13 */ -#define NVIC_ICER_CLRENA_14 ((uint32_t)0x00004000) /*!< bit 14 */ -#define NVIC_ICER_CLRENA_15 ((uint32_t)0x00008000) /*!< bit 15 */ -#define NVIC_ICER_CLRENA_16 ((uint32_t)0x00010000) /*!< bit 16 */ -#define NVIC_ICER_CLRENA_17 ((uint32_t)0x00020000) /*!< bit 17 */ -#define NVIC_ICER_CLRENA_18 ((uint32_t)0x00040000) /*!< bit 18 */ -#define NVIC_ICER_CLRENA_19 ((uint32_t)0x00080000) /*!< bit 19 */ -#define NVIC_ICER_CLRENA_20 ((uint32_t)0x00100000) /*!< bit 20 */ -#define NVIC_ICER_CLRENA_21 ((uint32_t)0x00200000) /*!< bit 21 */ -#define NVIC_ICER_CLRENA_22 ((uint32_t)0x00400000) /*!< bit 22 */ -#define NVIC_ICER_CLRENA_23 ((uint32_t)0x00800000) /*!< bit 23 */ -#define NVIC_ICER_CLRENA_24 ((uint32_t)0x01000000) /*!< bit 24 */ -#define NVIC_ICER_CLRENA_25 ((uint32_t)0x02000000) /*!< bit 25 */ -#define NVIC_ICER_CLRENA_26 ((uint32_t)0x04000000) /*!< bit 26 */ -#define NVIC_ICER_CLRENA_27 ((uint32_t)0x08000000) /*!< bit 27 */ -#define NVIC_ICER_CLRENA_28 ((uint32_t)0x10000000) /*!< bit 28 */ -#define NVIC_ICER_CLRENA_29 ((uint32_t)0x20000000) /*!< bit 29 */ -#define NVIC_ICER_CLRENA_30 ((uint32_t)0x40000000) /*!< bit 30 */ -#define NVIC_ICER_CLRENA_31 ((uint32_t)0x80000000) /*!< bit 31 */ - -/****************** Bit definition for NVIC_ISPR register *******************/ -#define NVIC_ISPR_SETPEND ((uint32_t)0xFFFFFFFF) /*!< Interrupt set-pending bits */ -#define NVIC_ISPR_SETPEND_0 ((uint32_t)0x00000001) /*!< bit 0 */ -#define NVIC_ISPR_SETPEND_1 ((uint32_t)0x00000002) /*!< bit 1 */ -#define NVIC_ISPR_SETPEND_2 ((uint32_t)0x00000004) /*!< bit 2 */ -#define NVIC_ISPR_SETPEND_3 ((uint32_t)0x00000008) /*!< bit 3 */ -#define NVIC_ISPR_SETPEND_4 ((uint32_t)0x00000010) /*!< bit 4 */ -#define NVIC_ISPR_SETPEND_5 ((uint32_t)0x00000020) /*!< bit 5 */ -#define NVIC_ISPR_SETPEND_6 ((uint32_t)0x00000040) /*!< bit 6 */ -#define NVIC_ISPR_SETPEND_7 ((uint32_t)0x00000080) /*!< bit 7 */ -#define NVIC_ISPR_SETPEND_8 ((uint32_t)0x00000100) /*!< bit 8 */ -#define NVIC_ISPR_SETPEND_9 ((uint32_t)0x00000200) /*!< bit 9 */ -#define NVIC_ISPR_SETPEND_10 ((uint32_t)0x00000400) /*!< bit 10 */ -#define NVIC_ISPR_SETPEND_11 ((uint32_t)0x00000800) /*!< bit 11 */ -#define NVIC_ISPR_SETPEND_12 ((uint32_t)0x00001000) /*!< bit 12 */ -#define NVIC_ISPR_SETPEND_13 ((uint32_t)0x00002000) /*!< bit 13 */ -#define NVIC_ISPR_SETPEND_14 ((uint32_t)0x00004000) /*!< bit 14 */ -#define NVIC_ISPR_SETPEND_15 ((uint32_t)0x00008000) /*!< bit 15 */ -#define NVIC_ISPR_SETPEND_16 ((uint32_t)0x00010000) /*!< bit 16 */ -#define NVIC_ISPR_SETPEND_17 ((uint32_t)0x00020000) /*!< bit 17 */ -#define NVIC_ISPR_SETPEND_18 ((uint32_t)0x00040000) /*!< bit 18 */ -#define NVIC_ISPR_SETPEND_19 ((uint32_t)0x00080000) /*!< bit 19 */ -#define NVIC_ISPR_SETPEND_20 ((uint32_t)0x00100000) /*!< bit 20 */ -#define NVIC_ISPR_SETPEND_21 ((uint32_t)0x00200000) /*!< bit 21 */ -#define NVIC_ISPR_SETPEND_22 ((uint32_t)0x00400000) /*!< bit 22 */ -#define NVIC_ISPR_SETPEND_23 ((uint32_t)0x00800000) /*!< bit 23 */ -#define NVIC_ISPR_SETPEND_24 ((uint32_t)0x01000000) /*!< bit 24 */ -#define NVIC_ISPR_SETPEND_25 ((uint32_t)0x02000000) /*!< bit 25 */ -#define NVIC_ISPR_SETPEND_26 ((uint32_t)0x04000000) /*!< bit 26 */ -#define NVIC_ISPR_SETPEND_27 ((uint32_t)0x08000000) /*!< bit 27 */ -#define NVIC_ISPR_SETPEND_28 ((uint32_t)0x10000000) /*!< bit 28 */ -#define NVIC_ISPR_SETPEND_29 ((uint32_t)0x20000000) /*!< bit 29 */ -#define NVIC_ISPR_SETPEND_30 ((uint32_t)0x40000000) /*!< bit 30 */ -#define NVIC_ISPR_SETPEND_31 ((uint32_t)0x80000000) /*!< bit 31 */ - -/****************** Bit definition for NVIC_ICPR register *******************/ -#define NVIC_ICPR_CLRPEND ((uint32_t)0xFFFFFFFF) /*!< Interrupt clear-pending bits */ -#define NVIC_ICPR_CLRPEND_0 ((uint32_t)0x00000001) /*!< bit 0 */ -#define NVIC_ICPR_CLRPEND_1 ((uint32_t)0x00000002) /*!< bit 1 */ -#define NVIC_ICPR_CLRPEND_2 ((uint32_t)0x00000004) /*!< bit 2 */ -#define NVIC_ICPR_CLRPEND_3 ((uint32_t)0x00000008) /*!< bit 3 */ -#define NVIC_ICPR_CLRPEND_4 ((uint32_t)0x00000010) /*!< bit 4 */ -#define NVIC_ICPR_CLRPEND_5 ((uint32_t)0x00000020) /*!< bit 5 */ -#define NVIC_ICPR_CLRPEND_6 ((uint32_t)0x00000040) /*!< bit 6 */ -#define NVIC_ICPR_CLRPEND_7 ((uint32_t)0x00000080) /*!< bit 7 */ -#define NVIC_ICPR_CLRPEND_8 ((uint32_t)0x00000100) /*!< bit 8 */ -#define NVIC_ICPR_CLRPEND_9 ((uint32_t)0x00000200) /*!< bit 9 */ -#define NVIC_ICPR_CLRPEND_10 ((uint32_t)0x00000400) /*!< bit 10 */ -#define NVIC_ICPR_CLRPEND_11 ((uint32_t)0x00000800) /*!< bit 11 */ -#define NVIC_ICPR_CLRPEND_12 ((uint32_t)0x00001000) /*!< bit 12 */ -#define NVIC_ICPR_CLRPEND_13 ((uint32_t)0x00002000) /*!< bit 13 */ -#define NVIC_ICPR_CLRPEND_14 ((uint32_t)0x00004000) /*!< bit 14 */ -#define NVIC_ICPR_CLRPEND_15 ((uint32_t)0x00008000) /*!< bit 15 */ -#define NVIC_ICPR_CLRPEND_16 ((uint32_t)0x00010000) /*!< bit 16 */ -#define NVIC_ICPR_CLRPEND_17 ((uint32_t)0x00020000) /*!< bit 17 */ -#define NVIC_ICPR_CLRPEND_18 ((uint32_t)0x00040000) /*!< bit 18 */ -#define NVIC_ICPR_CLRPEND_19 ((uint32_t)0x00080000) /*!< bit 19 */ -#define NVIC_ICPR_CLRPEND_20 ((uint32_t)0x00100000) /*!< bit 20 */ -#define NVIC_ICPR_CLRPEND_21 ((uint32_t)0x00200000) /*!< bit 21 */ -#define NVIC_ICPR_CLRPEND_22 ((uint32_t)0x00400000) /*!< bit 22 */ -#define NVIC_ICPR_CLRPEND_23 ((uint32_t)0x00800000) /*!< bit 23 */ -#define NVIC_ICPR_CLRPEND_24 ((uint32_t)0x01000000) /*!< bit 24 */ -#define NVIC_ICPR_CLRPEND_25 ((uint32_t)0x02000000) /*!< bit 25 */ -#define NVIC_ICPR_CLRPEND_26 ((uint32_t)0x04000000) /*!< bit 26 */ -#define NVIC_ICPR_CLRPEND_27 ((uint32_t)0x08000000) /*!< bit 27 */ -#define NVIC_ICPR_CLRPEND_28 ((uint32_t)0x10000000) /*!< bit 28 */ -#define NVIC_ICPR_CLRPEND_29 ((uint32_t)0x20000000) /*!< bit 29 */ -#define NVIC_ICPR_CLRPEND_30 ((uint32_t)0x40000000) /*!< bit 30 */ -#define NVIC_ICPR_CLRPEND_31 ((uint32_t)0x80000000) /*!< bit 31 */ - -/****************** Bit definition for NVIC_IABR register *******************/ -#define NVIC_IABR_ACTIVE ((uint32_t)0xFFFFFFFF) /*!< Interrupt active flags */ -#define NVIC_IABR_ACTIVE_0 ((uint32_t)0x00000001) /*!< bit 0 */ -#define NVIC_IABR_ACTIVE_1 ((uint32_t)0x00000002) /*!< bit 1 */ -#define NVIC_IABR_ACTIVE_2 ((uint32_t)0x00000004) /*!< bit 2 */ -#define NVIC_IABR_ACTIVE_3 ((uint32_t)0x00000008) /*!< bit 3 */ -#define NVIC_IABR_ACTIVE_4 ((uint32_t)0x00000010) /*!< bit 4 */ -#define NVIC_IABR_ACTIVE_5 ((uint32_t)0x00000020) /*!< bit 5 */ -#define NVIC_IABR_ACTIVE_6 ((uint32_t)0x00000040) /*!< bit 6 */ -#define NVIC_IABR_ACTIVE_7 ((uint32_t)0x00000080) /*!< bit 7 */ -#define NVIC_IABR_ACTIVE_8 ((uint32_t)0x00000100) /*!< bit 8 */ -#define NVIC_IABR_ACTIVE_9 ((uint32_t)0x00000200) /*!< bit 9 */ -#define NVIC_IABR_ACTIVE_10 ((uint32_t)0x00000400) /*!< bit 10 */ -#define NVIC_IABR_ACTIVE_11 ((uint32_t)0x00000800) /*!< bit 11 */ -#define NVIC_IABR_ACTIVE_12 ((uint32_t)0x00001000) /*!< bit 12 */ -#define NVIC_IABR_ACTIVE_13 ((uint32_t)0x00002000) /*!< bit 13 */ -#define NVIC_IABR_ACTIVE_14 ((uint32_t)0x00004000) /*!< bit 14 */ -#define NVIC_IABR_ACTIVE_15 ((uint32_t)0x00008000) /*!< bit 15 */ -#define NVIC_IABR_ACTIVE_16 ((uint32_t)0x00010000) /*!< bit 16 */ -#define NVIC_IABR_ACTIVE_17 ((uint32_t)0x00020000) /*!< bit 17 */ -#define NVIC_IABR_ACTIVE_18 ((uint32_t)0x00040000) /*!< bit 18 */ -#define NVIC_IABR_ACTIVE_19 ((uint32_t)0x00080000) /*!< bit 19 */ -#define NVIC_IABR_ACTIVE_20 ((uint32_t)0x00100000) /*!< bit 20 */ -#define NVIC_IABR_ACTIVE_21 ((uint32_t)0x00200000) /*!< bit 21 */ -#define NVIC_IABR_ACTIVE_22 ((uint32_t)0x00400000) /*!< bit 22 */ -#define NVIC_IABR_ACTIVE_23 ((uint32_t)0x00800000) /*!< bit 23 */ -#define NVIC_IABR_ACTIVE_24 ((uint32_t)0x01000000) /*!< bit 24 */ -#define NVIC_IABR_ACTIVE_25 ((uint32_t)0x02000000) /*!< bit 25 */ -#define NVIC_IABR_ACTIVE_26 ((uint32_t)0x04000000) /*!< bit 26 */ -#define NVIC_IABR_ACTIVE_27 ((uint32_t)0x08000000) /*!< bit 27 */ -#define NVIC_IABR_ACTIVE_28 ((uint32_t)0x10000000) /*!< bit 28 */ -#define NVIC_IABR_ACTIVE_29 ((uint32_t)0x20000000) /*!< bit 29 */ -#define NVIC_IABR_ACTIVE_30 ((uint32_t)0x40000000) /*!< bit 30 */ -#define NVIC_IABR_ACTIVE_31 ((uint32_t)0x80000000) /*!< bit 31 */ - -/****************** Bit definition for NVIC_PRI0 register *******************/ -#define NVIC_IPR0_PRI_0 ((uint32_t)0x000000FF) /*!< Priority of interrupt 0 */ -#define NVIC_IPR0_PRI_1 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 1 */ -#define NVIC_IPR0_PRI_2 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 2 */ -#define NVIC_IPR0_PRI_3 ((uint32_t)0xFF000000) /*!< Priority of interrupt 3 */ - -/****************** Bit definition for NVIC_PRI1 register *******************/ -#define NVIC_IPR1_PRI_4 ((uint32_t)0x000000FF) /*!< Priority of interrupt 4 */ -#define NVIC_IPR1_PRI_5 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 5 */ -#define NVIC_IPR1_PRI_6 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 6 */ -#define NVIC_IPR1_PRI_7 ((uint32_t)0xFF000000) /*!< Priority of interrupt 7 */ - -/****************** Bit definition for NVIC_PRI2 register *******************/ -#define NVIC_IPR2_PRI_8 ((uint32_t)0x000000FF) /*!< Priority of interrupt 8 */ -#define NVIC_IPR2_PRI_9 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 9 */ -#define NVIC_IPR2_PRI_10 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 10 */ -#define NVIC_IPR2_PRI_11 ((uint32_t)0xFF000000) /*!< Priority of interrupt 11 */ - -/****************** Bit definition for NVIC_PRI3 register *******************/ -#define NVIC_IPR3_PRI_12 ((uint32_t)0x000000FF) /*!< Priority of interrupt 12 */ -#define NVIC_IPR3_PRI_13 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 13 */ -#define NVIC_IPR3_PRI_14 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 14 */ -#define NVIC_IPR3_PRI_15 ((uint32_t)0xFF000000) /*!< Priority of interrupt 15 */ - -/****************** Bit definition for NVIC_PRI4 register *******************/ -#define NVIC_IPR4_PRI_16 ((uint32_t)0x000000FF) /*!< Priority of interrupt 16 */ -#define NVIC_IPR4_PRI_17 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 17 */ -#define NVIC_IPR4_PRI_18 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 18 */ -#define NVIC_IPR4_PRI_19 ((uint32_t)0xFF000000) /*!< Priority of interrupt 19 */ - -/****************** Bit definition for NVIC_PRI5 register *******************/ -#define NVIC_IPR5_PRI_20 ((uint32_t)0x000000FF) /*!< Priority of interrupt 20 */ -#define NVIC_IPR5_PRI_21 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 21 */ -#define NVIC_IPR5_PRI_22 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 22 */ -#define NVIC_IPR5_PRI_23 ((uint32_t)0xFF000000) /*!< Priority of interrupt 23 */ - -/****************** Bit definition for NVIC_PRI6 register *******************/ -#define NVIC_IPR6_PRI_24 ((uint32_t)0x000000FF) /*!< Priority of interrupt 24 */ -#define NVIC_IPR6_PRI_25 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 25 */ -#define NVIC_IPR6_PRI_26 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 26 */ -#define NVIC_IPR6_PRI_27 ((uint32_t)0xFF000000) /*!< Priority of interrupt 27 */ - -/****************** Bit definition for NVIC_PRI7 register *******************/ -#define NVIC_IPR7_PRI_28 ((uint32_t)0x000000FF) /*!< Priority of interrupt 28 */ -#define NVIC_IPR7_PRI_29 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 29 */ -#define NVIC_IPR7_PRI_30 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 30 */ -#define NVIC_IPR7_PRI_31 ((uint32_t)0xFF000000) /*!< Priority of interrupt 31 */ - -/****************** Bit definition for SCB_CPUID register *******************/ -#define SCB_CPUID_REVISION ((uint32_t)0x0000000F) /*!< Implementation defined revision number */ -#define SCB_CPUID_PARTNO ((uint32_t)0x0000FFF0) /*!< Number of processor within family */ -#define SCB_CPUID_Constant ((uint32_t)0x000F0000) /*!< Reads as 0x0F */ -#define SCB_CPUID_VARIANT ((uint32_t)0x00F00000) /*!< Implementation defined variant number */ -#define SCB_CPUID_IMPLEMENTER ((uint32_t)0xFF000000) /*!< Implementer code. ARM is 0x41 */ - -/******************* Bit definition for SCB_ICSR register *******************/ -#define SCB_ICSR_VECTACTIVE ((uint32_t)0x000001FF) /*!< Active ISR number field */ -#define SCB_ICSR_RETTOBASE ((uint32_t)0x00000800) /*!< All active exceptions minus the IPSR_current_exception yields the empty set */ -#define SCB_ICSR_VECTPENDING ((uint32_t)0x003FF000) /*!< Pending ISR number field */ -#define SCB_ICSR_ISRPENDING ((uint32_t)0x00400000) /*!< Interrupt pending flag */ -#define SCB_ICSR_ISRPREEMPT ((uint32_t)0x00800000) /*!< It indicates that a pending interrupt becomes active in the next running cycle */ -#define SCB_ICSR_PENDSTCLR ((uint32_t)0x02000000) /*!< Clear pending SysTick bit */ -#define SCB_ICSR_PENDSTSET ((uint32_t)0x04000000) /*!< Set pending SysTick bit */ -#define SCB_ICSR_PENDSVCLR ((uint32_t)0x08000000) /*!< Clear pending pendSV bit */ -#define SCB_ICSR_PENDSVSET ((uint32_t)0x10000000) /*!< Set pending pendSV bit */ -#define SCB_ICSR_NMIPENDSET ((uint32_t)0x80000000) /*!< Set pending NMI bit */ - -/******************* Bit definition for SCB_VTOR register *******************/ -#define SCB_VTOR_TBLOFF ((uint32_t)0x1FFFFF80) /*!< Vector table base offset field */ -#define SCB_VTOR_TBLBASE ((uint32_t)0x20000000) /*!< Table base in code(0) or RAM(1) */ - -/*!<***************** Bit definition for SCB_AIRCR register *******************/ -#define SCB_AIRCR_VECTRESET ((uint32_t)0x00000001) /*!< System Reset bit */ -#define SCB_AIRCR_VECTCLRACTIVE ((uint32_t)0x00000002) /*!< Clear active vector bit */ -#define SCB_AIRCR_SYSRESETREQ ((uint32_t)0x00000004) /*!< Requests chip control logic to generate a reset */ - -#define SCB_AIRCR_PRIGROUP ((uint32_t)0x00000700) /*!< PRIGROUP[2:0] bits (Priority group) */ -#define SCB_AIRCR_PRIGROUP_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define SCB_AIRCR_PRIGROUP_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define SCB_AIRCR_PRIGROUP_2 ((uint32_t)0x00000400) /*!< Bit 2 */ - -/* prority group configuration */ -#define SCB_AIRCR_PRIGROUP0 ((uint32_t)0x00000000) /*!< Priority group=0 (7 bits of pre-emption priority, 1 bit of subpriority) */ -#define SCB_AIRCR_PRIGROUP1 ((uint32_t)0x00000100) /*!< Priority group=1 (6 bits of pre-emption priority, 2 bits of subpriority) */ -#define SCB_AIRCR_PRIGROUP2 ((uint32_t)0x00000200) /*!< Priority group=2 (5 bits of pre-emption priority, 3 bits of subpriority) */ -#define SCB_AIRCR_PRIGROUP3 ((uint32_t)0x00000300) /*!< Priority group=3 (4 bits of pre-emption priority, 4 bits of subpriority) */ -#define SCB_AIRCR_PRIGROUP4 ((uint32_t)0x00000400) /*!< Priority group=4 (3 bits of pre-emption priority, 5 bits of subpriority) */ -#define SCB_AIRCR_PRIGROUP5 ((uint32_t)0x00000500) /*!< Priority group=5 (2 bits of pre-emption priority, 6 bits of subpriority) */ -#define SCB_AIRCR_PRIGROUP6 ((uint32_t)0x00000600) /*!< Priority group=6 (1 bit of pre-emption priority, 7 bits of subpriority) */ -#define SCB_AIRCR_PRIGROUP7 ((uint32_t)0x00000700) /*!< Priority group=7 (no pre-emption priority, 8 bits of subpriority) */ - -#define SCB_AIRCR_ENDIANESS ((uint32_t)0x00008000) /*!< Data endianness bit */ -#define SCB_AIRCR_VECTKEY ((uint32_t)0xFFFF0000) /*!< Register key (VECTKEY) - Reads as 0xFA05 (VECTKEYSTAT) */ - -/******************* Bit definition for SCB_SCR register ********************/ -#define SCB_SCR_SLEEPONEXIT ((uint8_t)0x02) /*!< Sleep on exit bit */ -#define SCB_SCR_SLEEPDEEP ((uint8_t)0x04) /*!< Sleep deep bit */ -#define SCB_SCR_SEVONPEND ((uint8_t)0x10) /*!< Wake up from WFE */ - -/******************** Bit definition for SCB_CCR register *******************/ -#define SCB_CCR_NONBASETHRDENA ((uint16_t)0x0001) /*!< Thread mode can be entered from any level in Handler mode by controlled return value */ -#define SCB_CCR_USERSETMPEND ((uint16_t)0x0002) /*!< Enables user code to write the Software Trigger Interrupt register to trigger (pend) a Main exception */ -#define SCB_CCR_UNALIGN_TRP ((uint16_t)0x0008) /*!< Trap for unaligned access */ -#define SCB_CCR_DIV_0_TRP ((uint16_t)0x0010) /*!< Trap on Divide by 0 */ -#define SCB_CCR_BFHFNMIGN ((uint16_t)0x0100) /*!< Handlers running at priority -1 and -2 */ -#define SCB_CCR_STKALIGN ((uint16_t)0x0200) /*!< On exception entry, the SP used prior to the exception is adjusted to be 8-byte aligned */ - -/******************* Bit definition for SCB_SHPR register ********************/ -#define SCB_SHPR_PRI_N ((uint32_t)0x000000FF) /*!< Priority of system handler 4,8, and 12. Mem Manage, reserved and Debug Monitor */ -#define SCB_SHPR_PRI_N1 ((uint32_t)0x0000FF00) /*!< Priority of system handler 5,9, and 13. Bus Fault, reserved and reserved */ -#define SCB_SHPR_PRI_N2 ((uint32_t)0x00FF0000) /*!< Priority of system handler 6,10, and 14. Usage Fault, reserved and PendSV */ -#define SCB_SHPR_PRI_N3 ((uint32_t)0xFF000000) /*!< Priority of system handler 7,11, and 15. Reserved, SVCall and SysTick */ - -/****************** Bit definition for SCB_SHCSR register *******************/ -#define SCB_SHCSR_MEMFAULTACT ((uint32_t)0x00000001) /*!< MemManage is active */ -#define SCB_SHCSR_BUSFAULTACT ((uint32_t)0x00000002) /*!< BusFault is active */ -#define SCB_SHCSR_USGFAULTACT ((uint32_t)0x00000008) /*!< UsageFault is active */ -#define SCB_SHCSR_SVCALLACT ((uint32_t)0x00000080) /*!< SVCall is active */ -#define SCB_SHCSR_MONITORACT ((uint32_t)0x00000100) /*!< Monitor is active */ -#define SCB_SHCSR_PENDSVACT ((uint32_t)0x00000400) /*!< PendSV is active */ -#define SCB_SHCSR_SYSTICKACT ((uint32_t)0x00000800) /*!< SysTick is active */ -#define SCB_SHCSR_USGFAULTPENDED ((uint32_t)0x00001000) /*!< Usage Fault is pended */ -#define SCB_SHCSR_MEMFAULTPENDED ((uint32_t)0x00002000) /*!< MemManage is pended */ -#define SCB_SHCSR_BUSFAULTPENDED ((uint32_t)0x00004000) /*!< Bus Fault is pended */ -#define SCB_SHCSR_SVCALLPENDED ((uint32_t)0x00008000) /*!< SVCall is pended */ -#define SCB_SHCSR_MEMFAULTENA ((uint32_t)0x00010000) /*!< MemManage enable */ -#define SCB_SHCSR_BUSFAULTENA ((uint32_t)0x00020000) /*!< Bus Fault enable */ -#define SCB_SHCSR_USGFAULTENA ((uint32_t)0x00040000) /*!< UsageFault enable */ - -/******************* Bit definition for SCB_CFSR register *******************/ -/*!< MFSR */ -#define SCB_CFSR_IACCVIOL ((uint32_t)0x00000001) /*!< Instruction access violation */ -#define SCB_CFSR_DACCVIOL ((uint32_t)0x00000002) /*!< Data access violation */ -#define SCB_CFSR_MUNSTKERR ((uint32_t)0x00000008) /*!< Unstacking error */ -#define SCB_CFSR_MSTKERR ((uint32_t)0x00000010) /*!< Stacking error */ -#define SCB_CFSR_MMARVALID ((uint32_t)0x00000080) /*!< Memory Manage Address Register address valid flag */ -/*!< BFSR */ -#define SCB_CFSR_IBUSERR ((uint32_t)0x00000100) /*!< Instruction bus error flag */ -#define SCB_CFSR_PRECISERR ((uint32_t)0x00000200) /*!< Precise data bus error */ -#define SCB_CFSR_IMPRECISERR ((uint32_t)0x00000400) /*!< Imprecise data bus error */ -#define SCB_CFSR_UNSTKERR ((uint32_t)0x00000800) /*!< Unstacking error */ -#define SCB_CFSR_STKERR ((uint32_t)0x00001000) /*!< Stacking error */ -#define SCB_CFSR_BFARVALID ((uint32_t)0x00008000) /*!< Bus Fault Address Register address valid flag */ -/*!< UFSR */ -#define SCB_CFSR_UNDEFINSTR ((uint32_t)0x00010000) /*!< The processor attempt to execute an undefined instruction */ -#define SCB_CFSR_INVSTATE ((uint32_t)0x00020000) /*!< Invalid combination of EPSR and instruction */ -#define SCB_CFSR_INVPC ((uint32_t)0x00040000) /*!< Attempt to load EXC_RETURN into pc illegally */ -#define SCB_CFSR_NOCP ((uint32_t)0x00080000) /*!< Attempt to use a coprocessor instruction */ -#define SCB_CFSR_UNALIGNED ((uint32_t)0x01000000) /*!< Fault occurs when there is an attempt to make an unaligned memory access */ -#define SCB_CFSR_DIVBYZERO ((uint32_t)0x02000000) /*!< Fault occurs when SDIV or DIV instruction is used with a divisor of 0 */ - -/******************* Bit definition for SCB_HFSR register *******************/ -#define SCB_HFSR_VECTTBL ((uint32_t)0x00000002) /*!< Fault occurs because of vector table read on exception processing */ -#define SCB_HFSR_FORCED ((uint32_t)0x40000000) /*!< Hard Fault activated when a configurable Fault was received and cannot activate */ -#define SCB_HFSR_DEBUGEVT ((uint32_t)0x80000000) /*!< Fault related to debug */ - -/******************* Bit definition for SCB_DFSR register *******************/ -#define SCB_DFSR_HALTED ((uint8_t)0x01) /*!< Halt request flag */ -#define SCB_DFSR_BKPT ((uint8_t)0x02) /*!< BKPT flag */ -#define SCB_DFSR_DWTTRAP ((uint8_t)0x04) /*!< Data Watchpoint and Trace (DWT) flag */ -#define SCB_DFSR_VCATCH ((uint8_t)0x08) /*!< Vector catch flag */ -#define SCB_DFSR_EXTERNAL ((uint8_t)0x10) /*!< External debug request flag */ - -/******************* Bit definition for SCB_MMFAR register ******************/ -#define SCB_MMFAR_ADDRESS ((uint32_t)0xFFFFFFFF) /*!< Mem Manage fault address field */ - -/******************* Bit definition for SCB_BFAR register *******************/ -#define SCB_BFAR_ADDRESS ((uint32_t)0xFFFFFFFF) /*!< Bus fault address field */ - -/******************* Bit definition for SCB_afsr register *******************/ -#define SCB_AFSR_IMPDEF ((uint32_t)0xFFFFFFFF) /*!< Implementation defined */ - -/******************************************************************************/ -/* */ -/* External Interrupt/Event Controller */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for EXTI_IMR register *******************/ -#define EXTI_IMR_MR0 ((uint32_t)0x00000001) /*!< Interrupt Mask on line 0 */ -#define EXTI_IMR_MR1 ((uint32_t)0x00000002) /*!< Interrupt Mask on line 1 */ -#define EXTI_IMR_MR2 ((uint32_t)0x00000004) /*!< Interrupt Mask on line 2 */ -#define EXTI_IMR_MR3 ((uint32_t)0x00000008) /*!< Interrupt Mask on line 3 */ -#define EXTI_IMR_MR4 ((uint32_t)0x00000010) /*!< Interrupt Mask on line 4 */ -#define EXTI_IMR_MR5 ((uint32_t)0x00000020) /*!< Interrupt Mask on line 5 */ -#define EXTI_IMR_MR6 ((uint32_t)0x00000040) /*!< Interrupt Mask on line 6 */ -#define EXTI_IMR_MR7 ((uint32_t)0x00000080) /*!< Interrupt Mask on line 7 */ -#define EXTI_IMR_MR8 ((uint32_t)0x00000100) /*!< Interrupt Mask on line 8 */ -#define EXTI_IMR_MR9 ((uint32_t)0x00000200) /*!< Interrupt Mask on line 9 */ -#define EXTI_IMR_MR10 ((uint32_t)0x00000400) /*!< Interrupt Mask on line 10 */ -#define EXTI_IMR_MR11 ((uint32_t)0x00000800) /*!< Interrupt Mask on line 11 */ -#define EXTI_IMR_MR12 ((uint32_t)0x00001000) /*!< Interrupt Mask on line 12 */ -#define EXTI_IMR_MR13 ((uint32_t)0x00002000) /*!< Interrupt Mask on line 13 */ -#define EXTI_IMR_MR14 ((uint32_t)0x00004000) /*!< Interrupt Mask on line 14 */ -#define EXTI_IMR_MR15 ((uint32_t)0x00008000) /*!< Interrupt Mask on line 15 */ -#define EXTI_IMR_MR16 ((uint32_t)0x00010000) /*!< Interrupt Mask on line 16 */ -#define EXTI_IMR_MR17 ((uint32_t)0x00020000) /*!< Interrupt Mask on line 17 */ -#define EXTI_IMR_MR18 ((uint32_t)0x00040000) /*!< Interrupt Mask on line 18 */ -#define EXTI_IMR_MR19 ((uint32_t)0x00080000) /*!< Interrupt Mask on line 19 */ - -/******************* Bit definition for EXTI_EMR register *******************/ -#define EXTI_EMR_MR0 ((uint32_t)0x00000001) /*!< Event Mask on line 0 */ -#define EXTI_EMR_MR1 ((uint32_t)0x00000002) /*!< Event Mask on line 1 */ -#define EXTI_EMR_MR2 ((uint32_t)0x00000004) /*!< Event Mask on line 2 */ -#define EXTI_EMR_MR3 ((uint32_t)0x00000008) /*!< Event Mask on line 3 */ -#define EXTI_EMR_MR4 ((uint32_t)0x00000010) /*!< Event Mask on line 4 */ -#define EXTI_EMR_MR5 ((uint32_t)0x00000020) /*!< Event Mask on line 5 */ -#define EXTI_EMR_MR6 ((uint32_t)0x00000040) /*!< Event Mask on line 6 */ -#define EXTI_EMR_MR7 ((uint32_t)0x00000080) /*!< Event Mask on line 7 */ -#define EXTI_EMR_MR8 ((uint32_t)0x00000100) /*!< Event Mask on line 8 */ -#define EXTI_EMR_MR9 ((uint32_t)0x00000200) /*!< Event Mask on line 9 */ -#define EXTI_EMR_MR10 ((uint32_t)0x00000400) /*!< Event Mask on line 10 */ -#define EXTI_EMR_MR11 ((uint32_t)0x00000800) /*!< Event Mask on line 11 */ -#define EXTI_EMR_MR12 ((uint32_t)0x00001000) /*!< Event Mask on line 12 */ -#define EXTI_EMR_MR13 ((uint32_t)0x00002000) /*!< Event Mask on line 13 */ -#define EXTI_EMR_MR14 ((uint32_t)0x00004000) /*!< Event Mask on line 14 */ -#define EXTI_EMR_MR15 ((uint32_t)0x00008000) /*!< Event Mask on line 15 */ -#define EXTI_EMR_MR16 ((uint32_t)0x00010000) /*!< Event Mask on line 16 */ -#define EXTI_EMR_MR17 ((uint32_t)0x00020000) /*!< Event Mask on line 17 */ -#define EXTI_EMR_MR18 ((uint32_t)0x00040000) /*!< Event Mask on line 18 */ -#define EXTI_EMR_MR19 ((uint32_t)0x00080000) /*!< Event Mask on line 19 */ - -/****************** Bit definition for EXTI_RTSR register *******************/ -#define EXTI_RTSR_TR0 ((uint32_t)0x00000001) /*!< Rising trigger event configuration bit of line 0 */ -#define EXTI_RTSR_TR1 ((uint32_t)0x00000002) /*!< Rising trigger event configuration bit of line 1 */ -#define EXTI_RTSR_TR2 ((uint32_t)0x00000004) /*!< Rising trigger event configuration bit of line 2 */ -#define EXTI_RTSR_TR3 ((uint32_t)0x00000008) /*!< Rising trigger event configuration bit of line 3 */ -#define EXTI_RTSR_TR4 ((uint32_t)0x00000010) /*!< Rising trigger event configuration bit of line 4 */ -#define EXTI_RTSR_TR5 ((uint32_t)0x00000020) /*!< Rising trigger event configuration bit of line 5 */ -#define EXTI_RTSR_TR6 ((uint32_t)0x00000040) /*!< Rising trigger event configuration bit of line 6 */ -#define EXTI_RTSR_TR7 ((uint32_t)0x00000080) /*!< Rising trigger event configuration bit of line 7 */ -#define EXTI_RTSR_TR8 ((uint32_t)0x00000100) /*!< Rising trigger event configuration bit of line 8 */ -#define EXTI_RTSR_TR9 ((uint32_t)0x00000200) /*!< Rising trigger event configuration bit of line 9 */ -#define EXTI_RTSR_TR10 ((uint32_t)0x00000400) /*!< Rising trigger event configuration bit of line 10 */ -#define EXTI_RTSR_TR11 ((uint32_t)0x00000800) /*!< Rising trigger event configuration bit of line 11 */ -#define EXTI_RTSR_TR12 ((uint32_t)0x00001000) /*!< Rising trigger event configuration bit of line 12 */ -#define EXTI_RTSR_TR13 ((uint32_t)0x00002000) /*!< Rising trigger event configuration bit of line 13 */ -#define EXTI_RTSR_TR14 ((uint32_t)0x00004000) /*!< Rising trigger event configuration bit of line 14 */ -#define EXTI_RTSR_TR15 ((uint32_t)0x00008000) /*!< Rising trigger event configuration bit of line 15 */ -#define EXTI_RTSR_TR16 ((uint32_t)0x00010000) /*!< Rising trigger event configuration bit of line 16 */ -#define EXTI_RTSR_TR17 ((uint32_t)0x00020000) /*!< Rising trigger event configuration bit of line 17 */ -#define EXTI_RTSR_TR18 ((uint32_t)0x00040000) /*!< Rising trigger event configuration bit of line 18 */ -#define EXTI_RTSR_TR19 ((uint32_t)0x00080000) /*!< Rising trigger event configuration bit of line 19 */ - -/****************** Bit definition for EXTI_FTSR register *******************/ -#define EXTI_FTSR_TR0 ((uint32_t)0x00000001) /*!< Falling trigger event configuration bit of line 0 */ -#define EXTI_FTSR_TR1 ((uint32_t)0x00000002) /*!< Falling trigger event configuration bit of line 1 */ -#define EXTI_FTSR_TR2 ((uint32_t)0x00000004) /*!< Falling trigger event configuration bit of line 2 */ -#define EXTI_FTSR_TR3 ((uint32_t)0x00000008) /*!< Falling trigger event configuration bit of line 3 */ -#define EXTI_FTSR_TR4 ((uint32_t)0x00000010) /*!< Falling trigger event configuration bit of line 4 */ -#define EXTI_FTSR_TR5 ((uint32_t)0x00000020) /*!< Falling trigger event configuration bit of line 5 */ -#define EXTI_FTSR_TR6 ((uint32_t)0x00000040) /*!< Falling trigger event configuration bit of line 6 */ -#define EXTI_FTSR_TR7 ((uint32_t)0x00000080) /*!< Falling trigger event configuration bit of line 7 */ -#define EXTI_FTSR_TR8 ((uint32_t)0x00000100) /*!< Falling trigger event configuration bit of line 8 */ -#define EXTI_FTSR_TR9 ((uint32_t)0x00000200) /*!< Falling trigger event configuration bit of line 9 */ -#define EXTI_FTSR_TR10 ((uint32_t)0x00000400) /*!< Falling trigger event configuration bit of line 10 */ -#define EXTI_FTSR_TR11 ((uint32_t)0x00000800) /*!< Falling trigger event configuration bit of line 11 */ -#define EXTI_FTSR_TR12 ((uint32_t)0x00001000) /*!< Falling trigger event configuration bit of line 12 */ -#define EXTI_FTSR_TR13 ((uint32_t)0x00002000) /*!< Falling trigger event configuration bit of line 13 */ -#define EXTI_FTSR_TR14 ((uint32_t)0x00004000) /*!< Falling trigger event configuration bit of line 14 */ -#define EXTI_FTSR_TR15 ((uint32_t)0x00008000) /*!< Falling trigger event configuration bit of line 15 */ -#define EXTI_FTSR_TR16 ((uint32_t)0x00010000) /*!< Falling trigger event configuration bit of line 16 */ -#define EXTI_FTSR_TR17 ((uint32_t)0x00020000) /*!< Falling trigger event configuration bit of line 17 */ -#define EXTI_FTSR_TR18 ((uint32_t)0x00040000) /*!< Falling trigger event configuration bit of line 18 */ -#define EXTI_FTSR_TR19 ((uint32_t)0x00080000) /*!< Falling trigger event configuration bit of line 19 */ - -/****************** Bit definition for EXTI_SWIER register ******************/ -#define EXTI_SWIER_SWIER0 ((uint32_t)0x00000001) /*!< Software Interrupt on line 0 */ -#define EXTI_SWIER_SWIER1 ((uint32_t)0x00000002) /*!< Software Interrupt on line 1 */ -#define EXTI_SWIER_SWIER2 ((uint32_t)0x00000004) /*!< Software Interrupt on line 2 */ -#define EXTI_SWIER_SWIER3 ((uint32_t)0x00000008) /*!< Software Interrupt on line 3 */ -#define EXTI_SWIER_SWIER4 ((uint32_t)0x00000010) /*!< Software Interrupt on line 4 */ -#define EXTI_SWIER_SWIER5 ((uint32_t)0x00000020) /*!< Software Interrupt on line 5 */ -#define EXTI_SWIER_SWIER6 ((uint32_t)0x00000040) /*!< Software Interrupt on line 6 */ -#define EXTI_SWIER_SWIER7 ((uint32_t)0x00000080) /*!< Software Interrupt on line 7 */ -#define EXTI_SWIER_SWIER8 ((uint32_t)0x00000100) /*!< Software Interrupt on line 8 */ -#define EXTI_SWIER_SWIER9 ((uint32_t)0x00000200) /*!< Software Interrupt on line 9 */ -#define EXTI_SWIER_SWIER10 ((uint32_t)0x00000400) /*!< Software Interrupt on line 10 */ -#define EXTI_SWIER_SWIER11 ((uint32_t)0x00000800) /*!< Software Interrupt on line 11 */ -#define EXTI_SWIER_SWIER12 ((uint32_t)0x00001000) /*!< Software Interrupt on line 12 */ -#define EXTI_SWIER_SWIER13 ((uint32_t)0x00002000) /*!< Software Interrupt on line 13 */ -#define EXTI_SWIER_SWIER14 ((uint32_t)0x00004000) /*!< Software Interrupt on line 14 */ -#define EXTI_SWIER_SWIER15 ((uint32_t)0x00008000) /*!< Software Interrupt on line 15 */ -#define EXTI_SWIER_SWIER16 ((uint32_t)0x00010000) /*!< Software Interrupt on line 16 */ -#define EXTI_SWIER_SWIER17 ((uint32_t)0x00020000) /*!< Software Interrupt on line 17 */ -#define EXTI_SWIER_SWIER18 ((uint32_t)0x00040000) /*!< Software Interrupt on line 18 */ -#define EXTI_SWIER_SWIER19 ((uint32_t)0x00080000) /*!< Software Interrupt on line 19 */ - -/******************* Bit definition for EXTI_PR register ********************/ -#define EXTI_PR_PR0 ((uint32_t)0x00000001) /*!< Pending bit for line 0 */ -#define EXTI_PR_PR1 ((uint32_t)0x00000002) /*!< Pending bit for line 1 */ -#define EXTI_PR_PR2 ((uint32_t)0x00000004) /*!< Pending bit for line 2 */ -#define EXTI_PR_PR3 ((uint32_t)0x00000008) /*!< Pending bit for line 3 */ -#define EXTI_PR_PR4 ((uint32_t)0x00000010) /*!< Pending bit for line 4 */ -#define EXTI_PR_PR5 ((uint32_t)0x00000020) /*!< Pending bit for line 5 */ -#define EXTI_PR_PR6 ((uint32_t)0x00000040) /*!< Pending bit for line 6 */ -#define EXTI_PR_PR7 ((uint32_t)0x00000080) /*!< Pending bit for line 7 */ -#define EXTI_PR_PR8 ((uint32_t)0x00000100) /*!< Pending bit for line 8 */ -#define EXTI_PR_PR9 ((uint32_t)0x00000200) /*!< Pending bit for line 9 */ -#define EXTI_PR_PR10 ((uint32_t)0x00000400) /*!< Pending bit for line 10 */ -#define EXTI_PR_PR11 ((uint32_t)0x00000800) /*!< Pending bit for line 11 */ -#define EXTI_PR_PR12 ((uint32_t)0x00001000) /*!< Pending bit for line 12 */ -#define EXTI_PR_PR13 ((uint32_t)0x00002000) /*!< Pending bit for line 13 */ -#define EXTI_PR_PR14 ((uint32_t)0x00004000) /*!< Pending bit for line 14 */ -#define EXTI_PR_PR15 ((uint32_t)0x00008000) /*!< Pending bit for line 15 */ -#define EXTI_PR_PR16 ((uint32_t)0x00010000) /*!< Pending bit for line 16 */ -#define EXTI_PR_PR17 ((uint32_t)0x00020000) /*!< Pending bit for line 17 */ -#define EXTI_PR_PR18 ((uint32_t)0x00040000) /*!< Pending bit for line 18 */ -#define EXTI_PR_PR19 ((uint32_t)0x00080000) /*!< Pending bit for line 19 */ - -/******************************************************************************/ -/* */ -/* DMA Controller */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for DMA_ISR register ********************/ -#define DMA_ISR_GIF1 ((uint32_t)0x00000001) /*!< Channel 1 Global interrupt flag */ -#define DMA_ISR_TCIF1 ((uint32_t)0x00000002) /*!< Channel 1 Transfer Complete flag */ -#define DMA_ISR_HTIF1 ((uint32_t)0x00000004) /*!< Channel 1 Half Transfer flag */ -#define DMA_ISR_TEIF1 ((uint32_t)0x00000008) /*!< Channel 1 Transfer Error flag */ -#define DMA_ISR_GIF2 ((uint32_t)0x00000010) /*!< Channel 2 Global interrupt flag */ -#define DMA_ISR_TCIF2 ((uint32_t)0x00000020) /*!< Channel 2 Transfer Complete flag */ -#define DMA_ISR_HTIF2 ((uint32_t)0x00000040) /*!< Channel 2 Half Transfer flag */ -#define DMA_ISR_TEIF2 ((uint32_t)0x00000080) /*!< Channel 2 Transfer Error flag */ -#define DMA_ISR_GIF3 ((uint32_t)0x00000100) /*!< Channel 3 Global interrupt flag */ -#define DMA_ISR_TCIF3 ((uint32_t)0x00000200) /*!< Channel 3 Transfer Complete flag */ -#define DMA_ISR_HTIF3 ((uint32_t)0x00000400) /*!< Channel 3 Half Transfer flag */ -#define DMA_ISR_TEIF3 ((uint32_t)0x00000800) /*!< Channel 3 Transfer Error flag */ -#define DMA_ISR_GIF4 ((uint32_t)0x00001000) /*!< Channel 4 Global interrupt flag */ -#define DMA_ISR_TCIF4 ((uint32_t)0x00002000) /*!< Channel 4 Transfer Complete flag */ -#define DMA_ISR_HTIF4 ((uint32_t)0x00004000) /*!< Channel 4 Half Transfer flag */ -#define DMA_ISR_TEIF4 ((uint32_t)0x00008000) /*!< Channel 4 Transfer Error flag */ -#define DMA_ISR_GIF5 ((uint32_t)0x00010000) /*!< Channel 5 Global interrupt flag */ -#define DMA_ISR_TCIF5 ((uint32_t)0x00020000) /*!< Channel 5 Transfer Complete flag */ -#define DMA_ISR_HTIF5 ((uint32_t)0x00040000) /*!< Channel 5 Half Transfer flag */ -#define DMA_ISR_TEIF5 ((uint32_t)0x00080000) /*!< Channel 5 Transfer Error flag */ -#define DMA_ISR_GIF6 ((uint32_t)0x00100000) /*!< Channel 6 Global interrupt flag */ -#define DMA_ISR_TCIF6 ((uint32_t)0x00200000) /*!< Channel 6 Transfer Complete flag */ -#define DMA_ISR_HTIF6 ((uint32_t)0x00400000) /*!< Channel 6 Half Transfer flag */ -#define DMA_ISR_TEIF6 ((uint32_t)0x00800000) /*!< Channel 6 Transfer Error flag */ -#define DMA_ISR_GIF7 ((uint32_t)0x01000000) /*!< Channel 7 Global interrupt flag */ -#define DMA_ISR_TCIF7 ((uint32_t)0x02000000) /*!< Channel 7 Transfer Complete flag */ -#define DMA_ISR_HTIF7 ((uint32_t)0x04000000) /*!< Channel 7 Half Transfer flag */ -#define DMA_ISR_TEIF7 ((uint32_t)0x08000000) /*!< Channel 7 Transfer Error flag */ - -/******************* Bit definition for DMA_IFCR register *******************/ -#define DMA_IFCR_CGIF1 ((uint32_t)0x00000001) /*!< Channel 1 Global interrupt clear */ -#define DMA_IFCR_CTCIF1 ((uint32_t)0x00000002) /*!< Channel 1 Transfer Complete clear */ -#define DMA_IFCR_CHTIF1 ((uint32_t)0x00000004) /*!< Channel 1 Half Transfer clear */ -#define DMA_IFCR_CTEIF1 ((uint32_t)0x00000008) /*!< Channel 1 Transfer Error clear */ -#define DMA_IFCR_CGIF2 ((uint32_t)0x00000010) /*!< Channel 2 Global interrupt clear */ -#define DMA_IFCR_CTCIF2 ((uint32_t)0x00000020) /*!< Channel 2 Transfer Complete clear */ -#define DMA_IFCR_CHTIF2 ((uint32_t)0x00000040) /*!< Channel 2 Half Transfer clear */ -#define DMA_IFCR_CTEIF2 ((uint32_t)0x00000080) /*!< Channel 2 Transfer Error clear */ -#define DMA_IFCR_CGIF3 ((uint32_t)0x00000100) /*!< Channel 3 Global interrupt clear */ -#define DMA_IFCR_CTCIF3 ((uint32_t)0x00000200) /*!< Channel 3 Transfer Complete clear */ -#define DMA_IFCR_CHTIF3 ((uint32_t)0x00000400) /*!< Channel 3 Half Transfer clear */ -#define DMA_IFCR_CTEIF3 ((uint32_t)0x00000800) /*!< Channel 3 Transfer Error clear */ -#define DMA_IFCR_CGIF4 ((uint32_t)0x00001000) /*!< Channel 4 Global interrupt clear */ -#define DMA_IFCR_CTCIF4 ((uint32_t)0x00002000) /*!< Channel 4 Transfer Complete clear */ -#define DMA_IFCR_CHTIF4 ((uint32_t)0x00004000) /*!< Channel 4 Half Transfer clear */ -#define DMA_IFCR_CTEIF4 ((uint32_t)0x00008000) /*!< Channel 4 Transfer Error clear */ -#define DMA_IFCR_CGIF5 ((uint32_t)0x00010000) /*!< Channel 5 Global interrupt clear */ -#define DMA_IFCR_CTCIF5 ((uint32_t)0x00020000) /*!< Channel 5 Transfer Complete clear */ -#define DMA_IFCR_CHTIF5 ((uint32_t)0x00040000) /*!< Channel 5 Half Transfer clear */ -#define DMA_IFCR_CTEIF5 ((uint32_t)0x00080000) /*!< Channel 5 Transfer Error clear */ -#define DMA_IFCR_CGIF6 ((uint32_t)0x00100000) /*!< Channel 6 Global interrupt clear */ -#define DMA_IFCR_CTCIF6 ((uint32_t)0x00200000) /*!< Channel 6 Transfer Complete clear */ -#define DMA_IFCR_CHTIF6 ((uint32_t)0x00400000) /*!< Channel 6 Half Transfer clear */ -#define DMA_IFCR_CTEIF6 ((uint32_t)0x00800000) /*!< Channel 6 Transfer Error clear */ -#define DMA_IFCR_CGIF7 ((uint32_t)0x01000000) /*!< Channel 7 Global interrupt clear */ -#define DMA_IFCR_CTCIF7 ((uint32_t)0x02000000) /*!< Channel 7 Transfer Complete clear */ -#define DMA_IFCR_CHTIF7 ((uint32_t)0x04000000) /*!< Channel 7 Half Transfer clear */ -#define DMA_IFCR_CTEIF7 ((uint32_t)0x08000000) /*!< Channel 7 Transfer Error clear */ - -/******************* Bit definition for DMA_CCR1 register *******************/ -#define DMA_CCR1_EN ((uint16_t)0x0001) /*!< Channel enable*/ -#define DMA_CCR1_TCIE ((uint16_t)0x0002) /*!< Transfer complete interrupt enable */ -#define DMA_CCR1_HTIE ((uint16_t)0x0004) /*!< Half Transfer interrupt enable */ -#define DMA_CCR1_TEIE ((uint16_t)0x0008) /*!< Transfer error interrupt enable */ -#define DMA_CCR1_DIR ((uint16_t)0x0010) /*!< Data transfer direction */ -#define DMA_CCR1_CIRC ((uint16_t)0x0020) /*!< Circular mode */ -#define DMA_CCR1_PINC ((uint16_t)0x0040) /*!< Peripheral increment mode */ -#define DMA_CCR1_MINC ((uint16_t)0x0080) /*!< Memory increment mode */ - -#define DMA_CCR1_PSIZE ((uint16_t)0x0300) /*!< PSIZE[1:0] bits (Peripheral size) */ -#define DMA_CCR1_PSIZE_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define DMA_CCR1_PSIZE_1 ((uint16_t)0x0200) /*!< Bit 1 */ - -#define DMA_CCR1_MSIZE ((uint16_t)0x0C00) /*!< MSIZE[1:0] bits (Memory size) */ -#define DMA_CCR1_MSIZE_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define DMA_CCR1_MSIZE_1 ((uint16_t)0x0800) /*!< Bit 1 */ - -#define DMA_CCR1_PL ((uint16_t)0x3000) /*!< PL[1:0] bits(Channel Priority level) */ -#define DMA_CCR1_PL_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define DMA_CCR1_PL_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define DMA_CCR1_MEM2MEM ((uint16_t)0x4000) /*!< Memory to memory mode */ - -/******************* Bit definition for DMA_CCR2 register *******************/ -#define DMA_CCR2_EN ((uint16_t)0x0001) /*!< Channel enable */ -#define DMA_CCR2_TCIE ((uint16_t)0x0002) /*!< Transfer complete interrupt enable */ -#define DMA_CCR2_HTIE ((uint16_t)0x0004) /*!< Half Transfer interrupt enable */ -#define DMA_CCR2_TEIE ((uint16_t)0x0008) /*!< Transfer error interrupt enable */ -#define DMA_CCR2_DIR ((uint16_t)0x0010) /*!< Data transfer direction */ -#define DMA_CCR2_CIRC ((uint16_t)0x0020) /*!< Circular mode */ -#define DMA_CCR2_PINC ((uint16_t)0x0040) /*!< Peripheral increment mode */ -#define DMA_CCR2_MINC ((uint16_t)0x0080) /*!< Memory increment mode */ - -#define DMA_CCR2_PSIZE ((uint16_t)0x0300) /*!< PSIZE[1:0] bits (Peripheral size) */ -#define DMA_CCR2_PSIZE_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define DMA_CCR2_PSIZE_1 ((uint16_t)0x0200) /*!< Bit 1 */ - -#define DMA_CCR2_MSIZE ((uint16_t)0x0C00) /*!< MSIZE[1:0] bits (Memory size) */ -#define DMA_CCR2_MSIZE_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define DMA_CCR2_MSIZE_1 ((uint16_t)0x0800) /*!< Bit 1 */ - -#define DMA_CCR2_PL ((uint16_t)0x3000) /*!< PL[1:0] bits (Channel Priority level) */ -#define DMA_CCR2_PL_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define DMA_CCR2_PL_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define DMA_CCR2_MEM2MEM ((uint16_t)0x4000) /*!< Memory to memory mode */ - -/******************* Bit definition for DMA_CCR3 register *******************/ -#define DMA_CCR3_EN ((uint16_t)0x0001) /*!< Channel enable */ -#define DMA_CCR3_TCIE ((uint16_t)0x0002) /*!< Transfer complete interrupt enable */ -#define DMA_CCR3_HTIE ((uint16_t)0x0004) /*!< Half Transfer interrupt enable */ -#define DMA_CCR3_TEIE ((uint16_t)0x0008) /*!< Transfer error interrupt enable */ -#define DMA_CCR3_DIR ((uint16_t)0x0010) /*!< Data transfer direction */ -#define DMA_CCR3_CIRC ((uint16_t)0x0020) /*!< Circular mode */ -#define DMA_CCR3_PINC ((uint16_t)0x0040) /*!< Peripheral increment mode */ -#define DMA_CCR3_MINC ((uint16_t)0x0080) /*!< Memory increment mode */ - -#define DMA_CCR3_PSIZE ((uint16_t)0x0300) /*!< PSIZE[1:0] bits (Peripheral size) */ -#define DMA_CCR3_PSIZE_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define DMA_CCR3_PSIZE_1 ((uint16_t)0x0200) /*!< Bit 1 */ - -#define DMA_CCR3_MSIZE ((uint16_t)0x0C00) /*!< MSIZE[1:0] bits (Memory size) */ -#define DMA_CCR3_MSIZE_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define DMA_CCR3_MSIZE_1 ((uint16_t)0x0800) /*!< Bit 1 */ - -#define DMA_CCR3_PL ((uint16_t)0x3000) /*!< PL[1:0] bits (Channel Priority level) */ -#define DMA_CCR3_PL_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define DMA_CCR3_PL_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define DMA_CCR3_MEM2MEM ((uint16_t)0x4000) /*!< Memory to memory mode */ - -/*!<****************** Bit definition for DMA_CCR4 register *******************/ -#define DMA_CCR4_EN ((uint16_t)0x0001) /*!< Channel enable */ -#define DMA_CCR4_TCIE ((uint16_t)0x0002) /*!< Transfer complete interrupt enable */ -#define DMA_CCR4_HTIE ((uint16_t)0x0004) /*!< Half Transfer interrupt enable */ -#define DMA_CCR4_TEIE ((uint16_t)0x0008) /*!< Transfer error interrupt enable */ -#define DMA_CCR4_DIR ((uint16_t)0x0010) /*!< Data transfer direction */ -#define DMA_CCR4_CIRC ((uint16_t)0x0020) /*!< Circular mode */ -#define DMA_CCR4_PINC ((uint16_t)0x0040) /*!< Peripheral increment mode */ -#define DMA_CCR4_MINC ((uint16_t)0x0080) /*!< Memory increment mode */ - -#define DMA_CCR4_PSIZE ((uint16_t)0x0300) /*!< PSIZE[1:0] bits (Peripheral size) */ -#define DMA_CCR4_PSIZE_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define DMA_CCR4_PSIZE_1 ((uint16_t)0x0200) /*!< Bit 1 */ - -#define DMA_CCR4_MSIZE ((uint16_t)0x0C00) /*!< MSIZE[1:0] bits (Memory size) */ -#define DMA_CCR4_MSIZE_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define DMA_CCR4_MSIZE_1 ((uint16_t)0x0800) /*!< Bit 1 */ - -#define DMA_CCR4_PL ((uint16_t)0x3000) /*!< PL[1:0] bits (Channel Priority level) */ -#define DMA_CCR4_PL_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define DMA_CCR4_PL_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define DMA_CCR4_MEM2MEM ((uint16_t)0x4000) /*!< Memory to memory mode */ - -/****************** Bit definition for DMA_CCR5 register *******************/ -#define DMA_CCR5_EN ((uint16_t)0x0001) /*!< Channel enable */ -#define DMA_CCR5_TCIE ((uint16_t)0x0002) /*!< Transfer complete interrupt enable */ -#define DMA_CCR5_HTIE ((uint16_t)0x0004) /*!< Half Transfer interrupt enable */ -#define DMA_CCR5_TEIE ((uint16_t)0x0008) /*!< Transfer error interrupt enable */ -#define DMA_CCR5_DIR ((uint16_t)0x0010) /*!< Data transfer direction */ -#define DMA_CCR5_CIRC ((uint16_t)0x0020) /*!< Circular mode */ -#define DMA_CCR5_PINC ((uint16_t)0x0040) /*!< Peripheral increment mode */ -#define DMA_CCR5_MINC ((uint16_t)0x0080) /*!< Memory increment mode */ - -#define DMA_CCR5_PSIZE ((uint16_t)0x0300) /*!< PSIZE[1:0] bits (Peripheral size) */ -#define DMA_CCR5_PSIZE_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define DMA_CCR5_PSIZE_1 ((uint16_t)0x0200) /*!< Bit 1 */ - -#define DMA_CCR5_MSIZE ((uint16_t)0x0C00) /*!< MSIZE[1:0] bits (Memory size) */ -#define DMA_CCR5_MSIZE_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define DMA_CCR5_MSIZE_1 ((uint16_t)0x0800) /*!< Bit 1 */ - -#define DMA_CCR5_PL ((uint16_t)0x3000) /*!< PL[1:0] bits (Channel Priority level) */ -#define DMA_CCR5_PL_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define DMA_CCR5_PL_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define DMA_CCR5_MEM2MEM ((uint16_t)0x4000) /*!< Memory to memory mode enable */ - -/******************* Bit definition for DMA_CCR6 register *******************/ -#define DMA_CCR6_EN ((uint16_t)0x0001) /*!< Channel enable */ -#define DMA_CCR6_TCIE ((uint16_t)0x0002) /*!< Transfer complete interrupt enable */ -#define DMA_CCR6_HTIE ((uint16_t)0x0004) /*!< Half Transfer interrupt enable */ -#define DMA_CCR6_TEIE ((uint16_t)0x0008) /*!< Transfer error interrupt enable */ -#define DMA_CCR6_DIR ((uint16_t)0x0010) /*!< Data transfer direction */ -#define DMA_CCR6_CIRC ((uint16_t)0x0020) /*!< Circular mode */ -#define DMA_CCR6_PINC ((uint16_t)0x0040) /*!< Peripheral increment mode */ -#define DMA_CCR6_MINC ((uint16_t)0x0080) /*!< Memory increment mode */ - -#define DMA_CCR6_PSIZE ((uint16_t)0x0300) /*!< PSIZE[1:0] bits (Peripheral size) */ -#define DMA_CCR6_PSIZE_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define DMA_CCR6_PSIZE_1 ((uint16_t)0x0200) /*!< Bit 1 */ - -#define DMA_CCR6_MSIZE ((uint16_t)0x0C00) /*!< MSIZE[1:0] bits (Memory size) */ -#define DMA_CCR6_MSIZE_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define DMA_CCR6_MSIZE_1 ((uint16_t)0x0800) /*!< Bit 1 */ - -#define DMA_CCR6_PL ((uint16_t)0x3000) /*!< PL[1:0] bits (Channel Priority level) */ -#define DMA_CCR6_PL_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define DMA_CCR6_PL_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define DMA_CCR6_MEM2MEM ((uint16_t)0x4000) /*!< Memory to memory mode */ - -/******************* Bit definition for DMA_CCR7 register *******************/ -#define DMA_CCR7_EN ((uint16_t)0x0001) /*!< Channel enable */ -#define DMA_CCR7_TCIE ((uint16_t)0x0002) /*!< Transfer complete interrupt enable */ -#define DMA_CCR7_HTIE ((uint16_t)0x0004) /*!< Half Transfer interrupt enable */ -#define DMA_CCR7_TEIE ((uint16_t)0x0008) /*!< Transfer error interrupt enable */ -#define DMA_CCR7_DIR ((uint16_t)0x0010) /*!< Data transfer direction */ -#define DMA_CCR7_CIRC ((uint16_t)0x0020) /*!< Circular mode */ -#define DMA_CCR7_PINC ((uint16_t)0x0040) /*!< Peripheral increment mode */ -#define DMA_CCR7_MINC ((uint16_t)0x0080) /*!< Memory increment mode */ - -#define DMA_CCR7_PSIZE , ((uint16_t)0x0300) /*!< PSIZE[1:0] bits (Peripheral size) */ -#define DMA_CCR7_PSIZE_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define DMA_CCR7_PSIZE_1 ((uint16_t)0x0200) /*!< Bit 1 */ - -#define DMA_CCR7_MSIZE ((uint16_t)0x0C00) /*!< MSIZE[1:0] bits (Memory size) */ -#define DMA_CCR7_MSIZE_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define DMA_CCR7_MSIZE_1 ((uint16_t)0x0800) /*!< Bit 1 */ - -#define DMA_CCR7_PL ((uint16_t)0x3000) /*!< PL[1:0] bits (Channel Priority level) */ -#define DMA_CCR7_PL_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define DMA_CCR7_PL_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define DMA_CCR7_MEM2MEM ((uint16_t)0x4000) /*!< Memory to memory mode enable */ - -/****************** Bit definition for DMA_CNDTR1 register ******************/ -#define DMA_CNDTR1_NDT ((uint16_t)0xFFFF) /*!< Number of data to Transfer */ - -/****************** Bit definition for DMA_CNDTR2 register ******************/ -#define DMA_CNDTR2_NDT ((uint16_t)0xFFFF) /*!< Number of data to Transfer */ - -/****************** Bit definition for DMA_CNDTR3 register ******************/ -#define DMA_CNDTR3_NDT ((uint16_t)0xFFFF) /*!< Number of data to Transfer */ - -/****************** Bit definition for DMA_CNDTR4 register ******************/ -#define DMA_CNDTR4_NDT ((uint16_t)0xFFFF) /*!< Number of data to Transfer */ - -/****************** Bit definition for DMA_CNDTR5 register ******************/ -#define DMA_CNDTR5_NDT ((uint16_t)0xFFFF) /*!< Number of data to Transfer */ - -/****************** Bit definition for DMA_CNDTR6 register ******************/ -#define DMA_CNDTR6_NDT ((uint16_t)0xFFFF) /*!< Number of data to Transfer */ - -/****************** Bit definition for DMA_CNDTR7 register ******************/ -#define DMA_CNDTR7_NDT ((uint16_t)0xFFFF) /*!< Number of data to Transfer */ - -/****************** Bit definition for DMA_CPAR1 register *******************/ -#define DMA_CPAR1_PA ((uint32_t)0xFFFFFFFF) /*!< Peripheral Address */ - -/****************** Bit definition for DMA_CPAR2 register *******************/ -#define DMA_CPAR2_PA ((uint32_t)0xFFFFFFFF) /*!< Peripheral Address */ - -/****************** Bit definition for DMA_CPAR3 register *******************/ -#define DMA_CPAR3_PA ((uint32_t)0xFFFFFFFF) /*!< Peripheral Address */ - - -/****************** Bit definition for DMA_CPAR4 register *******************/ -#define DMA_CPAR4_PA ((uint32_t)0xFFFFFFFF) /*!< Peripheral Address */ - -/****************** Bit definition for DMA_CPAR5 register *******************/ -#define DMA_CPAR5_PA ((uint32_t)0xFFFFFFFF) /*!< Peripheral Address */ - -/****************** Bit definition for DMA_CPAR6 register *******************/ -#define DMA_CPAR6_PA ((uint32_t)0xFFFFFFFF) /*!< Peripheral Address */ - - -/****************** Bit definition for DMA_CPAR7 register *******************/ -#define DMA_CPAR7_PA ((uint32_t)0xFFFFFFFF) /*!< Peripheral Address */ - -/****************** Bit definition for DMA_CMAR1 register *******************/ -#define DMA_CMAR1_MA ((uint32_t)0xFFFFFFFF) /*!< Memory Address */ - -/****************** Bit definition for DMA_CMAR2 register *******************/ -#define DMA_CMAR2_MA ((uint32_t)0xFFFFFFFF) /*!< Memory Address */ - -/****************** Bit definition for DMA_CMAR3 register *******************/ -#define DMA_CMAR3_MA ((uint32_t)0xFFFFFFFF) /*!< Memory Address */ - - -/****************** Bit definition for DMA_CMAR4 register *******************/ -#define DMA_CMAR4_MA ((uint32_t)0xFFFFFFFF) /*!< Memory Address */ - -/****************** Bit definition for DMA_CMAR5 register *******************/ -#define DMA_CMAR5_MA ((uint32_t)0xFFFFFFFF) /*!< Memory Address */ - -/****************** Bit definition for DMA_CMAR6 register *******************/ -#define DMA_CMAR6_MA ((uint32_t)0xFFFFFFFF) /*!< Memory Address */ - -/****************** Bit definition for DMA_CMAR7 register *******************/ -#define DMA_CMAR7_MA ((uint32_t)0xFFFFFFFF) /*!< Memory Address */ - -/******************************************************************************/ -/* */ -/* Analog to Digital Converter */ -/* */ -/******************************************************************************/ - -/******************** Bit definition for ADC_SR register ********************/ -#define ADC_SR_AWD ((uint8_t)0x01) /*!< Analog watchdog flag */ -#define ADC_SR_EOC ((uint8_t)0x02) /*!< End of conversion */ -#define ADC_SR_JEOC ((uint8_t)0x04) /*!< Injected channel end of conversion */ -#define ADC_SR_JSTRT ((uint8_t)0x08) /*!< Injected channel Start flag */ -#define ADC_SR_STRT ((uint8_t)0x10) /*!< Regular channel Start flag */ - -/******************* Bit definition for ADC_CR1 register ********************/ -#define ADC_CR1_AWDCH ((uint32_t)0x0000001F) /*!< AWDCH[4:0] bits (Analog watchdog channel select bits) */ -#define ADC_CR1_AWDCH_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define ADC_CR1_AWDCH_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define ADC_CR1_AWDCH_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define ADC_CR1_AWDCH_3 ((uint32_t)0x00000008) /*!< Bit 3 */ -#define ADC_CR1_AWDCH_4 ((uint32_t)0x00000010) /*!< Bit 4 */ - -#define ADC_CR1_EOCIE ((uint32_t)0x00000020) /*!< Interrupt enable for EOC */ -#define ADC_CR1_AWDIE ((uint32_t)0x00000040) /*!< Analog Watchdog interrupt enable */ -#define ADC_CR1_JEOCIE ((uint32_t)0x00000080) /*!< Interrupt enable for injected channels */ -#define ADC_CR1_SCAN ((uint32_t)0x00000100) /*!< Scan mode */ -#define ADC_CR1_AWDSGL ((uint32_t)0x00000200) /*!< Enable the watchdog on a single channel in scan mode */ -#define ADC_CR1_JAUTO ((uint32_t)0x00000400) /*!< Automatic injected group conversion */ -#define ADC_CR1_DISCEN ((uint32_t)0x00000800) /*!< Discontinuous mode on regular channels */ -#define ADC_CR1_JDISCEN ((uint32_t)0x00001000) /*!< Discontinuous mode on injected channels */ - -#define ADC_CR1_DISCNUM ((uint32_t)0x0000E000) /*!< DISCNUM[2:0] bits (Discontinuous mode channel count) */ -#define ADC_CR1_DISCNUM_0 ((uint32_t)0x00002000) /*!< Bit 0 */ -#define ADC_CR1_DISCNUM_1 ((uint32_t)0x00004000) /*!< Bit 1 */ -#define ADC_CR1_DISCNUM_2 ((uint32_t)0x00008000) /*!< Bit 2 */ - -#define ADC_CR1_DUALMOD ((uint32_t)0x000F0000) /*!< DUALMOD[3:0] bits (Dual mode selection) */ -#define ADC_CR1_DUALMOD_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define ADC_CR1_DUALMOD_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define ADC_CR1_DUALMOD_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define ADC_CR1_DUALMOD_3 ((uint32_t)0x00080000) /*!< Bit 3 */ - -#define ADC_CR1_JAWDEN ((uint32_t)0x00400000) /*!< Analog watchdog enable on injected channels */ -#define ADC_CR1_AWDEN ((uint32_t)0x00800000) /*!< Analog watchdog enable on regular channels */ - - -/******************* Bit definition for ADC_CR2 register ********************/ -#define ADC_CR2_ADON ((uint32_t)0x00000001) /*!< A/D Converter ON / OFF */ -#define ADC_CR2_CONT ((uint32_t)0x00000002) /*!< Continuous Conversion */ -#define ADC_CR2_CAL ((uint32_t)0x00000004) /*!< A/D Calibration */ -#define ADC_CR2_RSTCAL ((uint32_t)0x00000008) /*!< Reset Calibration */ -#define ADC_CR2_DMA ((uint32_t)0x00000100) /*!< Direct Memory access mode */ -#define ADC_CR2_ALIGN ((uint32_t)0x00000800) /*!< Data Alignment */ - -#define ADC_CR2_JEXTSEL ((uint32_t)0x00007000) /*!< JEXTSEL[2:0] bits (External event select for injected group) */ -#define ADC_CR2_JEXTSEL_0 ((uint32_t)0x00001000) /*!< Bit 0 */ -#define ADC_CR2_JEXTSEL_1 ((uint32_t)0x00002000) /*!< Bit 1 */ -#define ADC_CR2_JEXTSEL_2 ((uint32_t)0x00004000) /*!< Bit 2 */ - -#define ADC_CR2_JEXTTRIG ((uint32_t)0x00008000) /*!< External Trigger Conversion mode for injected channels */ - -#define ADC_CR2_EXTSEL ((uint32_t)0x000E0000) /*!< EXTSEL[2:0] bits (External Event Select for regular group) */ -#define ADC_CR2_EXTSEL_0 ((uint32_t)0x00020000) /*!< Bit 0 */ -#define ADC_CR2_EXTSEL_1 ((uint32_t)0x00040000) /*!< Bit 1 */ -#define ADC_CR2_EXTSEL_2 ((uint32_t)0x00080000) /*!< Bit 2 */ - -#define ADC_CR2_EXTTRIG ((uint32_t)0x00100000) /*!< External Trigger Conversion mode for regular channels */ -#define ADC_CR2_JSWSTART ((uint32_t)0x00200000) /*!< Start Conversion of injected channels */ -#define ADC_CR2_SWSTART ((uint32_t)0x00400000) /*!< Start Conversion of regular channels */ -#define ADC_CR2_TSVREFE ((uint32_t)0x00800000) /*!< Temperature Sensor and VREFINT Enable */ - -/****************** Bit definition for ADC_SMPR1 register *******************/ -#define ADC_SMPR1_SMP10 ((uint32_t)0x00000007) /*!< SMP10[2:0] bits (Channel 10 Sample time selection) */ -#define ADC_SMPR1_SMP10_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define ADC_SMPR1_SMP10_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define ADC_SMPR1_SMP10_2 ((uint32_t)0x00000004) /*!< Bit 2 */ - -#define ADC_SMPR1_SMP11 ((uint32_t)0x00000038) /*!< SMP11[2:0] bits (Channel 11 Sample time selection) */ -#define ADC_SMPR1_SMP11_0 ((uint32_t)0x00000008) /*!< Bit 0 */ -#define ADC_SMPR1_SMP11_1 ((uint32_t)0x00000010) /*!< Bit 1 */ -#define ADC_SMPR1_SMP11_2 ((uint32_t)0x00000020) /*!< Bit 2 */ - -#define ADC_SMPR1_SMP12 ((uint32_t)0x000001C0) /*!< SMP12[2:0] bits (Channel 12 Sample time selection) */ -#define ADC_SMPR1_SMP12_0 ((uint32_t)0x00000040) /*!< Bit 0 */ -#define ADC_SMPR1_SMP12_1 ((uint32_t)0x00000080) /*!< Bit 1 */ -#define ADC_SMPR1_SMP12_2 ((uint32_t)0x00000100) /*!< Bit 2 */ - -#define ADC_SMPR1_SMP13 ((uint32_t)0x00000E00) /*!< SMP13[2:0] bits (Channel 13 Sample time selection) */ -#define ADC_SMPR1_SMP13_0 ((uint32_t)0x00000200) /*!< Bit 0 */ -#define ADC_SMPR1_SMP13_1 ((uint32_t)0x00000400) /*!< Bit 1 */ -#define ADC_SMPR1_SMP13_2 ((uint32_t)0x00000800) /*!< Bit 2 */ - -#define ADC_SMPR1_SMP14 ((uint32_t)0x00007000) /*!< SMP14[2:0] bits (Channel 14 Sample time selection) */ -#define ADC_SMPR1_SMP14_0 ((uint32_t)0x00001000) /*!< Bit 0 */ -#define ADC_SMPR1_SMP14_1 ((uint32_t)0x00002000) /*!< Bit 1 */ -#define ADC_SMPR1_SMP14_2 ((uint32_t)0x00004000) /*!< Bit 2 */ - -#define ADC_SMPR1_SMP15 ((uint32_t)0x00038000) /*!< SMP15[2:0] bits (Channel 15 Sample time selection) */ -#define ADC_SMPR1_SMP15_0 ((uint32_t)0x00008000) /*!< Bit 0 */ -#define ADC_SMPR1_SMP15_1 ((uint32_t)0x00010000) /*!< Bit 1 */ -#define ADC_SMPR1_SMP15_2 ((uint32_t)0x00020000) /*!< Bit 2 */ - -#define ADC_SMPR1_SMP16 ((uint32_t)0x001C0000) /*!< SMP16[2:0] bits (Channel 16 Sample time selection) */ -#define ADC_SMPR1_SMP16_0 ((uint32_t)0x00040000) /*!< Bit 0 */ -#define ADC_SMPR1_SMP16_1 ((uint32_t)0x00080000) /*!< Bit 1 */ -#define ADC_SMPR1_SMP16_2 ((uint32_t)0x00100000) /*!< Bit 2 */ - -#define ADC_SMPR1_SMP17 ((uint32_t)0x00E00000) /*!< SMP17[2:0] bits (Channel 17 Sample time selection) */ -#define ADC_SMPR1_SMP17_0 ((uint32_t)0x00200000) /*!< Bit 0 */ -#define ADC_SMPR1_SMP17_1 ((uint32_t)0x00400000) /*!< Bit 1 */ -#define ADC_SMPR1_SMP17_2 ((uint32_t)0x00800000) /*!< Bit 2 */ - -/****************** Bit definition for ADC_SMPR2 register *******************/ -#define ADC_SMPR2_SMP0 ((uint32_t)0x00000007) /*!< SMP0[2:0] bits (Channel 0 Sample time selection) */ -#define ADC_SMPR2_SMP0_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define ADC_SMPR2_SMP0_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define ADC_SMPR2_SMP0_2 ((uint32_t)0x00000004) /*!< Bit 2 */ - -#define ADC_SMPR2_SMP1 ((uint32_t)0x00000038) /*!< SMP1[2:0] bits (Channel 1 Sample time selection) */ -#define ADC_SMPR2_SMP1_0 ((uint32_t)0x00000008) /*!< Bit 0 */ -#define ADC_SMPR2_SMP1_1 ((uint32_t)0x00000010) /*!< Bit 1 */ -#define ADC_SMPR2_SMP1_2 ((uint32_t)0x00000020) /*!< Bit 2 */ - -#define ADC_SMPR2_SMP2 ((uint32_t)0x000001C0) /*!< SMP2[2:0] bits (Channel 2 Sample time selection) */ -#define ADC_SMPR2_SMP2_0 ((uint32_t)0x00000040) /*!< Bit 0 */ -#define ADC_SMPR2_SMP2_1 ((uint32_t)0x00000080) /*!< Bit 1 */ -#define ADC_SMPR2_SMP2_2 ((uint32_t)0x00000100) /*!< Bit 2 */ - -#define ADC_SMPR2_SMP3 ((uint32_t)0x00000E00) /*!< SMP3[2:0] bits (Channel 3 Sample time selection) */ -#define ADC_SMPR2_SMP3_0 ((uint32_t)0x00000200) /*!< Bit 0 */ -#define ADC_SMPR2_SMP3_1 ((uint32_t)0x00000400) /*!< Bit 1 */ -#define ADC_SMPR2_SMP3_2 ((uint32_t)0x00000800) /*!< Bit 2 */ - -#define ADC_SMPR2_SMP4 ((uint32_t)0x00007000) /*!< SMP4[2:0] bits (Channel 4 Sample time selection) */ -#define ADC_SMPR2_SMP4_0 ((uint32_t)0x00001000) /*!< Bit 0 */ -#define ADC_SMPR2_SMP4_1 ((uint32_t)0x00002000) /*!< Bit 1 */ -#define ADC_SMPR2_SMP4_2 ((uint32_t)0x00004000) /*!< Bit 2 */ - -#define ADC_SMPR2_SMP5 ((uint32_t)0x00038000) /*!< SMP5[2:0] bits (Channel 5 Sample time selection) */ -#define ADC_SMPR2_SMP5_0 ((uint32_t)0x00008000) /*!< Bit 0 */ -#define ADC_SMPR2_SMP5_1 ((uint32_t)0x00010000) /*!< Bit 1 */ -#define ADC_SMPR2_SMP5_2 ((uint32_t)0x00020000) /*!< Bit 2 */ - -#define ADC_SMPR2_SMP6 ((uint32_t)0x001C0000) /*!< SMP6[2:0] bits (Channel 6 Sample time selection) */ -#define ADC_SMPR2_SMP6_0 ((uint32_t)0x00040000) /*!< Bit 0 */ -#define ADC_SMPR2_SMP6_1 ((uint32_t)0x00080000) /*!< Bit 1 */ -#define ADC_SMPR2_SMP6_2 ((uint32_t)0x00100000) /*!< Bit 2 */ - -#define ADC_SMPR2_SMP7 ((uint32_t)0x00E00000) /*!< SMP7[2:0] bits (Channel 7 Sample time selection) */ -#define ADC_SMPR2_SMP7_0 ((uint32_t)0x00200000) /*!< Bit 0 */ -#define ADC_SMPR2_SMP7_1 ((uint32_t)0x00400000) /*!< Bit 1 */ -#define ADC_SMPR2_SMP7_2 ((uint32_t)0x00800000) /*!< Bit 2 */ - -#define ADC_SMPR2_SMP8 ((uint32_t)0x07000000) /*!< SMP8[2:0] bits (Channel 8 Sample time selection) */ -#define ADC_SMPR2_SMP8_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define ADC_SMPR2_SMP8_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define ADC_SMPR2_SMP8_2 ((uint32_t)0x04000000) /*!< Bit 2 */ - -#define ADC_SMPR2_SMP9 ((uint32_t)0x38000000) /*!< SMP9[2:0] bits (Channel 9 Sample time selection) */ -#define ADC_SMPR2_SMP9_0 ((uint32_t)0x08000000) /*!< Bit 0 */ -#define ADC_SMPR2_SMP9_1 ((uint32_t)0x10000000) /*!< Bit 1 */ -#define ADC_SMPR2_SMP9_2 ((uint32_t)0x20000000) /*!< Bit 2 */ - -/****************** Bit definition for ADC_JOFR1 register *******************/ -#define ADC_JOFR1_JOFFSET1 ((uint16_t)0x0FFF) /*!< Data offset for injected channel 1 */ - -/****************** Bit definition for ADC_JOFR2 register *******************/ -#define ADC_JOFR2_JOFFSET2 ((uint16_t)0x0FFF) /*!< Data offset for injected channel 2 */ - -/****************** Bit definition for ADC_JOFR3 register *******************/ -#define ADC_JOFR3_JOFFSET3 ((uint16_t)0x0FFF) /*!< Data offset for injected channel 3 */ - -/****************** Bit definition for ADC_JOFR4 register *******************/ -#define ADC_JOFR4_JOFFSET4 ((uint16_t)0x0FFF) /*!< Data offset for injected channel 4 */ - -/******************* Bit definition for ADC_HTR register ********************/ -#define ADC_HTR_HT ((uint16_t)0x0FFF) /*!< Analog watchdog high threshold */ - -/******************* Bit definition for ADC_LTR register ********************/ -#define ADC_LTR_LT ((uint16_t)0x0FFF) /*!< Analog watchdog low threshold */ - -/******************* Bit definition for ADC_SQR1 register *******************/ -#define ADC_SQR1_SQ13 ((uint32_t)0x0000001F) /*!< SQ13[4:0] bits (13th conversion in regular sequence) */ -#define ADC_SQR1_SQ13_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define ADC_SQR1_SQ13_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define ADC_SQR1_SQ13_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define ADC_SQR1_SQ13_3 ((uint32_t)0x00000008) /*!< Bit 3 */ -#define ADC_SQR1_SQ13_4 ((uint32_t)0x00000010) /*!< Bit 4 */ - -#define ADC_SQR1_SQ14 ((uint32_t)0x000003E0) /*!< SQ14[4:0] bits (14th conversion in regular sequence) */ -#define ADC_SQR1_SQ14_0 ((uint32_t)0x00000020) /*!< Bit 0 */ -#define ADC_SQR1_SQ14_1 ((uint32_t)0x00000040) /*!< Bit 1 */ -#define ADC_SQR1_SQ14_2 ((uint32_t)0x00000080) /*!< Bit 2 */ -#define ADC_SQR1_SQ14_3 ((uint32_t)0x00000100) /*!< Bit 3 */ -#define ADC_SQR1_SQ14_4 ((uint32_t)0x00000200) /*!< Bit 4 */ - -#define ADC_SQR1_SQ15 ((uint32_t)0x00007C00) /*!< SQ15[4:0] bits (15th conversion in regular sequence) */ -#define ADC_SQR1_SQ15_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define ADC_SQR1_SQ15_1 ((uint32_t)0x00000800) /*!< Bit 1 */ -#define ADC_SQR1_SQ15_2 ((uint32_t)0x00001000) /*!< Bit 2 */ -#define ADC_SQR1_SQ15_3 ((uint32_t)0x00002000) /*!< Bit 3 */ -#define ADC_SQR1_SQ15_4 ((uint32_t)0x00004000) /*!< Bit 4 */ - -#define ADC_SQR1_SQ16 ((uint32_t)0x000F8000) /*!< SQ16[4:0] bits (16th conversion in regular sequence) */ -#define ADC_SQR1_SQ16_0 ((uint32_t)0x00008000) /*!< Bit 0 */ -#define ADC_SQR1_SQ16_1 ((uint32_t)0x00010000) /*!< Bit 1 */ -#define ADC_SQR1_SQ16_2 ((uint32_t)0x00020000) /*!< Bit 2 */ -#define ADC_SQR1_SQ16_3 ((uint32_t)0x00040000) /*!< Bit 3 */ -#define ADC_SQR1_SQ16_4 ((uint32_t)0x00080000) /*!< Bit 4 */ - -#define ADC_SQR1_L ((uint32_t)0x00F00000) /*!< L[3:0] bits (Regular channel sequence length) */ -#define ADC_SQR1_L_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define ADC_SQR1_L_1 ((uint32_t)0x00200000) /*!< Bit 1 */ -#define ADC_SQR1_L_2 ((uint32_t)0x00400000) /*!< Bit 2 */ -#define ADC_SQR1_L_3 ((uint32_t)0x00800000) /*!< Bit 3 */ - -/******************* Bit definition for ADC_SQR2 register *******************/ -#define ADC_SQR2_SQ7 ((uint32_t)0x0000001F) /*!< SQ7[4:0] bits (7th conversion in regular sequence) */ -#define ADC_SQR2_SQ7_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define ADC_SQR2_SQ7_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define ADC_SQR2_SQ7_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define ADC_SQR2_SQ7_3 ((uint32_t)0x00000008) /*!< Bit 3 */ -#define ADC_SQR2_SQ7_4 ((uint32_t)0x00000010) /*!< Bit 4 */ - -#define ADC_SQR2_SQ8 ((uint32_t)0x000003E0) /*!< SQ8[4:0] bits (8th conversion in regular sequence) */ -#define ADC_SQR2_SQ8_0 ((uint32_t)0x00000020) /*!< Bit 0 */ -#define ADC_SQR2_SQ8_1 ((uint32_t)0x00000040) /*!< Bit 1 */ -#define ADC_SQR2_SQ8_2 ((uint32_t)0x00000080) /*!< Bit 2 */ -#define ADC_SQR2_SQ8_3 ((uint32_t)0x00000100) /*!< Bit 3 */ -#define ADC_SQR2_SQ8_4 ((uint32_t)0x00000200) /*!< Bit 4 */ - -#define ADC_SQR2_SQ9 ((uint32_t)0x00007C00) /*!< SQ9[4:0] bits (9th conversion in regular sequence) */ -#define ADC_SQR2_SQ9_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define ADC_SQR2_SQ9_1 ((uint32_t)0x00000800) /*!< Bit 1 */ -#define ADC_SQR2_SQ9_2 ((uint32_t)0x00001000) /*!< Bit 2 */ -#define ADC_SQR2_SQ9_3 ((uint32_t)0x00002000) /*!< Bit 3 */ -#define ADC_SQR2_SQ9_4 ((uint32_t)0x00004000) /*!< Bit 4 */ - -#define ADC_SQR2_SQ10 ((uint32_t)0x000F8000) /*!< SQ10[4:0] bits (10th conversion in regular sequence) */ -#define ADC_SQR2_SQ10_0 ((uint32_t)0x00008000) /*!< Bit 0 */ -#define ADC_SQR2_SQ10_1 ((uint32_t)0x00010000) /*!< Bit 1 */ -#define ADC_SQR2_SQ10_2 ((uint32_t)0x00020000) /*!< Bit 2 */ -#define ADC_SQR2_SQ10_3 ((uint32_t)0x00040000) /*!< Bit 3 */ -#define ADC_SQR2_SQ10_4 ((uint32_t)0x00080000) /*!< Bit 4 */ - -#define ADC_SQR2_SQ11 ((uint32_t)0x01F00000) /*!< SQ11[4:0] bits (11th conversion in regular sequence) */ -#define ADC_SQR2_SQ11_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define ADC_SQR2_SQ11_1 ((uint32_t)0x00200000) /*!< Bit 1 */ -#define ADC_SQR2_SQ11_2 ((uint32_t)0x00400000) /*!< Bit 2 */ -#define ADC_SQR2_SQ11_3 ((uint32_t)0x00800000) /*!< Bit 3 */ -#define ADC_SQR2_SQ11_4 ((uint32_t)0x01000000) /*!< Bit 4 */ - -#define ADC_SQR2_SQ12 ((uint32_t)0x3E000000) /*!< SQ12[4:0] bits (12th conversion in regular sequence) */ -#define ADC_SQR2_SQ12_0 ((uint32_t)0x02000000) /*!< Bit 0 */ -#define ADC_SQR2_SQ12_1 ((uint32_t)0x04000000) /*!< Bit 1 */ -#define ADC_SQR2_SQ12_2 ((uint32_t)0x08000000) /*!< Bit 2 */ -#define ADC_SQR2_SQ12_3 ((uint32_t)0x10000000) /*!< Bit 3 */ -#define ADC_SQR2_SQ12_4 ((uint32_t)0x20000000) /*!< Bit 4 */ - -/******************* Bit definition for ADC_SQR3 register *******************/ -#define ADC_SQR3_SQ1 ((uint32_t)0x0000001F) /*!< SQ1[4:0] bits (1st conversion in regular sequence) */ -#define ADC_SQR3_SQ1_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define ADC_SQR3_SQ1_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define ADC_SQR3_SQ1_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define ADC_SQR3_SQ1_3 ((uint32_t)0x00000008) /*!< Bit 3 */ -#define ADC_SQR3_SQ1_4 ((uint32_t)0x00000010) /*!< Bit 4 */ - -#define ADC_SQR3_SQ2 ((uint32_t)0x000003E0) /*!< SQ2[4:0] bits (2nd conversion in regular sequence) */ -#define ADC_SQR3_SQ2_0 ((uint32_t)0x00000020) /*!< Bit 0 */ -#define ADC_SQR3_SQ2_1 ((uint32_t)0x00000040) /*!< Bit 1 */ -#define ADC_SQR3_SQ2_2 ((uint32_t)0x00000080) /*!< Bit 2 */ -#define ADC_SQR3_SQ2_3 ((uint32_t)0x00000100) /*!< Bit 3 */ -#define ADC_SQR3_SQ2_4 ((uint32_t)0x00000200) /*!< Bit 4 */ - -#define ADC_SQR3_SQ3 ((uint32_t)0x00007C00) /*!< SQ3[4:0] bits (3rd conversion in regular sequence) */ -#define ADC_SQR3_SQ3_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define ADC_SQR3_SQ3_1 ((uint32_t)0x00000800) /*!< Bit 1 */ -#define ADC_SQR3_SQ3_2 ((uint32_t)0x00001000) /*!< Bit 2 */ -#define ADC_SQR3_SQ3_3 ((uint32_t)0x00002000) /*!< Bit 3 */ -#define ADC_SQR3_SQ3_4 ((uint32_t)0x00004000) /*!< Bit 4 */ - -#define ADC_SQR3_SQ4 ((uint32_t)0x000F8000) /*!< SQ4[4:0] bits (4th conversion in regular sequence) */ -#define ADC_SQR3_SQ4_0 ((uint32_t)0x00008000) /*!< Bit 0 */ -#define ADC_SQR3_SQ4_1 ((uint32_t)0x00010000) /*!< Bit 1 */ -#define ADC_SQR3_SQ4_2 ((uint32_t)0x00020000) /*!< Bit 2 */ -#define ADC_SQR3_SQ4_3 ((uint32_t)0x00040000) /*!< Bit 3 */ -#define ADC_SQR3_SQ4_4 ((uint32_t)0x00080000) /*!< Bit 4 */ - -#define ADC_SQR3_SQ5 ((uint32_t)0x01F00000) /*!< SQ5[4:0] bits (5th conversion in regular sequence) */ -#define ADC_SQR3_SQ5_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define ADC_SQR3_SQ5_1 ((uint32_t)0x00200000) /*!< Bit 1 */ -#define ADC_SQR3_SQ5_2 ((uint32_t)0x00400000) /*!< Bit 2 */ -#define ADC_SQR3_SQ5_3 ((uint32_t)0x00800000) /*!< Bit 3 */ -#define ADC_SQR3_SQ5_4 ((uint32_t)0x01000000) /*!< Bit 4 */ - -#define ADC_SQR3_SQ6 ((uint32_t)0x3E000000) /*!< SQ6[4:0] bits (6th conversion in regular sequence) */ -#define ADC_SQR3_SQ6_0 ((uint32_t)0x02000000) /*!< Bit 0 */ -#define ADC_SQR3_SQ6_1 ((uint32_t)0x04000000) /*!< Bit 1 */ -#define ADC_SQR3_SQ6_2 ((uint32_t)0x08000000) /*!< Bit 2 */ -#define ADC_SQR3_SQ6_3 ((uint32_t)0x10000000) /*!< Bit 3 */ -#define ADC_SQR3_SQ6_4 ((uint32_t)0x20000000) /*!< Bit 4 */ - -/******************* Bit definition for ADC_JSQR register *******************/ -#define ADC_JSQR_JSQ1 ((uint32_t)0x0000001F) /*!< JSQ1[4:0] bits (1st conversion in injected sequence) */ -#define ADC_JSQR_JSQ1_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define ADC_JSQR_JSQ1_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define ADC_JSQR_JSQ1_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define ADC_JSQR_JSQ1_3 ((uint32_t)0x00000008) /*!< Bit 3 */ -#define ADC_JSQR_JSQ1_4 ((uint32_t)0x00000010) /*!< Bit 4 */ - -#define ADC_JSQR_JSQ2 ((uint32_t)0x000003E0) /*!< JSQ2[4:0] bits (2nd conversion in injected sequence) */ -#define ADC_JSQR_JSQ2_0 ((uint32_t)0x00000020) /*!< Bit 0 */ -#define ADC_JSQR_JSQ2_1 ((uint32_t)0x00000040) /*!< Bit 1 */ -#define ADC_JSQR_JSQ2_2 ((uint32_t)0x00000080) /*!< Bit 2 */ -#define ADC_JSQR_JSQ2_3 ((uint32_t)0x00000100) /*!< Bit 3 */ -#define ADC_JSQR_JSQ2_4 ((uint32_t)0x00000200) /*!< Bit 4 */ - -#define ADC_JSQR_JSQ3 ((uint32_t)0x00007C00) /*!< JSQ3[4:0] bits (3rd conversion in injected sequence) */ -#define ADC_JSQR_JSQ3_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define ADC_JSQR_JSQ3_1 ((uint32_t)0x00000800) /*!< Bit 1 */ -#define ADC_JSQR_JSQ3_2 ((uint32_t)0x00001000) /*!< Bit 2 */ -#define ADC_JSQR_JSQ3_3 ((uint32_t)0x00002000) /*!< Bit 3 */ -#define ADC_JSQR_JSQ3_4 ((uint32_t)0x00004000) /*!< Bit 4 */ - -#define ADC_JSQR_JSQ4 ((uint32_t)0x000F8000) /*!< JSQ4[4:0] bits (4th conversion in injected sequence) */ -#define ADC_JSQR_JSQ4_0 ((uint32_t)0x00008000) /*!< Bit 0 */ -#define ADC_JSQR_JSQ4_1 ((uint32_t)0x00010000) /*!< Bit 1 */ -#define ADC_JSQR_JSQ4_2 ((uint32_t)0x00020000) /*!< Bit 2 */ -#define ADC_JSQR_JSQ4_3 ((uint32_t)0x00040000) /*!< Bit 3 */ -#define ADC_JSQR_JSQ4_4 ((uint32_t)0x00080000) /*!< Bit 4 */ - -#define ADC_JSQR_JL ((uint32_t)0x00300000) /*!< JL[1:0] bits (Injected Sequence length) */ -#define ADC_JSQR_JL_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define ADC_JSQR_JL_1 ((uint32_t)0x00200000) /*!< Bit 1 */ - -/******************* Bit definition for ADC_JDR1 register *******************/ -#define ADC_JDR1_JDATA ((uint16_t)0xFFFF) /*!< Injected data */ - -/******************* Bit definition for ADC_JDR2 register *******************/ -#define ADC_JDR2_JDATA ((uint16_t)0xFFFF) /*!< Injected data */ - -/******************* Bit definition for ADC_JDR3 register *******************/ -#define ADC_JDR3_JDATA ((uint16_t)0xFFFF) /*!< Injected data */ - -/******************* Bit definition for ADC_JDR4 register *******************/ -#define ADC_JDR4_JDATA ((uint16_t)0xFFFF) /*!< Injected data */ - -/******************** Bit definition for ADC_DR register ********************/ -#define ADC_DR_DATA ((uint32_t)0x0000FFFF) /*!< Regular data */ -#define ADC_DR_ADC2DATA ((uint32_t)0xFFFF0000) /*!< ADC2 data */ - -/******************************************************************************/ -/* */ -/* Digital to Analog Converter */ -/* */ -/******************************************************************************/ - -/******************** Bit definition for DAC_CR register ********************/ -#define DAC_CR_EN1 ((uint32_t)0x00000001) /*!< DAC channel1 enable */ -#define DAC_CR_BOFF1 ((uint32_t)0x00000002) /*!< DAC channel1 output buffer disable */ -#define DAC_CR_TEN1 ((uint32_t)0x00000004) /*!< DAC channel1 Trigger enable */ - -#define DAC_CR_TSEL1 ((uint32_t)0x00000038) /*!< TSEL1[2:0] (DAC channel1 Trigger selection) */ -#define DAC_CR_TSEL1_0 ((uint32_t)0x00000008) /*!< Bit 0 */ -#define DAC_CR_TSEL1_1 ((uint32_t)0x00000010) /*!< Bit 1 */ -#define DAC_CR_TSEL1_2 ((uint32_t)0x00000020) /*!< Bit 2 */ - -#define DAC_CR_WAVE1 ((uint32_t)0x000000C0) /*!< WAVE1[1:0] (DAC channel1 noise/triangle wave generation enable) */ -#define DAC_CR_WAVE1_0 ((uint32_t)0x00000040) /*!< Bit 0 */ -#define DAC_CR_WAVE1_1 ((uint32_t)0x00000080) /*!< Bit 1 */ - -#define DAC_CR_MAMP1 ((uint32_t)0x00000F00) /*!< MAMP1[3:0] (DAC channel1 Mask/Amplitude selector) */ -#define DAC_CR_MAMP1_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define DAC_CR_MAMP1_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define DAC_CR_MAMP1_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define DAC_CR_MAMP1_3 ((uint32_t)0x00000800) /*!< Bit 3 */ - -#define DAC_CR_DMAEN1 ((uint32_t)0x00001000) /*!< DAC channel1 DMA enable */ -#define DAC_CR_EN2 ((uint32_t)0x00010000) /*!< DAC channel2 enable */ -#define DAC_CR_BOFF2 ((uint32_t)0x00020000) /*!< DAC channel2 output buffer disable */ -#define DAC_CR_TEN2 ((uint32_t)0x00040000) /*!< DAC channel2 Trigger enable */ - -#define DAC_CR_TSEL2 ((uint32_t)0x00380000) /*!< TSEL2[2:0] (DAC channel2 Trigger selection) */ -#define DAC_CR_TSEL2_0 ((uint32_t)0x00080000) /*!< Bit 0 */ -#define DAC_CR_TSEL2_1 ((uint32_t)0x00100000) /*!< Bit 1 */ -#define DAC_CR_TSEL2_2 ((uint32_t)0x00200000) /*!< Bit 2 */ - -#define DAC_CR_WAVE2 ((uint32_t)0x00C00000) /*!< WAVE2[1:0] (DAC channel2 noise/triangle wave generation enable) */ -#define DAC_CR_WAVE2_0 ((uint32_t)0x00400000) /*!< Bit 0 */ -#define DAC_CR_WAVE2_1 ((uint32_t)0x00800000) /*!< Bit 1 */ - -#define DAC_CR_MAMP2 ((uint32_t)0x0F000000) /*!< MAMP2[3:0] (DAC channel2 Mask/Amplitude selector) */ -#define DAC_CR_MAMP2_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define DAC_CR_MAMP2_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define DAC_CR_MAMP2_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define DAC_CR_MAMP2_3 ((uint32_t)0x08000000) /*!< Bit 3 */ - -#define DAC_CR_DMAEN2 ((uint32_t)0x10000000) /*!< DAC channel2 DMA enabled */ - -/***************** Bit definition for DAC_SWTRIGR register ******************/ -#define DAC_SWTRIGR_SWTRIG1 ((uint8_t)0x01) /*!< DAC channel1 software trigger */ -#define DAC_SWTRIGR_SWTRIG2 ((uint8_t)0x02) /*!< DAC channel2 software trigger */ - -/***************** Bit definition for DAC_DHR12R1 register ******************/ -#define DAC_DHR12R1_DACC1DHR ((uint16_t)0x0FFF) /*!< DAC channel1 12-bit Right aligned data */ - -/***************** Bit definition for DAC_DHR12L1 register ******************/ -#define DAC_DHR12L1_DACC1DHR ((uint16_t)0xFFF0) /*!< DAC channel1 12-bit Left aligned data */ - -/****************** Bit definition for DAC_DHR8R1 register ******************/ -#define DAC_DHR8R1_DACC1DHR ((uint8_t)0xFF) /*!< DAC channel1 8-bit Right aligned data */ - -/***************** Bit definition for DAC_DHR12R2 register ******************/ -#define DAC_DHR12R2_DACC2DHR ((uint16_t)0x0FFF) /*!< DAC channel2 12-bit Right aligned data */ - -/***************** Bit definition for DAC_DHR12L2 register ******************/ -#define DAC_DHR12L2_DACC2DHR ((uint16_t)0xFFF0) /*!< DAC channel2 12-bit Left aligned data */ - -/****************** Bit definition for DAC_DHR8R2 register ******************/ -#define DAC_DHR8R2_DACC2DHR ((uint8_t)0xFF) /*!< DAC channel2 8-bit Right aligned data */ - -/***************** Bit definition for DAC_DHR12RD register ******************/ -#define DAC_DHR12RD_DACC1DHR ((uint32_t)0x00000FFF) /*!< DAC channel1 12-bit Right aligned data */ -#define DAC_DHR12RD_DACC2DHR ((uint32_t)0x0FFF0000) /*!< DAC channel2 12-bit Right aligned data */ - -/***************** Bit definition for DAC_DHR12LD register ******************/ -#define DAC_DHR12LD_DACC1DHR ((uint32_t)0x0000FFF0) /*!< DAC channel1 12-bit Left aligned data */ -#define DAC_DHR12LD_DACC2DHR ((uint32_t)0xFFF00000) /*!< DAC channel2 12-bit Left aligned data */ - -/****************** Bit definition for DAC_DHR8RD register ******************/ -#define DAC_DHR8RD_DACC1DHR ((uint16_t)0x00FF) /*!< DAC channel1 8-bit Right aligned data */ -#define DAC_DHR8RD_DACC2DHR ((uint16_t)0xFF00) /*!< DAC channel2 8-bit Right aligned data */ - -/******************* Bit definition for DAC_DOR1 register *******************/ -#define DAC_DOR1_DACC1DOR ((uint16_t)0x0FFF) /*!< DAC channel1 data output */ - -/******************* Bit definition for DAC_DOR2 register *******************/ -#define DAC_DOR2_DACC2DOR ((uint16_t)0x0FFF) /*!< DAC channel2 data output */ - -/******************** Bit definition for DAC_SR register ********************/ -#define DAC_SR_DMAUDR1 ((uint32_t)0x00002000) /*!< DAC channel1 DMA underrun flag */ -#define DAC_SR_DMAUDR2 ((uint32_t)0x20000000) /*!< DAC channel2 DMA underrun flag */ - -/******************************************************************************/ -/* */ -/* CEC */ -/* */ -/******************************************************************************/ -/******************** Bit definition for CEC_CFGR register ******************/ -#define CEC_CFGR_PE ((uint16_t)0x0001) /*!< Peripheral Enable */ -#define CEC_CFGR_IE ((uint16_t)0x0002) /*!< Interrupt Enable */ -#define CEC_CFGR_BTEM ((uint16_t)0x0004) /*!< Bit Timing Error Mode */ -#define CEC_CFGR_BPEM ((uint16_t)0x0008) /*!< Bit Period Error Mode */ - -/******************** Bit definition for CEC_OAR register ******************/ -#define CEC_OAR_OA ((uint16_t)0x000F) /*!< OA[3:0]: Own Address */ -#define CEC_OAR_OA_0 ((uint16_t)0x0001) /*!< Bit 0 */ -#define CEC_OAR_OA_1 ((uint16_t)0x0002) /*!< Bit 1 */ -#define CEC_OAR_OA_2 ((uint16_t)0x0004) /*!< Bit 2 */ -#define CEC_OAR_OA_3 ((uint16_t)0x0008) /*!< Bit 3 */ - -/******************** Bit definition for CEC_PRES register ******************/ -#define CEC_PRES_PRES ((uint16_t)0x3FFF) /*!< Prescaler Counter Value */ - -/******************** Bit definition for CEC_ESR register ******************/ -#define CEC_ESR_BTE ((uint16_t)0x0001) /*!< Bit Timing Error */ -#define CEC_ESR_BPE ((uint16_t)0x0002) /*!< Bit Period Error */ -#define CEC_ESR_RBTFE ((uint16_t)0x0004) /*!< Rx Block Transfer Finished Error */ -#define CEC_ESR_SBE ((uint16_t)0x0008) /*!< Start Bit Error */ -#define CEC_ESR_ACKE ((uint16_t)0x0010) /*!< Block Acknowledge Error */ -#define CEC_ESR_LINE ((uint16_t)0x0020) /*!< Line Error */ -#define CEC_ESR_TBTFE ((uint16_t)0x0040) /*!< Tx Block Transfer Finished Error */ - -/******************** Bit definition for CEC_CSR register ******************/ -#define CEC_CSR_TSOM ((uint16_t)0x0001) /*!< Tx Start Of Message */ -#define CEC_CSR_TEOM ((uint16_t)0x0002) /*!< Tx End Of Message */ -#define CEC_CSR_TERR ((uint16_t)0x0004) /*!< Tx Error */ -#define CEC_CSR_TBTRF ((uint16_t)0x0008) /*!< Tx Byte Transfer Request or Block Transfer Finished */ -#define CEC_CSR_RSOM ((uint16_t)0x0010) /*!< Rx Start Of Message */ -#define CEC_CSR_REOM ((uint16_t)0x0020) /*!< Rx End Of Message */ -#define CEC_CSR_RERR ((uint16_t)0x0040) /*!< Rx Error */ -#define CEC_CSR_RBTF ((uint16_t)0x0080) /*!< Rx Block Transfer Finished */ - -/******************** Bit definition for CEC_TXD register ******************/ -#define CEC_TXD_TXD ((uint16_t)0x00FF) /*!< Tx Data register */ - -/******************** Bit definition for CEC_RXD register ******************/ -#define CEC_RXD_RXD ((uint16_t)0x00FF) /*!< Rx Data register */ - -/******************************************************************************/ -/* */ -/* TIM */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for TIM_CR1 register ********************/ -#define TIM_CR1_CEN ((uint16_t)0x0001) /*!< Counter enable */ -#define TIM_CR1_UDIS ((uint16_t)0x0002) /*!< Update disable */ -#define TIM_CR1_URS ((uint16_t)0x0004) /*!< Update request source */ -#define TIM_CR1_OPM ((uint16_t)0x0008) /*!< One pulse mode */ -#define TIM_CR1_DIR ((uint16_t)0x0010) /*!< Direction */ - -#define TIM_CR1_CMS ((uint16_t)0x0060) /*!< CMS[1:0] bits (Center-aligned mode selection) */ -#define TIM_CR1_CMS_0 ((uint16_t)0x0020) /*!< Bit 0 */ -#define TIM_CR1_CMS_1 ((uint16_t)0x0040) /*!< Bit 1 */ - -#define TIM_CR1_ARPE ((uint16_t)0x0080) /*!< Auto-reload preload enable */ - -#define TIM_CR1_CKD ((uint16_t)0x0300) /*!< CKD[1:0] bits (clock division) */ -#define TIM_CR1_CKD_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define TIM_CR1_CKD_1 ((uint16_t)0x0200) /*!< Bit 1 */ - -/******************* Bit definition for TIM_CR2 register ********************/ -#define TIM_CR2_CCPC ((uint16_t)0x0001) /*!< Capture/Compare Preloaded Control */ -#define TIM_CR2_CCUS ((uint16_t)0x0004) /*!< Capture/Compare Control Update Selection */ -#define TIM_CR2_CCDS ((uint16_t)0x0008) /*!< Capture/Compare DMA Selection */ - -#define TIM_CR2_MMS ((uint16_t)0x0070) /*!< MMS[2:0] bits (Master Mode Selection) */ -#define TIM_CR2_MMS_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define TIM_CR2_MMS_1 ((uint16_t)0x0020) /*!< Bit 1 */ -#define TIM_CR2_MMS_2 ((uint16_t)0x0040) /*!< Bit 2 */ - -#define TIM_CR2_TI1S ((uint16_t)0x0080) /*!< TI1 Selection */ -#define TIM_CR2_OIS1 ((uint16_t)0x0100) /*!< Output Idle state 1 (OC1 output) */ -#define TIM_CR2_OIS1N ((uint16_t)0x0200) /*!< Output Idle state 1 (OC1N output) */ -#define TIM_CR2_OIS2 ((uint16_t)0x0400) /*!< Output Idle state 2 (OC2 output) */ -#define TIM_CR2_OIS2N ((uint16_t)0x0800) /*!< Output Idle state 2 (OC2N output) */ -#define TIM_CR2_OIS3 ((uint16_t)0x1000) /*!< Output Idle state 3 (OC3 output) */ -#define TIM_CR2_OIS3N ((uint16_t)0x2000) /*!< Output Idle state 3 (OC3N output) */ -#define TIM_CR2_OIS4 ((uint16_t)0x4000) /*!< Output Idle state 4 (OC4 output) */ - -/******************* Bit definition for TIM_SMCR register *******************/ -#define TIM_SMCR_SMS ((uint16_t)0x0007) /*!< SMS[2:0] bits (Slave mode selection) */ -#define TIM_SMCR_SMS_0 ((uint16_t)0x0001) /*!< Bit 0 */ -#define TIM_SMCR_SMS_1 ((uint16_t)0x0002) /*!< Bit 1 */ -#define TIM_SMCR_SMS_2 ((uint16_t)0x0004) /*!< Bit 2 */ - -#define TIM_SMCR_TS ((uint16_t)0x0070) /*!< TS[2:0] bits (Trigger selection) */ -#define TIM_SMCR_TS_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define TIM_SMCR_TS_1 ((uint16_t)0x0020) /*!< Bit 1 */ -#define TIM_SMCR_TS_2 ((uint16_t)0x0040) /*!< Bit 2 */ - -#define TIM_SMCR_MSM ((uint16_t)0x0080) /*!< Master/slave mode */ - -#define TIM_SMCR_ETF ((uint16_t)0x0F00) /*!< ETF[3:0] bits (External trigger filter) */ -#define TIM_SMCR_ETF_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define TIM_SMCR_ETF_1 ((uint16_t)0x0200) /*!< Bit 1 */ -#define TIM_SMCR_ETF_2 ((uint16_t)0x0400) /*!< Bit 2 */ -#define TIM_SMCR_ETF_3 ((uint16_t)0x0800) /*!< Bit 3 */ - -#define TIM_SMCR_ETPS ((uint16_t)0x3000) /*!< ETPS[1:0] bits (External trigger prescaler) */ -#define TIM_SMCR_ETPS_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define TIM_SMCR_ETPS_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define TIM_SMCR_ECE ((uint16_t)0x4000) /*!< External clock enable */ -#define TIM_SMCR_ETP ((uint16_t)0x8000) /*!< External trigger polarity */ - -/******************* Bit definition for TIM_DIER register *******************/ -#define TIM_DIER_UIE ((uint16_t)0x0001) /*!< Update interrupt enable */ -#define TIM_DIER_CC1IE ((uint16_t)0x0002) /*!< Capture/Compare 1 interrupt enable */ -#define TIM_DIER_CC2IE ((uint16_t)0x0004) /*!< Capture/Compare 2 interrupt enable */ -#define TIM_DIER_CC3IE ((uint16_t)0x0008) /*!< Capture/Compare 3 interrupt enable */ -#define TIM_DIER_CC4IE ((uint16_t)0x0010) /*!< Capture/Compare 4 interrupt enable */ -#define TIM_DIER_COMIE ((uint16_t)0x0020) /*!< COM interrupt enable */ -#define TIM_DIER_TIE ((uint16_t)0x0040) /*!< Trigger interrupt enable */ -#define TIM_DIER_BIE ((uint16_t)0x0080) /*!< Break interrupt enable */ -#define TIM_DIER_UDE ((uint16_t)0x0100) /*!< Update DMA request enable */ -#define TIM_DIER_CC1DE ((uint16_t)0x0200) /*!< Capture/Compare 1 DMA request enable */ -#define TIM_DIER_CC2DE ((uint16_t)0x0400) /*!< Capture/Compare 2 DMA request enable */ -#define TIM_DIER_CC3DE ((uint16_t)0x0800) /*!< Capture/Compare 3 DMA request enable */ -#define TIM_DIER_CC4DE ((uint16_t)0x1000) /*!< Capture/Compare 4 DMA request enable */ -#define TIM_DIER_COMDE ((uint16_t)0x2000) /*!< COM DMA request enable */ -#define TIM_DIER_TDE ((uint16_t)0x4000) /*!< Trigger DMA request enable */ - -/******************** Bit definition for TIM_SR register ********************/ -#define TIM_SR_UIF ((uint16_t)0x0001) /*!< Update interrupt Flag */ -#define TIM_SR_CC1IF ((uint16_t)0x0002) /*!< Capture/Compare 1 interrupt Flag */ -#define TIM_SR_CC2IF ((uint16_t)0x0004) /*!< Capture/Compare 2 interrupt Flag */ -#define TIM_SR_CC3IF ((uint16_t)0x0008) /*!< Capture/Compare 3 interrupt Flag */ -#define TIM_SR_CC4IF ((uint16_t)0x0010) /*!< Capture/Compare 4 interrupt Flag */ -#define TIM_SR_COMIF ((uint16_t)0x0020) /*!< COM interrupt Flag */ -#define TIM_SR_TIF ((uint16_t)0x0040) /*!< Trigger interrupt Flag */ -#define TIM_SR_BIF ((uint16_t)0x0080) /*!< Break interrupt Flag */ -#define TIM_SR_CC1OF ((uint16_t)0x0200) /*!< Capture/Compare 1 Overcapture Flag */ -#define TIM_SR_CC2OF ((uint16_t)0x0400) /*!< Capture/Compare 2 Overcapture Flag */ -#define TIM_SR_CC3OF ((uint16_t)0x0800) /*!< Capture/Compare 3 Overcapture Flag */ -#define TIM_SR_CC4OF ((uint16_t)0x1000) /*!< Capture/Compare 4 Overcapture Flag */ - -/******************* Bit definition for TIM_EGR register ********************/ -#define TIM_EGR_UG ((uint8_t)0x01) /*!< Update Generation */ -#define TIM_EGR_CC1G ((uint8_t)0x02) /*!< Capture/Compare 1 Generation */ -#define TIM_EGR_CC2G ((uint8_t)0x04) /*!< Capture/Compare 2 Generation */ -#define TIM_EGR_CC3G ((uint8_t)0x08) /*!< Capture/Compare 3 Generation */ -#define TIM_EGR_CC4G ((uint8_t)0x10) /*!< Capture/Compare 4 Generation */ -#define TIM_EGR_COMG ((uint8_t)0x20) /*!< Capture/Compare Control Update Generation */ -#define TIM_EGR_TG ((uint8_t)0x40) /*!< Trigger Generation */ -#define TIM_EGR_BG ((uint8_t)0x80) /*!< Break Generation */ - -/****************** Bit definition for TIM_CCMR1 register *******************/ -#define TIM_CCMR1_CC1S ((uint16_t)0x0003) /*!< CC1S[1:0] bits (Capture/Compare 1 Selection) */ -#define TIM_CCMR1_CC1S_0 ((uint16_t)0x0001) /*!< Bit 0 */ -#define TIM_CCMR1_CC1S_1 ((uint16_t)0x0002) /*!< Bit 1 */ - -#define TIM_CCMR1_OC1FE ((uint16_t)0x0004) /*!< Output Compare 1 Fast enable */ -#define TIM_CCMR1_OC1PE ((uint16_t)0x0008) /*!< Output Compare 1 Preload enable */ - -#define TIM_CCMR1_OC1M ((uint16_t)0x0070) /*!< OC1M[2:0] bits (Output Compare 1 Mode) */ -#define TIM_CCMR1_OC1M_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define TIM_CCMR1_OC1M_1 ((uint16_t)0x0020) /*!< Bit 1 */ -#define TIM_CCMR1_OC1M_2 ((uint16_t)0x0040) /*!< Bit 2 */ - -#define TIM_CCMR1_OC1CE ((uint16_t)0x0080) /*!< Output Compare 1Clear Enable */ - -#define TIM_CCMR1_CC2S ((uint16_t)0x0300) /*!< CC2S[1:0] bits (Capture/Compare 2 Selection) */ -#define TIM_CCMR1_CC2S_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define TIM_CCMR1_CC2S_1 ((uint16_t)0x0200) /*!< Bit 1 */ - -#define TIM_CCMR1_OC2FE ((uint16_t)0x0400) /*!< Output Compare 2 Fast enable */ -#define TIM_CCMR1_OC2PE ((uint16_t)0x0800) /*!< Output Compare 2 Preload enable */ - -#define TIM_CCMR1_OC2M ((uint16_t)0x7000) /*!< OC2M[2:0] bits (Output Compare 2 Mode) */ -#define TIM_CCMR1_OC2M_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define TIM_CCMR1_OC2M_1 ((uint16_t)0x2000) /*!< Bit 1 */ -#define TIM_CCMR1_OC2M_2 ((uint16_t)0x4000) /*!< Bit 2 */ - -#define TIM_CCMR1_OC2CE ((uint16_t)0x8000) /*!< Output Compare 2 Clear Enable */ - -/*----------------------------------------------------------------------------*/ - -#define TIM_CCMR1_IC1PSC ((uint16_t)0x000C) /*!< IC1PSC[1:0] bits (Input Capture 1 Prescaler) */ -#define TIM_CCMR1_IC1PSC_0 ((uint16_t)0x0004) /*!< Bit 0 */ -#define TIM_CCMR1_IC1PSC_1 ((uint16_t)0x0008) /*!< Bit 1 */ - -#define TIM_CCMR1_IC1F ((uint16_t)0x00F0) /*!< IC1F[3:0] bits (Input Capture 1 Filter) */ -#define TIM_CCMR1_IC1F_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define TIM_CCMR1_IC1F_1 ((uint16_t)0x0020) /*!< Bit 1 */ -#define TIM_CCMR1_IC1F_2 ((uint16_t)0x0040) /*!< Bit 2 */ -#define TIM_CCMR1_IC1F_3 ((uint16_t)0x0080) /*!< Bit 3 */ - -#define TIM_CCMR1_IC2PSC ((uint16_t)0x0C00) /*!< IC2PSC[1:0] bits (Input Capture 2 Prescaler) */ -#define TIM_CCMR1_IC2PSC_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define TIM_CCMR1_IC2PSC_1 ((uint16_t)0x0800) /*!< Bit 1 */ - -#define TIM_CCMR1_IC2F ((uint16_t)0xF000) /*!< IC2F[3:0] bits (Input Capture 2 Filter) */ -#define TIM_CCMR1_IC2F_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define TIM_CCMR1_IC2F_1 ((uint16_t)0x2000) /*!< Bit 1 */ -#define TIM_CCMR1_IC2F_2 ((uint16_t)0x4000) /*!< Bit 2 */ -#define TIM_CCMR1_IC2F_3 ((uint16_t)0x8000) /*!< Bit 3 */ - -/****************** Bit definition for TIM_CCMR2 register *******************/ -#define TIM_CCMR2_CC3S ((uint16_t)0x0003) /*!< CC3S[1:0] bits (Capture/Compare 3 Selection) */ -#define TIM_CCMR2_CC3S_0 ((uint16_t)0x0001) /*!< Bit 0 */ -#define TIM_CCMR2_CC3S_1 ((uint16_t)0x0002) /*!< Bit 1 */ - -#define TIM_CCMR2_OC3FE ((uint16_t)0x0004) /*!< Output Compare 3 Fast enable */ -#define TIM_CCMR2_OC3PE ((uint16_t)0x0008) /*!< Output Compare 3 Preload enable */ - -#define TIM_CCMR2_OC3M ((uint16_t)0x0070) /*!< OC3M[2:0] bits (Output Compare 3 Mode) */ -#define TIM_CCMR2_OC3M_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define TIM_CCMR2_OC3M_1 ((uint16_t)0x0020) /*!< Bit 1 */ -#define TIM_CCMR2_OC3M_2 ((uint16_t)0x0040) /*!< Bit 2 */ - -#define TIM_CCMR2_OC3CE ((uint16_t)0x0080) /*!< Output Compare 3 Clear Enable */ - -#define TIM_CCMR2_CC4S ((uint16_t)0x0300) /*!< CC4S[1:0] bits (Capture/Compare 4 Selection) */ -#define TIM_CCMR2_CC4S_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define TIM_CCMR2_CC4S_1 ((uint16_t)0x0200) /*!< Bit 1 */ - -#define TIM_CCMR2_OC4FE ((uint16_t)0x0400) /*!< Output Compare 4 Fast enable */ -#define TIM_CCMR2_OC4PE ((uint16_t)0x0800) /*!< Output Compare 4 Preload enable */ - -#define TIM_CCMR2_OC4M ((uint16_t)0x7000) /*!< OC4M[2:0] bits (Output Compare 4 Mode) */ -#define TIM_CCMR2_OC4M_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define TIM_CCMR2_OC4M_1 ((uint16_t)0x2000) /*!< Bit 1 */ -#define TIM_CCMR2_OC4M_2 ((uint16_t)0x4000) /*!< Bit 2 */ - -#define TIM_CCMR2_OC4CE ((uint16_t)0x8000) /*!< Output Compare 4 Clear Enable */ - -/*----------------------------------------------------------------------------*/ - -#define TIM_CCMR2_IC3PSC ((uint16_t)0x000C) /*!< IC3PSC[1:0] bits (Input Capture 3 Prescaler) */ -#define TIM_CCMR2_IC3PSC_0 ((uint16_t)0x0004) /*!< Bit 0 */ -#define TIM_CCMR2_IC3PSC_1 ((uint16_t)0x0008) /*!< Bit 1 */ - -#define TIM_CCMR2_IC3F ((uint16_t)0x00F0) /*!< IC3F[3:0] bits (Input Capture 3 Filter) */ -#define TIM_CCMR2_IC3F_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define TIM_CCMR2_IC3F_1 ((uint16_t)0x0020) /*!< Bit 1 */ -#define TIM_CCMR2_IC3F_2 ((uint16_t)0x0040) /*!< Bit 2 */ -#define TIM_CCMR2_IC3F_3 ((uint16_t)0x0080) /*!< Bit 3 */ - -#define TIM_CCMR2_IC4PSC ((uint16_t)0x0C00) /*!< IC4PSC[1:0] bits (Input Capture 4 Prescaler) */ -#define TIM_CCMR2_IC4PSC_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define TIM_CCMR2_IC4PSC_1 ((uint16_t)0x0800) /*!< Bit 1 */ - -#define TIM_CCMR2_IC4F ((uint16_t)0xF000) /*!< IC4F[3:0] bits (Input Capture 4 Filter) */ -#define TIM_CCMR2_IC4F_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define TIM_CCMR2_IC4F_1 ((uint16_t)0x2000) /*!< Bit 1 */ -#define TIM_CCMR2_IC4F_2 ((uint16_t)0x4000) /*!< Bit 2 */ -#define TIM_CCMR2_IC4F_3 ((uint16_t)0x8000) /*!< Bit 3 */ - -/******************* Bit definition for TIM_CCER register *******************/ -#define TIM_CCER_CC1E ((uint16_t)0x0001) /*!< Capture/Compare 1 output enable */ -#define TIM_CCER_CC1P ((uint16_t)0x0002) /*!< Capture/Compare 1 output Polarity */ -#define TIM_CCER_CC1NE ((uint16_t)0x0004) /*!< Capture/Compare 1 Complementary output enable */ -#define TIM_CCER_CC1NP ((uint16_t)0x0008) /*!< Capture/Compare 1 Complementary output Polarity */ -#define TIM_CCER_CC2E ((uint16_t)0x0010) /*!< Capture/Compare 2 output enable */ -#define TIM_CCER_CC2P ((uint16_t)0x0020) /*!< Capture/Compare 2 output Polarity */ -#define TIM_CCER_CC2NE ((uint16_t)0x0040) /*!< Capture/Compare 2 Complementary output enable */ -#define TIM_CCER_CC2NP ((uint16_t)0x0080) /*!< Capture/Compare 2 Complementary output Polarity */ -#define TIM_CCER_CC3E ((uint16_t)0x0100) /*!< Capture/Compare 3 output enable */ -#define TIM_CCER_CC3P ((uint16_t)0x0200) /*!< Capture/Compare 3 output Polarity */ -#define TIM_CCER_CC3NE ((uint16_t)0x0400) /*!< Capture/Compare 3 Complementary output enable */ -#define TIM_CCER_CC3NP ((uint16_t)0x0800) /*!< Capture/Compare 3 Complementary output Polarity */ -#define TIM_CCER_CC4E ((uint16_t)0x1000) /*!< Capture/Compare 4 output enable */ -#define TIM_CCER_CC4P ((uint16_t)0x2000) /*!< Capture/Compare 4 output Polarity */ -#define TIM_CCER_CC4NP ((uint16_t)0x8000) /*!< Capture/Compare 4 Complementary output Polarity */ - -/******************* Bit definition for TIM_CNT register ********************/ -#define TIM_CNT_CNT ((uint16_t)0xFFFF) /*!< Counter Value */ - -/******************* Bit definition for TIM_PSC register ********************/ -#define TIM_PSC_PSC ((uint16_t)0xFFFF) /*!< Prescaler Value */ - -/******************* Bit definition for TIM_ARR register ********************/ -#define TIM_ARR_ARR ((uint16_t)0xFFFF) /*!< actual auto-reload Value */ - -/******************* Bit definition for TIM_RCR register ********************/ -#define TIM_RCR_REP ((uint8_t)0xFF) /*!< Repetition Counter Value */ - -/******************* Bit definition for TIM_CCR1 register *******************/ -#define TIM_CCR1_CCR1 ((uint16_t)0xFFFF) /*!< Capture/Compare 1 Value */ - -/******************* Bit definition for TIM_CCR2 register *******************/ -#define TIM_CCR2_CCR2 ((uint16_t)0xFFFF) /*!< Capture/Compare 2 Value */ - -/******************* Bit definition for TIM_CCR3 register *******************/ -#define TIM_CCR3_CCR3 ((uint16_t)0xFFFF) /*!< Capture/Compare 3 Value */ - -/******************* Bit definition for TIM_CCR4 register *******************/ -#define TIM_CCR4_CCR4 ((uint16_t)0xFFFF) /*!< Capture/Compare 4 Value */ - -/******************* Bit definition for TIM_BDTR register *******************/ -#define TIM_BDTR_DTG ((uint16_t)0x00FF) /*!< DTG[0:7] bits (Dead-Time Generator set-up) */ -#define TIM_BDTR_DTG_0 ((uint16_t)0x0001) /*!< Bit 0 */ -#define TIM_BDTR_DTG_1 ((uint16_t)0x0002) /*!< Bit 1 */ -#define TIM_BDTR_DTG_2 ((uint16_t)0x0004) /*!< Bit 2 */ -#define TIM_BDTR_DTG_3 ((uint16_t)0x0008) /*!< Bit 3 */ -#define TIM_BDTR_DTG_4 ((uint16_t)0x0010) /*!< Bit 4 */ -#define TIM_BDTR_DTG_5 ((uint16_t)0x0020) /*!< Bit 5 */ -#define TIM_BDTR_DTG_6 ((uint16_t)0x0040) /*!< Bit 6 */ -#define TIM_BDTR_DTG_7 ((uint16_t)0x0080) /*!< Bit 7 */ - -#define TIM_BDTR_LOCK ((uint16_t)0x0300) /*!< LOCK[1:0] bits (Lock Configuration) */ -#define TIM_BDTR_LOCK_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define TIM_BDTR_LOCK_1 ((uint16_t)0x0200) /*!< Bit 1 */ - -#define TIM_BDTR_OSSI ((uint16_t)0x0400) /*!< Off-State Selection for Idle mode */ -#define TIM_BDTR_OSSR ((uint16_t)0x0800) /*!< Off-State Selection for Run mode */ -#define TIM_BDTR_BKE ((uint16_t)0x1000) /*!< Break enable */ -#define TIM_BDTR_BKP ((uint16_t)0x2000) /*!< Break Polarity */ -#define TIM_BDTR_AOE ((uint16_t)0x4000) /*!< Automatic Output enable */ -#define TIM_BDTR_MOE ((uint16_t)0x8000) /*!< Main Output enable */ - -/******************* Bit definition for TIM_DCR register ********************/ -#define TIM_DCR_DBA ((uint16_t)0x001F) /*!< DBA[4:0] bits (DMA Base Address) */ -#define TIM_DCR_DBA_0 ((uint16_t)0x0001) /*!< Bit 0 */ -#define TIM_DCR_DBA_1 ((uint16_t)0x0002) /*!< Bit 1 */ -#define TIM_DCR_DBA_2 ((uint16_t)0x0004) /*!< Bit 2 */ -#define TIM_DCR_DBA_3 ((uint16_t)0x0008) /*!< Bit 3 */ -#define TIM_DCR_DBA_4 ((uint16_t)0x0010) /*!< Bit 4 */ - -#define TIM_DCR_DBL ((uint16_t)0x1F00) /*!< DBL[4:0] bits (DMA Burst Length) */ -#define TIM_DCR_DBL_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define TIM_DCR_DBL_1 ((uint16_t)0x0200) /*!< Bit 1 */ -#define TIM_DCR_DBL_2 ((uint16_t)0x0400) /*!< Bit 2 */ -#define TIM_DCR_DBL_3 ((uint16_t)0x0800) /*!< Bit 3 */ -#define TIM_DCR_DBL_4 ((uint16_t)0x1000) /*!< Bit 4 */ - -/******************* Bit definition for TIM_DMAR register *******************/ -#define TIM_DMAR_DMAB ((uint16_t)0xFFFF) /*!< DMA register for burst accesses */ - -/******************************************************************************/ -/* */ -/* Real-Time Clock */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for RTC_CRH register ********************/ -#define RTC_CRH_SECIE ((uint8_t)0x01) /*!< Second Interrupt Enable */ -#define RTC_CRH_ALRIE ((uint8_t)0x02) /*!< Alarm Interrupt Enable */ -#define RTC_CRH_OWIE ((uint8_t)0x04) /*!< OverfloW Interrupt Enable */ - -/******************* Bit definition for RTC_CRL register ********************/ -#define RTC_CRL_SECF ((uint8_t)0x01) /*!< Second Flag */ -#define RTC_CRL_ALRF ((uint8_t)0x02) /*!< Alarm Flag */ -#define RTC_CRL_OWF ((uint8_t)0x04) /*!< OverfloW Flag */ -#define RTC_CRL_RSF ((uint8_t)0x08) /*!< Registers Synchronized Flag */ -#define RTC_CRL_CNF ((uint8_t)0x10) /*!< Configuration Flag */ -#define RTC_CRL_RTOFF ((uint8_t)0x20) /*!< RTC operation OFF */ - -/******************* Bit definition for RTC_PRLH register *******************/ -#define RTC_PRLH_PRL ((uint16_t)0x000F) /*!< RTC Prescaler Reload Value High */ - -/******************* Bit definition for RTC_PRLL register *******************/ -#define RTC_PRLL_PRL ((uint16_t)0xFFFF) /*!< RTC Prescaler Reload Value Low */ - -/******************* Bit definition for RTC_DIVH register *******************/ -#define RTC_DIVH_RTC_DIV ((uint16_t)0x000F) /*!< RTC Clock Divider High */ - -/******************* Bit definition for RTC_DIVL register *******************/ -#define RTC_DIVL_RTC_DIV ((uint16_t)0xFFFF) /*!< RTC Clock Divider Low */ - -/******************* Bit definition for RTC_CNTH register *******************/ -#define RTC_CNTH_RTC_CNT ((uint16_t)0xFFFF) /*!< RTC Counter High */ - -/******************* Bit definition for RTC_CNTL register *******************/ -#define RTC_CNTL_RTC_CNT ((uint16_t)0xFFFF) /*!< RTC Counter Low */ - -/******************* Bit definition for RTC_ALRH register *******************/ -#define RTC_ALRH_RTC_ALR ((uint16_t)0xFFFF) /*!< RTC Alarm High */ - -/******************* Bit definition for RTC_ALRL register *******************/ -#define RTC_ALRL_RTC_ALR ((uint16_t)0xFFFF) /*!< RTC Alarm Low */ - -/******************************************************************************/ -/* */ -/* Independent WATCHDOG */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for IWDG_KR register ********************/ -#define IWDG_KR_KEY ((uint16_t)0xFFFF) /*!< Key value (write only, read 0000h) */ - -/******************* Bit definition for IWDG_PR register ********************/ -#define IWDG_PR_PR ((uint8_t)0x07) /*!< PR[2:0] (Prescaler divider) */ -#define IWDG_PR_PR_0 ((uint8_t)0x01) /*!< Bit 0 */ -#define IWDG_PR_PR_1 ((uint8_t)0x02) /*!< Bit 1 */ -#define IWDG_PR_PR_2 ((uint8_t)0x04) /*!< Bit 2 */ - -/******************* Bit definition for IWDG_RLR register *******************/ -#define IWDG_RLR_RL ((uint16_t)0x0FFF) /*!< Watchdog counter reload value */ - -/******************* Bit definition for IWDG_SR register ********************/ -#define IWDG_SR_PVU ((uint8_t)0x01) /*!< Watchdog prescaler value update */ -#define IWDG_SR_RVU ((uint8_t)0x02) /*!< Watchdog counter reload value update */ - -/******************************************************************************/ -/* */ -/* Window WATCHDOG */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for WWDG_CR register ********************/ -#define WWDG_CR_T ((uint8_t)0x7F) /*!< T[6:0] bits (7-Bit counter (MSB to LSB)) */ -#define WWDG_CR_T0 ((uint8_t)0x01) /*!< Bit 0 */ -#define WWDG_CR_T1 ((uint8_t)0x02) /*!< Bit 1 */ -#define WWDG_CR_T2 ((uint8_t)0x04) /*!< Bit 2 */ -#define WWDG_CR_T3 ((uint8_t)0x08) /*!< Bit 3 */ -#define WWDG_CR_T4 ((uint8_t)0x10) /*!< Bit 4 */ -#define WWDG_CR_T5 ((uint8_t)0x20) /*!< Bit 5 */ -#define WWDG_CR_T6 ((uint8_t)0x40) /*!< Bit 6 */ - -#define WWDG_CR_WDGA ((uint8_t)0x80) /*!< Activation bit */ - -/******************* Bit definition for WWDG_CFR register *******************/ -#define WWDG_CFR_W ((uint16_t)0x007F) /*!< W[6:0] bits (7-bit window value) */ -#define WWDG_CFR_W0 ((uint16_t)0x0001) /*!< Bit 0 */ -#define WWDG_CFR_W1 ((uint16_t)0x0002) /*!< Bit 1 */ -#define WWDG_CFR_W2 ((uint16_t)0x0004) /*!< Bit 2 */ -#define WWDG_CFR_W3 ((uint16_t)0x0008) /*!< Bit 3 */ -#define WWDG_CFR_W4 ((uint16_t)0x0010) /*!< Bit 4 */ -#define WWDG_CFR_W5 ((uint16_t)0x0020) /*!< Bit 5 */ -#define WWDG_CFR_W6 ((uint16_t)0x0040) /*!< Bit 6 */ - -#define WWDG_CFR_WDGTB ((uint16_t)0x0180) /*!< WDGTB[1:0] bits (Timer Base) */ -#define WWDG_CFR_WDGTB0 ((uint16_t)0x0080) /*!< Bit 0 */ -#define WWDG_CFR_WDGTB1 ((uint16_t)0x0100) /*!< Bit 1 */ - -#define WWDG_CFR_EWI ((uint16_t)0x0200) /*!< Early Wakeup Interrupt */ - -/******************* Bit definition for WWDG_SR register ********************/ -#define WWDG_SR_EWIF ((uint8_t)0x01) /*!< Early Wakeup Interrupt Flag */ - -/******************************************************************************/ -/* */ -/* Flexible Static Memory Controller */ -/* */ -/******************************************************************************/ - -/****************** Bit definition for FSMC_BCR1 register *******************/ -#define FSMC_BCR1_MBKEN ((uint32_t)0x00000001) /*!< Memory bank enable bit */ -#define FSMC_BCR1_MUXEN ((uint32_t)0x00000002) /*!< Address/data multiplexing enable bit */ - -#define FSMC_BCR1_MTYP ((uint32_t)0x0000000C) /*!< MTYP[1:0] bits (Memory type) */ -#define FSMC_BCR1_MTYP_0 ((uint32_t)0x00000004) /*!< Bit 0 */ -#define FSMC_BCR1_MTYP_1 ((uint32_t)0x00000008) /*!< Bit 1 */ - -#define FSMC_BCR1_MWID ((uint32_t)0x00000030) /*!< MWID[1:0] bits (Memory data bus width) */ -#define FSMC_BCR1_MWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_BCR1_MWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */ - -#define FSMC_BCR1_FACCEN ((uint32_t)0x00000040) /*!< Flash access enable */ -#define FSMC_BCR1_BURSTEN ((uint32_t)0x00000100) /*!< Burst enable bit */ -#define FSMC_BCR1_WAITPOL ((uint32_t)0x00000200) /*!< Wait signal polarity bit */ -#define FSMC_BCR1_WRAPMOD ((uint32_t)0x00000400) /*!< Wrapped burst mode support */ -#define FSMC_BCR1_WAITCFG ((uint32_t)0x00000800) /*!< Wait timing configuration */ -#define FSMC_BCR1_WREN ((uint32_t)0x00001000) /*!< Write enable bit */ -#define FSMC_BCR1_WAITEN ((uint32_t)0x00002000) /*!< Wait enable bit */ -#define FSMC_BCR1_EXTMOD ((uint32_t)0x00004000) /*!< Extended mode enable */ -#define FSMC_BCR1_ASYNCWAIT ((uint32_t)0x00008000) /*!< Asynchronous wait */ -#define FSMC_BCR1_CBURSTRW ((uint32_t)0x00080000) /*!< Write burst enable */ - -/****************** Bit definition for FSMC_BCR2 register *******************/ -#define FSMC_BCR2_MBKEN ((uint32_t)0x00000001) /*!< Memory bank enable bit */ -#define FSMC_BCR2_MUXEN ((uint32_t)0x00000002) /*!< Address/data multiplexing enable bit */ - -#define FSMC_BCR2_MTYP ((uint32_t)0x0000000C) /*!< MTYP[1:0] bits (Memory type) */ -#define FSMC_BCR2_MTYP_0 ((uint32_t)0x00000004) /*!< Bit 0 */ -#define FSMC_BCR2_MTYP_1 ((uint32_t)0x00000008) /*!< Bit 1 */ - -#define FSMC_BCR2_MWID ((uint32_t)0x00000030) /*!< MWID[1:0] bits (Memory data bus width) */ -#define FSMC_BCR2_MWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_BCR2_MWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */ - -#define FSMC_BCR2_FACCEN ((uint32_t)0x00000040) /*!< Flash access enable */ -#define FSMC_BCR2_BURSTEN ((uint32_t)0x00000100) /*!< Burst enable bit */ -#define FSMC_BCR2_WAITPOL ((uint32_t)0x00000200) /*!< Wait signal polarity bit */ -#define FSMC_BCR2_WRAPMOD ((uint32_t)0x00000400) /*!< Wrapped burst mode support */ -#define FSMC_BCR2_WAITCFG ((uint32_t)0x00000800) /*!< Wait timing configuration */ -#define FSMC_BCR2_WREN ((uint32_t)0x00001000) /*!< Write enable bit */ -#define FSMC_BCR2_WAITEN ((uint32_t)0x00002000) /*!< Wait enable bit */ -#define FSMC_BCR2_EXTMOD ((uint32_t)0x00004000) /*!< Extended mode enable */ -#define FSMC_BCR2_ASYNCWAIT ((uint32_t)0x00008000) /*!< Asynchronous wait */ -#define FSMC_BCR2_CBURSTRW ((uint32_t)0x00080000) /*!< Write burst enable */ - -/****************** Bit definition for FSMC_BCR3 register *******************/ -#define FSMC_BCR3_MBKEN ((uint32_t)0x00000001) /*!< Memory bank enable bit */ -#define FSMC_BCR3_MUXEN ((uint32_t)0x00000002) /*!< Address/data multiplexing enable bit */ - -#define FSMC_BCR3_MTYP ((uint32_t)0x0000000C) /*!< MTYP[1:0] bits (Memory type) */ -#define FSMC_BCR3_MTYP_0 ((uint32_t)0x00000004) /*!< Bit 0 */ -#define FSMC_BCR3_MTYP_1 ((uint32_t)0x00000008) /*!< Bit 1 */ - -#define FSMC_BCR3_MWID ((uint32_t)0x00000030) /*!< MWID[1:0] bits (Memory data bus width) */ -#define FSMC_BCR3_MWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_BCR3_MWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */ - -#define FSMC_BCR3_FACCEN ((uint32_t)0x00000040) /*!< Flash access enable */ -#define FSMC_BCR3_BURSTEN ((uint32_t)0x00000100) /*!< Burst enable bit */ -#define FSMC_BCR3_WAITPOL ((uint32_t)0x00000200) /*!< Wait signal polarity bit. */ -#define FSMC_BCR3_WRAPMOD ((uint32_t)0x00000400) /*!< Wrapped burst mode support */ -#define FSMC_BCR3_WAITCFG ((uint32_t)0x00000800) /*!< Wait timing configuration */ -#define FSMC_BCR3_WREN ((uint32_t)0x00001000) /*!< Write enable bit */ -#define FSMC_BCR3_WAITEN ((uint32_t)0x00002000) /*!< Wait enable bit */ -#define FSMC_BCR3_EXTMOD ((uint32_t)0x00004000) /*!< Extended mode enable */ -#define FSMC_BCR3_ASYNCWAIT ((uint32_t)0x00008000) /*!< Asynchronous wait */ -#define FSMC_BCR3_CBURSTRW ((uint32_t)0x00080000) /*!< Write burst enable */ - -/****************** Bit definition for FSMC_BCR4 register *******************/ -#define FSMC_BCR4_MBKEN ((uint32_t)0x00000001) /*!< Memory bank enable bit */ -#define FSMC_BCR4_MUXEN ((uint32_t)0x00000002) /*!< Address/data multiplexing enable bit */ - -#define FSMC_BCR4_MTYP ((uint32_t)0x0000000C) /*!< MTYP[1:0] bits (Memory type) */ -#define FSMC_BCR4_MTYP_0 ((uint32_t)0x00000004) /*!< Bit 0 */ -#define FSMC_BCR4_MTYP_1 ((uint32_t)0x00000008) /*!< Bit 1 */ - -#define FSMC_BCR4_MWID ((uint32_t)0x00000030) /*!< MWID[1:0] bits (Memory data bus width) */ -#define FSMC_BCR4_MWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_BCR4_MWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */ - -#define FSMC_BCR4_FACCEN ((uint32_t)0x00000040) /*!< Flash access enable */ -#define FSMC_BCR4_BURSTEN ((uint32_t)0x00000100) /*!< Burst enable bit */ -#define FSMC_BCR4_WAITPOL ((uint32_t)0x00000200) /*!< Wait signal polarity bit */ -#define FSMC_BCR4_WRAPMOD ((uint32_t)0x00000400) /*!< Wrapped burst mode support */ -#define FSMC_BCR4_WAITCFG ((uint32_t)0x00000800) /*!< Wait timing configuration */ -#define FSMC_BCR4_WREN ((uint32_t)0x00001000) /*!< Write enable bit */ -#define FSMC_BCR4_WAITEN ((uint32_t)0x00002000) /*!< Wait enable bit */ -#define FSMC_BCR4_EXTMOD ((uint32_t)0x00004000) /*!< Extended mode enable */ -#define FSMC_BCR4_ASYNCWAIT ((uint32_t)0x00008000) /*!< Asynchronous wait */ -#define FSMC_BCR4_CBURSTRW ((uint32_t)0x00080000) /*!< Write burst enable */ - -/****************** Bit definition for FSMC_BTR1 register ******************/ -#define FSMC_BTR1_ADDSET ((uint32_t)0x0000000F) /*!< ADDSET[3:0] bits (Address setup phase duration) */ -#define FSMC_BTR1_ADDSET_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_BTR1_ADDSET_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_BTR1_ADDSET_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_BTR1_ADDSET_3 ((uint32_t)0x00000008) /*!< Bit 3 */ - -#define FSMC_BTR1_ADDHLD ((uint32_t)0x000000F0) /*!< ADDHLD[3:0] bits (Address-hold phase duration) */ -#define FSMC_BTR1_ADDHLD_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_BTR1_ADDHLD_1 ((uint32_t)0x00000020) /*!< Bit 1 */ -#define FSMC_BTR1_ADDHLD_2 ((uint32_t)0x00000040) /*!< Bit 2 */ -#define FSMC_BTR1_ADDHLD_3 ((uint32_t)0x00000080) /*!< Bit 3 */ - -#define FSMC_BTR1_DATAST ((uint32_t)0x0000FF00) /*!< DATAST [3:0] bits (Data-phase duration) */ -#define FSMC_BTR1_DATAST_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_BTR1_DATAST_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_BTR1_DATAST_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_BTR1_DATAST_3 ((uint32_t)0x00000800) /*!< Bit 3 */ - -#define FSMC_BTR1_BUSTURN ((uint32_t)0x000F0000) /*!< BUSTURN[3:0] bits (Bus turnaround phase duration) */ -#define FSMC_BTR1_BUSTURN_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define FSMC_BTR1_BUSTURN_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define FSMC_BTR1_BUSTURN_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define FSMC_BTR1_BUSTURN_3 ((uint32_t)0x00080000) /*!< Bit 3 */ - -#define FSMC_BTR1_CLKDIV ((uint32_t)0x00F00000) /*!< CLKDIV[3:0] bits (Clock divide ratio) */ -#define FSMC_BTR1_CLKDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define FSMC_BTR1_CLKDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */ -#define FSMC_BTR1_CLKDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */ -#define FSMC_BTR1_CLKDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */ - -#define FSMC_BTR1_DATLAT ((uint32_t)0x0F000000) /*!< DATLA[3:0] bits (Data latency) */ -#define FSMC_BTR1_DATLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_BTR1_DATLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_BTR1_DATLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_BTR1_DATLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */ - -#define FSMC_BTR1_ACCMOD ((uint32_t)0x30000000) /*!< ACCMOD[1:0] bits (Access mode) */ -#define FSMC_BTR1_ACCMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */ -#define FSMC_BTR1_ACCMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */ - -/****************** Bit definition for FSMC_BTR2 register *******************/ -#define FSMC_BTR2_ADDSET ((uint32_t)0x0000000F) /*!< ADDSET[3:0] bits (Address setup phase duration) */ -#define FSMC_BTR2_ADDSET_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_BTR2_ADDSET_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_BTR2_ADDSET_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_BTR2_ADDSET_3 ((uint32_t)0x00000008) /*!< Bit 3 */ - -#define FSMC_BTR2_ADDHLD ((uint32_t)0x000000F0) /*!< ADDHLD[3:0] bits (Address-hold phase duration) */ -#define FSMC_BTR2_ADDHLD_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_BTR2_ADDHLD_1 ((uint32_t)0x00000020) /*!< Bit 1 */ -#define FSMC_BTR2_ADDHLD_2 ((uint32_t)0x00000040) /*!< Bit 2 */ -#define FSMC_BTR2_ADDHLD_3 ((uint32_t)0x00000080) /*!< Bit 3 */ - -#define FSMC_BTR2_DATAST ((uint32_t)0x0000FF00) /*!< DATAST [3:0] bits (Data-phase duration) */ -#define FSMC_BTR2_DATAST_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_BTR2_DATAST_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_BTR2_DATAST_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_BTR2_DATAST_3 ((uint32_t)0x00000800) /*!< Bit 3 */ - -#define FSMC_BTR2_BUSTURN ((uint32_t)0x000F0000) /*!< BUSTURN[3:0] bits (Bus turnaround phase duration) */ -#define FSMC_BTR2_BUSTURN_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define FSMC_BTR2_BUSTURN_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define FSMC_BTR2_BUSTURN_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define FSMC_BTR2_BUSTURN_3 ((uint32_t)0x00080000) /*!< Bit 3 */ - -#define FSMC_BTR2_CLKDIV ((uint32_t)0x00F00000) /*!< CLKDIV[3:0] bits (Clock divide ratio) */ -#define FSMC_BTR2_CLKDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define FSMC_BTR2_CLKDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */ -#define FSMC_BTR2_CLKDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */ -#define FSMC_BTR2_CLKDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */ - -#define FSMC_BTR2_DATLAT ((uint32_t)0x0F000000) /*!< DATLA[3:0] bits (Data latency) */ -#define FSMC_BTR2_DATLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_BTR2_DATLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_BTR2_DATLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_BTR2_DATLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */ - -#define FSMC_BTR2_ACCMOD ((uint32_t)0x30000000) /*!< ACCMOD[1:0] bits (Access mode) */ -#define FSMC_BTR2_ACCMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */ -#define FSMC_BTR2_ACCMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */ - -/******************* Bit definition for FSMC_BTR3 register *******************/ -#define FSMC_BTR3_ADDSET ((uint32_t)0x0000000F) /*!< ADDSET[3:0] bits (Address setup phase duration) */ -#define FSMC_BTR3_ADDSET_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_BTR3_ADDSET_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_BTR3_ADDSET_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_BTR3_ADDSET_3 ((uint32_t)0x00000008) /*!< Bit 3 */ - -#define FSMC_BTR3_ADDHLD ((uint32_t)0x000000F0) /*!< ADDHLD[3:0] bits (Address-hold phase duration) */ -#define FSMC_BTR3_ADDHLD_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_BTR3_ADDHLD_1 ((uint32_t)0x00000020) /*!< Bit 1 */ -#define FSMC_BTR3_ADDHLD_2 ((uint32_t)0x00000040) /*!< Bit 2 */ -#define FSMC_BTR3_ADDHLD_3 ((uint32_t)0x00000080) /*!< Bit 3 */ - -#define FSMC_BTR3_DATAST ((uint32_t)0x0000FF00) /*!< DATAST [3:0] bits (Data-phase duration) */ -#define FSMC_BTR3_DATAST_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_BTR3_DATAST_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_BTR3_DATAST_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_BTR3_DATAST_3 ((uint32_t)0x00000800) /*!< Bit 3 */ - -#define FSMC_BTR3_BUSTURN ((uint32_t)0x000F0000) /*!< BUSTURN[3:0] bits (Bus turnaround phase duration) */ -#define FSMC_BTR3_BUSTURN_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define FSMC_BTR3_BUSTURN_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define FSMC_BTR3_BUSTURN_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define FSMC_BTR3_BUSTURN_3 ((uint32_t)0x00080000) /*!< Bit 3 */ - -#define FSMC_BTR3_CLKDIV ((uint32_t)0x00F00000) /*!< CLKDIV[3:0] bits (Clock divide ratio) */ -#define FSMC_BTR3_CLKDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define FSMC_BTR3_CLKDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */ -#define FSMC_BTR3_CLKDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */ -#define FSMC_BTR3_CLKDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */ - -#define FSMC_BTR3_DATLAT ((uint32_t)0x0F000000) /*!< DATLA[3:0] bits (Data latency) */ -#define FSMC_BTR3_DATLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_BTR3_DATLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_BTR3_DATLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_BTR3_DATLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */ - -#define FSMC_BTR3_ACCMOD ((uint32_t)0x30000000) /*!< ACCMOD[1:0] bits (Access mode) */ -#define FSMC_BTR3_ACCMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */ -#define FSMC_BTR3_ACCMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */ - -/****************** Bit definition for FSMC_BTR4 register *******************/ -#define FSMC_BTR4_ADDSET ((uint32_t)0x0000000F) /*!< ADDSET[3:0] bits (Address setup phase duration) */ -#define FSMC_BTR4_ADDSET_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_BTR4_ADDSET_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_BTR4_ADDSET_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_BTR4_ADDSET_3 ((uint32_t)0x00000008) /*!< Bit 3 */ - -#define FSMC_BTR4_ADDHLD ((uint32_t)0x000000F0) /*!< ADDHLD[3:0] bits (Address-hold phase duration) */ -#define FSMC_BTR4_ADDHLD_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_BTR4_ADDHLD_1 ((uint32_t)0x00000020) /*!< Bit 1 */ -#define FSMC_BTR4_ADDHLD_2 ((uint32_t)0x00000040) /*!< Bit 2 */ -#define FSMC_BTR4_ADDHLD_3 ((uint32_t)0x00000080) /*!< Bit 3 */ - -#define FSMC_BTR4_DATAST ((uint32_t)0x0000FF00) /*!< DATAST [3:0] bits (Data-phase duration) */ -#define FSMC_BTR4_DATAST_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_BTR4_DATAST_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_BTR4_DATAST_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_BTR4_DATAST_3 ((uint32_t)0x00000800) /*!< Bit 3 */ - -#define FSMC_BTR4_BUSTURN ((uint32_t)0x000F0000) /*!< BUSTURN[3:0] bits (Bus turnaround phase duration) */ -#define FSMC_BTR4_BUSTURN_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define FSMC_BTR4_BUSTURN_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define FSMC_BTR4_BUSTURN_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define FSMC_BTR4_BUSTURN_3 ((uint32_t)0x00080000) /*!< Bit 3 */ - -#define FSMC_BTR4_CLKDIV ((uint32_t)0x00F00000) /*!< CLKDIV[3:0] bits (Clock divide ratio) */ -#define FSMC_BTR4_CLKDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define FSMC_BTR4_CLKDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */ -#define FSMC_BTR4_CLKDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */ -#define FSMC_BTR4_CLKDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */ - -#define FSMC_BTR4_DATLAT ((uint32_t)0x0F000000) /*!< DATLA[3:0] bits (Data latency) */ -#define FSMC_BTR4_DATLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_BTR4_DATLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_BTR4_DATLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_BTR4_DATLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */ - -#define FSMC_BTR4_ACCMOD ((uint32_t)0x30000000) /*!< ACCMOD[1:0] bits (Access mode) */ -#define FSMC_BTR4_ACCMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */ -#define FSMC_BTR4_ACCMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */ - -/****************** Bit definition for FSMC_BWTR1 register ******************/ -#define FSMC_BWTR1_ADDSET ((uint32_t)0x0000000F) /*!< ADDSET[3:0] bits (Address setup phase duration) */ -#define FSMC_BWTR1_ADDSET_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_BWTR1_ADDSET_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_BWTR1_ADDSET_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_BWTR1_ADDSET_3 ((uint32_t)0x00000008) /*!< Bit 3 */ - -#define FSMC_BWTR1_ADDHLD ((uint32_t)0x000000F0) /*!< ADDHLD[3:0] bits (Address-hold phase duration) */ -#define FSMC_BWTR1_ADDHLD_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_BWTR1_ADDHLD_1 ((uint32_t)0x00000020) /*!< Bit 1 */ -#define FSMC_BWTR1_ADDHLD_2 ((uint32_t)0x00000040) /*!< Bit 2 */ -#define FSMC_BWTR1_ADDHLD_3 ((uint32_t)0x00000080) /*!< Bit 3 */ - -#define FSMC_BWTR1_DATAST ((uint32_t)0x0000FF00) /*!< DATAST [3:0] bits (Data-phase duration) */ -#define FSMC_BWTR1_DATAST_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_BWTR1_DATAST_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_BWTR1_DATAST_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_BWTR1_DATAST_3 ((uint32_t)0x00000800) /*!< Bit 3 */ - -#define FSMC_BWTR1_CLKDIV ((uint32_t)0x00F00000) /*!< CLKDIV[3:0] bits (Clock divide ratio) */ -#define FSMC_BWTR1_CLKDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define FSMC_BWTR1_CLKDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */ -#define FSMC_BWTR1_CLKDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */ -#define FSMC_BWTR1_CLKDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */ - -#define FSMC_BWTR1_DATLAT ((uint32_t)0x0F000000) /*!< DATLA[3:0] bits (Data latency) */ -#define FSMC_BWTR1_DATLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_BWTR1_DATLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_BWTR1_DATLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_BWTR1_DATLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */ - -#define FSMC_BWTR1_ACCMOD ((uint32_t)0x30000000) /*!< ACCMOD[1:0] bits (Access mode) */ -#define FSMC_BWTR1_ACCMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */ -#define FSMC_BWTR1_ACCMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */ - -/****************** Bit definition for FSMC_BWTR2 register ******************/ -#define FSMC_BWTR2_ADDSET ((uint32_t)0x0000000F) /*!< ADDSET[3:0] bits (Address setup phase duration) */ -#define FSMC_BWTR2_ADDSET_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_BWTR2_ADDSET_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_BWTR2_ADDSET_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_BWTR2_ADDSET_3 ((uint32_t)0x00000008) /*!< Bit 3 */ - -#define FSMC_BWTR2_ADDHLD ((uint32_t)0x000000F0) /*!< ADDHLD[3:0] bits (Address-hold phase duration) */ -#define FSMC_BWTR2_ADDHLD_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_BWTR2_ADDHLD_1 ((uint32_t)0x00000020) /*!< Bit 1 */ -#define FSMC_BWTR2_ADDHLD_2 ((uint32_t)0x00000040) /*!< Bit 2 */ -#define FSMC_BWTR2_ADDHLD_3 ((uint32_t)0x00000080) /*!< Bit 3 */ - -#define FSMC_BWTR2_DATAST ((uint32_t)0x0000FF00) /*!< DATAST [3:0] bits (Data-phase duration) */ -#define FSMC_BWTR2_DATAST_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_BWTR2_DATAST_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_BWTR2_DATAST_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_BWTR2_DATAST_3 ((uint32_t)0x00000800) /*!< Bit 3 */ - -#define FSMC_BWTR2_CLKDIV ((uint32_t)0x00F00000) /*!< CLKDIV[3:0] bits (Clock divide ratio) */ -#define FSMC_BWTR2_CLKDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define FSMC_BWTR2_CLKDIV_1 ((uint32_t)0x00200000) /*!< Bit 1*/ -#define FSMC_BWTR2_CLKDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */ -#define FSMC_BWTR2_CLKDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */ - -#define FSMC_BWTR2_DATLAT ((uint32_t)0x0F000000) /*!< DATLA[3:0] bits (Data latency) */ -#define FSMC_BWTR2_DATLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_BWTR2_DATLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_BWTR2_DATLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_BWTR2_DATLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */ - -#define FSMC_BWTR2_ACCMOD ((uint32_t)0x30000000) /*!< ACCMOD[1:0] bits (Access mode) */ -#define FSMC_BWTR2_ACCMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */ -#define FSMC_BWTR2_ACCMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */ - -/****************** Bit definition for FSMC_BWTR3 register ******************/ -#define FSMC_BWTR3_ADDSET ((uint32_t)0x0000000F) /*!< ADDSET[3:0] bits (Address setup phase duration) */ -#define FSMC_BWTR3_ADDSET_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_BWTR3_ADDSET_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_BWTR3_ADDSET_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_BWTR3_ADDSET_3 ((uint32_t)0x00000008) /*!< Bit 3 */ - -#define FSMC_BWTR3_ADDHLD ((uint32_t)0x000000F0) /*!< ADDHLD[3:0] bits (Address-hold phase duration) */ -#define FSMC_BWTR3_ADDHLD_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_BWTR3_ADDHLD_1 ((uint32_t)0x00000020) /*!< Bit 1 */ -#define FSMC_BWTR3_ADDHLD_2 ((uint32_t)0x00000040) /*!< Bit 2 */ -#define FSMC_BWTR3_ADDHLD_3 ((uint32_t)0x00000080) /*!< Bit 3 */ - -#define FSMC_BWTR3_DATAST ((uint32_t)0x0000FF00) /*!< DATAST [3:0] bits (Data-phase duration) */ -#define FSMC_BWTR3_DATAST_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_BWTR3_DATAST_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_BWTR3_DATAST_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_BWTR3_DATAST_3 ((uint32_t)0x00000800) /*!< Bit 3 */ - -#define FSMC_BWTR3_CLKDIV ((uint32_t)0x00F00000) /*!< CLKDIV[3:0] bits (Clock divide ratio) */ -#define FSMC_BWTR3_CLKDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define FSMC_BWTR3_CLKDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */ -#define FSMC_BWTR3_CLKDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */ -#define FSMC_BWTR3_CLKDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */ - -#define FSMC_BWTR3_DATLAT ((uint32_t)0x0F000000) /*!< DATLA[3:0] bits (Data latency) */ -#define FSMC_BWTR3_DATLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_BWTR3_DATLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_BWTR3_DATLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_BWTR3_DATLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */ - -#define FSMC_BWTR3_ACCMOD ((uint32_t)0x30000000) /*!< ACCMOD[1:0] bits (Access mode) */ -#define FSMC_BWTR3_ACCMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */ -#define FSMC_BWTR3_ACCMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */ - -/****************** Bit definition for FSMC_BWTR4 register ******************/ -#define FSMC_BWTR4_ADDSET ((uint32_t)0x0000000F) /*!< ADDSET[3:0] bits (Address setup phase duration) */ -#define FSMC_BWTR4_ADDSET_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_BWTR4_ADDSET_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_BWTR4_ADDSET_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_BWTR4_ADDSET_3 ((uint32_t)0x00000008) /*!< Bit 3 */ - -#define FSMC_BWTR4_ADDHLD ((uint32_t)0x000000F0) /*!< ADDHLD[3:0] bits (Address-hold phase duration) */ -#define FSMC_BWTR4_ADDHLD_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_BWTR4_ADDHLD_1 ((uint32_t)0x00000020) /*!< Bit 1 */ -#define FSMC_BWTR4_ADDHLD_2 ((uint32_t)0x00000040) /*!< Bit 2 */ -#define FSMC_BWTR4_ADDHLD_3 ((uint32_t)0x00000080) /*!< Bit 3 */ - -#define FSMC_BWTR4_DATAST ((uint32_t)0x0000FF00) /*!< DATAST [3:0] bits (Data-phase duration) */ -#define FSMC_BWTR4_DATAST_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_BWTR4_DATAST_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_BWTR4_DATAST_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_BWTR4_DATAST_3 ((uint32_t)0x00000800) /*!< Bit 3 */ - -#define FSMC_BWTR4_CLKDIV ((uint32_t)0x00F00000) /*!< CLKDIV[3:0] bits (Clock divide ratio) */ -#define FSMC_BWTR4_CLKDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */ -#define FSMC_BWTR4_CLKDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */ -#define FSMC_BWTR4_CLKDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */ -#define FSMC_BWTR4_CLKDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */ - -#define FSMC_BWTR4_DATLAT ((uint32_t)0x0F000000) /*!< DATLA[3:0] bits (Data latency) */ -#define FSMC_BWTR4_DATLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_BWTR4_DATLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_BWTR4_DATLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_BWTR4_DATLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */ - -#define FSMC_BWTR4_ACCMOD ((uint32_t)0x30000000) /*!< ACCMOD[1:0] bits (Access mode) */ -#define FSMC_BWTR4_ACCMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */ -#define FSMC_BWTR4_ACCMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */ - -/****************** Bit definition for FSMC_PCR2 register *******************/ -#define FSMC_PCR2_PWAITEN ((uint32_t)0x00000002) /*!< Wait feature enable bit */ -#define FSMC_PCR2_PBKEN ((uint32_t)0x00000004) /*!< PC Card/NAND Flash memory bank enable bit */ -#define FSMC_PCR2_PTYP ((uint32_t)0x00000008) /*!< Memory type */ - -#define FSMC_PCR2_PWID ((uint32_t)0x00000030) /*!< PWID[1:0] bits (NAND Flash databus width) */ -#define FSMC_PCR2_PWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_PCR2_PWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */ - -#define FSMC_PCR2_ECCEN ((uint32_t)0x00000040) /*!< ECC computation logic enable bit */ - -#define FSMC_PCR2_TCLR ((uint32_t)0x00001E00) /*!< TCLR[3:0] bits (CLE to RE delay) */ -#define FSMC_PCR2_TCLR_0 ((uint32_t)0x00000200) /*!< Bit 0 */ -#define FSMC_PCR2_TCLR_1 ((uint32_t)0x00000400) /*!< Bit 1 */ -#define FSMC_PCR2_TCLR_2 ((uint32_t)0x00000800) /*!< Bit 2 */ -#define FSMC_PCR2_TCLR_3 ((uint32_t)0x00001000) /*!< Bit 3 */ - -#define FSMC_PCR2_TAR ((uint32_t)0x0001E000) /*!< TAR[3:0] bits (ALE to RE delay) */ -#define FSMC_PCR2_TAR_0 ((uint32_t)0x00002000) /*!< Bit 0 */ -#define FSMC_PCR2_TAR_1 ((uint32_t)0x00004000) /*!< Bit 1 */ -#define FSMC_PCR2_TAR_2 ((uint32_t)0x00008000) /*!< Bit 2 */ -#define FSMC_PCR2_TAR_3 ((uint32_t)0x00010000) /*!< Bit 3 */ - -#define FSMC_PCR2_ECCPS ((uint32_t)0x000E0000) /*!< ECCPS[1:0] bits (ECC page size) */ -#define FSMC_PCR2_ECCPS_0 ((uint32_t)0x00020000) /*!< Bit 0 */ -#define FSMC_PCR2_ECCPS_1 ((uint32_t)0x00040000) /*!< Bit 1 */ -#define FSMC_PCR2_ECCPS_2 ((uint32_t)0x00080000) /*!< Bit 2 */ - -/****************** Bit definition for FSMC_PCR3 register *******************/ -#define FSMC_PCR3_PWAITEN ((uint32_t)0x00000002) /*!< Wait feature enable bit */ -#define FSMC_PCR3_PBKEN ((uint32_t)0x00000004) /*!< PC Card/NAND Flash memory bank enable bit */ -#define FSMC_PCR3_PTYP ((uint32_t)0x00000008) /*!< Memory type */ - -#define FSMC_PCR3_PWID ((uint32_t)0x00000030) /*!< PWID[1:0] bits (NAND Flash databus width) */ -#define FSMC_PCR3_PWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_PCR3_PWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */ - -#define FSMC_PCR3_ECCEN ((uint32_t)0x00000040) /*!< ECC computation logic enable bit */ - -#define FSMC_PCR3_TCLR ((uint32_t)0x00001E00) /*!< TCLR[3:0] bits (CLE to RE delay) */ -#define FSMC_PCR3_TCLR_0 ((uint32_t)0x00000200) /*!< Bit 0 */ -#define FSMC_PCR3_TCLR_1 ((uint32_t)0x00000400) /*!< Bit 1 */ -#define FSMC_PCR3_TCLR_2 ((uint32_t)0x00000800) /*!< Bit 2 */ -#define FSMC_PCR3_TCLR_3 ((uint32_t)0x00001000) /*!< Bit 3 */ - -#define FSMC_PCR3_TAR ((uint32_t)0x0001E000) /*!< TAR[3:0] bits (ALE to RE delay) */ -#define FSMC_PCR3_TAR_0 ((uint32_t)0x00002000) /*!< Bit 0 */ -#define FSMC_PCR3_TAR_1 ((uint32_t)0x00004000) /*!< Bit 1 */ -#define FSMC_PCR3_TAR_2 ((uint32_t)0x00008000) /*!< Bit 2 */ -#define FSMC_PCR3_TAR_3 ((uint32_t)0x00010000) /*!< Bit 3 */ - -#define FSMC_PCR3_ECCPS ((uint32_t)0x000E0000) /*!< ECCPS[2:0] bits (ECC page size) */ -#define FSMC_PCR3_ECCPS_0 ((uint32_t)0x00020000) /*!< Bit 0 */ -#define FSMC_PCR3_ECCPS_1 ((uint32_t)0x00040000) /*!< Bit 1 */ -#define FSMC_PCR3_ECCPS_2 ((uint32_t)0x00080000) /*!< Bit 2 */ - -/****************** Bit definition for FSMC_PCR4 register *******************/ -#define FSMC_PCR4_PWAITEN ((uint32_t)0x00000002) /*!< Wait feature enable bit */ -#define FSMC_PCR4_PBKEN ((uint32_t)0x00000004) /*!< PC Card/NAND Flash memory bank enable bit */ -#define FSMC_PCR4_PTYP ((uint32_t)0x00000008) /*!< Memory type */ - -#define FSMC_PCR4_PWID ((uint32_t)0x00000030) /*!< PWID[1:0] bits (NAND Flash databus width) */ -#define FSMC_PCR4_PWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define FSMC_PCR4_PWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */ - -#define FSMC_PCR4_ECCEN ((uint32_t)0x00000040) /*!< ECC computation logic enable bit */ - -#define FSMC_PCR4_TCLR ((uint32_t)0x00001E00) /*!< TCLR[3:0] bits (CLE to RE delay) */ -#define FSMC_PCR4_TCLR_0 ((uint32_t)0x00000200) /*!< Bit 0 */ -#define FSMC_PCR4_TCLR_1 ((uint32_t)0x00000400) /*!< Bit 1 */ -#define FSMC_PCR4_TCLR_2 ((uint32_t)0x00000800) /*!< Bit 2 */ -#define FSMC_PCR4_TCLR_3 ((uint32_t)0x00001000) /*!< Bit 3 */ - -#define FSMC_PCR4_TAR ((uint32_t)0x0001E000) /*!< TAR[3:0] bits (ALE to RE delay) */ -#define FSMC_PCR4_TAR_0 ((uint32_t)0x00002000) /*!< Bit 0 */ -#define FSMC_PCR4_TAR_1 ((uint32_t)0x00004000) /*!< Bit 1 */ -#define FSMC_PCR4_TAR_2 ((uint32_t)0x00008000) /*!< Bit 2 */ -#define FSMC_PCR4_TAR_3 ((uint32_t)0x00010000) /*!< Bit 3 */ - -#define FSMC_PCR4_ECCPS ((uint32_t)0x000E0000) /*!< ECCPS[2:0] bits (ECC page size) */ -#define FSMC_PCR4_ECCPS_0 ((uint32_t)0x00020000) /*!< Bit 0 */ -#define FSMC_PCR4_ECCPS_1 ((uint32_t)0x00040000) /*!< Bit 1 */ -#define FSMC_PCR4_ECCPS_2 ((uint32_t)0x00080000) /*!< Bit 2 */ - -/******************* Bit definition for FSMC_SR2 register *******************/ -#define FSMC_SR2_IRS ((uint8_t)0x01) /*!< Interrupt Rising Edge status */ -#define FSMC_SR2_ILS ((uint8_t)0x02) /*!< Interrupt Level status */ -#define FSMC_SR2_IFS ((uint8_t)0x04) /*!< Interrupt Falling Edge status */ -#define FSMC_SR2_IREN ((uint8_t)0x08) /*!< Interrupt Rising Edge detection Enable bit */ -#define FSMC_SR2_ILEN ((uint8_t)0x10) /*!< Interrupt Level detection Enable bit */ -#define FSMC_SR2_IFEN ((uint8_t)0x20) /*!< Interrupt Falling Edge detection Enable bit */ -#define FSMC_SR2_FEMPT ((uint8_t)0x40) /*!< FIFO empty */ - -/******************* Bit definition for FSMC_SR3 register *******************/ -#define FSMC_SR3_IRS ((uint8_t)0x01) /*!< Interrupt Rising Edge status */ -#define FSMC_SR3_ILS ((uint8_t)0x02) /*!< Interrupt Level status */ -#define FSMC_SR3_IFS ((uint8_t)0x04) /*!< Interrupt Falling Edge status */ -#define FSMC_SR3_IREN ((uint8_t)0x08) /*!< Interrupt Rising Edge detection Enable bit */ -#define FSMC_SR3_ILEN ((uint8_t)0x10) /*!< Interrupt Level detection Enable bit */ -#define FSMC_SR3_IFEN ((uint8_t)0x20) /*!< Interrupt Falling Edge detection Enable bit */ -#define FSMC_SR3_FEMPT ((uint8_t)0x40) /*!< FIFO empty */ - -/******************* Bit definition for FSMC_SR4 register *******************/ -#define FSMC_SR4_IRS ((uint8_t)0x01) /*!< Interrupt Rising Edge status */ -#define FSMC_SR4_ILS ((uint8_t)0x02) /*!< Interrupt Level status */ -#define FSMC_SR4_IFS ((uint8_t)0x04) /*!< Interrupt Falling Edge status */ -#define FSMC_SR4_IREN ((uint8_t)0x08) /*!< Interrupt Rising Edge detection Enable bit */ -#define FSMC_SR4_ILEN ((uint8_t)0x10) /*!< Interrupt Level detection Enable bit */ -#define FSMC_SR4_IFEN ((uint8_t)0x20) /*!< Interrupt Falling Edge detection Enable bit */ -#define FSMC_SR4_FEMPT ((uint8_t)0x40) /*!< FIFO empty */ - -/****************** Bit definition for FSMC_PMEM2 register ******************/ -#define FSMC_PMEM2_MEMSET2 ((uint32_t)0x000000FF) /*!< MEMSET2[7:0] bits (Common memory 2 setup time) */ -#define FSMC_PMEM2_MEMSET2_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_PMEM2_MEMSET2_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_PMEM2_MEMSET2_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_PMEM2_MEMSET2_3 ((uint32_t)0x00000008) /*!< Bit 3 */ -#define FSMC_PMEM2_MEMSET2_4 ((uint32_t)0x00000010) /*!< Bit 4 */ -#define FSMC_PMEM2_MEMSET2_5 ((uint32_t)0x00000020) /*!< Bit 5 */ -#define FSMC_PMEM2_MEMSET2_6 ((uint32_t)0x00000040) /*!< Bit 6 */ -#define FSMC_PMEM2_MEMSET2_7 ((uint32_t)0x00000080) /*!< Bit 7 */ - -#define FSMC_PMEM2_MEMWAIT2 ((uint32_t)0x0000FF00) /*!< MEMWAIT2[7:0] bits (Common memory 2 wait time) */ -#define FSMC_PMEM2_MEMWAIT2_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_PMEM2_MEMWAIT2_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_PMEM2_MEMWAIT2_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_PMEM2_MEMWAIT2_3 ((uint32_t)0x00000800) /*!< Bit 3 */ -#define FSMC_PMEM2_MEMWAIT2_4 ((uint32_t)0x00001000) /*!< Bit 4 */ -#define FSMC_PMEM2_MEMWAIT2_5 ((uint32_t)0x00002000) /*!< Bit 5 */ -#define FSMC_PMEM2_MEMWAIT2_6 ((uint32_t)0x00004000) /*!< Bit 6 */ -#define FSMC_PMEM2_MEMWAIT2_7 ((uint32_t)0x00008000) /*!< Bit 7 */ - -#define FSMC_PMEM2_MEMHOLD2 ((uint32_t)0x00FF0000) /*!< MEMHOLD2[7:0] bits (Common memory 2 hold time) */ -#define FSMC_PMEM2_MEMHOLD2_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define FSMC_PMEM2_MEMHOLD2_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define FSMC_PMEM2_MEMHOLD2_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define FSMC_PMEM2_MEMHOLD2_3 ((uint32_t)0x00080000) /*!< Bit 3 */ -#define FSMC_PMEM2_MEMHOLD2_4 ((uint32_t)0x00100000) /*!< Bit 4 */ -#define FSMC_PMEM2_MEMHOLD2_5 ((uint32_t)0x00200000) /*!< Bit 5 */ -#define FSMC_PMEM2_MEMHOLD2_6 ((uint32_t)0x00400000) /*!< Bit 6 */ -#define FSMC_PMEM2_MEMHOLD2_7 ((uint32_t)0x00800000) /*!< Bit 7 */ - -#define FSMC_PMEM2_MEMHIZ2 ((uint32_t)0xFF000000) /*!< MEMHIZ2[7:0] bits (Common memory 2 databus HiZ time) */ -#define FSMC_PMEM2_MEMHIZ2_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_PMEM2_MEMHIZ2_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_PMEM2_MEMHIZ2_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_PMEM2_MEMHIZ2_3 ((uint32_t)0x08000000) /*!< Bit 3 */ -#define FSMC_PMEM2_MEMHIZ2_4 ((uint32_t)0x10000000) /*!< Bit 4 */ -#define FSMC_PMEM2_MEMHIZ2_5 ((uint32_t)0x20000000) /*!< Bit 5 */ -#define FSMC_PMEM2_MEMHIZ2_6 ((uint32_t)0x40000000) /*!< Bit 6 */ -#define FSMC_PMEM2_MEMHIZ2_7 ((uint32_t)0x80000000) /*!< Bit 7 */ - -/****************** Bit definition for FSMC_PMEM3 register ******************/ -#define FSMC_PMEM3_MEMSET3 ((uint32_t)0x000000FF) /*!< MEMSET3[7:0] bits (Common memory 3 setup time) */ -#define FSMC_PMEM3_MEMSET3_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_PMEM3_MEMSET3_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_PMEM3_MEMSET3_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_PMEM3_MEMSET3_3 ((uint32_t)0x00000008) /*!< Bit 3 */ -#define FSMC_PMEM3_MEMSET3_4 ((uint32_t)0x00000010) /*!< Bit 4 */ -#define FSMC_PMEM3_MEMSET3_5 ((uint32_t)0x00000020) /*!< Bit 5 */ -#define FSMC_PMEM3_MEMSET3_6 ((uint32_t)0x00000040) /*!< Bit 6 */ -#define FSMC_PMEM3_MEMSET3_7 ((uint32_t)0x00000080) /*!< Bit 7 */ - -#define FSMC_PMEM3_MEMWAIT3 ((uint32_t)0x0000FF00) /*!< MEMWAIT3[7:0] bits (Common memory 3 wait time) */ -#define FSMC_PMEM3_MEMWAIT3_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_PMEM3_MEMWAIT3_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_PMEM3_MEMWAIT3_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_PMEM3_MEMWAIT3_3 ((uint32_t)0x00000800) /*!< Bit 3 */ -#define FSMC_PMEM3_MEMWAIT3_4 ((uint32_t)0x00001000) /*!< Bit 4 */ -#define FSMC_PMEM3_MEMWAIT3_5 ((uint32_t)0x00002000) /*!< Bit 5 */ -#define FSMC_PMEM3_MEMWAIT3_6 ((uint32_t)0x00004000) /*!< Bit 6 */ -#define FSMC_PMEM3_MEMWAIT3_7 ((uint32_t)0x00008000) /*!< Bit 7 */ - -#define FSMC_PMEM3_MEMHOLD3 ((uint32_t)0x00FF0000) /*!< MEMHOLD3[7:0] bits (Common memory 3 hold time) */ -#define FSMC_PMEM3_MEMHOLD3_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define FSMC_PMEM3_MEMHOLD3_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define FSMC_PMEM3_MEMHOLD3_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define FSMC_PMEM3_MEMHOLD3_3 ((uint32_t)0x00080000) /*!< Bit 3 */ -#define FSMC_PMEM3_MEMHOLD3_4 ((uint32_t)0x00100000) /*!< Bit 4 */ -#define FSMC_PMEM3_MEMHOLD3_5 ((uint32_t)0x00200000) /*!< Bit 5 */ -#define FSMC_PMEM3_MEMHOLD3_6 ((uint32_t)0x00400000) /*!< Bit 6 */ -#define FSMC_PMEM3_MEMHOLD3_7 ((uint32_t)0x00800000) /*!< Bit 7 */ - -#define FSMC_PMEM3_MEMHIZ3 ((uint32_t)0xFF000000) /*!< MEMHIZ3[7:0] bits (Common memory 3 databus HiZ time) */ -#define FSMC_PMEM3_MEMHIZ3_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_PMEM3_MEMHIZ3_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_PMEM3_MEMHIZ3_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_PMEM3_MEMHIZ3_3 ((uint32_t)0x08000000) /*!< Bit 3 */ -#define FSMC_PMEM3_MEMHIZ3_4 ((uint32_t)0x10000000) /*!< Bit 4 */ -#define FSMC_PMEM3_MEMHIZ3_5 ((uint32_t)0x20000000) /*!< Bit 5 */ -#define FSMC_PMEM3_MEMHIZ3_6 ((uint32_t)0x40000000) /*!< Bit 6 */ -#define FSMC_PMEM3_MEMHIZ3_7 ((uint32_t)0x80000000) /*!< Bit 7 */ - -/****************** Bit definition for FSMC_PMEM4 register ******************/ -#define FSMC_PMEM4_MEMSET4 ((uint32_t)0x000000FF) /*!< MEMSET4[7:0] bits (Common memory 4 setup time) */ -#define FSMC_PMEM4_MEMSET4_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_PMEM4_MEMSET4_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_PMEM4_MEMSET4_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_PMEM4_MEMSET4_3 ((uint32_t)0x00000008) /*!< Bit 3 */ -#define FSMC_PMEM4_MEMSET4_4 ((uint32_t)0x00000010) /*!< Bit 4 */ -#define FSMC_PMEM4_MEMSET4_5 ((uint32_t)0x00000020) /*!< Bit 5 */ -#define FSMC_PMEM4_MEMSET4_6 ((uint32_t)0x00000040) /*!< Bit 6 */ -#define FSMC_PMEM4_MEMSET4_7 ((uint32_t)0x00000080) /*!< Bit 7 */ - -#define FSMC_PMEM4_MEMWAIT4 ((uint32_t)0x0000FF00) /*!< MEMWAIT4[7:0] bits (Common memory 4 wait time) */ -#define FSMC_PMEM4_MEMWAIT4_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_PMEM4_MEMWAIT4_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_PMEM4_MEMWAIT4_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_PMEM4_MEMWAIT4_3 ((uint32_t)0x00000800) /*!< Bit 3 */ -#define FSMC_PMEM4_MEMWAIT4_4 ((uint32_t)0x00001000) /*!< Bit 4 */ -#define FSMC_PMEM4_MEMWAIT4_5 ((uint32_t)0x00002000) /*!< Bit 5 */ -#define FSMC_PMEM4_MEMWAIT4_6 ((uint32_t)0x00004000) /*!< Bit 6 */ -#define FSMC_PMEM4_MEMWAIT4_7 ((uint32_t)0x00008000) /*!< Bit 7 */ - -#define FSMC_PMEM4_MEMHOLD4 ((uint32_t)0x00FF0000) /*!< MEMHOLD4[7:0] bits (Common memory 4 hold time) */ -#define FSMC_PMEM4_MEMHOLD4_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define FSMC_PMEM4_MEMHOLD4_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define FSMC_PMEM4_MEMHOLD4_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define FSMC_PMEM4_MEMHOLD4_3 ((uint32_t)0x00080000) /*!< Bit 3 */ -#define FSMC_PMEM4_MEMHOLD4_4 ((uint32_t)0x00100000) /*!< Bit 4 */ -#define FSMC_PMEM4_MEMHOLD4_5 ((uint32_t)0x00200000) /*!< Bit 5 */ -#define FSMC_PMEM4_MEMHOLD4_6 ((uint32_t)0x00400000) /*!< Bit 6 */ -#define FSMC_PMEM4_MEMHOLD4_7 ((uint32_t)0x00800000) /*!< Bit 7 */ - -#define FSMC_PMEM4_MEMHIZ4 ((uint32_t)0xFF000000) /*!< MEMHIZ4[7:0] bits (Common memory 4 databus HiZ time) */ -#define FSMC_PMEM4_MEMHIZ4_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_PMEM4_MEMHIZ4_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_PMEM4_MEMHIZ4_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_PMEM4_MEMHIZ4_3 ((uint32_t)0x08000000) /*!< Bit 3 */ -#define FSMC_PMEM4_MEMHIZ4_4 ((uint32_t)0x10000000) /*!< Bit 4 */ -#define FSMC_PMEM4_MEMHIZ4_5 ((uint32_t)0x20000000) /*!< Bit 5 */ -#define FSMC_PMEM4_MEMHIZ4_6 ((uint32_t)0x40000000) /*!< Bit 6 */ -#define FSMC_PMEM4_MEMHIZ4_7 ((uint32_t)0x80000000) /*!< Bit 7 */ - -/****************** Bit definition for FSMC_PATT2 register ******************/ -#define FSMC_PATT2_ATTSET2 ((uint32_t)0x000000FF) /*!< ATTSET2[7:0] bits (Attribute memory 2 setup time) */ -#define FSMC_PATT2_ATTSET2_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_PATT2_ATTSET2_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_PATT2_ATTSET2_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_PATT2_ATTSET2_3 ((uint32_t)0x00000008) /*!< Bit 3 */ -#define FSMC_PATT2_ATTSET2_4 ((uint32_t)0x00000010) /*!< Bit 4 */ -#define FSMC_PATT2_ATTSET2_5 ((uint32_t)0x00000020) /*!< Bit 5 */ -#define FSMC_PATT2_ATTSET2_6 ((uint32_t)0x00000040) /*!< Bit 6 */ -#define FSMC_PATT2_ATTSET2_7 ((uint32_t)0x00000080) /*!< Bit 7 */ - -#define FSMC_PATT2_ATTWAIT2 ((uint32_t)0x0000FF00) /*!< ATTWAIT2[7:0] bits (Attribute memory 2 wait time) */ -#define FSMC_PATT2_ATTWAIT2_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_PATT2_ATTWAIT2_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_PATT2_ATTWAIT2_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_PATT2_ATTWAIT2_3 ((uint32_t)0x00000800) /*!< Bit 3 */ -#define FSMC_PATT2_ATTWAIT2_4 ((uint32_t)0x00001000) /*!< Bit 4 */ -#define FSMC_PATT2_ATTWAIT2_5 ((uint32_t)0x00002000) /*!< Bit 5 */ -#define FSMC_PATT2_ATTWAIT2_6 ((uint32_t)0x00004000) /*!< Bit 6 */ -#define FSMC_PATT2_ATTWAIT2_7 ((uint32_t)0x00008000) /*!< Bit 7 */ - -#define FSMC_PATT2_ATTHOLD2 ((uint32_t)0x00FF0000) /*!< ATTHOLD2[7:0] bits (Attribute memory 2 hold time) */ -#define FSMC_PATT2_ATTHOLD2_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define FSMC_PATT2_ATTHOLD2_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define FSMC_PATT2_ATTHOLD2_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define FSMC_PATT2_ATTHOLD2_3 ((uint32_t)0x00080000) /*!< Bit 3 */ -#define FSMC_PATT2_ATTHOLD2_4 ((uint32_t)0x00100000) /*!< Bit 4 */ -#define FSMC_PATT2_ATTHOLD2_5 ((uint32_t)0x00200000) /*!< Bit 5 */ -#define FSMC_PATT2_ATTHOLD2_6 ((uint32_t)0x00400000) /*!< Bit 6 */ -#define FSMC_PATT2_ATTHOLD2_7 ((uint32_t)0x00800000) /*!< Bit 7 */ - -#define FSMC_PATT2_ATTHIZ2 ((uint32_t)0xFF000000) /*!< ATTHIZ2[7:0] bits (Attribute memory 2 databus HiZ time) */ -#define FSMC_PATT2_ATTHIZ2_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_PATT2_ATTHIZ2_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_PATT2_ATTHIZ2_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_PATT2_ATTHIZ2_3 ((uint32_t)0x08000000) /*!< Bit 3 */ -#define FSMC_PATT2_ATTHIZ2_4 ((uint32_t)0x10000000) /*!< Bit 4 */ -#define FSMC_PATT2_ATTHIZ2_5 ((uint32_t)0x20000000) /*!< Bit 5 */ -#define FSMC_PATT2_ATTHIZ2_6 ((uint32_t)0x40000000) /*!< Bit 6 */ -#define FSMC_PATT2_ATTHIZ2_7 ((uint32_t)0x80000000) /*!< Bit 7 */ - -/****************** Bit definition for FSMC_PATT3 register ******************/ -#define FSMC_PATT3_ATTSET3 ((uint32_t)0x000000FF) /*!< ATTSET3[7:0] bits (Attribute memory 3 setup time) */ -#define FSMC_PATT3_ATTSET3_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_PATT3_ATTSET3_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_PATT3_ATTSET3_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_PATT3_ATTSET3_3 ((uint32_t)0x00000008) /*!< Bit 3 */ -#define FSMC_PATT3_ATTSET3_4 ((uint32_t)0x00000010) /*!< Bit 4 */ -#define FSMC_PATT3_ATTSET3_5 ((uint32_t)0x00000020) /*!< Bit 5 */ -#define FSMC_PATT3_ATTSET3_6 ((uint32_t)0x00000040) /*!< Bit 6 */ -#define FSMC_PATT3_ATTSET3_7 ((uint32_t)0x00000080) /*!< Bit 7 */ - -#define FSMC_PATT3_ATTWAIT3 ((uint32_t)0x0000FF00) /*!< ATTWAIT3[7:0] bits (Attribute memory 3 wait time) */ -#define FSMC_PATT3_ATTWAIT3_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_PATT3_ATTWAIT3_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_PATT3_ATTWAIT3_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_PATT3_ATTWAIT3_3 ((uint32_t)0x00000800) /*!< Bit 3 */ -#define FSMC_PATT3_ATTWAIT3_4 ((uint32_t)0x00001000) /*!< Bit 4 */ -#define FSMC_PATT3_ATTWAIT3_5 ((uint32_t)0x00002000) /*!< Bit 5 */ -#define FSMC_PATT3_ATTWAIT3_6 ((uint32_t)0x00004000) /*!< Bit 6 */ -#define FSMC_PATT3_ATTWAIT3_7 ((uint32_t)0x00008000) /*!< Bit 7 */ - -#define FSMC_PATT3_ATTHOLD3 ((uint32_t)0x00FF0000) /*!< ATTHOLD3[7:0] bits (Attribute memory 3 hold time) */ -#define FSMC_PATT3_ATTHOLD3_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define FSMC_PATT3_ATTHOLD3_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define FSMC_PATT3_ATTHOLD3_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define FSMC_PATT3_ATTHOLD3_3 ((uint32_t)0x00080000) /*!< Bit 3 */ -#define FSMC_PATT3_ATTHOLD3_4 ((uint32_t)0x00100000) /*!< Bit 4 */ -#define FSMC_PATT3_ATTHOLD3_5 ((uint32_t)0x00200000) /*!< Bit 5 */ -#define FSMC_PATT3_ATTHOLD3_6 ((uint32_t)0x00400000) /*!< Bit 6 */ -#define FSMC_PATT3_ATTHOLD3_7 ((uint32_t)0x00800000) /*!< Bit 7 */ - -#define FSMC_PATT3_ATTHIZ3 ((uint32_t)0xFF000000) /*!< ATTHIZ3[7:0] bits (Attribute memory 3 databus HiZ time) */ -#define FSMC_PATT3_ATTHIZ3_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_PATT3_ATTHIZ3_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_PATT3_ATTHIZ3_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_PATT3_ATTHIZ3_3 ((uint32_t)0x08000000) /*!< Bit 3 */ -#define FSMC_PATT3_ATTHIZ3_4 ((uint32_t)0x10000000) /*!< Bit 4 */ -#define FSMC_PATT3_ATTHIZ3_5 ((uint32_t)0x20000000) /*!< Bit 5 */ -#define FSMC_PATT3_ATTHIZ3_6 ((uint32_t)0x40000000) /*!< Bit 6 */ -#define FSMC_PATT3_ATTHIZ3_7 ((uint32_t)0x80000000) /*!< Bit 7 */ - -/****************** Bit definition for FSMC_PATT4 register ******************/ -#define FSMC_PATT4_ATTSET4 ((uint32_t)0x000000FF) /*!< ATTSET4[7:0] bits (Attribute memory 4 setup time) */ -#define FSMC_PATT4_ATTSET4_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_PATT4_ATTSET4_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_PATT4_ATTSET4_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_PATT4_ATTSET4_3 ((uint32_t)0x00000008) /*!< Bit 3 */ -#define FSMC_PATT4_ATTSET4_4 ((uint32_t)0x00000010) /*!< Bit 4 */ -#define FSMC_PATT4_ATTSET4_5 ((uint32_t)0x00000020) /*!< Bit 5 */ -#define FSMC_PATT4_ATTSET4_6 ((uint32_t)0x00000040) /*!< Bit 6 */ -#define FSMC_PATT4_ATTSET4_7 ((uint32_t)0x00000080) /*!< Bit 7 */ - -#define FSMC_PATT4_ATTWAIT4 ((uint32_t)0x0000FF00) /*!< ATTWAIT4[7:0] bits (Attribute memory 4 wait time) */ -#define FSMC_PATT4_ATTWAIT4_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_PATT4_ATTWAIT4_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_PATT4_ATTWAIT4_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_PATT4_ATTWAIT4_3 ((uint32_t)0x00000800) /*!< Bit 3 */ -#define FSMC_PATT4_ATTWAIT4_4 ((uint32_t)0x00001000) /*!< Bit 4 */ -#define FSMC_PATT4_ATTWAIT4_5 ((uint32_t)0x00002000) /*!< Bit 5 */ -#define FSMC_PATT4_ATTWAIT4_6 ((uint32_t)0x00004000) /*!< Bit 6 */ -#define FSMC_PATT4_ATTWAIT4_7 ((uint32_t)0x00008000) /*!< Bit 7 */ - -#define FSMC_PATT4_ATTHOLD4 ((uint32_t)0x00FF0000) /*!< ATTHOLD4[7:0] bits (Attribute memory 4 hold time) */ -#define FSMC_PATT4_ATTHOLD4_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define FSMC_PATT4_ATTHOLD4_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define FSMC_PATT4_ATTHOLD4_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define FSMC_PATT4_ATTHOLD4_3 ((uint32_t)0x00080000) /*!< Bit 3 */ -#define FSMC_PATT4_ATTHOLD4_4 ((uint32_t)0x00100000) /*!< Bit 4 */ -#define FSMC_PATT4_ATTHOLD4_5 ((uint32_t)0x00200000) /*!< Bit 5 */ -#define FSMC_PATT4_ATTHOLD4_6 ((uint32_t)0x00400000) /*!< Bit 6 */ -#define FSMC_PATT4_ATTHOLD4_7 ((uint32_t)0x00800000) /*!< Bit 7 */ - -#define FSMC_PATT4_ATTHIZ4 ((uint32_t)0xFF000000) /*!< ATTHIZ4[7:0] bits (Attribute memory 4 databus HiZ time) */ -#define FSMC_PATT4_ATTHIZ4_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_PATT4_ATTHIZ4_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_PATT4_ATTHIZ4_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_PATT4_ATTHIZ4_3 ((uint32_t)0x08000000) /*!< Bit 3 */ -#define FSMC_PATT4_ATTHIZ4_4 ((uint32_t)0x10000000) /*!< Bit 4 */ -#define FSMC_PATT4_ATTHIZ4_5 ((uint32_t)0x20000000) /*!< Bit 5 */ -#define FSMC_PATT4_ATTHIZ4_6 ((uint32_t)0x40000000) /*!< Bit 6 */ -#define FSMC_PATT4_ATTHIZ4_7 ((uint32_t)0x80000000) /*!< Bit 7 */ - -/****************** Bit definition for FSMC_PIO4 register *******************/ -#define FSMC_PIO4_IOSET4 ((uint32_t)0x000000FF) /*!< IOSET4[7:0] bits (I/O 4 setup time) */ -#define FSMC_PIO4_IOSET4_0 ((uint32_t)0x00000001) /*!< Bit 0 */ -#define FSMC_PIO4_IOSET4_1 ((uint32_t)0x00000002) /*!< Bit 1 */ -#define FSMC_PIO4_IOSET4_2 ((uint32_t)0x00000004) /*!< Bit 2 */ -#define FSMC_PIO4_IOSET4_3 ((uint32_t)0x00000008) /*!< Bit 3 */ -#define FSMC_PIO4_IOSET4_4 ((uint32_t)0x00000010) /*!< Bit 4 */ -#define FSMC_PIO4_IOSET4_5 ((uint32_t)0x00000020) /*!< Bit 5 */ -#define FSMC_PIO4_IOSET4_6 ((uint32_t)0x00000040) /*!< Bit 6 */ -#define FSMC_PIO4_IOSET4_7 ((uint32_t)0x00000080) /*!< Bit 7 */ - -#define FSMC_PIO4_IOWAIT4 ((uint32_t)0x0000FF00) /*!< IOWAIT4[7:0] bits (I/O 4 wait time) */ -#define FSMC_PIO4_IOWAIT4_0 ((uint32_t)0x00000100) /*!< Bit 0 */ -#define FSMC_PIO4_IOWAIT4_1 ((uint32_t)0x00000200) /*!< Bit 1 */ -#define FSMC_PIO4_IOWAIT4_2 ((uint32_t)0x00000400) /*!< Bit 2 */ -#define FSMC_PIO4_IOWAIT4_3 ((uint32_t)0x00000800) /*!< Bit 3 */ -#define FSMC_PIO4_IOWAIT4_4 ((uint32_t)0x00001000) /*!< Bit 4 */ -#define FSMC_PIO4_IOWAIT4_5 ((uint32_t)0x00002000) /*!< Bit 5 */ -#define FSMC_PIO4_IOWAIT4_6 ((uint32_t)0x00004000) /*!< Bit 6 */ -#define FSMC_PIO4_IOWAIT4_7 ((uint32_t)0x00008000) /*!< Bit 7 */ - -#define FSMC_PIO4_IOHOLD4 ((uint32_t)0x00FF0000) /*!< IOHOLD4[7:0] bits (I/O 4 hold time) */ -#define FSMC_PIO4_IOHOLD4_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define FSMC_PIO4_IOHOLD4_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define FSMC_PIO4_IOHOLD4_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define FSMC_PIO4_IOHOLD4_3 ((uint32_t)0x00080000) /*!< Bit 3 */ -#define FSMC_PIO4_IOHOLD4_4 ((uint32_t)0x00100000) /*!< Bit 4 */ -#define FSMC_PIO4_IOHOLD4_5 ((uint32_t)0x00200000) /*!< Bit 5 */ -#define FSMC_PIO4_IOHOLD4_6 ((uint32_t)0x00400000) /*!< Bit 6 */ -#define FSMC_PIO4_IOHOLD4_7 ((uint32_t)0x00800000) /*!< Bit 7 */ - -#define FSMC_PIO4_IOHIZ4 ((uint32_t)0xFF000000) /*!< IOHIZ4[7:0] bits (I/O 4 databus HiZ time) */ -#define FSMC_PIO4_IOHIZ4_0 ((uint32_t)0x01000000) /*!< Bit 0 */ -#define FSMC_PIO4_IOHIZ4_1 ((uint32_t)0x02000000) /*!< Bit 1 */ -#define FSMC_PIO4_IOHIZ4_2 ((uint32_t)0x04000000) /*!< Bit 2 */ -#define FSMC_PIO4_IOHIZ4_3 ((uint32_t)0x08000000) /*!< Bit 3 */ -#define FSMC_PIO4_IOHIZ4_4 ((uint32_t)0x10000000) /*!< Bit 4 */ -#define FSMC_PIO4_IOHIZ4_5 ((uint32_t)0x20000000) /*!< Bit 5 */ -#define FSMC_PIO4_IOHIZ4_6 ((uint32_t)0x40000000) /*!< Bit 6 */ -#define FSMC_PIO4_IOHIZ4_7 ((uint32_t)0x80000000) /*!< Bit 7 */ - -/****************** Bit definition for FSMC_ECCR2 register ******************/ -#define FSMC_ECCR2_ECC2 ((uint32_t)0xFFFFFFFF) /*!< ECC result */ - -/****************** Bit definition for FSMC_ECCR3 register ******************/ -#define FSMC_ECCR3_ECC3 ((uint32_t)0xFFFFFFFF) /*!< ECC result */ - -/******************************************************************************/ -/* */ -/* SD host Interface */ -/* */ -/******************************************************************************/ - -/****************** Bit definition for SDIO_POWER register ******************/ -#define SDIO_POWER_PWRCTRL ((uint8_t)0x03) /*!< PWRCTRL[1:0] bits (Power supply control bits) */ -#define SDIO_POWER_PWRCTRL_0 ((uint8_t)0x01) /*!< Bit 0 */ -#define SDIO_POWER_PWRCTRL_1 ((uint8_t)0x02) /*!< Bit 1 */ - -/****************** Bit definition for SDIO_CLKCR register ******************/ -#define SDIO_CLKCR_CLKDIV ((uint16_t)0x00FF) /*!< Clock divide factor */ -#define SDIO_CLKCR_CLKEN ((uint16_t)0x0100) /*!< Clock enable bit */ -#define SDIO_CLKCR_PWRSAV ((uint16_t)0x0200) /*!< Power saving configuration bit */ -#define SDIO_CLKCR_BYPASS ((uint16_t)0x0400) /*!< Clock divider bypass enable bit */ - -#define SDIO_CLKCR_WIDBUS ((uint16_t)0x1800) /*!< WIDBUS[1:0] bits (Wide bus mode enable bit) */ -#define SDIO_CLKCR_WIDBUS_0 ((uint16_t)0x0800) /*!< Bit 0 */ -#define SDIO_CLKCR_WIDBUS_1 ((uint16_t)0x1000) /*!< Bit 1 */ - -#define SDIO_CLKCR_NEGEDGE ((uint16_t)0x2000) /*!< SDIO_CK dephasing selection bit */ -#define SDIO_CLKCR_HWFC_EN ((uint16_t)0x4000) /*!< HW Flow Control enable */ - -/******************* Bit definition for SDIO_ARG register *******************/ -#define SDIO_ARG_CMDARG ((uint32_t)0xFFFFFFFF) /*!< Command argument */ - -/******************* Bit definition for SDIO_CMD register *******************/ -#define SDIO_CMD_CMDINDEX ((uint16_t)0x003F) /*!< Command Index */ - -#define SDIO_CMD_WAITRESP ((uint16_t)0x00C0) /*!< WAITRESP[1:0] bits (Wait for response bits) */ -#define SDIO_CMD_WAITRESP_0 ((uint16_t)0x0040) /*!< Bit 0 */ -#define SDIO_CMD_WAITRESP_1 ((uint16_t)0x0080) /*!< Bit 1 */ - -#define SDIO_CMD_WAITINT ((uint16_t)0x0100) /*!< CPSM Waits for Interrupt Request */ -#define SDIO_CMD_WAITPEND ((uint16_t)0x0200) /*!< CPSM Waits for ends of data transfer (CmdPend internal signal) */ -#define SDIO_CMD_CPSMEN ((uint16_t)0x0400) /*!< Command path state machine (CPSM) Enable bit */ -#define SDIO_CMD_SDIOSUSPEND ((uint16_t)0x0800) /*!< SD I/O suspend command */ -#define SDIO_CMD_ENCMDCOMPL ((uint16_t)0x1000) /*!< Enable CMD completion */ -#define SDIO_CMD_NIEN ((uint16_t)0x2000) /*!< Not Interrupt Enable */ -#define SDIO_CMD_CEATACMD ((uint16_t)0x4000) /*!< CE-ATA command */ - -/***************** Bit definition for SDIO_RESPCMD register *****************/ -#define SDIO_RESPCMD_RESPCMD ((uint8_t)0x3F) /*!< Response command index */ - -/****************** Bit definition for SDIO_RESP0 register ******************/ -#define SDIO_RESP0_CARDSTATUS0 ((uint32_t)0xFFFFFFFF) /*!< Card Status */ - -/****************** Bit definition for SDIO_RESP1 register ******************/ -#define SDIO_RESP1_CARDSTATUS1 ((uint32_t)0xFFFFFFFF) /*!< Card Status */ - -/****************** Bit definition for SDIO_RESP2 register ******************/ -#define SDIO_RESP2_CARDSTATUS2 ((uint32_t)0xFFFFFFFF) /*!< Card Status */ - -/****************** Bit definition for SDIO_RESP3 register ******************/ -#define SDIO_RESP3_CARDSTATUS3 ((uint32_t)0xFFFFFFFF) /*!< Card Status */ - -/****************** Bit definition for SDIO_RESP4 register ******************/ -#define SDIO_RESP4_CARDSTATUS4 ((uint32_t)0xFFFFFFFF) /*!< Card Status */ - -/****************** Bit definition for SDIO_DTIMER register *****************/ -#define SDIO_DTIMER_DATATIME ((uint32_t)0xFFFFFFFF) /*!< Data timeout period. */ - -/****************** Bit definition for SDIO_DLEN register *******************/ -#define SDIO_DLEN_DATALENGTH ((uint32_t)0x01FFFFFF) /*!< Data length value */ - -/****************** Bit definition for SDIO_DCTRL register ******************/ -#define SDIO_DCTRL_DTEN ((uint16_t)0x0001) /*!< Data transfer enabled bit */ -#define SDIO_DCTRL_DTDIR ((uint16_t)0x0002) /*!< Data transfer direction selection */ -#define SDIO_DCTRL_DTMODE ((uint16_t)0x0004) /*!< Data transfer mode selection */ -#define SDIO_DCTRL_DMAEN ((uint16_t)0x0008) /*!< DMA enabled bit */ - -#define SDIO_DCTRL_DBLOCKSIZE ((uint16_t)0x00F0) /*!< DBLOCKSIZE[3:0] bits (Data block size) */ -#define SDIO_DCTRL_DBLOCKSIZE_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define SDIO_DCTRL_DBLOCKSIZE_1 ((uint16_t)0x0020) /*!< Bit 1 */ -#define SDIO_DCTRL_DBLOCKSIZE_2 ((uint16_t)0x0040) /*!< Bit 2 */ -#define SDIO_DCTRL_DBLOCKSIZE_3 ((uint16_t)0x0080) /*!< Bit 3 */ - -#define SDIO_DCTRL_RWSTART ((uint16_t)0x0100) /*!< Read wait start */ -#define SDIO_DCTRL_RWSTOP ((uint16_t)0x0200) /*!< Read wait stop */ -#define SDIO_DCTRL_RWMOD ((uint16_t)0x0400) /*!< Read wait mode */ -#define SDIO_DCTRL_SDIOEN ((uint16_t)0x0800) /*!< SD I/O enable functions */ - -/****************** Bit definition for SDIO_DCOUNT register *****************/ -#define SDIO_DCOUNT_DATACOUNT ((uint32_t)0x01FFFFFF) /*!< Data count value */ - -/****************** Bit definition for SDIO_STA register ********************/ -#define SDIO_STA_CCRCFAIL ((uint32_t)0x00000001) /*!< Command response received (CRC check failed) */ -#define SDIO_STA_DCRCFAIL ((uint32_t)0x00000002) /*!< Data block sent/received (CRC check failed) */ -#define SDIO_STA_CTIMEOUT ((uint32_t)0x00000004) /*!< Command response timeout */ -#define SDIO_STA_DTIMEOUT ((uint32_t)0x00000008) /*!< Data timeout */ -#define SDIO_STA_TXUNDERR ((uint32_t)0x00000010) /*!< Transmit FIFO underrun error */ -#define SDIO_STA_RXOVERR ((uint32_t)0x00000020) /*!< Received FIFO overrun error */ -#define SDIO_STA_CMDREND ((uint32_t)0x00000040) /*!< Command response received (CRC check passed) */ -#define SDIO_STA_CMDSENT ((uint32_t)0x00000080) /*!< Command sent (no response required) */ -#define SDIO_STA_DATAEND ((uint32_t)0x00000100) /*!< Data end (data counter, SDIDCOUNT, is zero) */ -#define SDIO_STA_STBITERR ((uint32_t)0x00000200) /*!< Start bit not detected on all data signals in wide bus mode */ -#define SDIO_STA_DBCKEND ((uint32_t)0x00000400) /*!< Data block sent/received (CRC check passed) */ -#define SDIO_STA_CMDACT ((uint32_t)0x00000800) /*!< Command transfer in progress */ -#define SDIO_STA_TXACT ((uint32_t)0x00001000) /*!< Data transmit in progress */ -#define SDIO_STA_RXACT ((uint32_t)0x00002000) /*!< Data receive in progress */ -#define SDIO_STA_TXFIFOHE ((uint32_t)0x00004000) /*!< Transmit FIFO Half Empty: at least 8 words can be written into the FIFO */ -#define SDIO_STA_RXFIFOHF ((uint32_t)0x00008000) /*!< Receive FIFO Half Full: there are at least 8 words in the FIFO */ -#define SDIO_STA_TXFIFOF ((uint32_t)0x00010000) /*!< Transmit FIFO full */ -#define SDIO_STA_RXFIFOF ((uint32_t)0x00020000) /*!< Receive FIFO full */ -#define SDIO_STA_TXFIFOE ((uint32_t)0x00040000) /*!< Transmit FIFO empty */ -#define SDIO_STA_RXFIFOE ((uint32_t)0x00080000) /*!< Receive FIFO empty */ -#define SDIO_STA_TXDAVL ((uint32_t)0x00100000) /*!< Data available in transmit FIFO */ -#define SDIO_STA_RXDAVL ((uint32_t)0x00200000) /*!< Data available in receive FIFO */ -#define SDIO_STA_SDIOIT ((uint32_t)0x00400000) /*!< SDIO interrupt received */ -#define SDIO_STA_CEATAEND ((uint32_t)0x00800000) /*!< CE-ATA command completion signal received for CMD61 */ - -/******************* Bit definition for SDIO_ICR register *******************/ -#define SDIO_ICR_CCRCFAILC ((uint32_t)0x00000001) /*!< CCRCFAIL flag clear bit */ -#define SDIO_ICR_DCRCFAILC ((uint32_t)0x00000002) /*!< DCRCFAIL flag clear bit */ -#define SDIO_ICR_CTIMEOUTC ((uint32_t)0x00000004) /*!< CTIMEOUT flag clear bit */ -#define SDIO_ICR_DTIMEOUTC ((uint32_t)0x00000008) /*!< DTIMEOUT flag clear bit */ -#define SDIO_ICR_TXUNDERRC ((uint32_t)0x00000010) /*!< TXUNDERR flag clear bit */ -#define SDIO_ICR_RXOVERRC ((uint32_t)0x00000020) /*!< RXOVERR flag clear bit */ -#define SDIO_ICR_CMDRENDC ((uint32_t)0x00000040) /*!< CMDREND flag clear bit */ -#define SDIO_ICR_CMDSENTC ((uint32_t)0x00000080) /*!< CMDSENT flag clear bit */ -#define SDIO_ICR_DATAENDC ((uint32_t)0x00000100) /*!< DATAEND flag clear bit */ -#define SDIO_ICR_STBITERRC ((uint32_t)0x00000200) /*!< STBITERR flag clear bit */ -#define SDIO_ICR_DBCKENDC ((uint32_t)0x00000400) /*!< DBCKEND flag clear bit */ -#define SDIO_ICR_SDIOITC ((uint32_t)0x00400000) /*!< SDIOIT flag clear bit */ -#define SDIO_ICR_CEATAENDC ((uint32_t)0x00800000) /*!< CEATAEND flag clear bit */ - -/****************** Bit definition for SDIO_MASK register *******************/ -#define SDIO_MASK_CCRCFAILIE ((uint32_t)0x00000001) /*!< Command CRC Fail Interrupt Enable */ -#define SDIO_MASK_DCRCFAILIE ((uint32_t)0x00000002) /*!< Data CRC Fail Interrupt Enable */ -#define SDIO_MASK_CTIMEOUTIE ((uint32_t)0x00000004) /*!< Command TimeOut Interrupt Enable */ -#define SDIO_MASK_DTIMEOUTIE ((uint32_t)0x00000008) /*!< Data TimeOut Interrupt Enable */ -#define SDIO_MASK_TXUNDERRIE ((uint32_t)0x00000010) /*!< Tx FIFO UnderRun Error Interrupt Enable */ -#define SDIO_MASK_RXOVERRIE ((uint32_t)0x00000020) /*!< Rx FIFO OverRun Error Interrupt Enable */ -#define SDIO_MASK_CMDRENDIE ((uint32_t)0x00000040) /*!< Command Response Received Interrupt Enable */ -#define SDIO_MASK_CMDSENTIE ((uint32_t)0x00000080) /*!< Command Sent Interrupt Enable */ -#define SDIO_MASK_DATAENDIE ((uint32_t)0x00000100) /*!< Data End Interrupt Enable */ -#define SDIO_MASK_STBITERRIE ((uint32_t)0x00000200) /*!< Start Bit Error Interrupt Enable */ -#define SDIO_MASK_DBCKENDIE ((uint32_t)0x00000400) /*!< Data Block End Interrupt Enable */ -#define SDIO_MASK_CMDACTIE ((uint32_t)0x00000800) /*!< Command Acting Interrupt Enable */ -#define SDIO_MASK_TXACTIE ((uint32_t)0x00001000) /*!< Data Transmit Acting Interrupt Enable */ -#define SDIO_MASK_RXACTIE ((uint32_t)0x00002000) /*!< Data receive acting interrupt enabled */ -#define SDIO_MASK_TXFIFOHEIE ((uint32_t)0x00004000) /*!< Tx FIFO Half Empty interrupt Enable */ -#define SDIO_MASK_RXFIFOHFIE ((uint32_t)0x00008000) /*!< Rx FIFO Half Full interrupt Enable */ -#define SDIO_MASK_TXFIFOFIE ((uint32_t)0x00010000) /*!< Tx FIFO Full interrupt Enable */ -#define SDIO_MASK_RXFIFOFIE ((uint32_t)0x00020000) /*!< Rx FIFO Full interrupt Enable */ -#define SDIO_MASK_TXFIFOEIE ((uint32_t)0x00040000) /*!< Tx FIFO Empty interrupt Enable */ -#define SDIO_MASK_RXFIFOEIE ((uint32_t)0x00080000) /*!< Rx FIFO Empty interrupt Enable */ -#define SDIO_MASK_TXDAVLIE ((uint32_t)0x00100000) /*!< Data available in Tx FIFO interrupt Enable */ -#define SDIO_MASK_RXDAVLIE ((uint32_t)0x00200000) /*!< Data available in Rx FIFO interrupt Enable */ -#define SDIO_MASK_SDIOITIE ((uint32_t)0x00400000) /*!< SDIO Mode Interrupt Received interrupt Enable */ -#define SDIO_MASK_CEATAENDIE ((uint32_t)0x00800000) /*!< CE-ATA command completion signal received Interrupt Enable */ - -/***************** Bit definition for SDIO_FIFOCNT register *****************/ -#define SDIO_FIFOCNT_FIFOCOUNT ((uint32_t)0x00FFFFFF) /*!< Remaining number of words to be written to or read from the FIFO */ - -/****************** Bit definition for SDIO_FIFO register *******************/ -#define SDIO_FIFO_FIFODATA ((uint32_t)0xFFFFFFFF) /*!< Receive and transmit FIFO data */ - -/******************************************************************************/ -/* */ -/* USB Device FS */ -/* */ -/******************************************************************************/ - -/*!< Endpoint-specific registers */ -/******************* Bit definition for USB_EP0R register *******************/ -#define USB_EP0R_EA ((uint16_t)0x000F) /*!< Endpoint Address */ - -#define USB_EP0R_STAT_TX ((uint16_t)0x0030) /*!< STAT_TX[1:0] bits (Status bits, for transmission transfers) */ -#define USB_EP0R_STAT_TX_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define USB_EP0R_STAT_TX_1 ((uint16_t)0x0020) /*!< Bit 1 */ - -#define USB_EP0R_DTOG_TX ((uint16_t)0x0040) /*!< Data Toggle, for transmission transfers */ -#define USB_EP0R_CTR_TX ((uint16_t)0x0080) /*!< Correct Transfer for transmission */ -#define USB_EP0R_EP_KIND ((uint16_t)0x0100) /*!< Endpoint Kind */ - -#define USB_EP0R_EP_TYPE ((uint16_t)0x0600) /*!< EP_TYPE[1:0] bits (Endpoint type) */ -#define USB_EP0R_EP_TYPE_0 ((uint16_t)0x0200) /*!< Bit 0 */ -#define USB_EP0R_EP_TYPE_1 ((uint16_t)0x0400) /*!< Bit 1 */ - -#define USB_EP0R_SETUP ((uint16_t)0x0800) /*!< Setup transaction completed */ - -#define USB_EP0R_STAT_RX ((uint16_t)0x3000) /*!< STAT_RX[1:0] bits (Status bits, for reception transfers) */ -#define USB_EP0R_STAT_RX_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define USB_EP0R_STAT_RX_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define USB_EP0R_DTOG_RX ((uint16_t)0x4000) /*!< Data Toggle, for reception transfers */ -#define USB_EP0R_CTR_RX ((uint16_t)0x8000) /*!< Correct Transfer for reception */ - -/******************* Bit definition for USB_EP1R register *******************/ -#define USB_EP1R_EA ((uint16_t)0x000F) /*!< Endpoint Address */ - -#define USB_EP1R_STAT_TX ((uint16_t)0x0030) /*!< STAT_TX[1:0] bits (Status bits, for transmission transfers) */ -#define USB_EP1R_STAT_TX_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define USB_EP1R_STAT_TX_1 ((uint16_t)0x0020) /*!< Bit 1 */ - -#define USB_EP1R_DTOG_TX ((uint16_t)0x0040) /*!< Data Toggle, for transmission transfers */ -#define USB_EP1R_CTR_TX ((uint16_t)0x0080) /*!< Correct Transfer for transmission */ -#define USB_EP1R_EP_KIND ((uint16_t)0x0100) /*!< Endpoint Kind */ - -#define USB_EP1R_EP_TYPE ((uint16_t)0x0600) /*!< EP_TYPE[1:0] bits (Endpoint type) */ -#define USB_EP1R_EP_TYPE_0 ((uint16_t)0x0200) /*!< Bit 0 */ -#define USB_EP1R_EP_TYPE_1 ((uint16_t)0x0400) /*!< Bit 1 */ - -#define USB_EP1R_SETUP ((uint16_t)0x0800) /*!< Setup transaction completed */ - -#define USB_EP1R_STAT_RX ((uint16_t)0x3000) /*!< STAT_RX[1:0] bits (Status bits, for reception transfers) */ -#define USB_EP1R_STAT_RX_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define USB_EP1R_STAT_RX_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define USB_EP1R_DTOG_RX ((uint16_t)0x4000) /*!< Data Toggle, for reception transfers */ -#define USB_EP1R_CTR_RX ((uint16_t)0x8000) /*!< Correct Transfer for reception */ - -/******************* Bit definition for USB_EP2R register *******************/ -#define USB_EP2R_EA ((uint16_t)0x000F) /*!< Endpoint Address */ - -#define USB_EP2R_STAT_TX ((uint16_t)0x0030) /*!< STAT_TX[1:0] bits (Status bits, for transmission transfers) */ -#define USB_EP2R_STAT_TX_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define USB_EP2R_STAT_TX_1 ((uint16_t)0x0020) /*!< Bit 1 */ - -#define USB_EP2R_DTOG_TX ((uint16_t)0x0040) /*!< Data Toggle, for transmission transfers */ -#define USB_EP2R_CTR_TX ((uint16_t)0x0080) /*!< Correct Transfer for transmission */ -#define USB_EP2R_EP_KIND ((uint16_t)0x0100) /*!< Endpoint Kind */ - -#define USB_EP2R_EP_TYPE ((uint16_t)0x0600) /*!< EP_TYPE[1:0] bits (Endpoint type) */ -#define USB_EP2R_EP_TYPE_0 ((uint16_t)0x0200) /*!< Bit 0 */ -#define USB_EP2R_EP_TYPE_1 ((uint16_t)0x0400) /*!< Bit 1 */ - -#define USB_EP2R_SETUP ((uint16_t)0x0800) /*!< Setup transaction completed */ - -#define USB_EP2R_STAT_RX ((uint16_t)0x3000) /*!< STAT_RX[1:0] bits (Status bits, for reception transfers) */ -#define USB_EP2R_STAT_RX_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define USB_EP2R_STAT_RX_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define USB_EP2R_DTOG_RX ((uint16_t)0x4000) /*!< Data Toggle, for reception transfers */ -#define USB_EP2R_CTR_RX ((uint16_t)0x8000) /*!< Correct Transfer for reception */ - -/******************* Bit definition for USB_EP3R register *******************/ -#define USB_EP3R_EA ((uint16_t)0x000F) /*!< Endpoint Address */ - -#define USB_EP3R_STAT_TX ((uint16_t)0x0030) /*!< STAT_TX[1:0] bits (Status bits, for transmission transfers) */ -#define USB_EP3R_STAT_TX_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define USB_EP3R_STAT_TX_1 ((uint16_t)0x0020) /*!< Bit 1 */ - -#define USB_EP3R_DTOG_TX ((uint16_t)0x0040) /*!< Data Toggle, for transmission transfers */ -#define USB_EP3R_CTR_TX ((uint16_t)0x0080) /*!< Correct Transfer for transmission */ -#define USB_EP3R_EP_KIND ((uint16_t)0x0100) /*!< Endpoint Kind */ - -#define USB_EP3R_EP_TYPE ((uint16_t)0x0600) /*!< EP_TYPE[1:0] bits (Endpoint type) */ -#define USB_EP3R_EP_TYPE_0 ((uint16_t)0x0200) /*!< Bit 0 */ -#define USB_EP3R_EP_TYPE_1 ((uint16_t)0x0400) /*!< Bit 1 */ - -#define USB_EP3R_SETUP ((uint16_t)0x0800) /*!< Setup transaction completed */ - -#define USB_EP3R_STAT_RX ((uint16_t)0x3000) /*!< STAT_RX[1:0] bits (Status bits, for reception transfers) */ -#define USB_EP3R_STAT_RX_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define USB_EP3R_STAT_RX_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define USB_EP3R_DTOG_RX ((uint16_t)0x4000) /*!< Data Toggle, for reception transfers */ -#define USB_EP3R_CTR_RX ((uint16_t)0x8000) /*!< Correct Transfer for reception */ - -/******************* Bit definition for USB_EP4R register *******************/ -#define USB_EP4R_EA ((uint16_t)0x000F) /*!< Endpoint Address */ - -#define USB_EP4R_STAT_TX ((uint16_t)0x0030) /*!< STAT_TX[1:0] bits (Status bits, for transmission transfers) */ -#define USB_EP4R_STAT_TX_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define USB_EP4R_STAT_TX_1 ((uint16_t)0x0020) /*!< Bit 1 */ - -#define USB_EP4R_DTOG_TX ((uint16_t)0x0040) /*!< Data Toggle, for transmission transfers */ -#define USB_EP4R_CTR_TX ((uint16_t)0x0080) /*!< Correct Transfer for transmission */ -#define USB_EP4R_EP_KIND ((uint16_t)0x0100) /*!< Endpoint Kind */ - -#define USB_EP4R_EP_TYPE ((uint16_t)0x0600) /*!< EP_TYPE[1:0] bits (Endpoint type) */ -#define USB_EP4R_EP_TYPE_0 ((uint16_t)0x0200) /*!< Bit 0 */ -#define USB_EP4R_EP_TYPE_1 ((uint16_t)0x0400) /*!< Bit 1 */ - -#define USB_EP4R_SETUP ((uint16_t)0x0800) /*!< Setup transaction completed */ - -#define USB_EP4R_STAT_RX ((uint16_t)0x3000) /*!< STAT_RX[1:0] bits (Status bits, for reception transfers) */ -#define USB_EP4R_STAT_RX_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define USB_EP4R_STAT_RX_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define USB_EP4R_DTOG_RX ((uint16_t)0x4000) /*!< Data Toggle, for reception transfers */ -#define USB_EP4R_CTR_RX ((uint16_t)0x8000) /*!< Correct Transfer for reception */ - -/******************* Bit definition for USB_EP5R register *******************/ -#define USB_EP5R_EA ((uint16_t)0x000F) /*!< Endpoint Address */ - -#define USB_EP5R_STAT_TX ((uint16_t)0x0030) /*!< STAT_TX[1:0] bits (Status bits, for transmission transfers) */ -#define USB_EP5R_STAT_TX_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define USB_EP5R_STAT_TX_1 ((uint16_t)0x0020) /*!< Bit 1 */ - -#define USB_EP5R_DTOG_TX ((uint16_t)0x0040) /*!< Data Toggle, for transmission transfers */ -#define USB_EP5R_CTR_TX ((uint16_t)0x0080) /*!< Correct Transfer for transmission */ -#define USB_EP5R_EP_KIND ((uint16_t)0x0100) /*!< Endpoint Kind */ - -#define USB_EP5R_EP_TYPE ((uint16_t)0x0600) /*!< EP_TYPE[1:0] bits (Endpoint type) */ -#define USB_EP5R_EP_TYPE_0 ((uint16_t)0x0200) /*!< Bit 0 */ -#define USB_EP5R_EP_TYPE_1 ((uint16_t)0x0400) /*!< Bit 1 */ - -#define USB_EP5R_SETUP ((uint16_t)0x0800) /*!< Setup transaction completed */ - -#define USB_EP5R_STAT_RX ((uint16_t)0x3000) /*!< STAT_RX[1:0] bits (Status bits, for reception transfers) */ -#define USB_EP5R_STAT_RX_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define USB_EP5R_STAT_RX_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define USB_EP5R_DTOG_RX ((uint16_t)0x4000) /*!< Data Toggle, for reception transfers */ -#define USB_EP5R_CTR_RX ((uint16_t)0x8000) /*!< Correct Transfer for reception */ - -/******************* Bit definition for USB_EP6R register *******************/ -#define USB_EP6R_EA ((uint16_t)0x000F) /*!< Endpoint Address */ - -#define USB_EP6R_STAT_TX ((uint16_t)0x0030) /*!< STAT_TX[1:0] bits (Status bits, for transmission transfers) */ -#define USB_EP6R_STAT_TX_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define USB_EP6R_STAT_TX_1 ((uint16_t)0x0020) /*!< Bit 1 */ - -#define USB_EP6R_DTOG_TX ((uint16_t)0x0040) /*!< Data Toggle, for transmission transfers */ -#define USB_EP6R_CTR_TX ((uint16_t)0x0080) /*!< Correct Transfer for transmission */ -#define USB_EP6R_EP_KIND ((uint16_t)0x0100) /*!< Endpoint Kind */ - -#define USB_EP6R_EP_TYPE ((uint16_t)0x0600) /*!< EP_TYPE[1:0] bits (Endpoint type) */ -#define USB_EP6R_EP_TYPE_0 ((uint16_t)0x0200) /*!< Bit 0 */ -#define USB_EP6R_EP_TYPE_1 ((uint16_t)0x0400) /*!< Bit 1 */ - -#define USB_EP6R_SETUP ((uint16_t)0x0800) /*!< Setup transaction completed */ - -#define USB_EP6R_STAT_RX ((uint16_t)0x3000) /*!< STAT_RX[1:0] bits (Status bits, for reception transfers) */ -#define USB_EP6R_STAT_RX_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define USB_EP6R_STAT_RX_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define USB_EP6R_DTOG_RX ((uint16_t)0x4000) /*!< Data Toggle, for reception transfers */ -#define USB_EP6R_CTR_RX ((uint16_t)0x8000) /*!< Correct Transfer for reception */ - -/******************* Bit definition for USB_EP7R register *******************/ -#define USB_EP7R_EA ((uint16_t)0x000F) /*!< Endpoint Address */ - -#define USB_EP7R_STAT_TX ((uint16_t)0x0030) /*!< STAT_TX[1:0] bits (Status bits, for transmission transfers) */ -#define USB_EP7R_STAT_TX_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define USB_EP7R_STAT_TX_1 ((uint16_t)0x0020) /*!< Bit 1 */ - -#define USB_EP7R_DTOG_TX ((uint16_t)0x0040) /*!< Data Toggle, for transmission transfers */ -#define USB_EP7R_CTR_TX ((uint16_t)0x0080) /*!< Correct Transfer for transmission */ -#define USB_EP7R_EP_KIND ((uint16_t)0x0100) /*!< Endpoint Kind */ - -#define USB_EP7R_EP_TYPE ((uint16_t)0x0600) /*!< EP_TYPE[1:0] bits (Endpoint type) */ -#define USB_EP7R_EP_TYPE_0 ((uint16_t)0x0200) /*!< Bit 0 */ -#define USB_EP7R_EP_TYPE_1 ((uint16_t)0x0400) /*!< Bit 1 */ - -#define USB_EP7R_SETUP ((uint16_t)0x0800) /*!< Setup transaction completed */ - -#define USB_EP7R_STAT_RX ((uint16_t)0x3000) /*!< STAT_RX[1:0] bits (Status bits, for reception transfers) */ -#define USB_EP7R_STAT_RX_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define USB_EP7R_STAT_RX_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define USB_EP7R_DTOG_RX ((uint16_t)0x4000) /*!< Data Toggle, for reception transfers */ -#define USB_EP7R_CTR_RX ((uint16_t)0x8000) /*!< Correct Transfer for reception */ - -/*!< Common registers */ -/******************* Bit definition for USB_CNTR register *******************/ -#define USB_CNTR_FRES ((uint16_t)0x0001) /*!< Force USB Reset */ -#define USB_CNTR_PDWN ((uint16_t)0x0002) /*!< Power down */ -#define USB_CNTR_LP_MODE ((uint16_t)0x0004) /*!< Low-power mode */ -#define USB_CNTR_FSUSP ((uint16_t)0x0008) /*!< Force suspend */ -#define USB_CNTR_RESUME ((uint16_t)0x0010) /*!< Resume request */ -#define USB_CNTR_ESOFM ((uint16_t)0x0100) /*!< Expected Start Of Frame Interrupt Mask */ -#define USB_CNTR_SOFM ((uint16_t)0x0200) /*!< Start Of Frame Interrupt Mask */ -#define USB_CNTR_RESETM ((uint16_t)0x0400) /*!< RESET Interrupt Mask */ -#define USB_CNTR_SUSPM ((uint16_t)0x0800) /*!< Suspend mode Interrupt Mask */ -#define USB_CNTR_WKUPM ((uint16_t)0x1000) /*!< Wakeup Interrupt Mask */ -#define USB_CNTR_ERRM ((uint16_t)0x2000) /*!< Error Interrupt Mask */ -#define USB_CNTR_PMAOVRM ((uint16_t)0x4000) /*!< Packet Memory Area Over / Underrun Interrupt Mask */ -#define USB_CNTR_CTRM ((uint16_t)0x8000) /*!< Correct Transfer Interrupt Mask */ - -/******************* Bit definition for USB_ISTR register *******************/ -#define USB_ISTR_EP_ID ((uint16_t)0x000F) /*!< Endpoint Identifier */ -#define USB_ISTR_DIR ((uint16_t)0x0010) /*!< Direction of transaction */ -#define USB_ISTR_ESOF ((uint16_t)0x0100) /*!< Expected Start Of Frame */ -#define USB_ISTR_SOF ((uint16_t)0x0200) /*!< Start Of Frame */ -#define USB_ISTR_RESET ((uint16_t)0x0400) /*!< USB RESET request */ -#define USB_ISTR_SUSP ((uint16_t)0x0800) /*!< Suspend mode request */ -#define USB_ISTR_WKUP ((uint16_t)0x1000) /*!< Wake up */ -#define USB_ISTR_ERR ((uint16_t)0x2000) /*!< Error */ -#define USB_ISTR_PMAOVR ((uint16_t)0x4000) /*!< Packet Memory Area Over / Underrun */ -#define USB_ISTR_CTR ((uint16_t)0x8000) /*!< Correct Transfer */ - -/******************* Bit definition for USB_FNR register ********************/ -#define USB_FNR_FN ((uint16_t)0x07FF) /*!< Frame Number */ -#define USB_FNR_LSOF ((uint16_t)0x1800) /*!< Lost SOF */ -#define USB_FNR_LCK ((uint16_t)0x2000) /*!< Locked */ -#define USB_FNR_RXDM ((uint16_t)0x4000) /*!< Receive Data - Line Status */ -#define USB_FNR_RXDP ((uint16_t)0x8000) /*!< Receive Data + Line Status */ - -/****************** Bit definition for USB_DADDR register *******************/ -#define USB_DADDR_ADD ((uint8_t)0x7F) /*!< ADD[6:0] bits (Device Address) */ -#define USB_DADDR_ADD0 ((uint8_t)0x01) /*!< Bit 0 */ -#define USB_DADDR_ADD1 ((uint8_t)0x02) /*!< Bit 1 */ -#define USB_DADDR_ADD2 ((uint8_t)0x04) /*!< Bit 2 */ -#define USB_DADDR_ADD3 ((uint8_t)0x08) /*!< Bit 3 */ -#define USB_DADDR_ADD4 ((uint8_t)0x10) /*!< Bit 4 */ -#define USB_DADDR_ADD5 ((uint8_t)0x20) /*!< Bit 5 */ -#define USB_DADDR_ADD6 ((uint8_t)0x40) /*!< Bit 6 */ - -#define USB_DADDR_EF ((uint8_t)0x80) /*!< Enable Function */ - -/****************** Bit definition for USB_BTABLE register ******************/ -#define USB_BTABLE_BTABLE ((uint16_t)0xFFF8) /*!< Buffer Table */ - -/*!< Buffer descriptor table */ -/***************** Bit definition for USB_ADDR0_TX register *****************/ -#define USB_ADDR0_TX_ADDR0_TX ((uint16_t)0xFFFE) /*!< Transmission Buffer Address 0 */ - -/***************** Bit definition for USB_ADDR1_TX register *****************/ -#define USB_ADDR1_TX_ADDR1_TX ((uint16_t)0xFFFE) /*!< Transmission Buffer Address 1 */ - -/***************** Bit definition for USB_ADDR2_TX register *****************/ -#define USB_ADDR2_TX_ADDR2_TX ((uint16_t)0xFFFE) /*!< Transmission Buffer Address 2 */ - -/***************** Bit definition for USB_ADDR3_TX register *****************/ -#define USB_ADDR3_TX_ADDR3_TX ((uint16_t)0xFFFE) /*!< Transmission Buffer Address 3 */ - -/***************** Bit definition for USB_ADDR4_TX register *****************/ -#define USB_ADDR4_TX_ADDR4_TX ((uint16_t)0xFFFE) /*!< Transmission Buffer Address 4 */ - -/***************** Bit definition for USB_ADDR5_TX register *****************/ -#define USB_ADDR5_TX_ADDR5_TX ((uint16_t)0xFFFE) /*!< Transmission Buffer Address 5 */ - -/***************** Bit definition for USB_ADDR6_TX register *****************/ -#define USB_ADDR6_TX_ADDR6_TX ((uint16_t)0xFFFE) /*!< Transmission Buffer Address 6 */ - -/***************** Bit definition for USB_ADDR7_TX register *****************/ -#define USB_ADDR7_TX_ADDR7_TX ((uint16_t)0xFFFE) /*!< Transmission Buffer Address 7 */ - -/*----------------------------------------------------------------------------*/ - -/***************** Bit definition for USB_COUNT0_TX register ****************/ -#define USB_COUNT0_TX_COUNT0_TX ((uint16_t)0x03FF) /*!< Transmission Byte Count 0 */ - -/***************** Bit definition for USB_COUNT1_TX register ****************/ -#define USB_COUNT1_TX_COUNT1_TX ((uint16_t)0x03FF) /*!< Transmission Byte Count 1 */ - -/***************** Bit definition for USB_COUNT2_TX register ****************/ -#define USB_COUNT2_TX_COUNT2_TX ((uint16_t)0x03FF) /*!< Transmission Byte Count 2 */ - -/***************** Bit definition for USB_COUNT3_TX register ****************/ -#define USB_COUNT3_TX_COUNT3_TX ((uint16_t)0x03FF) /*!< Transmission Byte Count 3 */ - -/***************** Bit definition for USB_COUNT4_TX register ****************/ -#define USB_COUNT4_TX_COUNT4_TX ((uint16_t)0x03FF) /*!< Transmission Byte Count 4 */ - -/***************** Bit definition for USB_COUNT5_TX register ****************/ -#define USB_COUNT5_TX_COUNT5_TX ((uint16_t)0x03FF) /*!< Transmission Byte Count 5 */ - -/***************** Bit definition for USB_COUNT6_TX register ****************/ -#define USB_COUNT6_TX_COUNT6_TX ((uint16_t)0x03FF) /*!< Transmission Byte Count 6 */ - -/***************** Bit definition for USB_COUNT7_TX register ****************/ -#define USB_COUNT7_TX_COUNT7_TX ((uint16_t)0x03FF) /*!< Transmission Byte Count 7 */ - -/*----------------------------------------------------------------------------*/ - -/**************** Bit definition for USB_COUNT0_TX_0 register ***************/ -#define USB_COUNT0_TX_0_COUNT0_TX_0 ((uint32_t)0x000003FF) /*!< Transmission Byte Count 0 (low) */ - -/**************** Bit definition for USB_COUNT0_TX_1 register ***************/ -#define USB_COUNT0_TX_1_COUNT0_TX_1 ((uint32_t)0x03FF0000) /*!< Transmission Byte Count 0 (high) */ - -/**************** Bit definition for USB_COUNT1_TX_0 register ***************/ -#define USB_COUNT1_TX_0_COUNT1_TX_0 ((uint32_t)0x000003FF) /*!< Transmission Byte Count 1 (low) */ - -/**************** Bit definition for USB_COUNT1_TX_1 register ***************/ -#define USB_COUNT1_TX_1_COUNT1_TX_1 ((uint32_t)0x03FF0000) /*!< Transmission Byte Count 1 (high) */ - -/**************** Bit definition for USB_COUNT2_TX_0 register ***************/ -#define USB_COUNT2_TX_0_COUNT2_TX_0 ((uint32_t)0x000003FF) /*!< Transmission Byte Count 2 (low) */ - -/**************** Bit definition for USB_COUNT2_TX_1 register ***************/ -#define USB_COUNT2_TX_1_COUNT2_TX_1 ((uint32_t)0x03FF0000) /*!< Transmission Byte Count 2 (high) */ - -/**************** Bit definition for USB_COUNT3_TX_0 register ***************/ -#define USB_COUNT3_TX_0_COUNT3_TX_0 ((uint16_t)0x000003FF) /*!< Transmission Byte Count 3 (low) */ - -/**************** Bit definition for USB_COUNT3_TX_1 register ***************/ -#define USB_COUNT3_TX_1_COUNT3_TX_1 ((uint16_t)0x03FF0000) /*!< Transmission Byte Count 3 (high) */ - -/**************** Bit definition for USB_COUNT4_TX_0 register ***************/ -#define USB_COUNT4_TX_0_COUNT4_TX_0 ((uint32_t)0x000003FF) /*!< Transmission Byte Count 4 (low) */ - -/**************** Bit definition for USB_COUNT4_TX_1 register ***************/ -#define USB_COUNT4_TX_1_COUNT4_TX_1 ((uint32_t)0x03FF0000) /*!< Transmission Byte Count 4 (high) */ - -/**************** Bit definition for USB_COUNT5_TX_0 register ***************/ -#define USB_COUNT5_TX_0_COUNT5_TX_0 ((uint32_t)0x000003FF) /*!< Transmission Byte Count 5 (low) */ - -/**************** Bit definition for USB_COUNT5_TX_1 register ***************/ -#define USB_COUNT5_TX_1_COUNT5_TX_1 ((uint32_t)0x03FF0000) /*!< Transmission Byte Count 5 (high) */ - -/**************** Bit definition for USB_COUNT6_TX_0 register ***************/ -#define USB_COUNT6_TX_0_COUNT6_TX_0 ((uint32_t)0x000003FF) /*!< Transmission Byte Count 6 (low) */ - -/**************** Bit definition for USB_COUNT6_TX_1 register ***************/ -#define USB_COUNT6_TX_1_COUNT6_TX_1 ((uint32_t)0x03FF0000) /*!< Transmission Byte Count 6 (high) */ - -/**************** Bit definition for USB_COUNT7_TX_0 register ***************/ -#define USB_COUNT7_TX_0_COUNT7_TX_0 ((uint32_t)0x000003FF) /*!< Transmission Byte Count 7 (low) */ - -/**************** Bit definition for USB_COUNT7_TX_1 register ***************/ -#define USB_COUNT7_TX_1_COUNT7_TX_1 ((uint32_t)0x03FF0000) /*!< Transmission Byte Count 7 (high) */ - -/*----------------------------------------------------------------------------*/ - -/***************** Bit definition for USB_ADDR0_RX register *****************/ -#define USB_ADDR0_RX_ADDR0_RX ((uint16_t)0xFFFE) /*!< Reception Buffer Address 0 */ - -/***************** Bit definition for USB_ADDR1_RX register *****************/ -#define USB_ADDR1_RX_ADDR1_RX ((uint16_t)0xFFFE) /*!< Reception Buffer Address 1 */ - -/***************** Bit definition for USB_ADDR2_RX register *****************/ -#define USB_ADDR2_RX_ADDR2_RX ((uint16_t)0xFFFE) /*!< Reception Buffer Address 2 */ - -/***************** Bit definition for USB_ADDR3_RX register *****************/ -#define USB_ADDR3_RX_ADDR3_RX ((uint16_t)0xFFFE) /*!< Reception Buffer Address 3 */ - -/***************** Bit definition for USB_ADDR4_RX register *****************/ -#define USB_ADDR4_RX_ADDR4_RX ((uint16_t)0xFFFE) /*!< Reception Buffer Address 4 */ - -/***************** Bit definition for USB_ADDR5_RX register *****************/ -#define USB_ADDR5_RX_ADDR5_RX ((uint16_t)0xFFFE) /*!< Reception Buffer Address 5 */ - -/***************** Bit definition for USB_ADDR6_RX register *****************/ -#define USB_ADDR6_RX_ADDR6_RX ((uint16_t)0xFFFE) /*!< Reception Buffer Address 6 */ - -/***************** Bit definition for USB_ADDR7_RX register *****************/ -#define USB_ADDR7_RX_ADDR7_RX ((uint16_t)0xFFFE) /*!< Reception Buffer Address 7 */ - -/*----------------------------------------------------------------------------*/ - -/***************** Bit definition for USB_COUNT0_RX register ****************/ -#define USB_COUNT0_RX_COUNT0_RX ((uint16_t)0x03FF) /*!< Reception Byte Count */ - -#define USB_COUNT0_RX_NUM_BLOCK ((uint16_t)0x7C00) /*!< NUM_BLOCK[4:0] bits (Number of blocks) */ -#define USB_COUNT0_RX_NUM_BLOCK_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define USB_COUNT0_RX_NUM_BLOCK_1 ((uint16_t)0x0800) /*!< Bit 1 */ -#define USB_COUNT0_RX_NUM_BLOCK_2 ((uint16_t)0x1000) /*!< Bit 2 */ -#define USB_COUNT0_RX_NUM_BLOCK_3 ((uint16_t)0x2000) /*!< Bit 3 */ -#define USB_COUNT0_RX_NUM_BLOCK_4 ((uint16_t)0x4000) /*!< Bit 4 */ - -#define USB_COUNT0_RX_BLSIZE ((uint16_t)0x8000) /*!< BLock SIZE */ - -/***************** Bit definition for USB_COUNT1_RX register ****************/ -#define USB_COUNT1_RX_COUNT1_RX ((uint16_t)0x03FF) /*!< Reception Byte Count */ - -#define USB_COUNT1_RX_NUM_BLOCK ((uint16_t)0x7C00) /*!< NUM_BLOCK[4:0] bits (Number of blocks) */ -#define USB_COUNT1_RX_NUM_BLOCK_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define USB_COUNT1_RX_NUM_BLOCK_1 ((uint16_t)0x0800) /*!< Bit 1 */ -#define USB_COUNT1_RX_NUM_BLOCK_2 ((uint16_t)0x1000) /*!< Bit 2 */ -#define USB_COUNT1_RX_NUM_BLOCK_3 ((uint16_t)0x2000) /*!< Bit 3 */ -#define USB_COUNT1_RX_NUM_BLOCK_4 ((uint16_t)0x4000) /*!< Bit 4 */ - -#define USB_COUNT1_RX_BLSIZE ((uint16_t)0x8000) /*!< BLock SIZE */ - -/***************** Bit definition for USB_COUNT2_RX register ****************/ -#define USB_COUNT2_RX_COUNT2_RX ((uint16_t)0x03FF) /*!< Reception Byte Count */ - -#define USB_COUNT2_RX_NUM_BLOCK ((uint16_t)0x7C00) /*!< NUM_BLOCK[4:0] bits (Number of blocks) */ -#define USB_COUNT2_RX_NUM_BLOCK_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define USB_COUNT2_RX_NUM_BLOCK_1 ((uint16_t)0x0800) /*!< Bit 1 */ -#define USB_COUNT2_RX_NUM_BLOCK_2 ((uint16_t)0x1000) /*!< Bit 2 */ -#define USB_COUNT2_RX_NUM_BLOCK_3 ((uint16_t)0x2000) /*!< Bit 3 */ -#define USB_COUNT2_RX_NUM_BLOCK_4 ((uint16_t)0x4000) /*!< Bit 4 */ - -#define USB_COUNT2_RX_BLSIZE ((uint16_t)0x8000) /*!< BLock SIZE */ - -/***************** Bit definition for USB_COUNT3_RX register ****************/ -#define USB_COUNT3_RX_COUNT3_RX ((uint16_t)0x03FF) /*!< Reception Byte Count */ - -#define USB_COUNT3_RX_NUM_BLOCK ((uint16_t)0x7C00) /*!< NUM_BLOCK[4:0] bits (Number of blocks) */ -#define USB_COUNT3_RX_NUM_BLOCK_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define USB_COUNT3_RX_NUM_BLOCK_1 ((uint16_t)0x0800) /*!< Bit 1 */ -#define USB_COUNT3_RX_NUM_BLOCK_2 ((uint16_t)0x1000) /*!< Bit 2 */ -#define USB_COUNT3_RX_NUM_BLOCK_3 ((uint16_t)0x2000) /*!< Bit 3 */ -#define USB_COUNT3_RX_NUM_BLOCK_4 ((uint16_t)0x4000) /*!< Bit 4 */ - -#define USB_COUNT3_RX_BLSIZE ((uint16_t)0x8000) /*!< BLock SIZE */ - -/***************** Bit definition for USB_COUNT4_RX register ****************/ -#define USB_COUNT4_RX_COUNT4_RX ((uint16_t)0x03FF) /*!< Reception Byte Count */ - -#define USB_COUNT4_RX_NUM_BLOCK ((uint16_t)0x7C00) /*!< NUM_BLOCK[4:0] bits (Number of blocks) */ -#define USB_COUNT4_RX_NUM_BLOCK_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define USB_COUNT4_RX_NUM_BLOCK_1 ((uint16_t)0x0800) /*!< Bit 1 */ -#define USB_COUNT4_RX_NUM_BLOCK_2 ((uint16_t)0x1000) /*!< Bit 2 */ -#define USB_COUNT4_RX_NUM_BLOCK_3 ((uint16_t)0x2000) /*!< Bit 3 */ -#define USB_COUNT4_RX_NUM_BLOCK_4 ((uint16_t)0x4000) /*!< Bit 4 */ - -#define USB_COUNT4_RX_BLSIZE ((uint16_t)0x8000) /*!< BLock SIZE */ - -/***************** Bit definition for USB_COUNT5_RX register ****************/ -#define USB_COUNT5_RX_COUNT5_RX ((uint16_t)0x03FF) /*!< Reception Byte Count */ - -#define USB_COUNT5_RX_NUM_BLOCK ((uint16_t)0x7C00) /*!< NUM_BLOCK[4:0] bits (Number of blocks) */ -#define USB_COUNT5_RX_NUM_BLOCK_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define USB_COUNT5_RX_NUM_BLOCK_1 ((uint16_t)0x0800) /*!< Bit 1 */ -#define USB_COUNT5_RX_NUM_BLOCK_2 ((uint16_t)0x1000) /*!< Bit 2 */ -#define USB_COUNT5_RX_NUM_BLOCK_3 ((uint16_t)0x2000) /*!< Bit 3 */ -#define USB_COUNT5_RX_NUM_BLOCK_4 ((uint16_t)0x4000) /*!< Bit 4 */ - -#define USB_COUNT5_RX_BLSIZE ((uint16_t)0x8000) /*!< BLock SIZE */ - -/***************** Bit definition for USB_COUNT6_RX register ****************/ -#define USB_COUNT6_RX_COUNT6_RX ((uint16_t)0x03FF) /*!< Reception Byte Count */ - -#define USB_COUNT6_RX_NUM_BLOCK ((uint16_t)0x7C00) /*!< NUM_BLOCK[4:0] bits (Number of blocks) */ -#define USB_COUNT6_RX_NUM_BLOCK_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define USB_COUNT6_RX_NUM_BLOCK_1 ((uint16_t)0x0800) /*!< Bit 1 */ -#define USB_COUNT6_RX_NUM_BLOCK_2 ((uint16_t)0x1000) /*!< Bit 2 */ -#define USB_COUNT6_RX_NUM_BLOCK_3 ((uint16_t)0x2000) /*!< Bit 3 */ -#define USB_COUNT6_RX_NUM_BLOCK_4 ((uint16_t)0x4000) /*!< Bit 4 */ - -#define USB_COUNT6_RX_BLSIZE ((uint16_t)0x8000) /*!< BLock SIZE */ - -/***************** Bit definition for USB_COUNT7_RX register ****************/ -#define USB_COUNT7_RX_COUNT7_RX ((uint16_t)0x03FF) /*!< Reception Byte Count */ - -#define USB_COUNT7_RX_NUM_BLOCK ((uint16_t)0x7C00) /*!< NUM_BLOCK[4:0] bits (Number of blocks) */ -#define USB_COUNT7_RX_NUM_BLOCK_0 ((uint16_t)0x0400) /*!< Bit 0 */ -#define USB_COUNT7_RX_NUM_BLOCK_1 ((uint16_t)0x0800) /*!< Bit 1 */ -#define USB_COUNT7_RX_NUM_BLOCK_2 ((uint16_t)0x1000) /*!< Bit 2 */ -#define USB_COUNT7_RX_NUM_BLOCK_3 ((uint16_t)0x2000) /*!< Bit 3 */ -#define USB_COUNT7_RX_NUM_BLOCK_4 ((uint16_t)0x4000) /*!< Bit 4 */ - -#define USB_COUNT7_RX_BLSIZE ((uint16_t)0x8000) /*!< BLock SIZE */ - -/*----------------------------------------------------------------------------*/ - -/**************** Bit definition for USB_COUNT0_RX_0 register ***************/ -#define USB_COUNT0_RX_0_COUNT0_RX_0 ((uint32_t)0x000003FF) /*!< Reception Byte Count (low) */ - -#define USB_COUNT0_RX_0_NUM_BLOCK_0 ((uint32_t)0x00007C00) /*!< NUM_BLOCK_0[4:0] bits (Number of blocks) (low) */ -#define USB_COUNT0_RX_0_NUM_BLOCK_0_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define USB_COUNT0_RX_0_NUM_BLOCK_0_1 ((uint32_t)0x00000800) /*!< Bit 1 */ -#define USB_COUNT0_RX_0_NUM_BLOCK_0_2 ((uint32_t)0x00001000) /*!< Bit 2 */ -#define USB_COUNT0_RX_0_NUM_BLOCK_0_3 ((uint32_t)0x00002000) /*!< Bit 3 */ -#define USB_COUNT0_RX_0_NUM_BLOCK_0_4 ((uint32_t)0x00004000) /*!< Bit 4 */ - -#define USB_COUNT0_RX_0_BLSIZE_0 ((uint32_t)0x00008000) /*!< BLock SIZE (low) */ - -/**************** Bit definition for USB_COUNT0_RX_1 register ***************/ -#define USB_COUNT0_RX_1_COUNT0_RX_1 ((uint32_t)0x03FF0000) /*!< Reception Byte Count (high) */ - -#define USB_COUNT0_RX_1_NUM_BLOCK_1 ((uint32_t)0x7C000000) /*!< NUM_BLOCK_1[4:0] bits (Number of blocks) (high) */ -#define USB_COUNT0_RX_1_NUM_BLOCK_1_0 ((uint32_t)0x04000000) /*!< Bit 1 */ -#define USB_COUNT0_RX_1_NUM_BLOCK_1_1 ((uint32_t)0x08000000) /*!< Bit 1 */ -#define USB_COUNT0_RX_1_NUM_BLOCK_1_2 ((uint32_t)0x10000000) /*!< Bit 2 */ -#define USB_COUNT0_RX_1_NUM_BLOCK_1_3 ((uint32_t)0x20000000) /*!< Bit 3 */ -#define USB_COUNT0_RX_1_NUM_BLOCK_1_4 ((uint32_t)0x40000000) /*!< Bit 4 */ - -#define USB_COUNT0_RX_1_BLSIZE_1 ((uint32_t)0x80000000) /*!< BLock SIZE (high) */ - -/**************** Bit definition for USB_COUNT1_RX_0 register ***************/ -#define USB_COUNT1_RX_0_COUNT1_RX_0 ((uint32_t)0x000003FF) /*!< Reception Byte Count (low) */ - -#define USB_COUNT1_RX_0_NUM_BLOCK_0 ((uint32_t)0x00007C00) /*!< NUM_BLOCK_0[4:0] bits (Number of blocks) (low) */ -#define USB_COUNT1_RX_0_NUM_BLOCK_0_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define USB_COUNT1_RX_0_NUM_BLOCK_0_1 ((uint32_t)0x00000800) /*!< Bit 1 */ -#define USB_COUNT1_RX_0_NUM_BLOCK_0_2 ((uint32_t)0x00001000) /*!< Bit 2 */ -#define USB_COUNT1_RX_0_NUM_BLOCK_0_3 ((uint32_t)0x00002000) /*!< Bit 3 */ -#define USB_COUNT1_RX_0_NUM_BLOCK_0_4 ((uint32_t)0x00004000) /*!< Bit 4 */ - -#define USB_COUNT1_RX_0_BLSIZE_0 ((uint32_t)0x00008000) /*!< BLock SIZE (low) */ - -/**************** Bit definition for USB_COUNT1_RX_1 register ***************/ -#define USB_COUNT1_RX_1_COUNT1_RX_1 ((uint32_t)0x03FF0000) /*!< Reception Byte Count (high) */ - -#define USB_COUNT1_RX_1_NUM_BLOCK_1 ((uint32_t)0x7C000000) /*!< NUM_BLOCK_1[4:0] bits (Number of blocks) (high) */ -#define USB_COUNT1_RX_1_NUM_BLOCK_1_0 ((uint32_t)0x04000000) /*!< Bit 0 */ -#define USB_COUNT1_RX_1_NUM_BLOCK_1_1 ((uint32_t)0x08000000) /*!< Bit 1 */ -#define USB_COUNT1_RX_1_NUM_BLOCK_1_2 ((uint32_t)0x10000000) /*!< Bit 2 */ -#define USB_COUNT1_RX_1_NUM_BLOCK_1_3 ((uint32_t)0x20000000) /*!< Bit 3 */ -#define USB_COUNT1_RX_1_NUM_BLOCK_1_4 ((uint32_t)0x40000000) /*!< Bit 4 */ - -#define USB_COUNT1_RX_1_BLSIZE_1 ((uint32_t)0x80000000) /*!< BLock SIZE (high) */ - -/**************** Bit definition for USB_COUNT2_RX_0 register ***************/ -#define USB_COUNT2_RX_0_COUNT2_RX_0 ((uint32_t)0x000003FF) /*!< Reception Byte Count (low) */ - -#define USB_COUNT2_RX_0_NUM_BLOCK_0 ((uint32_t)0x00007C00) /*!< NUM_BLOCK_0[4:0] bits (Number of blocks) (low) */ -#define USB_COUNT2_RX_0_NUM_BLOCK_0_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define USB_COUNT2_RX_0_NUM_BLOCK_0_1 ((uint32_t)0x00000800) /*!< Bit 1 */ -#define USB_COUNT2_RX_0_NUM_BLOCK_0_2 ((uint32_t)0x00001000) /*!< Bit 2 */ -#define USB_COUNT2_RX_0_NUM_BLOCK_0_3 ((uint32_t)0x00002000) /*!< Bit 3 */ -#define USB_COUNT2_RX_0_NUM_BLOCK_0_4 ((uint32_t)0x00004000) /*!< Bit 4 */ - -#define USB_COUNT2_RX_0_BLSIZE_0 ((uint32_t)0x00008000) /*!< BLock SIZE (low) */ - -/**************** Bit definition for USB_COUNT2_RX_1 register ***************/ -#define USB_COUNT2_RX_1_COUNT2_RX_1 ((uint32_t)0x03FF0000) /*!< Reception Byte Count (high) */ - -#define USB_COUNT2_RX_1_NUM_BLOCK_1 ((uint32_t)0x7C000000) /*!< NUM_BLOCK_1[4:0] bits (Number of blocks) (high) */ -#define USB_COUNT2_RX_1_NUM_BLOCK_1_0 ((uint32_t)0x04000000) /*!< Bit 0 */ -#define USB_COUNT2_RX_1_NUM_BLOCK_1_1 ((uint32_t)0x08000000) /*!< Bit 1 */ -#define USB_COUNT2_RX_1_NUM_BLOCK_1_2 ((uint32_t)0x10000000) /*!< Bit 2 */ -#define USB_COUNT2_RX_1_NUM_BLOCK_1_3 ((uint32_t)0x20000000) /*!< Bit 3 */ -#define USB_COUNT2_RX_1_NUM_BLOCK_1_4 ((uint32_t)0x40000000) /*!< Bit 4 */ - -#define USB_COUNT2_RX_1_BLSIZE_1 ((uint32_t)0x80000000) /*!< BLock SIZE (high) */ - -/**************** Bit definition for USB_COUNT3_RX_0 register ***************/ -#define USB_COUNT3_RX_0_COUNT3_RX_0 ((uint32_t)0x000003FF) /*!< Reception Byte Count (low) */ - -#define USB_COUNT3_RX_0_NUM_BLOCK_0 ((uint32_t)0x00007C00) /*!< NUM_BLOCK_0[4:0] bits (Number of blocks) (low) */ -#define USB_COUNT3_RX_0_NUM_BLOCK_0_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define USB_COUNT3_RX_0_NUM_BLOCK_0_1 ((uint32_t)0x00000800) /*!< Bit 1 */ -#define USB_COUNT3_RX_0_NUM_BLOCK_0_2 ((uint32_t)0x00001000) /*!< Bit 2 */ -#define USB_COUNT3_RX_0_NUM_BLOCK_0_3 ((uint32_t)0x00002000) /*!< Bit 3 */ -#define USB_COUNT3_RX_0_NUM_BLOCK_0_4 ((uint32_t)0x00004000) /*!< Bit 4 */ - -#define USB_COUNT3_RX_0_BLSIZE_0 ((uint32_t)0x00008000) /*!< BLock SIZE (low) */ - -/**************** Bit definition for USB_COUNT3_RX_1 register ***************/ -#define USB_COUNT3_RX_1_COUNT3_RX_1 ((uint32_t)0x03FF0000) /*!< Reception Byte Count (high) */ - -#define USB_COUNT3_RX_1_NUM_BLOCK_1 ((uint32_t)0x7C000000) /*!< NUM_BLOCK_1[4:0] bits (Number of blocks) (high) */ -#define USB_COUNT3_RX_1_NUM_BLOCK_1_0 ((uint32_t)0x04000000) /*!< Bit 0 */ -#define USB_COUNT3_RX_1_NUM_BLOCK_1_1 ((uint32_t)0x08000000) /*!< Bit 1 */ -#define USB_COUNT3_RX_1_NUM_BLOCK_1_2 ((uint32_t)0x10000000) /*!< Bit 2 */ -#define USB_COUNT3_RX_1_NUM_BLOCK_1_3 ((uint32_t)0x20000000) /*!< Bit 3 */ -#define USB_COUNT3_RX_1_NUM_BLOCK_1_4 ((uint32_t)0x40000000) /*!< Bit 4 */ - -#define USB_COUNT3_RX_1_BLSIZE_1 ((uint32_t)0x80000000) /*!< BLock SIZE (high) */ - -/**************** Bit definition for USB_COUNT4_RX_0 register ***************/ -#define USB_COUNT4_RX_0_COUNT4_RX_0 ((uint32_t)0x000003FF) /*!< Reception Byte Count (low) */ - -#define USB_COUNT4_RX_0_NUM_BLOCK_0 ((uint32_t)0x00007C00) /*!< NUM_BLOCK_0[4:0] bits (Number of blocks) (low) */ -#define USB_COUNT4_RX_0_NUM_BLOCK_0_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define USB_COUNT4_RX_0_NUM_BLOCK_0_1 ((uint32_t)0x00000800) /*!< Bit 1 */ -#define USB_COUNT4_RX_0_NUM_BLOCK_0_2 ((uint32_t)0x00001000) /*!< Bit 2 */ -#define USB_COUNT4_RX_0_NUM_BLOCK_0_3 ((uint32_t)0x00002000) /*!< Bit 3 */ -#define USB_COUNT4_RX_0_NUM_BLOCK_0_4 ((uint32_t)0x00004000) /*!< Bit 4 */ - -#define USB_COUNT4_RX_0_BLSIZE_0 ((uint32_t)0x00008000) /*!< BLock SIZE (low) */ - -/**************** Bit definition for USB_COUNT4_RX_1 register ***************/ -#define USB_COUNT4_RX_1_COUNT4_RX_1 ((uint32_t)0x03FF0000) /*!< Reception Byte Count (high) */ - -#define USB_COUNT4_RX_1_NUM_BLOCK_1 ((uint32_t)0x7C000000) /*!< NUM_BLOCK_1[4:0] bits (Number of blocks) (high) */ -#define USB_COUNT4_RX_1_NUM_BLOCK_1_0 ((uint32_t)0x04000000) /*!< Bit 0 */ -#define USB_COUNT4_RX_1_NUM_BLOCK_1_1 ((uint32_t)0x08000000) /*!< Bit 1 */ -#define USB_COUNT4_RX_1_NUM_BLOCK_1_2 ((uint32_t)0x10000000) /*!< Bit 2 */ -#define USB_COUNT4_RX_1_NUM_BLOCK_1_3 ((uint32_t)0x20000000) /*!< Bit 3 */ -#define USB_COUNT4_RX_1_NUM_BLOCK_1_4 ((uint32_t)0x40000000) /*!< Bit 4 */ - -#define USB_COUNT4_RX_1_BLSIZE_1 ((uint32_t)0x80000000) /*!< BLock SIZE (high) */ - -/**************** Bit definition for USB_COUNT5_RX_0 register ***************/ -#define USB_COUNT5_RX_0_COUNT5_RX_0 ((uint32_t)0x000003FF) /*!< Reception Byte Count (low) */ - -#define USB_COUNT5_RX_0_NUM_BLOCK_0 ((uint32_t)0x00007C00) /*!< NUM_BLOCK_0[4:0] bits (Number of blocks) (low) */ -#define USB_COUNT5_RX_0_NUM_BLOCK_0_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define USB_COUNT5_RX_0_NUM_BLOCK_0_1 ((uint32_t)0x00000800) /*!< Bit 1 */ -#define USB_COUNT5_RX_0_NUM_BLOCK_0_2 ((uint32_t)0x00001000) /*!< Bit 2 */ -#define USB_COUNT5_RX_0_NUM_BLOCK_0_3 ((uint32_t)0x00002000) /*!< Bit 3 */ -#define USB_COUNT5_RX_0_NUM_BLOCK_0_4 ((uint32_t)0x00004000) /*!< Bit 4 */ - -#define USB_COUNT5_RX_0_BLSIZE_0 ((uint32_t)0x00008000) /*!< BLock SIZE (low) */ - -/**************** Bit definition for USB_COUNT5_RX_1 register ***************/ -#define USB_COUNT5_RX_1_COUNT5_RX_1 ((uint32_t)0x03FF0000) /*!< Reception Byte Count (high) */ - -#define USB_COUNT5_RX_1_NUM_BLOCK_1 ((uint32_t)0x7C000000) /*!< NUM_BLOCK_1[4:0] bits (Number of blocks) (high) */ -#define USB_COUNT5_RX_1_NUM_BLOCK_1_0 ((uint32_t)0x04000000) /*!< Bit 0 */ -#define USB_COUNT5_RX_1_NUM_BLOCK_1_1 ((uint32_t)0x08000000) /*!< Bit 1 */ -#define USB_COUNT5_RX_1_NUM_BLOCK_1_2 ((uint32_t)0x10000000) /*!< Bit 2 */ -#define USB_COUNT5_RX_1_NUM_BLOCK_1_3 ((uint32_t)0x20000000) /*!< Bit 3 */ -#define USB_COUNT5_RX_1_NUM_BLOCK_1_4 ((uint32_t)0x40000000) /*!< Bit 4 */ - -#define USB_COUNT5_RX_1_BLSIZE_1 ((uint32_t)0x80000000) /*!< BLock SIZE (high) */ - -/*************** Bit definition for USB_COUNT6_RX_0 register ***************/ -#define USB_COUNT6_RX_0_COUNT6_RX_0 ((uint32_t)0x000003FF) /*!< Reception Byte Count (low) */ - -#define USB_COUNT6_RX_0_NUM_BLOCK_0 ((uint32_t)0x00007C00) /*!< NUM_BLOCK_0[4:0] bits (Number of blocks) (low) */ -#define USB_COUNT6_RX_0_NUM_BLOCK_0_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define USB_COUNT6_RX_0_NUM_BLOCK_0_1 ((uint32_t)0x00000800) /*!< Bit 1 */ -#define USB_COUNT6_RX_0_NUM_BLOCK_0_2 ((uint32_t)0x00001000) /*!< Bit 2 */ -#define USB_COUNT6_RX_0_NUM_BLOCK_0_3 ((uint32_t)0x00002000) /*!< Bit 3 */ -#define USB_COUNT6_RX_0_NUM_BLOCK_0_4 ((uint32_t)0x00004000) /*!< Bit 4 */ - -#define USB_COUNT6_RX_0_BLSIZE_0 ((uint32_t)0x00008000) /*!< BLock SIZE (low) */ - -/**************** Bit definition for USB_COUNT6_RX_1 register ***************/ -#define USB_COUNT6_RX_1_COUNT6_RX_1 ((uint32_t)0x03FF0000) /*!< Reception Byte Count (high) */ - -#define USB_COUNT6_RX_1_NUM_BLOCK_1 ((uint32_t)0x7C000000) /*!< NUM_BLOCK_1[4:0] bits (Number of blocks) (high) */ -#define USB_COUNT6_RX_1_NUM_BLOCK_1_0 ((uint32_t)0x04000000) /*!< Bit 0 */ -#define USB_COUNT6_RX_1_NUM_BLOCK_1_1 ((uint32_t)0x08000000) /*!< Bit 1 */ -#define USB_COUNT6_RX_1_NUM_BLOCK_1_2 ((uint32_t)0x10000000) /*!< Bit 2 */ -#define USB_COUNT6_RX_1_NUM_BLOCK_1_3 ((uint32_t)0x20000000) /*!< Bit 3 */ -#define USB_COUNT6_RX_1_NUM_BLOCK_1_4 ((uint32_t)0x40000000) /*!< Bit 4 */ - -#define USB_COUNT6_RX_1_BLSIZE_1 ((uint32_t)0x80000000) /*!< BLock SIZE (high) */ - -/*************** Bit definition for USB_COUNT7_RX_0 register ****************/ -#define USB_COUNT7_RX_0_COUNT7_RX_0 ((uint32_t)0x000003FF) /*!< Reception Byte Count (low) */ - -#define USB_COUNT7_RX_0_NUM_BLOCK_0 ((uint32_t)0x00007C00) /*!< NUM_BLOCK_0[4:0] bits (Number of blocks) (low) */ -#define USB_COUNT7_RX_0_NUM_BLOCK_0_0 ((uint32_t)0x00000400) /*!< Bit 0 */ -#define USB_COUNT7_RX_0_NUM_BLOCK_0_1 ((uint32_t)0x00000800) /*!< Bit 1 */ -#define USB_COUNT7_RX_0_NUM_BLOCK_0_2 ((uint32_t)0x00001000) /*!< Bit 2 */ -#define USB_COUNT7_RX_0_NUM_BLOCK_0_3 ((uint32_t)0x00002000) /*!< Bit 3 */ -#define USB_COUNT7_RX_0_NUM_BLOCK_0_4 ((uint32_t)0x00004000) /*!< Bit 4 */ - -#define USB_COUNT7_RX_0_BLSIZE_0 ((uint32_t)0x00008000) /*!< BLock SIZE (low) */ - -/*************** Bit definition for USB_COUNT7_RX_1 register ****************/ -#define USB_COUNT7_RX_1_COUNT7_RX_1 ((uint32_t)0x03FF0000) /*!< Reception Byte Count (high) */ - -#define USB_COUNT7_RX_1_NUM_BLOCK_1 ((uint32_t)0x7C000000) /*!< NUM_BLOCK_1[4:0] bits (Number of blocks) (high) */ -#define USB_COUNT7_RX_1_NUM_BLOCK_1_0 ((uint32_t)0x04000000) /*!< Bit 0 */ -#define USB_COUNT7_RX_1_NUM_BLOCK_1_1 ((uint32_t)0x08000000) /*!< Bit 1 */ -#define USB_COUNT7_RX_1_NUM_BLOCK_1_2 ((uint32_t)0x10000000) /*!< Bit 2 */ -#define USB_COUNT7_RX_1_NUM_BLOCK_1_3 ((uint32_t)0x20000000) /*!< Bit 3 */ -#define USB_COUNT7_RX_1_NUM_BLOCK_1_4 ((uint32_t)0x40000000) /*!< Bit 4 */ - -#define USB_COUNT7_RX_1_BLSIZE_1 ((uint32_t)0x80000000) /*!< BLock SIZE (high) */ - -/******************************************************************************/ -/* */ -/* Controller Area Network */ -/* */ -/******************************************************************************/ - -/*!< CAN control and status registers */ -/******************* Bit definition for CAN_MCR register ********************/ -#define CAN_MCR_INRQ ((uint16_t)0x0001) /*!< Initialization Request */ -#define CAN_MCR_SLEEP ((uint16_t)0x0002) /*!< Sleep Mode Request */ -#define CAN_MCR_TXFP ((uint16_t)0x0004) /*!< Transmit FIFO Priority */ -#define CAN_MCR_RFLM ((uint16_t)0x0008) /*!< Receive FIFO Locked Mode */ -#define CAN_MCR_NART ((uint16_t)0x0010) /*!< No Automatic Retransmission */ -#define CAN_MCR_AWUM ((uint16_t)0x0020) /*!< Automatic Wakeup Mode */ -#define CAN_MCR_ABOM ((uint16_t)0x0040) /*!< Automatic Bus-Off Management */ -#define CAN_MCR_TTCM ((uint16_t)0x0080) /*!< Time Triggered Communication Mode */ -#define CAN_MCR_RESET ((uint16_t)0x8000) /*!< CAN software master reset */ - -/******************* Bit definition for CAN_MSR register ********************/ -#define CAN_MSR_INAK ((uint16_t)0x0001) /*!< Initialization Acknowledge */ -#define CAN_MSR_SLAK ((uint16_t)0x0002) /*!< Sleep Acknowledge */ -#define CAN_MSR_ERRI ((uint16_t)0x0004) /*!< Error Interrupt */ -#define CAN_MSR_WKUI ((uint16_t)0x0008) /*!< Wakeup Interrupt */ -#define CAN_MSR_SLAKI ((uint16_t)0x0010) /*!< Sleep Acknowledge Interrupt */ -#define CAN_MSR_TXM ((uint16_t)0x0100) /*!< Transmit Mode */ -#define CAN_MSR_RXM ((uint16_t)0x0200) /*!< Receive Mode */ -#define CAN_MSR_SAMP ((uint16_t)0x0400) /*!< Last Sample Point */ -#define CAN_MSR_RX ((uint16_t)0x0800) /*!< CAN Rx Signal */ - -/******************* Bit definition for CAN_TSR register ********************/ -#define CAN_TSR_RQCP0 ((uint32_t)0x00000001) /*!< Request Completed Mailbox0 */ -#define CAN_TSR_TXOK0 ((uint32_t)0x00000002) /*!< Transmission OK of Mailbox0 */ -#define CAN_TSR_ALST0 ((uint32_t)0x00000004) /*!< Arbitration Lost for Mailbox0 */ -#define CAN_TSR_TERR0 ((uint32_t)0x00000008) /*!< Transmission Error of Mailbox0 */ -#define CAN_TSR_ABRQ0 ((uint32_t)0x00000080) /*!< Abort Request for Mailbox0 */ -#define CAN_TSR_RQCP1 ((uint32_t)0x00000100) /*!< Request Completed Mailbox1 */ -#define CAN_TSR_TXOK1 ((uint32_t)0x00000200) /*!< Transmission OK of Mailbox1 */ -#define CAN_TSR_ALST1 ((uint32_t)0x00000400) /*!< Arbitration Lost for Mailbox1 */ -#define CAN_TSR_TERR1 ((uint32_t)0x00000800) /*!< Transmission Error of Mailbox1 */ -#define CAN_TSR_ABRQ1 ((uint32_t)0x00008000) /*!< Abort Request for Mailbox 1 */ -#define CAN_TSR_RQCP2 ((uint32_t)0x00010000) /*!< Request Completed Mailbox2 */ -#define CAN_TSR_TXOK2 ((uint32_t)0x00020000) /*!< Transmission OK of Mailbox 2 */ -#define CAN_TSR_ALST2 ((uint32_t)0x00040000) /*!< Arbitration Lost for mailbox 2 */ -#define CAN_TSR_TERR2 ((uint32_t)0x00080000) /*!< Transmission Error of Mailbox 2 */ -#define CAN_TSR_ABRQ2 ((uint32_t)0x00800000) /*!< Abort Request for Mailbox 2 */ -#define CAN_TSR_CODE ((uint32_t)0x03000000) /*!< Mailbox Code */ - -#define CAN_TSR_TME ((uint32_t)0x1C000000) /*!< TME[2:0] bits */ -#define CAN_TSR_TME0 ((uint32_t)0x04000000) /*!< Transmit Mailbox 0 Empty */ -#define CAN_TSR_TME1 ((uint32_t)0x08000000) /*!< Transmit Mailbox 1 Empty */ -#define CAN_TSR_TME2 ((uint32_t)0x10000000) /*!< Transmit Mailbox 2 Empty */ - -#define CAN_TSR_LOW ((uint32_t)0xE0000000) /*!< LOW[2:0] bits */ -#define CAN_TSR_LOW0 ((uint32_t)0x20000000) /*!< Lowest Priority Flag for Mailbox 0 */ -#define CAN_TSR_LOW1 ((uint32_t)0x40000000) /*!< Lowest Priority Flag for Mailbox 1 */ -#define CAN_TSR_LOW2 ((uint32_t)0x80000000) /*!< Lowest Priority Flag for Mailbox 2 */ - -/******************* Bit definition for CAN_RF0R register *******************/ -#define CAN_RF0R_FMP0 ((uint8_t)0x03) /*!< FIFO 0 Message Pending */ -#define CAN_RF0R_FULL0 ((uint8_t)0x08) /*!< FIFO 0 Full */ -#define CAN_RF0R_FOVR0 ((uint8_t)0x10) /*!< FIFO 0 Overrun */ -#define CAN_RF0R_RFOM0 ((uint8_t)0x20) /*!< Release FIFO 0 Output Mailbox */ - -/******************* Bit definition for CAN_RF1R register *******************/ -#define CAN_RF1R_FMP1 ((uint8_t)0x03) /*!< FIFO 1 Message Pending */ -#define CAN_RF1R_FULL1 ((uint8_t)0x08) /*!< FIFO 1 Full */ -#define CAN_RF1R_FOVR1 ((uint8_t)0x10) /*!< FIFO 1 Overrun */ -#define CAN_RF1R_RFOM1 ((uint8_t)0x20) /*!< Release FIFO 1 Output Mailbox */ - -/******************** Bit definition for CAN_IER register *******************/ -#define CAN_IER_TMEIE ((uint32_t)0x00000001) /*!< Transmit Mailbox Empty Interrupt Enable */ -#define CAN_IER_FMPIE0 ((uint32_t)0x00000002) /*!< FIFO Message Pending Interrupt Enable */ -#define CAN_IER_FFIE0 ((uint32_t)0x00000004) /*!< FIFO Full Interrupt Enable */ -#define CAN_IER_FOVIE0 ((uint32_t)0x00000008) /*!< FIFO Overrun Interrupt Enable */ -#define CAN_IER_FMPIE1 ((uint32_t)0x00000010) /*!< FIFO Message Pending Interrupt Enable */ -#define CAN_IER_FFIE1 ((uint32_t)0x00000020) /*!< FIFO Full Interrupt Enable */ -#define CAN_IER_FOVIE1 ((uint32_t)0x00000040) /*!< FIFO Overrun Interrupt Enable */ -#define CAN_IER_EWGIE ((uint32_t)0x00000100) /*!< Error Warning Interrupt Enable */ -#define CAN_IER_EPVIE ((uint32_t)0x00000200) /*!< Error Passive Interrupt Enable */ -#define CAN_IER_BOFIE ((uint32_t)0x00000400) /*!< Bus-Off Interrupt Enable */ -#define CAN_IER_LECIE ((uint32_t)0x00000800) /*!< Last Error Code Interrupt Enable */ -#define CAN_IER_ERRIE ((uint32_t)0x00008000) /*!< Error Interrupt Enable */ -#define CAN_IER_WKUIE ((uint32_t)0x00010000) /*!< Wakeup Interrupt Enable */ -#define CAN_IER_SLKIE ((uint32_t)0x00020000) /*!< Sleep Interrupt Enable */ - -/******************** Bit definition for CAN_ESR register *******************/ -#define CAN_ESR_EWGF ((uint32_t)0x00000001) /*!< Error Warning Flag */ -#define CAN_ESR_EPVF ((uint32_t)0x00000002) /*!< Error Passive Flag */ -#define CAN_ESR_BOFF ((uint32_t)0x00000004) /*!< Bus-Off Flag */ - -#define CAN_ESR_LEC ((uint32_t)0x00000070) /*!< LEC[2:0] bits (Last Error Code) */ -#define CAN_ESR_LEC_0 ((uint32_t)0x00000010) /*!< Bit 0 */ -#define CAN_ESR_LEC_1 ((uint32_t)0x00000020) /*!< Bit 1 */ -#define CAN_ESR_LEC_2 ((uint32_t)0x00000040) /*!< Bit 2 */ - -#define CAN_ESR_TEC ((uint32_t)0x00FF0000) /*!< Least significant byte of the 9-bit Transmit Error Counter */ -#define CAN_ESR_REC ((uint32_t)0xFF000000) /*!< Receive Error Counter */ - -/******************* Bit definition for CAN_BTR register ********************/ -#define CAN_BTR_BRP ((uint32_t)0x000003FF) /*!< Baud Rate Prescaler */ -#define CAN_BTR_TS1 ((uint32_t)0x000F0000) /*!< Time Segment 1 */ -#define CAN_BTR_TS2 ((uint32_t)0x00700000) /*!< Time Segment 2 */ -#define CAN_BTR_SJW ((uint32_t)0x03000000) /*!< Resynchronization Jump Width */ -#define CAN_BTR_LBKM ((uint32_t)0x40000000) /*!< Loop Back Mode (Debug) */ -#define CAN_BTR_SILM ((uint32_t)0x80000000) /*!< Silent Mode */ - -/*!< Mailbox registers */ -/****************** Bit definition for CAN_TI0R register ********************/ -#define CAN_TI0R_TXRQ ((uint32_t)0x00000001) /*!< Transmit Mailbox Request */ -#define CAN_TI0R_RTR ((uint32_t)0x00000002) /*!< Remote Transmission Request */ -#define CAN_TI0R_IDE ((uint32_t)0x00000004) /*!< Identifier Extension */ -#define CAN_TI0R_EXID ((uint32_t)0x001FFFF8) /*!< Extended Identifier */ -#define CAN_TI0R_STID ((uint32_t)0xFFE00000) /*!< Standard Identifier or Extended Identifier */ - -/****************** Bit definition for CAN_TDT0R register *******************/ -#define CAN_TDT0R_DLC ((uint32_t)0x0000000F) /*!< Data Length Code */ -#define CAN_TDT0R_TGT ((uint32_t)0x00000100) /*!< Transmit Global Time */ -#define CAN_TDT0R_TIME ((uint32_t)0xFFFF0000) /*!< Message Time Stamp */ - -/****************** Bit definition for CAN_TDL0R register *******************/ -#define CAN_TDL0R_DATA0 ((uint32_t)0x000000FF) /*!< Data byte 0 */ -#define CAN_TDL0R_DATA1 ((uint32_t)0x0000FF00) /*!< Data byte 1 */ -#define CAN_TDL0R_DATA2 ((uint32_t)0x00FF0000) /*!< Data byte 2 */ -#define CAN_TDL0R_DATA3 ((uint32_t)0xFF000000) /*!< Data byte 3 */ - -/****************** Bit definition for CAN_TDH0R register *******************/ -#define CAN_TDH0R_DATA4 ((uint32_t)0x000000FF) /*!< Data byte 4 */ -#define CAN_TDH0R_DATA5 ((uint32_t)0x0000FF00) /*!< Data byte 5 */ -#define CAN_TDH0R_DATA6 ((uint32_t)0x00FF0000) /*!< Data byte 6 */ -#define CAN_TDH0R_DATA7 ((uint32_t)0xFF000000) /*!< Data byte 7 */ - -/******************* Bit definition for CAN_TI1R register *******************/ -#define CAN_TI1R_TXRQ ((uint32_t)0x00000001) /*!< Transmit Mailbox Request */ -#define CAN_TI1R_RTR ((uint32_t)0x00000002) /*!< Remote Transmission Request */ -#define CAN_TI1R_IDE ((uint32_t)0x00000004) /*!< Identifier Extension */ -#define CAN_TI1R_EXID ((uint32_t)0x001FFFF8) /*!< Extended Identifier */ -#define CAN_TI1R_STID ((uint32_t)0xFFE00000) /*!< Standard Identifier or Extended Identifier */ - -/******************* Bit definition for CAN_TDT1R register ******************/ -#define CAN_TDT1R_DLC ((uint32_t)0x0000000F) /*!< Data Length Code */ -#define CAN_TDT1R_TGT ((uint32_t)0x00000100) /*!< Transmit Global Time */ -#define CAN_TDT1R_TIME ((uint32_t)0xFFFF0000) /*!< Message Time Stamp */ - -/******************* Bit definition for CAN_TDL1R register ******************/ -#define CAN_TDL1R_DATA0 ((uint32_t)0x000000FF) /*!< Data byte 0 */ -#define CAN_TDL1R_DATA1 ((uint32_t)0x0000FF00) /*!< Data byte 1 */ -#define CAN_TDL1R_DATA2 ((uint32_t)0x00FF0000) /*!< Data byte 2 */ -#define CAN_TDL1R_DATA3 ((uint32_t)0xFF000000) /*!< Data byte 3 */ - -/******************* Bit definition for CAN_TDH1R register ******************/ -#define CAN_TDH1R_DATA4 ((uint32_t)0x000000FF) /*!< Data byte 4 */ -#define CAN_TDH1R_DATA5 ((uint32_t)0x0000FF00) /*!< Data byte 5 */ -#define CAN_TDH1R_DATA6 ((uint32_t)0x00FF0000) /*!< Data byte 6 */ -#define CAN_TDH1R_DATA7 ((uint32_t)0xFF000000) /*!< Data byte 7 */ - -/******************* Bit definition for CAN_TI2R register *******************/ -#define CAN_TI2R_TXRQ ((uint32_t)0x00000001) /*!< Transmit Mailbox Request */ -#define CAN_TI2R_RTR ((uint32_t)0x00000002) /*!< Remote Transmission Request */ -#define CAN_TI2R_IDE ((uint32_t)0x00000004) /*!< Identifier Extension */ -#define CAN_TI2R_EXID ((uint32_t)0x001FFFF8) /*!< Extended identifier */ -#define CAN_TI2R_STID ((uint32_t)0xFFE00000) /*!< Standard Identifier or Extended Identifier */ - -/******************* Bit definition for CAN_TDT2R register ******************/ -#define CAN_TDT2R_DLC ((uint32_t)0x0000000F) /*!< Data Length Code */ -#define CAN_TDT2R_TGT ((uint32_t)0x00000100) /*!< Transmit Global Time */ -#define CAN_TDT2R_TIME ((uint32_t)0xFFFF0000) /*!< Message Time Stamp */ - -/******************* Bit definition for CAN_TDL2R register ******************/ -#define CAN_TDL2R_DATA0 ((uint32_t)0x000000FF) /*!< Data byte 0 */ -#define CAN_TDL2R_DATA1 ((uint32_t)0x0000FF00) /*!< Data byte 1 */ -#define CAN_TDL2R_DATA2 ((uint32_t)0x00FF0000) /*!< Data byte 2 */ -#define CAN_TDL2R_DATA3 ((uint32_t)0xFF000000) /*!< Data byte 3 */ - -/******************* Bit definition for CAN_TDH2R register ******************/ -#define CAN_TDH2R_DATA4 ((uint32_t)0x000000FF) /*!< Data byte 4 */ -#define CAN_TDH2R_DATA5 ((uint32_t)0x0000FF00) /*!< Data byte 5 */ -#define CAN_TDH2R_DATA6 ((uint32_t)0x00FF0000) /*!< Data byte 6 */ -#define CAN_TDH2R_DATA7 ((uint32_t)0xFF000000) /*!< Data byte 7 */ - -/******************* Bit definition for CAN_RI0R register *******************/ -#define CAN_RI0R_RTR ((uint32_t)0x00000002) /*!< Remote Transmission Request */ -#define CAN_RI0R_IDE ((uint32_t)0x00000004) /*!< Identifier Extension */ -#define CAN_RI0R_EXID ((uint32_t)0x001FFFF8) /*!< Extended Identifier */ -#define CAN_RI0R_STID ((uint32_t)0xFFE00000) /*!< Standard Identifier or Extended Identifier */ - -/******************* Bit definition for CAN_RDT0R register ******************/ -#define CAN_RDT0R_DLC ((uint32_t)0x0000000F) /*!< Data Length Code */ -#define CAN_RDT0R_FMI ((uint32_t)0x0000FF00) /*!< Filter Match Index */ -#define CAN_RDT0R_TIME ((uint32_t)0xFFFF0000) /*!< Message Time Stamp */ - -/******************* Bit definition for CAN_RDL0R register ******************/ -#define CAN_RDL0R_DATA0 ((uint32_t)0x000000FF) /*!< Data byte 0 */ -#define CAN_RDL0R_DATA1 ((uint32_t)0x0000FF00) /*!< Data byte 1 */ -#define CAN_RDL0R_DATA2 ((uint32_t)0x00FF0000) /*!< Data byte 2 */ -#define CAN_RDL0R_DATA3 ((uint32_t)0xFF000000) /*!< Data byte 3 */ - -/******************* Bit definition for CAN_RDH0R register ******************/ -#define CAN_RDH0R_DATA4 ((uint32_t)0x000000FF) /*!< Data byte 4 */ -#define CAN_RDH0R_DATA5 ((uint32_t)0x0000FF00) /*!< Data byte 5 */ -#define CAN_RDH0R_DATA6 ((uint32_t)0x00FF0000) /*!< Data byte 6 */ -#define CAN_RDH0R_DATA7 ((uint32_t)0xFF000000) /*!< Data byte 7 */ - -/******************* Bit definition for CAN_RI1R register *******************/ -#define CAN_RI1R_RTR ((uint32_t)0x00000002) /*!< Remote Transmission Request */ -#define CAN_RI1R_IDE ((uint32_t)0x00000004) /*!< Identifier Extension */ -#define CAN_RI1R_EXID ((uint32_t)0x001FFFF8) /*!< Extended identifier */ -#define CAN_RI1R_STID ((uint32_t)0xFFE00000) /*!< Standard Identifier or Extended Identifier */ - -/******************* Bit definition for CAN_RDT1R register ******************/ -#define CAN_RDT1R_DLC ((uint32_t)0x0000000F) /*!< Data Length Code */ -#define CAN_RDT1R_FMI ((uint32_t)0x0000FF00) /*!< Filter Match Index */ -#define CAN_RDT1R_TIME ((uint32_t)0xFFFF0000) /*!< Message Time Stamp */ - -/******************* Bit definition for CAN_RDL1R register ******************/ -#define CAN_RDL1R_DATA0 ((uint32_t)0x000000FF) /*!< Data byte 0 */ -#define CAN_RDL1R_DATA1 ((uint32_t)0x0000FF00) /*!< Data byte 1 */ -#define CAN_RDL1R_DATA2 ((uint32_t)0x00FF0000) /*!< Data byte 2 */ -#define CAN_RDL1R_DATA3 ((uint32_t)0xFF000000) /*!< Data byte 3 */ - -/******************* Bit definition for CAN_RDH1R register ******************/ -#define CAN_RDH1R_DATA4 ((uint32_t)0x000000FF) /*!< Data byte 4 */ -#define CAN_RDH1R_DATA5 ((uint32_t)0x0000FF00) /*!< Data byte 5 */ -#define CAN_RDH1R_DATA6 ((uint32_t)0x00FF0000) /*!< Data byte 6 */ -#define CAN_RDH1R_DATA7 ((uint32_t)0xFF000000) /*!< Data byte 7 */ - -/*!< CAN filter registers */ -/******************* Bit definition for CAN_FMR register ********************/ -#define CAN_FMR_FINIT ((uint8_t)0x01) /*!< Filter Init Mode */ - -/******************* Bit definition for CAN_FM1R register *******************/ -#define CAN_FM1R_FBM ((uint16_t)0x3FFF) /*!< Filter Mode */ -#define CAN_FM1R_FBM0 ((uint16_t)0x0001) /*!< Filter Init Mode bit 0 */ -#define CAN_FM1R_FBM1 ((uint16_t)0x0002) /*!< Filter Init Mode bit 1 */ -#define CAN_FM1R_FBM2 ((uint16_t)0x0004) /*!< Filter Init Mode bit 2 */ -#define CAN_FM1R_FBM3 ((uint16_t)0x0008) /*!< Filter Init Mode bit 3 */ -#define CAN_FM1R_FBM4 ((uint16_t)0x0010) /*!< Filter Init Mode bit 4 */ -#define CAN_FM1R_FBM5 ((uint16_t)0x0020) /*!< Filter Init Mode bit 5 */ -#define CAN_FM1R_FBM6 ((uint16_t)0x0040) /*!< Filter Init Mode bit 6 */ -#define CAN_FM1R_FBM7 ((uint16_t)0x0080) /*!< Filter Init Mode bit 7 */ -#define CAN_FM1R_FBM8 ((uint16_t)0x0100) /*!< Filter Init Mode bit 8 */ -#define CAN_FM1R_FBM9 ((uint16_t)0x0200) /*!< Filter Init Mode bit 9 */ -#define CAN_FM1R_FBM10 ((uint16_t)0x0400) /*!< Filter Init Mode bit 10 */ -#define CAN_FM1R_FBM11 ((uint16_t)0x0800) /*!< Filter Init Mode bit 11 */ -#define CAN_FM1R_FBM12 ((uint16_t)0x1000) /*!< Filter Init Mode bit 12 */ -#define CAN_FM1R_FBM13 ((uint16_t)0x2000) /*!< Filter Init Mode bit 13 */ - -/******************* Bit definition for CAN_FS1R register *******************/ -#define CAN_FS1R_FSC ((uint16_t)0x3FFF) /*!< Filter Scale Configuration */ -#define CAN_FS1R_FSC0 ((uint16_t)0x0001) /*!< Filter Scale Configuration bit 0 */ -#define CAN_FS1R_FSC1 ((uint16_t)0x0002) /*!< Filter Scale Configuration bit 1 */ -#define CAN_FS1R_FSC2 ((uint16_t)0x0004) /*!< Filter Scale Configuration bit 2 */ -#define CAN_FS1R_FSC3 ((uint16_t)0x0008) /*!< Filter Scale Configuration bit 3 */ -#define CAN_FS1R_FSC4 ((uint16_t)0x0010) /*!< Filter Scale Configuration bit 4 */ -#define CAN_FS1R_FSC5 ((uint16_t)0x0020) /*!< Filter Scale Configuration bit 5 */ -#define CAN_FS1R_FSC6 ((uint16_t)0x0040) /*!< Filter Scale Configuration bit 6 */ -#define CAN_FS1R_FSC7 ((uint16_t)0x0080) /*!< Filter Scale Configuration bit 7 */ -#define CAN_FS1R_FSC8 ((uint16_t)0x0100) /*!< Filter Scale Configuration bit 8 */ -#define CAN_FS1R_FSC9 ((uint16_t)0x0200) /*!< Filter Scale Configuration bit 9 */ -#define CAN_FS1R_FSC10 ((uint16_t)0x0400) /*!< Filter Scale Configuration bit 10 */ -#define CAN_FS1R_FSC11 ((uint16_t)0x0800) /*!< Filter Scale Configuration bit 11 */ -#define CAN_FS1R_FSC12 ((uint16_t)0x1000) /*!< Filter Scale Configuration bit 12 */ -#define CAN_FS1R_FSC13 ((uint16_t)0x2000) /*!< Filter Scale Configuration bit 13 */ - -/****************** Bit definition for CAN_FFA1R register *******************/ -#define CAN_FFA1R_FFA ((uint16_t)0x3FFF) /*!< Filter FIFO Assignment */ -#define CAN_FFA1R_FFA0 ((uint16_t)0x0001) /*!< Filter FIFO Assignment for Filter 0 */ -#define CAN_FFA1R_FFA1 ((uint16_t)0x0002) /*!< Filter FIFO Assignment for Filter 1 */ -#define CAN_FFA1R_FFA2 ((uint16_t)0x0004) /*!< Filter FIFO Assignment for Filter 2 */ -#define CAN_FFA1R_FFA3 ((uint16_t)0x0008) /*!< Filter FIFO Assignment for Filter 3 */ -#define CAN_FFA1R_FFA4 ((uint16_t)0x0010) /*!< Filter FIFO Assignment for Filter 4 */ -#define CAN_FFA1R_FFA5 ((uint16_t)0x0020) /*!< Filter FIFO Assignment for Filter 5 */ -#define CAN_FFA1R_FFA6 ((uint16_t)0x0040) /*!< Filter FIFO Assignment for Filter 6 */ -#define CAN_FFA1R_FFA7 ((uint16_t)0x0080) /*!< Filter FIFO Assignment for Filter 7 */ -#define CAN_FFA1R_FFA8 ((uint16_t)0x0100) /*!< Filter FIFO Assignment for Filter 8 */ -#define CAN_FFA1R_FFA9 ((uint16_t)0x0200) /*!< Filter FIFO Assignment for Filter 9 */ -#define CAN_FFA1R_FFA10 ((uint16_t)0x0400) /*!< Filter FIFO Assignment for Filter 10 */ -#define CAN_FFA1R_FFA11 ((uint16_t)0x0800) /*!< Filter FIFO Assignment for Filter 11 */ -#define CAN_FFA1R_FFA12 ((uint16_t)0x1000) /*!< Filter FIFO Assignment for Filter 12 */ -#define CAN_FFA1R_FFA13 ((uint16_t)0x2000) /*!< Filter FIFO Assignment for Filter 13 */ - -/******************* Bit definition for CAN_FA1R register *******************/ -#define CAN_FA1R_FACT ((uint16_t)0x3FFF) /*!< Filter Active */ -#define CAN_FA1R_FACT0 ((uint16_t)0x0001) /*!< Filter 0 Active */ -#define CAN_FA1R_FACT1 ((uint16_t)0x0002) /*!< Filter 1 Active */ -#define CAN_FA1R_FACT2 ((uint16_t)0x0004) /*!< Filter 2 Active */ -#define CAN_FA1R_FACT3 ((uint16_t)0x0008) /*!< Filter 3 Active */ -#define CAN_FA1R_FACT4 ((uint16_t)0x0010) /*!< Filter 4 Active */ -#define CAN_FA1R_FACT5 ((uint16_t)0x0020) /*!< Filter 5 Active */ -#define CAN_FA1R_FACT6 ((uint16_t)0x0040) /*!< Filter 6 Active */ -#define CAN_FA1R_FACT7 ((uint16_t)0x0080) /*!< Filter 7 Active */ -#define CAN_FA1R_FACT8 ((uint16_t)0x0100) /*!< Filter 8 Active */ -#define CAN_FA1R_FACT9 ((uint16_t)0x0200) /*!< Filter 9 Active */ -#define CAN_FA1R_FACT10 ((uint16_t)0x0400) /*!< Filter 10 Active */ -#define CAN_FA1R_FACT11 ((uint16_t)0x0800) /*!< Filter 11 Active */ -#define CAN_FA1R_FACT12 ((uint16_t)0x1000) /*!< Filter 12 Active */ -#define CAN_FA1R_FACT13 ((uint16_t)0x2000) /*!< Filter 13 Active */ - -/******************* Bit definition for CAN_F0R1 register *******************/ -#define CAN_F0R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F0R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F0R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F0R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F0R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F0R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F0R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F0R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F0R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F0R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F0R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F0R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F0R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F0R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F0R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F0R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F0R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F0R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F0R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F0R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F0R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F0R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F0R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F0R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F0R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F0R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F0R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F0R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F0R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F0R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F0R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F0R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F1R1 register *******************/ -#define CAN_F1R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F1R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F1R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F1R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F1R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F1R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F1R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F1R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F1R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F1R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F1R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F1R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F1R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F1R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F1R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F1R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F1R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F1R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F1R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F1R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F1R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F1R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F1R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F1R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F1R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F1R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F1R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F1R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F1R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F1R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F1R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F1R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F2R1 register *******************/ -#define CAN_F2R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F2R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F2R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F2R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F2R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F2R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F2R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F2R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F2R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F2R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F2R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F2R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F2R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F2R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F2R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F2R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F2R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F2R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F2R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F2R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F2R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F2R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F2R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F2R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F2R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F2R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F2R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F2R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F2R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F2R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F2R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F2R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F3R1 register *******************/ -#define CAN_F3R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F3R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F3R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F3R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F3R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F3R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F3R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F3R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F3R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F3R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F3R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F3R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F3R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F3R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F3R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F3R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F3R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F3R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F3R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F3R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F3R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F3R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F3R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F3R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F3R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F3R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F3R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F3R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F3R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F3R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F3R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F3R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F4R1 register *******************/ -#define CAN_F4R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F4R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F4R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F4R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F4R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F4R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F4R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F4R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F4R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F4R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F4R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F4R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F4R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F4R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F4R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F4R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F4R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F4R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F4R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F4R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F4R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F4R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F4R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F4R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F4R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F4R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F4R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F4R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F4R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F4R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F4R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F4R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F5R1 register *******************/ -#define CAN_F5R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F5R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F5R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F5R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F5R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F5R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F5R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F5R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F5R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F5R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F5R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F5R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F5R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F5R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F5R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F5R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F5R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F5R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F5R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F5R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F5R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F5R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F5R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F5R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F5R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F5R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F5R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F5R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F5R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F5R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F5R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F5R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F6R1 register *******************/ -#define CAN_F6R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F6R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F6R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F6R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F6R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F6R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F6R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F6R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F6R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F6R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F6R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F6R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F6R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F6R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F6R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F6R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F6R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F6R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F6R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F6R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F6R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F6R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F6R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F6R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F6R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F6R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F6R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F6R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F6R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F6R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F6R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F6R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F7R1 register *******************/ -#define CAN_F7R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F7R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F7R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F7R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F7R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F7R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F7R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F7R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F7R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F7R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F7R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F7R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F7R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F7R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F7R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F7R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F7R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F7R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F7R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F7R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F7R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F7R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F7R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F7R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F7R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F7R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F7R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F7R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F7R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F7R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F7R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F7R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F8R1 register *******************/ -#define CAN_F8R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F8R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F8R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F8R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F8R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F8R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F8R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F8R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F8R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F8R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F8R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F8R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F8R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F8R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F8R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F8R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F8R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F8R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F8R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F8R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F8R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F8R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F8R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F8R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F8R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F8R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F8R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F8R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F8R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F8R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F8R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F8R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F9R1 register *******************/ -#define CAN_F9R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F9R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F9R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F9R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F9R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F9R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F9R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F9R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F9R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F9R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F9R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F9R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F9R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F9R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F9R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F9R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F9R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F9R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F9R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F9R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F9R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F9R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F9R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F9R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F9R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F9R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F9R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F9R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F9R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F9R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F9R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F9R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F10R1 register ******************/ -#define CAN_F10R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F10R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F10R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F10R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F10R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F10R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F10R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F10R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F10R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F10R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F10R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F10R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F10R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F10R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F10R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F10R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F10R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F10R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F10R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F10R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F10R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F10R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F10R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F10R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F10R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F10R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F10R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F10R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F10R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F10R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F10R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F10R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F11R1 register ******************/ -#define CAN_F11R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F11R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F11R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F11R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F11R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F11R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F11R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F11R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F11R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F11R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F11R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F11R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F11R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F11R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F11R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F11R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F11R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F11R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F11R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F11R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F11R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F11R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F11R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F11R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F11R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F11R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F11R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F11R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F11R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F11R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F11R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F11R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F12R1 register ******************/ -#define CAN_F12R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F12R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F12R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F12R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F12R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F12R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F12R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F12R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F12R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F12R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F12R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F12R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F12R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F12R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F12R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F12R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F12R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F12R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F12R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F12R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F12R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F12R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F12R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F12R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F12R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F12R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F12R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F12R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F12R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F12R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F12R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F12R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F13R1 register ******************/ -#define CAN_F13R1_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F13R1_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F13R1_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F13R1_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F13R1_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F13R1_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F13R1_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F13R1_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F13R1_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F13R1_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F13R1_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F13R1_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F13R1_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F13R1_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F13R1_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F13R1_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F13R1_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F13R1_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F13R1_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F13R1_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F13R1_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F13R1_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F13R1_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F13R1_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F13R1_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F13R1_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F13R1_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F13R1_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F13R1_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F13R1_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F13R1_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F13R1_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F0R2 register *******************/ -#define CAN_F0R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F0R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F0R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F0R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F0R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F0R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F0R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F0R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F0R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F0R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F0R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F0R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F0R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F0R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F0R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F0R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F0R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F0R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F0R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F0R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F0R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F0R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F0R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F0R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F0R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F0R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F0R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F0R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F0R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F0R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F0R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F0R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F1R2 register *******************/ -#define CAN_F1R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F1R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F1R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F1R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F1R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F1R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F1R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F1R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F1R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F1R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F1R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F1R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F1R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F1R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F1R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F1R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F1R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F1R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F1R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F1R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F1R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F1R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F1R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F1R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F1R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F1R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F1R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F1R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F1R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F1R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F1R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F1R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F2R2 register *******************/ -#define CAN_F2R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F2R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F2R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F2R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F2R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F2R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F2R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F2R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F2R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F2R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F2R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F2R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F2R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F2R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F2R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F2R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F2R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F2R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F2R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F2R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F2R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F2R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F2R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F2R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F2R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F2R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F2R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F2R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F2R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F2R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F2R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F2R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F3R2 register *******************/ -#define CAN_F3R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F3R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F3R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F3R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F3R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F3R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F3R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F3R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F3R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F3R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F3R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F3R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F3R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F3R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F3R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F3R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F3R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F3R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F3R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F3R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F3R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F3R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F3R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F3R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F3R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F3R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F3R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F3R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F3R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F3R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F3R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F3R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F4R2 register *******************/ -#define CAN_F4R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F4R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F4R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F4R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F4R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F4R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F4R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F4R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F4R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F4R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F4R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F4R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F4R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F4R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F4R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F4R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F4R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F4R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F4R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F4R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F4R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F4R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F4R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F4R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F4R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F4R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F4R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F4R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F4R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F4R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F4R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F4R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F5R2 register *******************/ -#define CAN_F5R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F5R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F5R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F5R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F5R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F5R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F5R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F5R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F5R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F5R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F5R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F5R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F5R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F5R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F5R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F5R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F5R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F5R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F5R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F5R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F5R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F5R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F5R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F5R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F5R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F5R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F5R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F5R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F5R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F5R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F5R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F5R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F6R2 register *******************/ -#define CAN_F6R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F6R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F6R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F6R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F6R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F6R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F6R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F6R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F6R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F6R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F6R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F6R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F6R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F6R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F6R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F6R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F6R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F6R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F6R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F6R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F6R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F6R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F6R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F6R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F6R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F6R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F6R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F6R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F6R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F6R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F6R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F6R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F7R2 register *******************/ -#define CAN_F7R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F7R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F7R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F7R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F7R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F7R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F7R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F7R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F7R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F7R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F7R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F7R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F7R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F7R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F7R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F7R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F7R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F7R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F7R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F7R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F7R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F7R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F7R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F7R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F7R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F7R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F7R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F7R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F7R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F7R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F7R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F7R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F8R2 register *******************/ -#define CAN_F8R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F8R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F8R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F8R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F8R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F8R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F8R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F8R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F8R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F8R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F8R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F8R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F8R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F8R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F8R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F8R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F8R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F8R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F8R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F8R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F8R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F8R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F8R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F8R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F8R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F8R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F8R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F8R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F8R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F8R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F8R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F8R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F9R2 register *******************/ -#define CAN_F9R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F9R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F9R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F9R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F9R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F9R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F9R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F9R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F9R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F9R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F9R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F9R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F9R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F9R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F9R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F9R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F9R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F9R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F9R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F9R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F9R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F9R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F9R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F9R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F9R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F9R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F9R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F9R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F9R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F9R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F9R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F9R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F10R2 register ******************/ -#define CAN_F10R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F10R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F10R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F10R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F10R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F10R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F10R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F10R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F10R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F10R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F10R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F10R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F10R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F10R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F10R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F10R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F10R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F10R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F10R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F10R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F10R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F10R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F10R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F10R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F10R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F10R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F10R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F10R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F10R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F10R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F10R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F10R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F11R2 register ******************/ -#define CAN_F11R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F11R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F11R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F11R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F11R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F11R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F11R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F11R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F11R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F11R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F11R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F11R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F11R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F11R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F11R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F11R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F11R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F11R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F11R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F11R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F11R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F11R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F11R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F11R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F11R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F11R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F11R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F11R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F11R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F11R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F11R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F11R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F12R2 register ******************/ -#define CAN_F12R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F12R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F12R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F12R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F12R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F12R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F12R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F12R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F12R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F12R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F12R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F12R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F12R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F12R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F12R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F12R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F12R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F12R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F12R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F12R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F12R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F12R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F12R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F12R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F12R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F12R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F12R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F12R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F12R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F12R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F12R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F12R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************* Bit definition for CAN_F13R2 register ******************/ -#define CAN_F13R2_FB0 ((uint32_t)0x00000001) /*!< Filter bit 0 */ -#define CAN_F13R2_FB1 ((uint32_t)0x00000002) /*!< Filter bit 1 */ -#define CAN_F13R2_FB2 ((uint32_t)0x00000004) /*!< Filter bit 2 */ -#define CAN_F13R2_FB3 ((uint32_t)0x00000008) /*!< Filter bit 3 */ -#define CAN_F13R2_FB4 ((uint32_t)0x00000010) /*!< Filter bit 4 */ -#define CAN_F13R2_FB5 ((uint32_t)0x00000020) /*!< Filter bit 5 */ -#define CAN_F13R2_FB6 ((uint32_t)0x00000040) /*!< Filter bit 6 */ -#define CAN_F13R2_FB7 ((uint32_t)0x00000080) /*!< Filter bit 7 */ -#define CAN_F13R2_FB8 ((uint32_t)0x00000100) /*!< Filter bit 8 */ -#define CAN_F13R2_FB9 ((uint32_t)0x00000200) /*!< Filter bit 9 */ -#define CAN_F13R2_FB10 ((uint32_t)0x00000400) /*!< Filter bit 10 */ -#define CAN_F13R2_FB11 ((uint32_t)0x00000800) /*!< Filter bit 11 */ -#define CAN_F13R2_FB12 ((uint32_t)0x00001000) /*!< Filter bit 12 */ -#define CAN_F13R2_FB13 ((uint32_t)0x00002000) /*!< Filter bit 13 */ -#define CAN_F13R2_FB14 ((uint32_t)0x00004000) /*!< Filter bit 14 */ -#define CAN_F13R2_FB15 ((uint32_t)0x00008000) /*!< Filter bit 15 */ -#define CAN_F13R2_FB16 ((uint32_t)0x00010000) /*!< Filter bit 16 */ -#define CAN_F13R2_FB17 ((uint32_t)0x00020000) /*!< Filter bit 17 */ -#define CAN_F13R2_FB18 ((uint32_t)0x00040000) /*!< Filter bit 18 */ -#define CAN_F13R2_FB19 ((uint32_t)0x00080000) /*!< Filter bit 19 */ -#define CAN_F13R2_FB20 ((uint32_t)0x00100000) /*!< Filter bit 20 */ -#define CAN_F13R2_FB21 ((uint32_t)0x00200000) /*!< Filter bit 21 */ -#define CAN_F13R2_FB22 ((uint32_t)0x00400000) /*!< Filter bit 22 */ -#define CAN_F13R2_FB23 ((uint32_t)0x00800000) /*!< Filter bit 23 */ -#define CAN_F13R2_FB24 ((uint32_t)0x01000000) /*!< Filter bit 24 */ -#define CAN_F13R2_FB25 ((uint32_t)0x02000000) /*!< Filter bit 25 */ -#define CAN_F13R2_FB26 ((uint32_t)0x04000000) /*!< Filter bit 26 */ -#define CAN_F13R2_FB27 ((uint32_t)0x08000000) /*!< Filter bit 27 */ -#define CAN_F13R2_FB28 ((uint32_t)0x10000000) /*!< Filter bit 28 */ -#define CAN_F13R2_FB29 ((uint32_t)0x20000000) /*!< Filter bit 29 */ -#define CAN_F13R2_FB30 ((uint32_t)0x40000000) /*!< Filter bit 30 */ -#define CAN_F13R2_FB31 ((uint32_t)0x80000000) /*!< Filter bit 31 */ - -/******************************************************************************/ -/* */ -/* Serial Peripheral Interface */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for SPI_CR1 register ********************/ -#define SPI_CR1_CPHA ((uint16_t)0x0001) /*!< Clock Phase */ -#define SPI_CR1_CPOL ((uint16_t)0x0002) /*!< Clock Polarity */ -#define SPI_CR1_MSTR ((uint16_t)0x0004) /*!< Master Selection */ - -#define SPI_CR1_BR ((uint16_t)0x0038) /*!< BR[2:0] bits (Baud Rate Control) */ -#define SPI_CR1_BR_0 ((uint16_t)0x0008) /*!< Bit 0 */ -#define SPI_CR1_BR_1 ((uint16_t)0x0010) /*!< Bit 1 */ -#define SPI_CR1_BR_2 ((uint16_t)0x0020) /*!< Bit 2 */ - -#define SPI_CR1_SPE ((uint16_t)0x0040) /*!< SPI Enable */ -#define SPI_CR1_LSBFIRST ((uint16_t)0x0080) /*!< Frame Format */ -#define SPI_CR1_SSI ((uint16_t)0x0100) /*!< Internal slave select */ -#define SPI_CR1_SSM ((uint16_t)0x0200) /*!< Software slave management */ -#define SPI_CR1_RXONLY ((uint16_t)0x0400) /*!< Receive only */ -#define SPI_CR1_DFF ((uint16_t)0x0800) /*!< Data Frame Format */ -#define SPI_CR1_CRCNEXT ((uint16_t)0x1000) /*!< Transmit CRC next */ -#define SPI_CR1_CRCEN ((uint16_t)0x2000) /*!< Hardware CRC calculation enable */ -#define SPI_CR1_BIDIOE ((uint16_t)0x4000) /*!< Output enable in bidirectional mode */ -#define SPI_CR1_BIDIMODE ((uint16_t)0x8000) /*!< Bidirectional data mode enable */ - -/******************* Bit definition for SPI_CR2 register ********************/ -#define SPI_CR2_RXDMAEN ((uint8_t)0x01) /*!< Rx Buffer DMA Enable */ -#define SPI_CR2_TXDMAEN ((uint8_t)0x02) /*!< Tx Buffer DMA Enable */ -#define SPI_CR2_SSOE ((uint8_t)0x04) /*!< SS Output Enable */ -#define SPI_CR2_ERRIE ((uint8_t)0x20) /*!< Error Interrupt Enable */ -#define SPI_CR2_RXNEIE ((uint8_t)0x40) /*!< RX buffer Not Empty Interrupt Enable */ -#define SPI_CR2_TXEIE ((uint8_t)0x80) /*!< Tx buffer Empty Interrupt Enable */ - -/******************** Bit definition for SPI_SR register ********************/ -#define SPI_SR_RXNE ((uint8_t)0x01) /*!< Receive buffer Not Empty */ -#define SPI_SR_TXE ((uint8_t)0x02) /*!< Transmit buffer Empty */ -#define SPI_SR_CHSIDE ((uint8_t)0x04) /*!< Channel side */ -#define SPI_SR_UDR ((uint8_t)0x08) /*!< Underrun flag */ -#define SPI_SR_CRCERR ((uint8_t)0x10) /*!< CRC Error flag */ -#define SPI_SR_MODF ((uint8_t)0x20) /*!< Mode fault */ -#define SPI_SR_OVR ((uint8_t)0x40) /*!< Overrun flag */ -#define SPI_SR_BSY ((uint8_t)0x80) /*!< Busy flag */ - -/******************** Bit definition for SPI_DR register ********************/ -#define SPI_DR_DR ((uint16_t)0xFFFF) /*!< Data Register */ - -/******************* Bit definition for SPI_CRCPR register ******************/ -#define SPI_CRCPR_CRCPOLY ((uint16_t)0xFFFF) /*!< CRC polynomial register */ - -/****************** Bit definition for SPI_RXCRCR register ******************/ -#define SPI_RXCRCR_RXCRC ((uint16_t)0xFFFF) /*!< Rx CRC Register */ - -/****************** Bit definition for SPI_TXCRCR register ******************/ -#define SPI_TXCRCR_TXCRC ((uint16_t)0xFFFF) /*!< Tx CRC Register */ - -/****************** Bit definition for SPI_I2SCFGR register *****************/ -#define SPI_I2SCFGR_CHLEN ((uint16_t)0x0001) /*!< Channel length (number of bits per audio channel) */ - -#define SPI_I2SCFGR_DATLEN ((uint16_t)0x0006) /*!< DATLEN[1:0] bits (Data length to be transferred) */ -#define SPI_I2SCFGR_DATLEN_0 ((uint16_t)0x0002) /*!< Bit 0 */ -#define SPI_I2SCFGR_DATLEN_1 ((uint16_t)0x0004) /*!< Bit 1 */ - -#define SPI_I2SCFGR_CKPOL ((uint16_t)0x0008) /*!< steady state clock polarity */ - -#define SPI_I2SCFGR_I2SSTD ((uint16_t)0x0030) /*!< I2SSTD[1:0] bits (I2S standard selection) */ -#define SPI_I2SCFGR_I2SSTD_0 ((uint16_t)0x0010) /*!< Bit 0 */ -#define SPI_I2SCFGR_I2SSTD_1 ((uint16_t)0x0020) /*!< Bit 1 */ - -#define SPI_I2SCFGR_PCMSYNC ((uint16_t)0x0080) /*!< PCM frame synchronization */ - -#define SPI_I2SCFGR_I2SCFG ((uint16_t)0x0300) /*!< I2SCFG[1:0] bits (I2S configuration mode) */ -#define SPI_I2SCFGR_I2SCFG_0 ((uint16_t)0x0100) /*!< Bit 0 */ -#define SPI_I2SCFGR_I2SCFG_1 ((uint16_t)0x0200) /*!< Bit 1 */ - -#define SPI_I2SCFGR_I2SE ((uint16_t)0x0400) /*!< I2S Enable */ -#define SPI_I2SCFGR_I2SMOD ((uint16_t)0x0800) /*!< I2S mode selection */ - -/****************** Bit definition for SPI_I2SPR register *******************/ -#define SPI_I2SPR_I2SDIV ((uint16_t)0x00FF) /*!< I2S Linear prescaler */ -#define SPI_I2SPR_ODD ((uint16_t)0x0100) /*!< Odd factor for the prescaler */ -#define SPI_I2SPR_MCKOE ((uint16_t)0x0200) /*!< Master Clock Output Enable */ - -/******************************************************************************/ -/* */ -/* Inter-integrated Circuit Interface */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for I2C_CR1 register ********************/ -#define I2C_CR1_PE ((uint16_t)0x0001) /*!< Peripheral Enable */ -#define I2C_CR1_SMBUS ((uint16_t)0x0002) /*!< SMBus Mode */ -#define I2C_CR1_SMBTYPE ((uint16_t)0x0008) /*!< SMBus Type */ -#define I2C_CR1_ENARP ((uint16_t)0x0010) /*!< ARP Enable */ -#define I2C_CR1_ENPEC ((uint16_t)0x0020) /*!< PEC Enable */ -#define I2C_CR1_ENGC ((uint16_t)0x0040) /*!< General Call Enable */ -#define I2C_CR1_NOSTRETCH ((uint16_t)0x0080) /*!< Clock Stretching Disable (Slave mode) */ -#define I2C_CR1_START ((uint16_t)0x0100) /*!< Start Generation */ -#define I2C_CR1_STOP ((uint16_t)0x0200) /*!< Stop Generation */ -#define I2C_CR1_ACK ((uint16_t)0x0400) /*!< Acknowledge Enable */ -#define I2C_CR1_POS ((uint16_t)0x0800) /*!< Acknowledge/PEC Position (for data reception) */ -#define I2C_CR1_PEC ((uint16_t)0x1000) /*!< Packet Error Checking */ -#define I2C_CR1_ALERT ((uint16_t)0x2000) /*!< SMBus Alert */ -#define I2C_CR1_SWRST ((uint16_t)0x8000) /*!< Software Reset */ - -/******************* Bit definition for I2C_CR2 register ********************/ -#define I2C_CR2_FREQ ((uint16_t)0x003F) /*!< FREQ[5:0] bits (Peripheral Clock Frequency) */ -#define I2C_CR2_FREQ_0 ((uint16_t)0x0001) /*!< Bit 0 */ -#define I2C_CR2_FREQ_1 ((uint16_t)0x0002) /*!< Bit 1 */ -#define I2C_CR2_FREQ_2 ((uint16_t)0x0004) /*!< Bit 2 */ -#define I2C_CR2_FREQ_3 ((uint16_t)0x0008) /*!< Bit 3 */ -#define I2C_CR2_FREQ_4 ((uint16_t)0x0010) /*!< Bit 4 */ -#define I2C_CR2_FREQ_5 ((uint16_t)0x0020) /*!< Bit 5 */ - -#define I2C_CR2_ITERREN ((uint16_t)0x0100) /*!< Error Interrupt Enable */ -#define I2C_CR2_ITEVTEN ((uint16_t)0x0200) /*!< Event Interrupt Enable */ -#define I2C_CR2_ITBUFEN ((uint16_t)0x0400) /*!< Buffer Interrupt Enable */ -#define I2C_CR2_DMAEN ((uint16_t)0x0800) /*!< DMA Requests Enable */ -#define I2C_CR2_LAST ((uint16_t)0x1000) /*!< DMA Last Transfer */ - -/******************* Bit definition for I2C_OAR1 register *******************/ -#define I2C_OAR1_ADD1_7 ((uint16_t)0x00FE) /*!< Interface Address */ -#define I2C_OAR1_ADD8_9 ((uint16_t)0x0300) /*!< Interface Address */ - -#define I2C_OAR1_ADD0 ((uint16_t)0x0001) /*!< Bit 0 */ -#define I2C_OAR1_ADD1 ((uint16_t)0x0002) /*!< Bit 1 */ -#define I2C_OAR1_ADD2 ((uint16_t)0x0004) /*!< Bit 2 */ -#define I2C_OAR1_ADD3 ((uint16_t)0x0008) /*!< Bit 3 */ -#define I2C_OAR1_ADD4 ((uint16_t)0x0010) /*!< Bit 4 */ -#define I2C_OAR1_ADD5 ((uint16_t)0x0020) /*!< Bit 5 */ -#define I2C_OAR1_ADD6 ((uint16_t)0x0040) /*!< Bit 6 */ -#define I2C_OAR1_ADD7 ((uint16_t)0x0080) /*!< Bit 7 */ -#define I2C_OAR1_ADD8 ((uint16_t)0x0100) /*!< Bit 8 */ -#define I2C_OAR1_ADD9 ((uint16_t)0x0200) /*!< Bit 9 */ - -#define I2C_OAR1_ADDMODE ((uint16_t)0x8000) /*!< Addressing Mode (Slave mode) */ - -/******************* Bit definition for I2C_OAR2 register *******************/ -#define I2C_OAR2_ENDUAL ((uint8_t)0x01) /*!< Dual addressing mode enable */ -#define I2C_OAR2_ADD2 ((uint8_t)0xFE) /*!< Interface address */ - -/******************** Bit definition for I2C_DR register ********************/ -#define I2C_DR_DR ((uint8_t)0xFF) /*!< 8-bit Data Register */ - -/******************* Bit definition for I2C_SR1 register ********************/ -#define I2C_SR1_SB ((uint16_t)0x0001) /*!< Start Bit (Master mode) */ -#define I2C_SR1_ADDR ((uint16_t)0x0002) /*!< Address sent (master mode)/matched (slave mode) */ -#define I2C_SR1_BTF ((uint16_t)0x0004) /*!< Byte Transfer Finished */ -#define I2C_SR1_ADD10 ((uint16_t)0x0008) /*!< 10-bit header sent (Master mode) */ -#define I2C_SR1_STOPF ((uint16_t)0x0010) /*!< Stop detection (Slave mode) */ -#define I2C_SR1_RXNE ((uint16_t)0x0040) /*!< Data Register not Empty (receivers) */ -#define I2C_SR1_TXE ((uint16_t)0x0080) /*!< Data Register Empty (transmitters) */ -#define I2C_SR1_BERR ((uint16_t)0x0100) /*!< Bus Error */ -#define I2C_SR1_ARLO ((uint16_t)0x0200) /*!< Arbitration Lost (master mode) */ -#define I2C_SR1_AF ((uint16_t)0x0400) /*!< Acknowledge Failure */ -#define I2C_SR1_OVR ((uint16_t)0x0800) /*!< Overrun/Underrun */ -#define I2C_SR1_PECERR ((uint16_t)0x1000) /*!< PEC Error in reception */ -#define I2C_SR1_TIMEOUT ((uint16_t)0x4000) /*!< Timeout or Tlow Error */ -#define I2C_SR1_SMBALERT ((uint16_t)0x8000) /*!< SMBus Alert */ - -/******************* Bit definition for I2C_SR2 register ********************/ -#define I2C_SR2_MSL ((uint16_t)0x0001) /*!< Master/Slave */ -#define I2C_SR2_BUSY ((uint16_t)0x0002) /*!< Bus Busy */ -#define I2C_SR2_TRA ((uint16_t)0x0004) /*!< Transmitter/Receiver */ -#define I2C_SR2_GENCALL ((uint16_t)0x0010) /*!< General Call Address (Slave mode) */ -#define I2C_SR2_SMBDEFAULT ((uint16_t)0x0020) /*!< SMBus Device Default Address (Slave mode) */ -#define I2C_SR2_SMBHOST ((uint16_t)0x0040) /*!< SMBus Host Header (Slave mode) */ -#define I2C_SR2_DUALF ((uint16_t)0x0080) /*!< Dual Flag (Slave mode) */ -#define I2C_SR2_PEC ((uint16_t)0xFF00) /*!< Packet Error Checking Register */ - -/******************* Bit definition for I2C_CCR register ********************/ -#define I2C_CCR_CCR ((uint16_t)0x0FFF) /*!< Clock Control Register in Fast/Standard mode (Master mode) */ -#define I2C_CCR_DUTY ((uint16_t)0x4000) /*!< Fast Mode Duty Cycle */ -#define I2C_CCR_FS ((uint16_t)0x8000) /*!< I2C Master Mode Selection */ - -/****************** Bit definition for I2C_TRISE register *******************/ -#define I2C_TRISE_TRISE ((uint8_t)0x3F) /*!< Maximum Rise Time in Fast/Standard mode (Master mode) */ - -/******************************************************************************/ -/* */ -/* Universal Synchronous Asynchronous Receiver Transmitter */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for USART_SR register *******************/ -#define USART_SR_PE ((uint16_t)0x0001) /*!< Parity Error */ -#define USART_SR_FE ((uint16_t)0x0002) /*!< Framing Error */ -#define USART_SR_NE ((uint16_t)0x0004) /*!< Noise Error Flag */ -#define USART_SR_ORE ((uint16_t)0x0008) /*!< OverRun Error */ -#define USART_SR_IDLE ((uint16_t)0x0010) /*!< IDLE line detected */ -#define USART_SR_RXNE ((uint16_t)0x0020) /*!< Read Data Register Not Empty */ -#define USART_SR_TC ((uint16_t)0x0040) /*!< Transmission Complete */ -#define USART_SR_TXE ((uint16_t)0x0080) /*!< Transmit Data Register Empty */ -#define USART_SR_LBD ((uint16_t)0x0100) /*!< LIN Break Detection Flag */ -#define USART_SR_CTS ((uint16_t)0x0200) /*!< CTS Flag */ - -/******************* Bit definition for USART_DR register *******************/ -#define USART_DR_DR ((uint16_t)0x01FF) /*!< Data value */ - -/****************** Bit definition for USART_BRR register *******************/ -#define USART_BRR_DIV_Fraction ((uint16_t)0x000F) /*!< Fraction of USARTDIV */ -#define USART_BRR_DIV_Mantissa ((uint16_t)0xFFF0) /*!< Mantissa of USARTDIV */ - -/****************** Bit definition for USART_CR1 register *******************/ -#define USART_CR1_SBK ((uint16_t)0x0001) /*!< Send Break */ -#define USART_CR1_RWU ((uint16_t)0x0002) /*!< Receiver wakeup */ -#define USART_CR1_RE ((uint16_t)0x0004) /*!< Receiver Enable */ -#define USART_CR1_TE ((uint16_t)0x0008) /*!< Transmitter Enable */ -#define USART_CR1_IDLEIE ((uint16_t)0x0010) /*!< IDLE Interrupt Enable */ -#define USART_CR1_RXNEIE ((uint16_t)0x0020) /*!< RXNE Interrupt Enable */ -#define USART_CR1_TCIE ((uint16_t)0x0040) /*!< Transmission Complete Interrupt Enable */ -#define USART_CR1_TXEIE ((uint16_t)0x0080) /*!< PE Interrupt Enable */ -#define USART_CR1_PEIE ((uint16_t)0x0100) /*!< PE Interrupt Enable */ -#define USART_CR1_PS ((uint16_t)0x0200) /*!< Parity Selection */ -#define USART_CR1_PCE ((uint16_t)0x0400) /*!< Parity Control Enable */ -#define USART_CR1_WAKE ((uint16_t)0x0800) /*!< Wakeup method */ -#define USART_CR1_M ((uint16_t)0x1000) /*!< Word length */ -#define USART_CR1_UE ((uint16_t)0x2000) /*!< USART Enable */ -#define USART_CR1_OVER8 ((uint16_t)0x8000) /*!< USART Oversmapling 8-bits */ - -/****************** Bit definition for USART_CR2 register *******************/ -#define USART_CR2_ADD ((uint16_t)0x000F) /*!< Address of the USART node */ -#define USART_CR2_LBDL ((uint16_t)0x0020) /*!< LIN Break Detection Length */ -#define USART_CR2_LBDIE ((uint16_t)0x0040) /*!< LIN Break Detection Interrupt Enable */ -#define USART_CR2_LBCL ((uint16_t)0x0100) /*!< Last Bit Clock pulse */ -#define USART_CR2_CPHA ((uint16_t)0x0200) /*!< Clock Phase */ -#define USART_CR2_CPOL ((uint16_t)0x0400) /*!< Clock Polarity */ -#define USART_CR2_CLKEN ((uint16_t)0x0800) /*!< Clock Enable */ - -#define USART_CR2_STOP ((uint16_t)0x3000) /*!< STOP[1:0] bits (STOP bits) */ -#define USART_CR2_STOP_0 ((uint16_t)0x1000) /*!< Bit 0 */ -#define USART_CR2_STOP_1 ((uint16_t)0x2000) /*!< Bit 1 */ - -#define USART_CR2_LINEN ((uint16_t)0x4000) /*!< LIN mode enable */ - -/****************** Bit definition for USART_CR3 register *******************/ -#define USART_CR3_EIE ((uint16_t)0x0001) /*!< Error Interrupt Enable */ -#define USART_CR3_IREN ((uint16_t)0x0002) /*!< IrDA mode Enable */ -#define USART_CR3_IRLP ((uint16_t)0x0004) /*!< IrDA Low-Power */ -#define USART_CR3_HDSEL ((uint16_t)0x0008) /*!< Half-Duplex Selection */ -#define USART_CR3_NACK ((uint16_t)0x0010) /*!< Smartcard NACK enable */ -#define USART_CR3_SCEN ((uint16_t)0x0020) /*!< Smartcard mode enable */ -#define USART_CR3_DMAR ((uint16_t)0x0040) /*!< DMA Enable Receiver */ -#define USART_CR3_DMAT ((uint16_t)0x0080) /*!< DMA Enable Transmitter */ -#define USART_CR3_RTSE ((uint16_t)0x0100) /*!< RTS Enable */ -#define USART_CR3_CTSE ((uint16_t)0x0200) /*!< CTS Enable */ -#define USART_CR3_CTSIE ((uint16_t)0x0400) /*!< CTS Interrupt Enable */ -#define USART_CR3_ONEBIT ((uint16_t)0x0800) /*!< One Bit method */ - -/****************** Bit definition for USART_GTPR register ******************/ -#define USART_GTPR_PSC ((uint16_t)0x00FF) /*!< PSC[7:0] bits (Prescaler value) */ -#define USART_GTPR_PSC_0 ((uint16_t)0x0001) /*!< Bit 0 */ -#define USART_GTPR_PSC_1 ((uint16_t)0x0002) /*!< Bit 1 */ -#define USART_GTPR_PSC_2 ((uint16_t)0x0004) /*!< Bit 2 */ -#define USART_GTPR_PSC_3 ((uint16_t)0x0008) /*!< Bit 3 */ -#define USART_GTPR_PSC_4 ((uint16_t)0x0010) /*!< Bit 4 */ -#define USART_GTPR_PSC_5 ((uint16_t)0x0020) /*!< Bit 5 */ -#define USART_GTPR_PSC_6 ((uint16_t)0x0040) /*!< Bit 6 */ -#define USART_GTPR_PSC_7 ((uint16_t)0x0080) /*!< Bit 7 */ - -#define USART_GTPR_GT ((uint16_t)0xFF00) /*!< Guard time value */ - -/******************************************************************************/ -/* */ -/* Debug MCU */ -/* */ -/******************************************************************************/ - -/**************** Bit definition for DBGMCU_IDCODE register *****************/ -#define DBGMCU_IDCODE_DEV_ID ((uint32_t)0x00000FFF) /*!< Device Identifier */ - -#define DBGMCU_IDCODE_REV_ID ((uint32_t)0xFFFF0000) /*!< REV_ID[15:0] bits (Revision Identifier) */ -#define DBGMCU_IDCODE_REV_ID_0 ((uint32_t)0x00010000) /*!< Bit 0 */ -#define DBGMCU_IDCODE_REV_ID_1 ((uint32_t)0x00020000) /*!< Bit 1 */ -#define DBGMCU_IDCODE_REV_ID_2 ((uint32_t)0x00040000) /*!< Bit 2 */ -#define DBGMCU_IDCODE_REV_ID_3 ((uint32_t)0x00080000) /*!< Bit 3 */ -#define DBGMCU_IDCODE_REV_ID_4 ((uint32_t)0x00100000) /*!< Bit 4 */ -#define DBGMCU_IDCODE_REV_ID_5 ((uint32_t)0x00200000) /*!< Bit 5 */ -#define DBGMCU_IDCODE_REV_ID_6 ((uint32_t)0x00400000) /*!< Bit 6 */ -#define DBGMCU_IDCODE_REV_ID_7 ((uint32_t)0x00800000) /*!< Bit 7 */ -#define DBGMCU_IDCODE_REV_ID_8 ((uint32_t)0x01000000) /*!< Bit 8 */ -#define DBGMCU_IDCODE_REV_ID_9 ((uint32_t)0x02000000) /*!< Bit 9 */ -#define DBGMCU_IDCODE_REV_ID_10 ((uint32_t)0x04000000) /*!< Bit 10 */ -#define DBGMCU_IDCODE_REV_ID_11 ((uint32_t)0x08000000) /*!< Bit 11 */ -#define DBGMCU_IDCODE_REV_ID_12 ((uint32_t)0x10000000) /*!< Bit 12 */ -#define DBGMCU_IDCODE_REV_ID_13 ((uint32_t)0x20000000) /*!< Bit 13 */ -#define DBGMCU_IDCODE_REV_ID_14 ((uint32_t)0x40000000) /*!< Bit 14 */ -#define DBGMCU_IDCODE_REV_ID_15 ((uint32_t)0x80000000) /*!< Bit 15 */ - -/****************** Bit definition for DBGMCU_CR register *******************/ -#define DBGMCU_CR_DBG_SLEEP ((uint32_t)0x00000001) /*!< Debug Sleep Mode */ -#define DBGMCU_CR_DBG_STOP ((uint32_t)0x00000002) /*!< Debug Stop Mode */ -#define DBGMCU_CR_DBG_STANDBY ((uint32_t)0x00000004) /*!< Debug Standby mode */ -#define DBGMCU_CR_TRACE_IOEN ((uint32_t)0x00000020) /*!< Trace Pin Assignment Control */ - -#define DBGMCU_CR_TRACE_MODE ((uint32_t)0x000000C0) /*!< TRACE_MODE[1:0] bits (Trace Pin Assignment Control) */ -#define DBGMCU_CR_TRACE_MODE_0 ((uint32_t)0x00000040) /*!< Bit 0 */ -#define DBGMCU_CR_TRACE_MODE_1 ((uint32_t)0x00000080) /*!< Bit 1 */ - -#define DBGMCU_CR_DBG_IWDG_STOP ((uint32_t)0x00000100) /*!< Debug Independent Watchdog stopped when Core is halted */ -#define DBGMCU_CR_DBG_WWDG_STOP ((uint32_t)0x00000200) /*!< Debug Window Watchdog stopped when Core is halted */ -#define DBGMCU_CR_DBG_TIM1_STOP ((uint32_t)0x00000400) /*!< TIM1 counter stopped when core is halted */ -#define DBGMCU_CR_DBG_TIM2_STOP ((uint32_t)0x00000800) /*!< TIM2 counter stopped when core is halted */ -#define DBGMCU_CR_DBG_TIM3_STOP ((uint32_t)0x00001000) /*!< TIM3 counter stopped when core is halted */ -#define DBGMCU_CR_DBG_TIM4_STOP ((uint32_t)0x00002000) /*!< TIM4 counter stopped when core is halted */ -#define DBGMCU_CR_DBG_CAN1_STOP ((uint32_t)0x00004000) /*!< Debug CAN1 stopped when Core is halted */ -#define DBGMCU_CR_DBG_I2C1_SMBUS_TIMEOUT ((uint32_t)0x00008000) /*!< SMBUS timeout mode stopped when Core is halted */ -#define DBGMCU_CR_DBG_I2C2_SMBUS_TIMEOUT ((uint32_t)0x00010000) /*!< SMBUS timeout mode stopped when Core is halted */ -#define DBGMCU_CR_DBG_TIM8_STOP ((uint32_t)0x00020000) /*!< TIM8 counter stopped when core is halted */ -#define DBGMCU_CR_DBG_TIM5_STOP ((uint32_t)0x00040000) /*!< TIM5 counter stopped when core is halted */ -#define DBGMCU_CR_DBG_TIM6_STOP ((uint32_t)0x00080000) /*!< TIM6 counter stopped when core is halted */ -#define DBGMCU_CR_DBG_TIM7_STOP ((uint32_t)0x00100000) /*!< TIM7 counter stopped when core is halted */ -#define DBGMCU_CR_DBG_CAN2_STOP ((uint32_t)0x00200000) /*!< Debug CAN2 stopped when Core is halted */ -#define DBGMCU_CR_DBG_TIM15_STOP ((uint32_t)0x00400000) /*!< Debug TIM15 stopped when Core is halted */ -#define DBGMCU_CR_DBG_TIM16_STOP ((uint32_t)0x00800000) /*!< Debug TIM16 stopped when Core is halted */ -#define DBGMCU_CR_DBG_TIM17_STOP ((uint32_t)0x01000000) /*!< Debug TIM17 stopped when Core is halted */ -#define DBGMCU_CR_DBG_TIM12_STOP ((uint32_t)0x02000000) /*!< Debug TIM12 stopped when Core is halted */ -#define DBGMCU_CR_DBG_TIM13_STOP ((uint32_t)0x04000000) /*!< Debug TIM13 stopped when Core is halted */ -#define DBGMCU_CR_DBG_TIM14_STOP ((uint32_t)0x08000000) /*!< Debug TIM14 stopped when Core is halted */ -#define DBGMCU_CR_DBG_TIM9_STOP ((uint32_t)0x10000000) /*!< Debug TIM9 stopped when Core is halted */ -#define DBGMCU_CR_DBG_TIM10_STOP ((uint32_t)0x20000000) /*!< Debug TIM10 stopped when Core is halted */ -#define DBGMCU_CR_DBG_TIM11_STOP ((uint32_t)0x40000000) /*!< Debug TIM11 stopped when Core is halted */ - -/******************************************************************************/ -/* */ -/* FLASH and Option Bytes Registers */ -/* */ -/******************************************************************************/ - -/******************* Bit definition for FLASH_ACR register ******************/ -#define FLASH_ACR_LATENCY ((uint8_t)0x03) /*!< LATENCY[2:0] bits (Latency) */ -#define FLASH_ACR_LATENCY_0 ((uint8_t)0x00) /*!< Bit 0 */ -#define FLASH_ACR_LATENCY_1 ((uint8_t)0x01) /*!< Bit 0 */ -#define FLASH_ACR_LATENCY_2 ((uint8_t)0x02) /*!< Bit 1 */ - -#define FLASH_ACR_HLFCYA ((uint8_t)0x08) /*!< Flash Half Cycle Access Enable */ -#define FLASH_ACR_PRFTBE ((uint8_t)0x10) /*!< Prefetch Buffer Enable */ -#define FLASH_ACR_PRFTBS ((uint8_t)0x20) /*!< Prefetch Buffer Status */ - -/****************** Bit definition for FLASH_KEYR register ******************/ -#define FLASH_KEYR_FKEYR ((uint32_t)0xFFFFFFFF) /*!< FPEC Key */ - -/***************** Bit definition for FLASH_OPTKEYR register ****************/ -#define FLASH_OPTKEYR_OPTKEYR ((uint32_t)0xFFFFFFFF) /*!< Option Byte Key */ - -/****************** Bit definition for FLASH_SR register *******************/ -#define FLASH_SR_BSY ((uint8_t)0x01) /*!< Busy */ -#define FLASH_SR_PGERR ((uint8_t)0x04) /*!< Programming Error */ -#define FLASH_SR_WRPRTERR ((uint8_t)0x10) /*!< Write Protection Error */ -#define FLASH_SR_EOP ((uint8_t)0x20) /*!< End of operation */ - -/******************* Bit definition for FLASH_CR register *******************/ -#define FLASH_CR_PG ((uint16_t)0x0001) /*!< Programming */ -#define FLASH_CR_PER ((uint16_t)0x0002) /*!< Page Erase */ -#define FLASH_CR_MER ((uint16_t)0x0004) /*!< Mass Erase */ -#define FLASH_CR_OPTPG ((uint16_t)0x0010) /*!< Option Byte Programming */ -#define FLASH_CR_OPTER ((uint16_t)0x0020) /*!< Option Byte Erase */ -#define FLASH_CR_STRT ((uint16_t)0x0040) /*!< Start */ -#define FLASH_CR_LOCK ((uint16_t)0x0080) /*!< Lock */ -#define FLASH_CR_OPTWRE ((uint16_t)0x0200) /*!< Option Bytes Write Enable */ -#define FLASH_CR_ERRIE ((uint16_t)0x0400) /*!< Error Interrupt Enable */ -#define FLASH_CR_EOPIE ((uint16_t)0x1000) /*!< End of operation interrupt enable */ - -/******************* Bit definition for FLASH_AR register *******************/ -#define FLASH_AR_FAR ((uint32_t)0xFFFFFFFF) /*!< Flash Address */ - -/****************** Bit definition for FLASH_OBR register *******************/ -#define FLASH_OBR_OPTERR ((uint16_t)0x0001) /*!< Option Byte Error */ -#define FLASH_OBR_RDPRT ((uint16_t)0x0002) /*!< Read protection */ - -#define FLASH_OBR_USER ((uint16_t)0x03FC) /*!< User Option Bytes */ -#define FLASH_OBR_WDG_SW ((uint16_t)0x0004) /*!< WDG_SW */ -#define FLASH_OBR_nRST_STOP ((uint16_t)0x0008) /*!< nRST_STOP */ -#define FLASH_OBR_nRST_STDBY ((uint16_t)0x0010) /*!< nRST_STDBY */ -#define FLASH_OBR_BFB2 ((uint16_t)0x0020) /*!< BFB2 */ - -/****************** Bit definition for FLASH_WRPR register ******************/ -#define FLASH_WRPR_WRP ((uint32_t)0xFFFFFFFF) /*!< Write Protect */ - -/*----------------------------------------------------------------------------*/ - -/****************** Bit definition for FLASH_RDP register *******************/ -#define FLASH_RDP_RDP ((uint32_t)0x000000FF) /*!< Read protection option byte */ -#define FLASH_RDP_nRDP ((uint32_t)0x0000FF00) /*!< Read protection complemented option byte */ - -/****************** Bit definition for FLASH_USER register ******************/ -#define FLASH_USER_USER ((uint32_t)0x00FF0000) /*!< User option byte */ -#define FLASH_USER_nUSER ((uint32_t)0xFF000000) /*!< User complemented option byte */ - -/****************** Bit definition for FLASH_Data0 register *****************/ -#define FLASH_Data0_Data0 ((uint32_t)0x000000FF) /*!< User data storage option byte */ -#define FLASH_Data0_nData0 ((uint32_t)0x0000FF00) /*!< User data storage complemented option byte */ - -/****************** Bit definition for FLASH_Data1 register *****************/ -#define FLASH_Data1_Data1 ((uint32_t)0x00FF0000) /*!< User data storage option byte */ -#define FLASH_Data1_nData1 ((uint32_t)0xFF000000) /*!< User data storage complemented option byte */ - -/****************** Bit definition for FLASH_WRP0 register ******************/ -#define FLASH_WRP0_WRP0 ((uint32_t)0x000000FF) /*!< Flash memory write protection option bytes */ -#define FLASH_WRP0_nWRP0 ((uint32_t)0x0000FF00) /*!< Flash memory write protection complemented option bytes */ - -/****************** Bit definition for FLASH_WRP1 register ******************/ -#define FLASH_WRP1_WRP1 ((uint32_t)0x00FF0000) /*!< Flash memory write protection option bytes */ -#define FLASH_WRP1_nWRP1 ((uint32_t)0xFF000000) /*!< Flash memory write protection complemented option bytes */ - -/****************** Bit definition for FLASH_WRP2 register ******************/ -#define FLASH_WRP2_WRP2 ((uint32_t)0x000000FF) /*!< Flash memory write protection option bytes */ -#define FLASH_WRP2_nWRP2 ((uint32_t)0x0000FF00) /*!< Flash memory write protection complemented option bytes */ - -/****************** Bit definition for FLASH_WRP3 register ******************/ -#define FLASH_WRP3_WRP3 ((uint32_t)0x00FF0000) /*!< Flash memory write protection option bytes */ -#define FLASH_WRP3_nWRP3 ((uint32_t)0xFF000000) /*!< Flash memory write protection complemented option bytes */ - -#ifdef STM32F10X_CL -/******************************************************************************/ -/* Ethernet MAC Registers bits definitions */ -/******************************************************************************/ -/* Bit definition for Ethernet MAC Control Register register */ -#define ETH_MACCR_WD ((uint32_t)0x00800000) /* Watchdog disable */ -#define ETH_MACCR_JD ((uint32_t)0x00400000) /* Jabber disable */ -#define ETH_MACCR_IFG ((uint32_t)0x000E0000) /* Inter-frame gap */ - #define ETH_MACCR_IFG_96Bit ((uint32_t)0x00000000) /* Minimum IFG between frames during transmission is 96Bit */ - #define ETH_MACCR_IFG_88Bit ((uint32_t)0x00020000) /* Minimum IFG between frames during transmission is 88Bit */ - #define ETH_MACCR_IFG_80Bit ((uint32_t)0x00040000) /* Minimum IFG between frames during transmission is 80Bit */ - #define ETH_MACCR_IFG_72Bit ((uint32_t)0x00060000) /* Minimum IFG between frames during transmission is 72Bit */ - #define ETH_MACCR_IFG_64Bit ((uint32_t)0x00080000) /* Minimum IFG between frames during transmission is 64Bit */ - #define ETH_MACCR_IFG_56Bit ((uint32_t)0x000A0000) /* Minimum IFG between frames during transmission is 56Bit */ - #define ETH_MACCR_IFG_48Bit ((uint32_t)0x000C0000) /* Minimum IFG between frames during transmission is 48Bit */ - #define ETH_MACCR_IFG_40Bit ((uint32_t)0x000E0000) /* Minimum IFG between frames during transmission is 40Bit */ -#define ETH_MACCR_CSD ((uint32_t)0x00010000) /* Carrier sense disable (during transmission) */ -#define ETH_MACCR_FES ((uint32_t)0x00004000) /* Fast ethernet speed */ -#define ETH_MACCR_ROD ((uint32_t)0x00002000) /* Receive own disable */ -#define ETH_MACCR_LM ((uint32_t)0x00001000) /* loopback mode */ -#define ETH_MACCR_DM ((uint32_t)0x00000800) /* Duplex mode */ -#define ETH_MACCR_IPCO ((uint32_t)0x00000400) /* IP Checksum offload */ -#define ETH_MACCR_RD ((uint32_t)0x00000200) /* Retry disable */ -#define ETH_MACCR_APCS ((uint32_t)0x00000080) /* Automatic Pad/CRC stripping */ -#define ETH_MACCR_BL ((uint32_t)0x00000060) /* Back-off limit: random integer number (r) of slot time delays before rescheduling - a transmission attempt during retries after a collision: 0 =< r <2^k */ - #define ETH_MACCR_BL_10 ((uint32_t)0x00000000) /* k = min (n, 10) */ - #define ETH_MACCR_BL_8 ((uint32_t)0x00000020) /* k = min (n, 8) */ - #define ETH_MACCR_BL_4 ((uint32_t)0x00000040) /* k = min (n, 4) */ - #define ETH_MACCR_BL_1 ((uint32_t)0x00000060) /* k = min (n, 1) */ -#define ETH_MACCR_DC ((uint32_t)0x00000010) /* Defferal check */ -#define ETH_MACCR_TE ((uint32_t)0x00000008) /* Transmitter enable */ -#define ETH_MACCR_RE ((uint32_t)0x00000004) /* Receiver enable */ - -/* Bit definition for Ethernet MAC Frame Filter Register */ -#define ETH_MACFFR_RA ((uint32_t)0x80000000) /* Receive all */ -#define ETH_MACFFR_HPF ((uint32_t)0x00000400) /* Hash or perfect filter */ -#define ETH_MACFFR_SAF ((uint32_t)0x00000200) /* Source address filter enable */ -#define ETH_MACFFR_SAIF ((uint32_t)0x00000100) /* SA inverse filtering */ -#define ETH_MACFFR_PCF ((uint32_t)0x000000C0) /* Pass control frames: 3 cases */ - #define ETH_MACFFR_PCF_BlockAll ((uint32_t)0x00000040) /* MAC filters all control frames from reaching the application */ - #define ETH_MACFFR_PCF_ForwardAll ((uint32_t)0x00000080) /* MAC forwards all control frames to application even if they fail the Address Filter */ - #define ETH_MACFFR_PCF_ForwardPassedAddrFilter ((uint32_t)0x000000C0) /* MAC forwards control frames that pass the Address Filter. */ -#define ETH_MACFFR_BFD ((uint32_t)0x00000020) /* Broadcast frame disable */ -#define ETH_MACFFR_PAM ((uint32_t)0x00000010) /* Pass all mutlicast */ -#define ETH_MACFFR_DAIF ((uint32_t)0x00000008) /* DA Inverse filtering */ -#define ETH_MACFFR_HM ((uint32_t)0x00000004) /* Hash multicast */ -#define ETH_MACFFR_HU ((uint32_t)0x00000002) /* Hash unicast */ -#define ETH_MACFFR_PM ((uint32_t)0x00000001) /* Promiscuous mode */ - -/* Bit definition for Ethernet MAC Hash Table High Register */ -#define ETH_MACHTHR_HTH ((uint32_t)0xFFFFFFFF) /* Hash table high */ - -/* Bit definition for Ethernet MAC Hash Table Low Register */ -#define ETH_MACHTLR_HTL ((uint32_t)0xFFFFFFFF) /* Hash table low */ - -/* Bit definition for Ethernet MAC MII Address Register */ -#define ETH_MACMIIAR_PA ((uint32_t)0x0000F800) /* Physical layer address */ -#define ETH_MACMIIAR_MR ((uint32_t)0x000007C0) /* MII register in the selected PHY */ -#define ETH_MACMIIAR_CR ((uint32_t)0x0000001C) /* CR clock range: 6 cases */ - #define ETH_MACMIIAR_CR_Div42 ((uint32_t)0x00000000) /* HCLK:60-72 MHz; MDC clock= HCLK/42 */ - #define ETH_MACMIIAR_CR_Div16 ((uint32_t)0x00000008) /* HCLK:20-35 MHz; MDC clock= HCLK/16 */ - #define ETH_MACMIIAR_CR_Div26 ((uint32_t)0x0000000C) /* HCLK:35-60 MHz; MDC clock= HCLK/26 */ -#define ETH_MACMIIAR_MW ((uint32_t)0x00000002) /* MII write */ -#define ETH_MACMIIAR_MB ((uint32_t)0x00000001) /* MII busy */ - -/* Bit definition for Ethernet MAC MII Data Register */ -#define ETH_MACMIIDR_MD ((uint32_t)0x0000FFFF) /* MII data: read/write data from/to PHY */ - -/* Bit definition for Ethernet MAC Flow Control Register */ -#define ETH_MACFCR_PT ((uint32_t)0xFFFF0000) /* Pause time */ -#define ETH_MACFCR_ZQPD ((uint32_t)0x00000080) /* Zero-quanta pause disable */ -#define ETH_MACFCR_PLT ((uint32_t)0x00000030) /* Pause low threshold: 4 cases */ - #define ETH_MACFCR_PLT_Minus4 ((uint32_t)0x00000000) /* Pause time minus 4 slot times */ - #define ETH_MACFCR_PLT_Minus28 ((uint32_t)0x00000010) /* Pause time minus 28 slot times */ - #define ETH_MACFCR_PLT_Minus144 ((uint32_t)0x00000020) /* Pause time minus 144 slot times */ - #define ETH_MACFCR_PLT_Minus256 ((uint32_t)0x00000030) /* Pause time minus 256 slot times */ -#define ETH_MACFCR_UPFD ((uint32_t)0x00000008) /* Unicast pause frame detect */ -#define ETH_MACFCR_RFCE ((uint32_t)0x00000004) /* Receive flow control enable */ -#define ETH_MACFCR_TFCE ((uint32_t)0x00000002) /* Transmit flow control enable */ -#define ETH_MACFCR_FCBBPA ((uint32_t)0x00000001) /* Flow control busy/backpressure activate */ - -/* Bit definition for Ethernet MAC VLAN Tag Register */ -#define ETH_MACVLANTR_VLANTC ((uint32_t)0x00010000) /* 12-bit VLAN tag comparison */ -#define ETH_MACVLANTR_VLANTI ((uint32_t)0x0000FFFF) /* VLAN tag identifier (for receive frames) */ - -/* Bit definition for Ethernet MAC Remote Wake-UpFrame Filter Register */ -#define ETH_MACRWUFFR_D ((uint32_t)0xFFFFFFFF) /* Wake-up frame filter register data */ -/* Eight sequential Writes to this address (offset 0x28) will write all Wake-UpFrame Filter Registers. - Eight sequential Reads from this address (offset 0x28) will read all Wake-UpFrame Filter Registers. */ -/* Wake-UpFrame Filter Reg0 : Filter 0 Byte Mask - Wake-UpFrame Filter Reg1 : Filter 1 Byte Mask - Wake-UpFrame Filter Reg2 : Filter 2 Byte Mask - Wake-UpFrame Filter Reg3 : Filter 3 Byte Mask - Wake-UpFrame Filter Reg4 : RSVD - Filter3 Command - RSVD - Filter2 Command - - RSVD - Filter1 Command - RSVD - Filter0 Command - Wake-UpFrame Filter Re5 : Filter3 Offset - Filter2 Offset - Filter1 Offset - Filter0 Offset - Wake-UpFrame Filter Re6 : Filter1 CRC16 - Filter0 CRC16 - Wake-UpFrame Filter Re7 : Filter3 CRC16 - Filter2 CRC16 */ - -/* Bit definition for Ethernet MAC PMT Control and Status Register */ -#define ETH_MACPMTCSR_WFFRPR ((uint32_t)0x80000000) /* Wake-Up Frame Filter Register Pointer Reset */ -#define ETH_MACPMTCSR_GU ((uint32_t)0x00000200) /* Global Unicast */ -#define ETH_MACPMTCSR_WFR ((uint32_t)0x00000040) /* Wake-Up Frame Received */ -#define ETH_MACPMTCSR_MPR ((uint32_t)0x00000020) /* Magic Packet Received */ -#define ETH_MACPMTCSR_WFE ((uint32_t)0x00000004) /* Wake-Up Frame Enable */ -#define ETH_MACPMTCSR_MPE ((uint32_t)0x00000002) /* Magic Packet Enable */ -#define ETH_MACPMTCSR_PD ((uint32_t)0x00000001) /* Power Down */ - -/* Bit definition for Ethernet MAC Status Register */ -#define ETH_MACSR_TSTS ((uint32_t)0x00000200) /* Time stamp trigger status */ -#define ETH_MACSR_MMCTS ((uint32_t)0x00000040) /* MMC transmit status */ -#define ETH_MACSR_MMMCRS ((uint32_t)0x00000020) /* MMC receive status */ -#define ETH_MACSR_MMCS ((uint32_t)0x00000010) /* MMC status */ -#define ETH_MACSR_PMTS ((uint32_t)0x00000008) /* PMT status */ - -/* Bit definition for Ethernet MAC Interrupt Mask Register */ -#define ETH_MACIMR_TSTIM ((uint32_t)0x00000200) /* Time stamp trigger interrupt mask */ -#define ETH_MACIMR_PMTIM ((uint32_t)0x00000008) /* PMT interrupt mask */ - -/* Bit definition for Ethernet MAC Address0 High Register */ -#define ETH_MACA0HR_MACA0H ((uint32_t)0x0000FFFF) /* MAC address0 high */ - -/* Bit definition for Ethernet MAC Address0 Low Register */ -#define ETH_MACA0LR_MACA0L ((uint32_t)0xFFFFFFFF) /* MAC address0 low */ - -/* Bit definition for Ethernet MAC Address1 High Register */ -#define ETH_MACA1HR_AE ((uint32_t)0x80000000) /* Address enable */ -#define ETH_MACA1HR_SA ((uint32_t)0x40000000) /* Source address */ -#define ETH_MACA1HR_MBC ((uint32_t)0x3F000000) /* Mask byte control: bits to mask for comparison of the MAC Address bytes */ - #define ETH_MACA1HR_MBC_HBits15_8 ((uint32_t)0x20000000) /* Mask MAC Address high reg bits [15:8] */ - #define ETH_MACA1HR_MBC_HBits7_0 ((uint32_t)0x10000000) /* Mask MAC Address high reg bits [7:0] */ - #define ETH_MACA1HR_MBC_LBits31_24 ((uint32_t)0x08000000) /* Mask MAC Address low reg bits [31:24] */ - #define ETH_MACA1HR_MBC_LBits23_16 ((uint32_t)0x04000000) /* Mask MAC Address low reg bits [23:16] */ - #define ETH_MACA1HR_MBC_LBits15_8 ((uint32_t)0x02000000) /* Mask MAC Address low reg bits [15:8] */ - #define ETH_MACA1HR_MBC_LBits7_0 ((uint32_t)0x01000000) /* Mask MAC Address low reg bits [7:0] */ -#define ETH_MACA1HR_MACA1H ((uint32_t)0x0000FFFF) /* MAC address1 high */ - -/* Bit definition for Ethernet MAC Address1 Low Register */ -#define ETH_MACA1LR_MACA1L ((uint32_t)0xFFFFFFFF) /* MAC address1 low */ - -/* Bit definition for Ethernet MAC Address2 High Register */ -#define ETH_MACA2HR_AE ((uint32_t)0x80000000) /* Address enable */ -#define ETH_MACA2HR_SA ((uint32_t)0x40000000) /* Source address */ -#define ETH_MACA2HR_MBC ((uint32_t)0x3F000000) /* Mask byte control */ - #define ETH_MACA2HR_MBC_HBits15_8 ((uint32_t)0x20000000) /* Mask MAC Address high reg bits [15:8] */ - #define ETH_MACA2HR_MBC_HBits7_0 ((uint32_t)0x10000000) /* Mask MAC Address high reg bits [7:0] */ - #define ETH_MACA2HR_MBC_LBits31_24 ((uint32_t)0x08000000) /* Mask MAC Address low reg bits [31:24] */ - #define ETH_MACA2HR_MBC_LBits23_16 ((uint32_t)0x04000000) /* Mask MAC Address low reg bits [23:16] */ - #define ETH_MACA2HR_MBC_LBits15_8 ((uint32_t)0x02000000) /* Mask MAC Address low reg bits [15:8] */ - #define ETH_MACA2HR_MBC_LBits7_0 ((uint32_t)0x01000000) /* Mask MAC Address low reg bits [70] */ -#define ETH_MACA2HR_MACA2H ((uint32_t)0x0000FFFF) /* MAC address1 high */ - -/* Bit definition for Ethernet MAC Address2 Low Register */ -#define ETH_MACA2LR_MACA2L ((uint32_t)0xFFFFFFFF) /* MAC address2 low */ - -/* Bit definition for Ethernet MAC Address3 High Register */ -#define ETH_MACA3HR_AE ((uint32_t)0x80000000) /* Address enable */ -#define ETH_MACA3HR_SA ((uint32_t)0x40000000) /* Source address */ -#define ETH_MACA3HR_MBC ((uint32_t)0x3F000000) /* Mask byte control */ - #define ETH_MACA3HR_MBC_HBits15_8 ((uint32_t)0x20000000) /* Mask MAC Address high reg bits [15:8] */ - #define ETH_MACA3HR_MBC_HBits7_0 ((uint32_t)0x10000000) /* Mask MAC Address high reg bits [7:0] */ - #define ETH_MACA3HR_MBC_LBits31_24 ((uint32_t)0x08000000) /* Mask MAC Address low reg bits [31:24] */ - #define ETH_MACA3HR_MBC_LBits23_16 ((uint32_t)0x04000000) /* Mask MAC Address low reg bits [23:16] */ - #define ETH_MACA3HR_MBC_LBits15_8 ((uint32_t)0x02000000) /* Mask MAC Address low reg bits [15:8] */ - #define ETH_MACA3HR_MBC_LBits7_0 ((uint32_t)0x01000000) /* Mask MAC Address low reg bits [70] */ -#define ETH_MACA3HR_MACA3H ((uint32_t)0x0000FFFF) /* MAC address3 high */ - -/* Bit definition for Ethernet MAC Address3 Low Register */ -#define ETH_MACA3LR_MACA3L ((uint32_t)0xFFFFFFFF) /* MAC address3 low */ - -/******************************************************************************/ -/* Ethernet MMC Registers bits definition */ -/******************************************************************************/ - -/* Bit definition for Ethernet MMC Contol Register */ -#define ETH_MMCCR_MCF ((uint32_t)0x00000008) /* MMC Counter Freeze */ -#define ETH_MMCCR_ROR ((uint32_t)0x00000004) /* Reset on Read */ -#define ETH_MMCCR_CSR ((uint32_t)0x00000002) /* Counter Stop Rollover */ -#define ETH_MMCCR_CR ((uint32_t)0x00000001) /* Counters Reset */ - -/* Bit definition for Ethernet MMC Receive Interrupt Register */ -#define ETH_MMCRIR_RGUFS ((uint32_t)0x00020000) /* Set when Rx good unicast frames counter reaches half the maximum value */ -#define ETH_MMCRIR_RFAES ((uint32_t)0x00000040) /* Set when Rx alignment error counter reaches half the maximum value */ -#define ETH_MMCRIR_RFCES ((uint32_t)0x00000020) /* Set when Rx crc error counter reaches half the maximum value */ - -/* Bit definition for Ethernet MMC Transmit Interrupt Register */ -#define ETH_MMCTIR_TGFS ((uint32_t)0x00200000) /* Set when Tx good frame count counter reaches half the maximum value */ -#define ETH_MMCTIR_TGFMSCS ((uint32_t)0x00008000) /* Set when Tx good multi col counter reaches half the maximum value */ -#define ETH_MMCTIR_TGFSCS ((uint32_t)0x00004000) /* Set when Tx good single col counter reaches half the maximum value */ - -/* Bit definition for Ethernet MMC Receive Interrupt Mask Register */ -#define ETH_MMCRIMR_RGUFM ((uint32_t)0x00020000) /* Mask the interrupt when Rx good unicast frames counter reaches half the maximum value */ -#define ETH_MMCRIMR_RFAEM ((uint32_t)0x00000040) /* Mask the interrupt when when Rx alignment error counter reaches half the maximum value */ -#define ETH_MMCRIMR_RFCEM ((uint32_t)0x00000020) /* Mask the interrupt when Rx crc error counter reaches half the maximum value */ - -/* Bit definition for Ethernet MMC Transmit Interrupt Mask Register */ -#define ETH_MMCTIMR_TGFM ((uint32_t)0x00200000) /* Mask the interrupt when Tx good frame count counter reaches half the maximum value */ -#define ETH_MMCTIMR_TGFMSCM ((uint32_t)0x00008000) /* Mask the interrupt when Tx good multi col counter reaches half the maximum value */ -#define ETH_MMCTIMR_TGFSCM ((uint32_t)0x00004000) /* Mask the interrupt when Tx good single col counter reaches half the maximum value */ - -/* Bit definition for Ethernet MMC Transmitted Good Frames after Single Collision Counter Register */ -#define ETH_MMCTGFSCCR_TGFSCC ((uint32_t)0xFFFFFFFF) /* Number of successfully transmitted frames after a single collision in Half-duplex mode. */ - -/* Bit definition for Ethernet MMC Transmitted Good Frames after More than a Single Collision Counter Register */ -#define ETH_MMCTGFMSCCR_TGFMSCC ((uint32_t)0xFFFFFFFF) /* Number of successfully transmitted frames after more than a single collision in Half-duplex mode. */ - -/* Bit definition for Ethernet MMC Transmitted Good Frames Counter Register */ -#define ETH_MMCTGFCR_TGFC ((uint32_t)0xFFFFFFFF) /* Number of good frames transmitted. */ - -/* Bit definition for Ethernet MMC Received Frames with CRC Error Counter Register */ -#define ETH_MMCRFCECR_RFCEC ((uint32_t)0xFFFFFFFF) /* Number of frames received with CRC error. */ - -/* Bit definition for Ethernet MMC Received Frames with Alignement Error Counter Register */ -#define ETH_MMCRFAECR_RFAEC ((uint32_t)0xFFFFFFFF) /* Number of frames received with alignment (dribble) error */ - -/* Bit definition for Ethernet MMC Received Good Unicast Frames Counter Register */ -#define ETH_MMCRGUFCR_RGUFC ((uint32_t)0xFFFFFFFF) /* Number of good unicast frames received. */ - -/******************************************************************************/ -/* Ethernet PTP Registers bits definition */ -/******************************************************************************/ - -/* Bit definition for Ethernet PTP Time Stamp Contol Register */ -#define ETH_PTPTSCR_TSARU ((uint32_t)0x00000020) /* Addend register update */ -#define ETH_PTPTSCR_TSITE ((uint32_t)0x00000010) /* Time stamp interrupt trigger enable */ -#define ETH_PTPTSCR_TSSTU ((uint32_t)0x00000008) /* Time stamp update */ -#define ETH_PTPTSCR_TSSTI ((uint32_t)0x00000004) /* Time stamp initialize */ -#define ETH_PTPTSCR_TSFCU ((uint32_t)0x00000002) /* Time stamp fine or coarse update */ -#define ETH_PTPTSCR_TSE ((uint32_t)0x00000001) /* Time stamp enable */ - -/* Bit definition for Ethernet PTP Sub-Second Increment Register */ -#define ETH_PTPSSIR_STSSI ((uint32_t)0x000000FF) /* System time Sub-second increment value */ - -/* Bit definition for Ethernet PTP Time Stamp High Register */ -#define ETH_PTPTSHR_STS ((uint32_t)0xFFFFFFFF) /* System Time second */ - -/* Bit definition for Ethernet PTP Time Stamp Low Register */ -#define ETH_PTPTSLR_STPNS ((uint32_t)0x80000000) /* System Time Positive or negative time */ -#define ETH_PTPTSLR_STSS ((uint32_t)0x7FFFFFFF) /* System Time sub-seconds */ - -/* Bit definition for Ethernet PTP Time Stamp High Update Register */ -#define ETH_PTPTSHUR_TSUS ((uint32_t)0xFFFFFFFF) /* Time stamp update seconds */ - -/* Bit definition for Ethernet PTP Time Stamp Low Update Register */ -#define ETH_PTPTSLUR_TSUPNS ((uint32_t)0x80000000) /* Time stamp update Positive or negative time */ -#define ETH_PTPTSLUR_TSUSS ((uint32_t)0x7FFFFFFF) /* Time stamp update sub-seconds */ - -/* Bit definition for Ethernet PTP Time Stamp Addend Register */ -#define ETH_PTPTSAR_TSA ((uint32_t)0xFFFFFFFF) /* Time stamp addend */ - -/* Bit definition for Ethernet PTP Target Time High Register */ -#define ETH_PTPTTHR_TTSH ((uint32_t)0xFFFFFFFF) /* Target time stamp high */ - -/* Bit definition for Ethernet PTP Target Time Low Register */ -#define ETH_PTPTTLR_TTSL ((uint32_t)0xFFFFFFFF) /* Target time stamp low */ - -/******************************************************************************/ -/* Ethernet DMA Registers bits definition */ -/******************************************************************************/ - -/* Bit definition for Ethernet DMA Bus Mode Register */ -#define ETH_DMABMR_AAB ((uint32_t)0x02000000) /* Address-Aligned beats */ -#define ETH_DMABMR_FPM ((uint32_t)0x01000000) /* 4xPBL mode */ -#define ETH_DMABMR_USP ((uint32_t)0x00800000) /* Use separate PBL */ -#define ETH_DMABMR_RDP ((uint32_t)0x007E0000) /* RxDMA PBL */ - #define ETH_DMABMR_RDP_1Beat ((uint32_t)0x00020000) /* maximum number of beats to be transferred in one RxDMA transaction is 1 */ - #define ETH_DMABMR_RDP_2Beat ((uint32_t)0x00040000) /* maximum number of beats to be transferred in one RxDMA transaction is 2 */ - #define ETH_DMABMR_RDP_4Beat ((uint32_t)0x00080000) /* maximum number of beats to be transferred in one RxDMA transaction is 4 */ - #define ETH_DMABMR_RDP_8Beat ((uint32_t)0x00100000) /* maximum number of beats to be transferred in one RxDMA transaction is 8 */ - #define ETH_DMABMR_RDP_16Beat ((uint32_t)0x00200000) /* maximum number of beats to be transferred in one RxDMA transaction is 16 */ - #define ETH_DMABMR_RDP_32Beat ((uint32_t)0x00400000) /* maximum number of beats to be transferred in one RxDMA transaction is 32 */ - #define ETH_DMABMR_RDP_4xPBL_4Beat ((uint32_t)0x01020000) /* maximum number of beats to be transferred in one RxDMA transaction is 4 */ - #define ETH_DMABMR_RDP_4xPBL_8Beat ((uint32_t)0x01040000) /* maximum number of beats to be transferred in one RxDMA transaction is 8 */ - #define ETH_DMABMR_RDP_4xPBL_16Beat ((uint32_t)0x01080000) /* maximum number of beats to be transferred in one RxDMA transaction is 16 */ - #define ETH_DMABMR_RDP_4xPBL_32Beat ((uint32_t)0x01100000) /* maximum number of beats to be transferred in one RxDMA transaction is 32 */ - #define ETH_DMABMR_RDP_4xPBL_64Beat ((uint32_t)0x01200000) /* maximum number of beats to be transferred in one RxDMA transaction is 64 */ - #define ETH_DMABMR_RDP_4xPBL_128Beat ((uint32_t)0x01400000) /* maximum number of beats to be transferred in one RxDMA transaction is 128 */ -#define ETH_DMABMR_FB ((uint32_t)0x00010000) /* Fixed Burst */ -#define ETH_DMABMR_RTPR ((uint32_t)0x0000C000) /* Rx Tx priority ratio */ - #define ETH_DMABMR_RTPR_1_1 ((uint32_t)0x00000000) /* Rx Tx priority ratio */ - #define ETH_DMABMR_RTPR_2_1 ((uint32_t)0x00004000) /* Rx Tx priority ratio */ - #define ETH_DMABMR_RTPR_3_1 ((uint32_t)0x00008000) /* Rx Tx priority ratio */ - #define ETH_DMABMR_RTPR_4_1 ((uint32_t)0x0000C000) /* Rx Tx priority ratio */ -#define ETH_DMABMR_PBL ((uint32_t)0x00003F00) /* Programmable burst length */ - #define ETH_DMABMR_PBL_1Beat ((uint32_t)0x00000100) /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 1 */ - #define ETH_DMABMR_PBL_2Beat ((uint32_t)0x00000200) /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 2 */ - #define ETH_DMABMR_PBL_4Beat ((uint32_t)0x00000400) /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 4 */ - #define ETH_DMABMR_PBL_8Beat ((uint32_t)0x00000800) /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 8 */ - #define ETH_DMABMR_PBL_16Beat ((uint32_t)0x00001000) /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 16 */ - #define ETH_DMABMR_PBL_32Beat ((uint32_t)0x00002000) /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 32 */ - #define ETH_DMABMR_PBL_4xPBL_4Beat ((uint32_t)0x01000100) /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 4 */ - #define ETH_DMABMR_PBL_4xPBL_8Beat ((uint32_t)0x01000200) /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 8 */ - #define ETH_DMABMR_PBL_4xPBL_16Beat ((uint32_t)0x01000400) /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 16 */ - #define ETH_DMABMR_PBL_4xPBL_32Beat ((uint32_t)0x01000800) /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 32 */ - #define ETH_DMABMR_PBL_4xPBL_64Beat ((uint32_t)0x01001000) /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 64 */ - #define ETH_DMABMR_PBL_4xPBL_128Beat ((uint32_t)0x01002000) /* maximum number of beats to be transferred in one TxDMA (or both) transaction is 128 */ -#define ETH_DMABMR_DSL ((uint32_t)0x0000007C) /* Descriptor Skip Length */ -#define ETH_DMABMR_DA ((uint32_t)0x00000002) /* DMA arbitration scheme */ -#define ETH_DMABMR_SR ((uint32_t)0x00000001) /* Software reset */ - -/* Bit definition for Ethernet DMA Transmit Poll Demand Register */ -#define ETH_DMATPDR_TPD ((uint32_t)0xFFFFFFFF) /* Transmit poll demand */ - -/* Bit definition for Ethernet DMA Receive Poll Demand Register */ -#define ETH_DMARPDR_RPD ((uint32_t)0xFFFFFFFF) /* Receive poll demand */ - -/* Bit definition for Ethernet DMA Receive Descriptor List Address Register */ -#define ETH_DMARDLAR_SRL ((uint32_t)0xFFFFFFFF) /* Start of receive list */ - -/* Bit definition for Ethernet DMA Transmit Descriptor List Address Register */ -#define ETH_DMATDLAR_STL ((uint32_t)0xFFFFFFFF) /* Start of transmit list */ - -/* Bit definition for Ethernet DMA Status Register */ -#define ETH_DMASR_TSTS ((uint32_t)0x20000000) /* Time-stamp trigger status */ -#define ETH_DMASR_PMTS ((uint32_t)0x10000000) /* PMT status */ -#define ETH_DMASR_MMCS ((uint32_t)0x08000000) /* MMC status */ -#define ETH_DMASR_EBS ((uint32_t)0x03800000) /* Error bits status */ - /* combination with EBS[2:0] for GetFlagStatus function */ - #define ETH_DMASR_EBS_DescAccess ((uint32_t)0x02000000) /* Error bits 0-data buffer, 1-desc. access */ - #define ETH_DMASR_EBS_ReadTransf ((uint32_t)0x01000000) /* Error bits 0-write trnsf, 1-read transfr */ - #define ETH_DMASR_EBS_DataTransfTx ((uint32_t)0x00800000) /* Error bits 0-Rx DMA, 1-Tx DMA */ -#define ETH_DMASR_TPS ((uint32_t)0x00700000) /* Transmit process state */ - #define ETH_DMASR_TPS_Stopped ((uint32_t)0x00000000) /* Stopped - Reset or Stop Tx Command issued */ - #define ETH_DMASR_TPS_Fetching ((uint32_t)0x00100000) /* Running - fetching the Tx descriptor */ - #define ETH_DMASR_TPS_Waiting ((uint32_t)0x00200000) /* Running - waiting for status */ - #define ETH_DMASR_TPS_Reading ((uint32_t)0x00300000) /* Running - reading the data from host memory */ - #define ETH_DMASR_TPS_Suspended ((uint32_t)0x00600000) /* Suspended - Tx Descriptor unavailabe */ - #define ETH_DMASR_TPS_Closing ((uint32_t)0x00700000) /* Running - closing Rx descriptor */ -#define ETH_DMASR_RPS ((uint32_t)0x000E0000) /* Receive process state */ - #define ETH_DMASR_RPS_Stopped ((uint32_t)0x00000000) /* Stopped - Reset or Stop Rx Command issued */ - #define ETH_DMASR_RPS_Fetching ((uint32_t)0x00020000) /* Running - fetching the Rx descriptor */ - #define ETH_DMASR_RPS_Waiting ((uint32_t)0x00060000) /* Running - waiting for packet */ - #define ETH_DMASR_RPS_Suspended ((uint32_t)0x00080000) /* Suspended - Rx Descriptor unavailable */ - #define ETH_DMASR_RPS_Closing ((uint32_t)0x000A0000) /* Running - closing descriptor */ - #define ETH_DMASR_RPS_Queuing ((uint32_t)0x000E0000) /* Running - queuing the recieve frame into host memory */ -#define ETH_DMASR_NIS ((uint32_t)0x00010000) /* Normal interrupt summary */ -#define ETH_DMASR_AIS ((uint32_t)0x00008000) /* Abnormal interrupt summary */ -#define ETH_DMASR_ERS ((uint32_t)0x00004000) /* Early receive status */ -#define ETH_DMASR_FBES ((uint32_t)0x00002000) /* Fatal bus error status */ -#define ETH_DMASR_ETS ((uint32_t)0x00000400) /* Early transmit status */ -#define ETH_DMASR_RWTS ((uint32_t)0x00000200) /* Receive watchdog timeout status */ -#define ETH_DMASR_RPSS ((uint32_t)0x00000100) /* Receive process stopped status */ -#define ETH_DMASR_RBUS ((uint32_t)0x00000080) /* Receive buffer unavailable status */ -#define ETH_DMASR_RS ((uint32_t)0x00000040) /* Receive status */ -#define ETH_DMASR_TUS ((uint32_t)0x00000020) /* Transmit underflow status */ -#define ETH_DMASR_ROS ((uint32_t)0x00000010) /* Receive overflow status */ -#define ETH_DMASR_TJTS ((uint32_t)0x00000008) /* Transmit jabber timeout status */ -#define ETH_DMASR_TBUS ((uint32_t)0x00000004) /* Transmit buffer unavailable status */ -#define ETH_DMASR_TPSS ((uint32_t)0x00000002) /* Transmit process stopped status */ -#define ETH_DMASR_TS ((uint32_t)0x00000001) /* Transmit status */ - -/* Bit definition for Ethernet DMA Operation Mode Register */ -#define ETH_DMAOMR_DTCEFD ((uint32_t)0x04000000) /* Disable Dropping of TCP/IP checksum error frames */ -#define ETH_DMAOMR_RSF ((uint32_t)0x02000000) /* Receive store and forward */ -#define ETH_DMAOMR_DFRF ((uint32_t)0x01000000) /* Disable flushing of received frames */ -#define ETH_DMAOMR_TSF ((uint32_t)0x00200000) /* Transmit store and forward */ -#define ETH_DMAOMR_FTF ((uint32_t)0x00100000) /* Flush transmit FIFO */ -#define ETH_DMAOMR_TTC ((uint32_t)0x0001C000) /* Transmit threshold control */ - #define ETH_DMAOMR_TTC_64Bytes ((uint32_t)0x00000000) /* threshold level of the MTL Transmit FIFO is 64 Bytes */ - #define ETH_DMAOMR_TTC_128Bytes ((uint32_t)0x00004000) /* threshold level of the MTL Transmit FIFO is 128 Bytes */ - #define ETH_DMAOMR_TTC_192Bytes ((uint32_t)0x00008000) /* threshold level of the MTL Transmit FIFO is 192 Bytes */ - #define ETH_DMAOMR_TTC_256Bytes ((uint32_t)0x0000C000) /* threshold level of the MTL Transmit FIFO is 256 Bytes */ - #define ETH_DMAOMR_TTC_40Bytes ((uint32_t)0x00010000) /* threshold level of the MTL Transmit FIFO is 40 Bytes */ - #define ETH_DMAOMR_TTC_32Bytes ((uint32_t)0x00014000) /* threshold level of the MTL Transmit FIFO is 32 Bytes */ - #define ETH_DMAOMR_TTC_24Bytes ((uint32_t)0x00018000) /* threshold level of the MTL Transmit FIFO is 24 Bytes */ - #define ETH_DMAOMR_TTC_16Bytes ((uint32_t)0x0001C000) /* threshold level of the MTL Transmit FIFO is 16 Bytes */ -#define ETH_DMAOMR_ST ((uint32_t)0x00002000) /* Start/stop transmission command */ -#define ETH_DMAOMR_FEF ((uint32_t)0x00000080) /* Forward error frames */ -#define ETH_DMAOMR_FUGF ((uint32_t)0x00000040) /* Forward undersized good frames */ -#define ETH_DMAOMR_RTC ((uint32_t)0x00000018) /* receive threshold control */ - #define ETH_DMAOMR_RTC_64Bytes ((uint32_t)0x00000000) /* threshold level of the MTL Receive FIFO is 64 Bytes */ - #define ETH_DMAOMR_RTC_32Bytes ((uint32_t)0x00000008) /* threshold level of the MTL Receive FIFO is 32 Bytes */ - #define ETH_DMAOMR_RTC_96Bytes ((uint32_t)0x00000010) /* threshold level of the MTL Receive FIFO is 96 Bytes */ - #define ETH_DMAOMR_RTC_128Bytes ((uint32_t)0x00000018) /* threshold level of the MTL Receive FIFO is 128 Bytes */ -#define ETH_DMAOMR_OSF ((uint32_t)0x00000004) /* operate on second frame */ -#define ETH_DMAOMR_SR ((uint32_t)0x00000002) /* Start/stop receive */ - -/* Bit definition for Ethernet DMA Interrupt Enable Register */ -#define ETH_DMAIER_NISE ((uint32_t)0x00010000) /* Normal interrupt summary enable */ -#define ETH_DMAIER_AISE ((uint32_t)0x00008000) /* Abnormal interrupt summary enable */ -#define ETH_DMAIER_ERIE ((uint32_t)0x00004000) /* Early receive interrupt enable */ -#define ETH_DMAIER_FBEIE ((uint32_t)0x00002000) /* Fatal bus error interrupt enable */ -#define ETH_DMAIER_ETIE ((uint32_t)0x00000400) /* Early transmit interrupt enable */ -#define ETH_DMAIER_RWTIE ((uint32_t)0x00000200) /* Receive watchdog timeout interrupt enable */ -#define ETH_DMAIER_RPSIE ((uint32_t)0x00000100) /* Receive process stopped interrupt enable */ -#define ETH_DMAIER_RBUIE ((uint32_t)0x00000080) /* Receive buffer unavailable interrupt enable */ -#define ETH_DMAIER_RIE ((uint32_t)0x00000040) /* Receive interrupt enable */ -#define ETH_DMAIER_TUIE ((uint32_t)0x00000020) /* Transmit Underflow interrupt enable */ -#define ETH_DMAIER_ROIE ((uint32_t)0x00000010) /* Receive Overflow interrupt enable */ -#define ETH_DMAIER_TJTIE ((uint32_t)0x00000008) /* Transmit jabber timeout interrupt enable */ -#define ETH_DMAIER_TBUIE ((uint32_t)0x00000004) /* Transmit buffer unavailable interrupt enable */ -#define ETH_DMAIER_TPSIE ((uint32_t)0x00000002) /* Transmit process stopped interrupt enable */ -#define ETH_DMAIER_TIE ((uint32_t)0x00000001) /* Transmit interrupt enable */ - -/* Bit definition for Ethernet DMA Missed Frame and Buffer Overflow Counter Register */ -#define ETH_DMAMFBOCR_OFOC ((uint32_t)0x10000000) /* Overflow bit for FIFO overflow counter */ -#define ETH_DMAMFBOCR_MFA ((uint32_t)0x0FFE0000) /* Number of frames missed by the application */ -#define ETH_DMAMFBOCR_OMFC ((uint32_t)0x00010000) /* Overflow bit for missed frame counter */ -#define ETH_DMAMFBOCR_MFC ((uint32_t)0x0000FFFF) /* Number of frames missed by the controller */ - -/* Bit definition for Ethernet DMA Current Host Transmit Descriptor Register */ -#define ETH_DMACHTDR_HTDAP ((uint32_t)0xFFFFFFFF) /* Host transmit descriptor address pointer */ - -/* Bit definition for Ethernet DMA Current Host Receive Descriptor Register */ -#define ETH_DMACHRDR_HRDAP ((uint32_t)0xFFFFFFFF) /* Host receive descriptor address pointer */ - -/* Bit definition for Ethernet DMA Current Host Transmit Buffer Address Register */ -#define ETH_DMACHTBAR_HTBAP ((uint32_t)0xFFFFFFFF) /* Host transmit buffer address pointer */ - -/* Bit definition for Ethernet DMA Current Host Receive Buffer Address Register */ -#define ETH_DMACHRBAR_HRBAP ((uint32_t)0xFFFFFFFF) /* Host receive buffer address pointer */ -#endif /* STM32F10X_CL */ - -/** - * @} - */ - - /** - * @} - */ - -#ifdef USE_STDPERIPH_DRIVER - #include "stm32f10x_conf.h" -#endif - -/** @addtogroup Exported_macro - * @{ - */ - -#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))) - -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_H */ - -/** - * @} - */ - - /** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c deleted file mode 100644 index 6fb4579ec..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c +++ /dev/null @@ -1,1094 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f10x.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * factors, AHB/APBx prescalers and Flash settings). - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f10x_xx.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. - * - * 2. After each device reset the HSI (8 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f10x_xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depedning on - * the product used), refer to "HSE_VALUE" define in "stm32f10x.h" file. - * When HSE is used as system clock source, directly or through PLL, and you - * are using different crystal you have to adapt the HSE value to your own - * configuration. - * - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f10x_system - * @{ - */ - -/** @addtogroup STM32F10x_System_Private_Includes - * @{ - */ - -#include "stm32f10x.h" - -/** - * @} - */ - -/** @addtogroup STM32F10x_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F10x_System_Private_Defines - * @{ - */ - -/*!< Uncomment the line corresponding to the desired System clock (SYSCLK) - frequency (after reset the HSI is used as SYSCLK source) - - IMPORTANT NOTE: - ============== - 1. After each device reset the HSI is used as System clock source. - - 2. Please make sure that the selected System clock doesn't exceed your device's - maximum frequency. - - 3. If none of the define below is enabled, the HSI is used as System clock - source. - - 4. The System clock configuration functions provided within this file assume that: - - For Low, Medium and High density Value line devices an external 8MHz - crystal is used to drive the System clock. - - For Low, Medium and High density devices an external 8MHz crystal is - used to drive the System clock. - - For Connectivity line devices an external 25MHz crystal is used to drive - the System clock. - If you are using different crystal you have to adapt those functions accordingly. - */ - -#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) -/* #define SYSCLK_FREQ_HSE HSE_VALUE */ - #define SYSCLK_FREQ_24MHz 24000000 -#else -/* #define SYSCLK_FREQ_HSE HSE_VALUE */ -/* #define SYSCLK_FREQ_24MHz 24000000 */ -/* #define SYSCLK_FREQ_36MHz 36000000 */ -/* #define SYSCLK_FREQ_48MHz 48000000 */ -/* #define SYSCLK_FREQ_56MHz 56000000 */ -#define SYSCLK_FREQ_72MHz 72000000 -#endif - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM3210E-EVAL board (STM32 High density and XL-density devices) or on - STM32100E-EVAL board (STM32 High-density value line devices) as data memory */ -#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) -/* #define DATA_IN_ExtSRAM */ -#endif - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/** - * @} - */ - -/** @addtogroup STM32F10x_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F10x_System_Private_Variables - * @{ - */ - -/******************************************************************************* -* Clock Definitions -*******************************************************************************/ -#ifdef SYSCLK_FREQ_HSE - uint32_t SystemCoreClock = SYSCLK_FREQ_HSE; /*!< System Clock Frequency (Core Clock) */ -#elif defined SYSCLK_FREQ_24MHz - uint32_t SystemCoreClock = SYSCLK_FREQ_24MHz; /*!< System Clock Frequency (Core Clock) */ -#elif defined SYSCLK_FREQ_36MHz - uint32_t SystemCoreClock = SYSCLK_FREQ_36MHz; /*!< System Clock Frequency (Core Clock) */ -#elif defined SYSCLK_FREQ_48MHz - uint32_t SystemCoreClock = SYSCLK_FREQ_48MHz; /*!< System Clock Frequency (Core Clock) */ -#elif defined SYSCLK_FREQ_56MHz - uint32_t SystemCoreClock = SYSCLK_FREQ_56MHz; /*!< System Clock Frequency (Core Clock) */ -#elif defined SYSCLK_FREQ_72MHz - uint32_t SystemCoreClock = SYSCLK_FREQ_72MHz; /*!< System Clock Frequency (Core Clock) */ -#else /*!< HSI Selected as System Clock source */ - uint32_t SystemCoreClock = HSI_VALUE; /*!< System Clock Frequency (Core Clock) */ -#endif - -__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; -/** - * @} - */ - -/** @addtogroup STM32F10x_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); - -#ifdef SYSCLK_FREQ_HSE - static void SetSysClockToHSE(void); -#elif defined SYSCLK_FREQ_24MHz - static void SetSysClockTo24(void); -#elif defined SYSCLK_FREQ_36MHz - static void SetSysClockTo36(void); -#elif defined SYSCLK_FREQ_48MHz - static void SetSysClockTo48(void); -#elif defined SYSCLK_FREQ_56MHz - static void SetSysClockTo56(void); -#elif defined SYSCLK_FREQ_72MHz - static void SetSysClockTo72(void); -#endif - -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F10x_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemCoreClock variable. - * @note This function should be used only after reset. - * @param None - * @retval None - */ -void SystemInit (void) -{ - /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */ -#ifndef STM32F10X_CL - RCC->CFGR &= (uint32_t)0xF8FF0000; -#else - RCC->CFGR &= (uint32_t)0xF0FF0000; -#endif /* STM32F10X_CL */ - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */ - RCC->CFGR &= (uint32_t)0xFF80FFFF; - -#ifdef STM32F10X_CL - /* Reset PLL2ON and PLL3ON bits */ - RCC->CR &= (uint32_t)0xEBFFFFFF; - - /* Disable all interrupts and clear pending bits */ - RCC->CIR = 0x00FF0000; - - /* Reset CFGR2 register */ - RCC->CFGR2 = 0x00000000; -#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) - /* Disable all interrupts and clear pending bits */ - RCC->CIR = 0x009F0000; - - /* Reset CFGR2 register */ - RCC->CFGR2 = 0x00000000; -#else - /* Disable all interrupts and clear pending bits */ - RCC->CIR = 0x009F0000; -#endif /* STM32F10X_CL */ - -#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) - #ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); - #endif /* DATA_IN_ExtSRAM */ -#endif - - /* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */ - /* Configure the Flash Latency cycles and enable prefetch buffer */ - SetSysClock(); - -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ -#else - SCB->VTOR = FLASH_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 (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) 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 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 HSE_VALUE(**) - * or HSI_VALUE(*) multiplied by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f1xx.h file (default value - * 8 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f1xx.h file (default value - * 8 MHz or 25 MHz, depedning on the product used), 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 tmp = 0, pllmull = 0, pllsource = 0; - -#ifdef STM32F10X_CL - uint32_t prediv1source = 0, prediv1factor = 0, prediv2factor = 0, pll2mull = 0; -#endif /* STM32F10X_CL */ - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) - uint32_t prediv1factor = 0; -#endif /* STM32F10X_LD_VL or STM32F10X_MD_VL or STM32F10X_HD_VL */ - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock */ - - /* Get PLL clock source and multiplication factor ----------------------*/ - pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; - pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; - -#ifndef STM32F10X_CL - pllmull = ( pllmull >> 18) + 2; - - if (pllsource == 0x00) - { - /* HSI oscillator clock divided by 2 selected as PLL clock entry */ - SystemCoreClock = (HSI_VALUE >> 1) * pllmull; - } - else - { - #if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) - prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; - /* HSE oscillator clock selected as PREDIV1 clock entry */ - SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; - #else - /* HSE selected as PLL clock entry */ - if ((RCC->CFGR & RCC_CFGR_PLLXTPRE) != (uint32_t)RESET) - {/* HSE oscillator clock divided by 2 */ - SystemCoreClock = (HSE_VALUE >> 1) * pllmull; - } - else - { - SystemCoreClock = HSE_VALUE * pllmull; - } - #endif - } -#else - pllmull = pllmull >> 18; - - if (pllmull != 0x0D) - { - pllmull += 2; - } - else - { /* PLL multiplication factor = PLL input clock * 6.5 */ - pllmull = 13 / 2; - } - - if (pllsource == 0x00) - { - /* HSI oscillator clock divided by 2 selected as PLL clock entry */ - SystemCoreClock = (HSI_VALUE >> 1) * pllmull; - } - else - {/* PREDIV1 selected as PLL clock entry */ - - /* Get PREDIV1 clock source and division factor */ - prediv1source = RCC->CFGR2 & RCC_CFGR2_PREDIV1SRC; - prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; - - if (prediv1source == 0) - { - /* HSE oscillator clock selected as PREDIV1 clock entry */ - SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; - } - else - {/* PLL2 clock selected as PREDIV1 clock entry */ - - /* Get PREDIV2 division factor and PLL2 multiplication factor */ - prediv2factor = ((RCC->CFGR2 & RCC_CFGR2_PREDIV2) >> 4) + 1; - pll2mull = ((RCC->CFGR2 & RCC_CFGR2_PLL2MUL) >> 8 ) + 2; - SystemCoreClock = (((HSE_VALUE / prediv2factor) * pll2mull) / prediv1factor) * pllmull; - } - } -#endif /* STM32F10X_CL */ - break; - - default: - SystemCoreClock = HSI_VALUE; - break; - } - - /* Compute HCLK clock frequency ----------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK clock frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers. - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -#ifdef SYSCLK_FREQ_HSE - SetSysClockToHSE(); -#elif defined SYSCLK_FREQ_24MHz - SetSysClockTo24(); -#elif defined SYSCLK_FREQ_36MHz - SetSysClockTo36(); -#elif defined SYSCLK_FREQ_48MHz - SetSysClockTo48(); -#elif defined SYSCLK_FREQ_56MHz - SetSysClockTo56(); -#elif defined SYSCLK_FREQ_72MHz - SetSysClockTo72(); -#endif - - /* If none of the define above is enabled, the HSI is used as System clock - source (default after reset) */ -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f10x.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f10x_xx.s/.c before jump to main. - * This function configures the external SRAM mounted on STM3210E-EVAL - * board (STM32 High density devices). This SRAM will be used as program - * data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*!< FSMC Bank1 NOR/SRAM3 is used for the STM3210E-EVAL, if another Bank is - required, then adjust the Register Addresses */ - - /* Enable FSMC clock */ - RCC->AHBENR = 0x00000114; - - /* Enable GPIOD, GPIOE, GPIOF and GPIOG clocks */ - RCC->APB2ENR = 0x000001E0; - -/* --------------- SRAM Data lines, NOE and NWE configuration ---------------*/ -/*---------------- SRAM Address lines configuration -------------------------*/ -/*---------------- NOE and NWE configuration --------------------------------*/ -/*---------------- NE3 configuration ----------------------------------------*/ -/*---------------- NBL0, NBL1 configuration ---------------------------------*/ - - GPIOD->CRL = 0x44BB44BB; - GPIOD->CRH = 0xBBBBBBBB; - - GPIOE->CRL = 0xB44444BB; - GPIOE->CRH = 0xBBBBBBBB; - - GPIOF->CRL = 0x44BBBBBB; - GPIOF->CRH = 0xBBBB4444; - - GPIOG->CRL = 0x44BBBBBB; - GPIOG->CRH = 0x44444B44; - -/*---------------- FSMC Configuration ---------------------------------------*/ -/*---------------- Enable FSMC Bank1_SRAM Bank ------------------------------*/ - - FSMC_Bank1->BTCR[4] = 0x00001011; - FSMC_Bank1->BTCR[5] = 0x00000200; -} -#endif /* DATA_IN_ExtSRAM */ - -#ifdef SYSCLK_FREQ_HSE -/** - * @brief Selects HSE as System clock source and configure HCLK, PCLK2 - * and PCLK1 prescalers. - * @note This function should be used only after reset. - * @param None - * @retval None - */ -static void SetSysClockToHSE(void) -{ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - -#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL - /* Enable Prefetch Buffer */ - FLASH->ACR |= FLASH_ACR_PRFTBE; - - /* Flash 0 wait state */ - FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); - -#ifndef STM32F10X_CL - FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; -#else - if (HSE_VALUE <= 24000000) - { - FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; - } - else - { - FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; - } -#endif /* STM32F10X_CL */ -#endif - - /* HCLK = SYSCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; - - /* PCLK1 = HCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; - - /* Select HSE as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= (uint32_t)RCC_CFGR_SW_HSE; - - /* Wait till HSE is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x04) - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } -} -#elif defined SYSCLK_FREQ_24MHz -/** - * @brief Sets System clock frequency to 24MHz and configure HCLK, PCLK2 - * and PCLK1 prescalers. - * @note This function should be used only after reset. - * @param None - * @retval None - */ -static void SetSysClockTo24(void) -{ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { -#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL - /* Enable Prefetch Buffer */ - FLASH->ACR |= FLASH_ACR_PRFTBE; - - /* Flash 0 wait state */ - FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); - FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; -#endif - - /* HCLK = SYSCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; - - /* PCLK1 = HCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; - -#ifdef STM32F10X_CL - /* Configure PLLs ------------------------------------------------------*/ - /* PLL configuration: PLLCLK = PREDIV1 * 6 = 24 MHz */ - RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL); - RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | - RCC_CFGR_PLLMULL6); - - /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */ - /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 10 = 4 MHz */ - RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL | - RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); - RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 | - RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV10); - - /* Enable PLL2 */ - RCC->CR |= RCC_CR_PLL2ON; - /* Wait till PLL2 is ready */ - while((RCC->CR & RCC_CR_PLL2RDY) == 0) - { - } -#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) - /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); - RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1_Div2 | RCC_CFGR_PLLMULL6); -#else - /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); - RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL6); -#endif /* STM32F10X_CL */ - - /* Enable PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Select PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; - - /* Wait till PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } -} -#elif defined SYSCLK_FREQ_36MHz -/** - * @brief Sets System clock frequency to 36MHz and configure HCLK, PCLK2 - * and PCLK1 prescalers. - * @note This function should be used only after reset. - * @param None - * @retval None - */ -static void SetSysClockTo36(void) -{ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* Enable Prefetch Buffer */ - FLASH->ACR |= FLASH_ACR_PRFTBE; - - /* Flash 1 wait state */ - FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); - FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; - - /* HCLK = SYSCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; - - /* PCLK1 = HCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; - -#ifdef STM32F10X_CL - /* Configure PLLs ------------------------------------------------------*/ - - /* PLL configuration: PLLCLK = PREDIV1 * 9 = 36 MHz */ - RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL); - RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | - RCC_CFGR_PLLMULL9); - - /*!< PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */ - /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 10 = 4 MHz */ - - RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL | - RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); - RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 | - RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV10); - - /* Enable PLL2 */ - RCC->CR |= RCC_CR_PLL2ON; - /* Wait till PLL2 is ready */ - while((RCC->CR & RCC_CR_PLL2RDY) == 0) - { - } - -#else - /* PLL configuration: PLLCLK = (HSE / 2) * 9 = 36 MHz */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); - RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL9); -#endif /* STM32F10X_CL */ - - /* Enable PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Select PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; - - /* Wait till PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } -} -#elif defined SYSCLK_FREQ_48MHz -/** - * @brief Sets System clock frequency to 48MHz and configure HCLK, PCLK2 - * and PCLK1 prescalers. - * @note This function should be used only after reset. - * @param None - * @retval None - */ -static void SetSysClockTo48(void) -{ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* Enable Prefetch Buffer */ - FLASH->ACR |= FLASH_ACR_PRFTBE; - - /* Flash 1 wait state */ - FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); - FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; - - /* HCLK = SYSCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; - - /* PCLK1 = HCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; - -#ifdef STM32F10X_CL - /* Configure PLLs ------------------------------------------------------*/ - /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */ - /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */ - - RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL | - RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); - RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 | - RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5); - - /* Enable PLL2 */ - RCC->CR |= RCC_CR_PLL2ON; - /* Wait till PLL2 is ready */ - while((RCC->CR & RCC_CR_PLL2RDY) == 0) - { - } - - - /* PLL configuration: PLLCLK = PREDIV1 * 6 = 48 MHz */ - RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL); - RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | - RCC_CFGR_PLLMULL6); -#else - /* PLL configuration: PLLCLK = HSE * 6 = 48 MHz */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); - RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6); -#endif /* STM32F10X_CL */ - - /* Enable PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Select PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; - - /* Wait till PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } -} - -#elif defined SYSCLK_FREQ_56MHz -/** - * @brief Sets System clock frequency to 56MHz and configure HCLK, PCLK2 - * and PCLK1 prescalers. - * @note This function should be used only after reset. - * @param None - * @retval None - */ -static void SetSysClockTo56(void) -{ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* Enable Prefetch Buffer */ - FLASH->ACR |= FLASH_ACR_PRFTBE; - - /* Flash 2 wait state */ - FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); - FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; - - /* HCLK = SYSCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; - - /* PCLK1 = HCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; - -#ifdef STM32F10X_CL - /* Configure PLLs ------------------------------------------------------*/ - /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */ - /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */ - - RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL | - RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); - RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 | - RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5); - - /* Enable PLL2 */ - RCC->CR |= RCC_CR_PLL2ON; - /* Wait till PLL2 is ready */ - while((RCC->CR & RCC_CR_PLL2RDY) == 0) - { - } - - - /* PLL configuration: PLLCLK = PREDIV1 * 7 = 56 MHz */ - RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL); - RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | - RCC_CFGR_PLLMULL7); -#else - /* PLL configuration: PLLCLK = HSE * 7 = 56 MHz */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); - RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL7); - -#endif /* STM32F10X_CL */ - - /* Enable PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Select PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; - - /* Wait till PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } -} - -#elif defined SYSCLK_FREQ_72MHz -/** - * @brief Sets System clock frequency to 72MHz and configure HCLK, PCLK2 - * and PCLK1 prescalers. - * @note This function should be used only after reset. - * @param None - * @retval None - */ -static void SetSysClockTo72(void) -{ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* Enable Prefetch Buffer */ - FLASH->ACR |= FLASH_ACR_PRFTBE; - - /* Flash 2 wait state */ - FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); - FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; - - - /* HCLK = SYSCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; - - /* PCLK1 = HCLK */ - RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; - -#ifdef STM32F10X_CL - /* Configure PLLs ------------------------------------------------------*/ - /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */ - /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */ - - RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL | - RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); - RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 | - RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5); - - /* Enable PLL2 */ - RCC->CR |= RCC_CR_PLL2ON; - /* Wait till PLL2 is ready */ - while((RCC->CR & RCC_CR_PLL2RDY) == 0) - { - } - - - /* PLL configuration: PLLCLK = PREDIV1 * 9 = 72 MHz */ - RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL); - RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | - RCC_CFGR_PLLMULL9); -#else - /* PLL configuration: PLLCLK = HSE * 9 = 72 MHz */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | - RCC_CFGR_PLLMULL)); - RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); -#endif /* STM32F10X_CL */ - - /* Enable PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Select PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; - - /* Wait till PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.h deleted file mode 100644 index 739f33283..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.h +++ /dev/null @@ -1,98 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f10x.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Header File. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f10x_system - * @{ - */ - -/** - * @brief Define to prevent recursive inclusion - */ -#ifndef __SYSTEM_STM32F10X_H -#define __SYSTEM_STM32F10X_H - -#ifdef __cplusplus - extern "C" { -#endif - -/** @addtogroup STM32F10x_System_Includes - * @{ - */ - -/** - * @} - */ - - -/** @addtogroup STM32F10x_System_Exported_types - * @{ - */ - -extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ - -/** - * @} - */ - -/** @addtogroup STM32F10x_System_Exported_Constants - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F10x_System_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F10x_System_Exported_Functions - * @{ - */ - -extern void SystemInit(void); -extern void SystemCoreClockUpdate(void); -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /*__SYSTEM_STM32F10X_H */ - -/** - * @} - */ - -/** - * @} - */ -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CMSIS debug support.htm b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CMSIS debug support.htm deleted file mode 100644 index efda685be..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CMSIS debug support.htm +++ /dev/null @@ -1,243 +0,0 @@ - - - -CMSIS Debug Support - - - - - - - - -

CMSIS Debug Support

- -
- -

Cortex-M3 ITM Debug Access

-

- The Cortex-M3 incorporates the Instrumented Trace Macrocell (ITM) that provides together with - the Serial Viewer Output trace capabilities for the microcontroller system. The ITM has - 32 communication channels which are able to transmit 32 / 16 / 8 bit values; two ITM - communication channels are used by CMSIS to output the following information: -

-
    -
  • ITM Channel 0: used for printf-style output via the debug interface.
  • -
  • ITM Channel 31: is reserved for RTOS kernel awareness debugging.
  • -
- -

Debug IN / OUT functions

-

CMSIS provides following debug functions:

-
    -
  • ITM_SendChar (uses ITM channel 0)
  • -
  • ITM_ReceiveChar (uses global variable)
  • -
  • ITM_CheckChar (uses global variable)
  • -
- -

ITM_SendChar

-

- ITM_SendChar is used to transmit a character over ITM channel 0 from - the microcontroller system to the debug system.
- Only a 8 bit value is transmitted. -

-
-static __INLINE uint32_t ITM_SendChar (uint32_t ch)
-{
-  /* check if debugger connected and ITM channel enabled for tracing */
-  if ((CoreDebug->DEMCR & CoreDebug_DEMCR_TRCENA)  &&
-      (ITM->TCR & ITM_TCR_ITMENA)                  &&
-      (ITM->TER & (1UL << 0))  ) 
-  {
-    while (ITM->PORT[0].u32 == 0);
-    ITM->PORT[0].u8 = (uint8_t)ch;
-  }  
-  return (ch);
-}
- -

ITM_ReceiveChar

-

- ITM communication channel is only capable for OUT direction. For IN direction - a globel variable is used. A simple mechansim detects if a character is received. - The project to test need to be build with debug information. -

- -

- The globale variable ITM_RxBuffer is used to transmit a 8 bit value from debug system - to microcontroller system. ITM_RxBuffer is 32 bit wide to enshure a proper handshake. -

-
-extern volatile int ITM_RxBuffer;                    /* variable to receive characters                             */
-
-

- A dedicated bit pattern is used to determin if ITM_RxBuffer is empty - or contains a valid value. -

-
-#define             ITM_RXBUFFER_EMPTY    0x5AA55AA5 /* value identifying ITM_RxBuffer is ready for next character */
-
-

- ITM_ReceiveChar is used to receive a 8 bit value from the debug system. The function is nonblocking. - It returns the received character or '-1' if no character was available. -

-
-static __INLINE int ITM_ReceiveChar (void) {
-  int ch = -1;                               /* no character available */
-
-  if (ITM_RxBuffer != ITM_RXBUFFER_EMPTY) {
-    ch = ITM_RxBuffer;
-    ITM_RxBuffer = ITM_RXBUFFER_EMPTY;       /* ready for next character */
-  }
-  
-  return (ch); 
-}
-
- -

ITM_CheckChar

-

- ITM_CheckChar is used to check if a character is received. -

-
-static __INLINE int ITM_CheckChar (void) {
-
-  if (ITM_RxBuffer == ITM_RXBUFFER_EMPTY) {
-    return (0);                                 /* no character available */
-  } else {
-    return (1);                                 /*    character available */
-  }
-}
- - -

ITM Debug Support in uVision

-

- uVision uses in a debug session the Debug (printf) Viewer window to - display the debug data. -

-

Direction microcontroller system -> uVision:

-
    -
  • - Characters received via ITM communication channel 0 are written in a printf style - to Debug (printf) Viewer window. -
  • -
- -

Direction uVision -> microcontroller system:

-
    -
  • Check if ITM_RxBuffer variable is available (only performed once).
  • -
  • Read character from Debug (printf) Viewer window.
  • -
  • If ITM_RxBuffer empty write character to ITM_RxBuffer.
  • -
- -

Note

-
    -
  • Current solution does not use a buffer machanism for trasmitting the characters.

    -
  • -
- -

RTX Kernel awareness in uVision

-

- uVision / RTX are using a simple and efficient solution for RTX Kernel awareness. - No format overhead is necessary.
- uVsion debugger decodes the RTX events via the 32 / 16 / 8 bit ITM write access - to ITM communication channel 31. -

- -

Following RTX events are traced:

-
    -
  • Task Create / Delete event -
      -
    1. 32 bit access. Task start address is transmitted
    2. -
    3. 16 bit access. Task ID and Create/Delete flag are transmitted
      - High byte holds Create/Delete flag, Low byte holds TASK ID. -
    4. -
    -
  • -
  • Task switch event -
      -
    1. 8 bit access. Task ID of current task is transmitted
    2. -
    -
  • -
- -

Note

-
    -
  • Other RTOS information could be retrieved via memory read access in a polling mode manner.

    -
  • -
- - -

 

- -
- -

Copyright © KEIL - An ARM Company.
-All rights reserved.
-Visit our web site at www.keil.com. -

- - - - \ No newline at end of file diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CMSIS_changes.htm b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CMSIS_changes.htm deleted file mode 100644 index 162ffcc9d..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CMSIS_changes.htm +++ /dev/null @@ -1,320 +0,0 @@ - - - -CMSIS Changes - - - - - - - - -

Changes to CMSIS version V1.20

- -
- -

1. Removed CMSIS Middelware packages

-

- CMSIS Middleware is on hold from ARM side until a agreement between all CMSIS partners is found. -

- -

2. SystemFrequency renamed to SystemCoreClock

-

- The variable name SystemCoreClock is more precise than SystemFrequency - because the variable holds the clock value at which the core is running. -

- -

3. Changed startup concept

-

- The old startup concept (calling SystemInit_ExtMemCtl from startup file and calling SystemInit - from main) has the weakness that it does not work for controllers which need a already - configuerd clock system to configure the external memory controller. -

- -

Changed startup concept

-
    -
  • - SystemInit() is called from startup file before premain. -
  • -
  • - SystemInit() configures the clock system and also configures - an existing external memory controller. -
  • -
  • - SystemInit() must not use global variables. -
  • -
  • - SystemCoreClock is initialized with a correct predefined value. -
  • -
  • - Additional function void SystemCoreClockUpdate (void) is provided.
    - SystemCoreClockUpdate() updates the variable SystemCoreClock - and must be called whenever the core clock is changed.
    - SystemCoreClockUpdate() evaluates the clock register settings and calculates - the current core clock. -
  • -
- - -

4. Advanced Debug Functions

-

- ITM communication channel is only capable for OUT direction. To allow also communication for - IN direction a simple concept is provided. -

-
    -
  • - Global variable volatile int ITM_RxBuffer used for IN data. -
  • -
  • - Function int ITM_CheckChar (void) checks if a new character is available. -
  • -
  • - Function int ITM_ReceiveChar (void) retrieves the new character. -
  • -
- -

- For detailed explanation see file CMSIS debug support.htm. -

- - -

5. Core Register Bit Definitions

-

- Files core_cm3.h and core_cm0.h contain now bit definitions for Core Registers. The name for the - defines correspond with the Cortex-M Technical Reference Manual. -

-

- e.g. SysTick structure with bit definitions -

-
-/** @addtogroup CMSIS_CM3_SysTick CMSIS CM3 SysTick
-  memory mapped structure for SysTick
-  @{
- */
-typedef struct
-{
-  __IO uint32_t CTRL;                         /*!< Offset: 0x00  SysTick Control and Status Register */
-  __IO uint32_t LOAD;                         /*!< Offset: 0x04  SysTick Reload Value Register       */
-  __IO uint32_t VAL;                          /*!< Offset: 0x08  SysTick Current Value Register      */
-  __I  uint32_t CALIB;                        /*!< Offset: 0x0C  SysTick Calibration Register        */
-} SysTick_Type;
-
-/* SysTick Control / Status Register Definitions */
-#define SysTick_CTRL_COUNTFLAG_Pos         16                                             /*!< SysTick CTRL: COUNTFLAG Position */
-#define SysTick_CTRL_COUNTFLAG_Msk         (1ul << SysTick_CTRL_COUNTFLAG_Pos)            /*!< SysTick CTRL: COUNTFLAG Mask */
-
-#define SysTick_CTRL_CLKSOURCE_Pos          2                                             /*!< SysTick CTRL: CLKSOURCE Position */
-#define SysTick_CTRL_CLKSOURCE_Msk         (1ul << SysTick_CTRL_CLKSOURCE_Pos)            /*!< SysTick CTRL: CLKSOURCE Mask */
-
-#define SysTick_CTRL_TICKINT_Pos            1                                             /*!< SysTick CTRL: TICKINT Position */
-#define SysTick_CTRL_TICKINT_Msk           (1ul << SysTick_CTRL_TICKINT_Pos)              /*!< SysTick CTRL: TICKINT Mask */
-
-#define SysTick_CTRL_ENABLE_Pos             0                                             /*!< SysTick CTRL: ENABLE Position */
-#define SysTick_CTRL_ENABLE_Msk            (1ul << SysTick_CTRL_ENABLE_Pos)               /*!< SysTick CTRL: ENABLE Mask */
-
-/* SysTick Reload Register Definitions */
-#define SysTick_LOAD_RELOAD_Pos             0                                             /*!< SysTick LOAD: RELOAD Position */
-#define SysTick_LOAD_RELOAD_Msk            (0xFFFFFFul << SysTick_LOAD_RELOAD_Pos)        /*!< SysTick LOAD: RELOAD Mask */
-
-/* SysTick Current Register Definitions */
-#define SysTick_VAL_CURRENT_Pos             0                                             /*!< SysTick VAL: CURRENT Position */
-#define SysTick_VAL_CURRENT_Msk            (0xFFFFFFul << SysTick_VAL_CURRENT_Pos)        /*!< SysTick VAL: CURRENT Mask */
-
-/* SysTick Calibration Register Definitions */
-#define SysTick_CALIB_NOREF_Pos            31                                             /*!< SysTick CALIB: NOREF Position */
-#define SysTick_CALIB_NOREF_Msk            (1ul << SysTick_CALIB_NOREF_Pos)               /*!< SysTick CALIB: NOREF Mask */
-
-#define SysTick_CALIB_SKEW_Pos             30                                             /*!< SysTick CALIB: SKEW Position */
-#define SysTick_CALIB_SKEW_Msk             (1ul << SysTick_CALIB_SKEW_Pos)                /*!< SysTick CALIB: SKEW Mask */
-
-#define SysTick_CALIB_TENMS_Pos             0                                             /*!< SysTick CALIB: TENMS Position */
-#define SysTick_CALIB_TENMS_Msk            (0xFFFFFFul << SysTick_VAL_CURRENT_Pos)        /*!< SysTick CALIB: TENMS Mask */
-/*@}*/ /* end of group CMSIS_CM3_SysTick */
- -

7. DoxyGen Tags

-

- DoxyGen tags in files core_cm3.[c,h] and core_cm0.[c,h] are reworked to create proper documentation - using DoxyGen. -

- -

8. Folder Structure

-

- The folder structure is changed to differentiate the single support packages. -

- -
    -
  • CM0
  • -
  • CM3 -
      -
    • CoreSupport
    • -
    • DeviceSupport
    • -
        -
      • Vendor -
          -
        • Device -
            -
          • Startup -
              -
            • Toolchain
            • -
            • Toolchain
            • -
            • ...
            • -
            -
          • -
          -
        • -
        • Device
        • -
        • ...
        • -
        -
      • -
      • Vendor
      • -
      • ...
      • -
      - -
    • Example -
        -
      • Toolchain -
          -
        • Device
        • -
        • Device
        • -
        • ...
        • -
        -
      • -
      • Toolchain
      • -
      • ...
      • -
      -
    • -
    -
  • - -
  • Documentation
  • -
- -

9. Open Points

-

- Following points need to be clarified and solved: -

-
    -
  • -

    - Equivalent C and Assembler startup files. -

    -

    - Is there a need for having C startup files although assembler startup files are - very efficient and do not need to be changed? -

    -

  • -
  • -

    - Placing of HEAP in external RAM. -

    -

    - It must be possible to place HEAP in external RAM if the device supports an - external memory controller. -

    -
  • -
  • -

    - Placing of STACK /HEAP. -

    -

    - STACK should always be placed at the end of internal RAM. -

    -

    - If HEAP is placed in internal RAM than it should be placed after RW ZI section. -

    -
  • -
  • -

    - Removing core_cm3.c and core_cm0.c. -

    -

    - On a long term the functions in core_cm3.c and core_cm0.c must be replaced with - appropriate compiler intrinsics. -

    -
  • -
- - -

10. Limitations

-

- The following limitations are not covered with the current CMSIS version: -

-
    -
  • - No C startup files for ARM toolchain are provided. -
  • -
  • - No C startup files for GNU toolchain are provided. -
  • -
  • - No C startup files for IAR toolchain are provided. -
  • -
  • - No Tasking projects are provided yet. -
  • -
diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/Documentation/CMSIS_Core.htm b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/Documentation/CMSIS_Core.htm deleted file mode 100644 index 6fd131e12..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/Documentation/CMSIS_Core.htm +++ /dev/null @@ -1,1337 +0,0 @@ - - - - CMSIS: Cortex Microcontroller Software Interface Standard - - - -

Cortex Microcontroller Software Interface Standard

- -

This file describes the Cortex Microcontroller Software Interface Standard (CMSIS).

-

Version: 1.30 - 30. October 2009

- -

Information in this file, the accompany manuals, and software is
- Copyright © ARM Ltd.
All rights reserved. -

- -
- -

Revision History

-
    -
  • Version 1.00: initial release.
  • -
  • Version 1.01: added __LDREXx, __STREXx, and __CLREX.
  • -
  • Version 1.02: added Cortex-M0.
  • -
  • Version 1.10: second review.
  • -
  • Version 1.20: third review.
  • -
  • Version 1.30 PRE-RELEASE: reworked Startup Concept, additional Debug Functionality.
  • -
  • Version 1.30 2nd PRE-RELEASE: changed folder structure, added doxyGen comments, added Bit definitions.
  • -
  • Version 1.30: updated Device Support Packages.
  • -
- -
- -

Contents

- -
    -
  1. About
  2. -
  3. Coding Rules and Conventions
  4. -
  5. CMSIS Files
  6. -
  7. Core Peripheral Access Layer
  8. -
  9. CMSIS Example
  10. -
- -

About

- -

- The Cortex Microcontroller Software Interface Standard (CMSIS) answers the challenges - that are faced when software components are deployed to physical microcontroller devices based on a - Cortex-M0 or Cortex-M3 processor. The CMSIS will be also expanded to future Cortex-M - processor cores (the term Cortex-M is used to indicate that). The CMSIS is defined in close co-operation - with various silicon and software vendors and provides a common approach to interface to peripherals, - real-time operating systems, and middleware components. -

- -

ARM provides as part of the CMSIS the following software layers that are -available for various compiler implementations:

-
    -
  • Core Peripheral Access Layer: contains name definitions, - address definitions and helper functions to - access core registers and peripherals. It defines also a device - independent interface for RTOS Kernels that includes debug channel - definitions.
  • -
- -

These software layers are expanded by Silicon partners with:

-
    -
  • Device Peripheral Access Layer: provides definitions - for all device peripherals
  • -
  • Access Functions for Peripherals (optional): provides - additional helper functions for peripherals
  • -
- -

CMSIS defines for a Cortex-M Microcontroller System:

-
    -
  • A common way to access peripheral registers - and a common way to define exception vectors.
  • -
  • The register names of the Core - Peripherals and the names of the Core - Exception Vectors.
  • -
  • An device independent interface for RTOS Kernels including a debug - channel.
  • -
- -

- By using CMSIS compliant software components, the user can easier re-use template code. - CMSIS is intended to enable the combination of software components from multiple middleware vendors. -

- -

Coding Rules and Conventions

- -

- The following section describes the coding rules and conventions used in the CMSIS - implementation. It contains also information about data types and version number information. -

- -

Essentials

-
    -
  • The CMSIS C code conforms to MISRA 2004 rules. In case of MISRA violations, - there are disable and enable sequences for PC-LINT inserted.
  • -
  • ANSI standard data types defined in the ANSI C header file - <stdint.h> are used.
  • -
  • #define constants that include expressions must be enclosed by - parenthesis.
  • -
  • Variables and parameters have a complete data type.
  • -
  • All functions in the Core Peripheral Access Layer are - re-entrant.
  • -
  • The Core Peripheral Access Layer has no blocking code - (which means that wait/query loops are done at other software layers).
  • -
  • For each exception/interrupt there is definition for: -
      -
    • an exception/interrupt handler with the postfix _Handler - (for exceptions) or _IRQHandler (for interrupts).
    • -
    • a default exception/interrupt handler (weak definition) that contains an endless loop.
    • -
    • a #define of the interrupt number with the postfix _IRQn.
    • -
  • -
- -

Recommendations

- -

The CMSIS recommends the following conventions for identifiers.

-
    -
  • CAPITAL names to identify Core Registers, Peripheral Registers, and CPU Instructions.
  • -
  • CamelCase names to identify peripherals access functions and interrupts.
  • -
  • PERIPHERAL_ prefix to identify functions that belong to specify peripherals.
  • -
  • Doxygen comments for all functions are included as described under Function Comments below.
  • -
- -Comments - -
    -
  • Comments use the ANSI C90 style (/* comment */) or C++ style - (// comment). It is assumed that the programming tools support today - consistently the C++ comment style.
  • -
  • Function Comments provide for each function the following information: -
      -
    • one-line brief function overview.
    • -
    • detailed parameter explanation.
    • -
    • detailed information about return values.
    • -
    • detailed description of the actual function.
    • -
    -

    Doxygen Example:

    -
    -/** 
    - * @brief  Enable Interrupt in NVIC Interrupt Controller
    - * @param  IRQn  interrupt number that specifies the interrupt
    - * @return none.
    - * Enable the specified interrupt in the NVIC Interrupt Controller.
    - * Other settings of the interrupt such as priority are not affected.
    - */
    -
  • -
- -

Data Types and IO Type Qualifiers

- -

- The Cortex-M HAL uses the standard types from the standard ANSI C header file - <stdint.h>. IO Type Qualifiers are used to specify the access - to peripheral variables. IO Type Qualifiers are indented to be used for automatic generation of - debug information of peripheral registers. -

- - - - - - - - - - - - - - - - - - - - - - - - -
IO Type Qualifier#defineDescription
__Ivolatile constRead access only
__OvolatileWrite access only
__IOvolatileRead and write access
- -

CMSIS Version Number

-

- File core_cm3.h contains the version number of the CMSIS with the following define: -

- -
-#define __CM3_CMSIS_VERSION_MAIN  (0x01)      /* [31:16] main version       */
-#define __CM3_CMSIS_VERSION_SUB   (0x30)      /* [15:0]  sub version        */
-#define __CM3_CMSIS_VERSION       ((__CM3_CMSIS_VERSION_MAIN << 16) | __CM3_CMSIS_VERSION_SUB)
- -

- File core_cm0.h contains the version number of the CMSIS with the following define: -

- -
-#define __CM0_CMSIS_VERSION_MAIN  (0x01)      /* [31:16] main version       */
-#define __CM0_CMSIS_VERSION_SUB   (0x30)      /* [15:0]  sub version        */
-#define __CM0_CMSIS_VERSION       ((__CM0_CMSIS_VERSION_MAIN << 16) | __CM0_CMSIS_VERSION_SUB)
- - -

CMSIS Cortex Core

-

- File core_cm3.h contains the type of the CMSIS Cortex-M with the following define: -

- -
-#define __CORTEX_M                (0x03)
- -

- File core_cm0.h contains the type of the CMSIS Cortex-M with the following define: -

- -
-#define __CORTEX_M                (0x00)
- - -

CMSIS Files

-

- This section describes the Files provided in context with the CMSIS to access the Cortex-M - hardware and peripherals. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileProviderDescription
device.hDevice specific (provided by silicon partner)Defines the peripherals for the actual device. The file may use - several other include files to define the peripherals of the actual device.
core_cm0.hARM (for RealView ARMCC, IAR, and GNU GCC)Defines the core peripherals for the Cortex-M0 CPU and core peripherals.
core_cm3.hARM (for RealView ARMCC, IAR, and GNU GCC)Defines the core peripherals for the Cortex-M3 CPU and core peripherals.
core_cm0.cARM (for RealView ARMCC, IAR, and GNU GCC)Provides helper functions that access core registers.
core_cm3.cARM (for RealView ARMCC, IAR, and GNU GCC)Provides helper functions that access core registers.
startup_deviceARM (adapted by compiler partner / silicon partner)Provides the Cortex-M startup code and the complete (device specific) Interrupt Vector Table
system_deviceARM (adapted by silicon partner)Provides a device specific configuration file for the device. It configures the device initializes - typically the oscillator (PLL) that is part of the microcontroller device
- -

device.h

- -

- The file device.h is provided by the silicon vendor and is the - central include file that the application programmer is using in - the C source code. This file contains: -

-
    -
  • -

    Interrupt Number Definition: provides interrupt numbers - (IRQn) for all core and device specific exceptions and interrupts.

    -
  • -
  • -

    Configuration for core_cm0.h / core_cm3.h: reflects the - actual configuration of the Cortex-M processor that is part of the actual - device. As such the file core_cm0.h / core_cm3.h is included that - implements access to processor registers and core peripherals.

    -
  • -
  • -

    Device Peripheral Access Layer: provides definitions - for all device peripherals. It contains all data structures and the address - mapping for the device specific peripherals.

    -
  • -
  • Access Functions for Peripherals (optional): provides - additional helper functions for peripherals that are useful for programming - of these peripherals. Access Functions may be provided as inline functions - or can be extern references to a device specific library provided by the - silicon vendor.
  • -
- - -

Interrupt Number Definition

- -

To access the device specific interrupts the device.h file defines IRQn -numbers for the complete device using a enum typedef as shown below:

-
-typedef enum IRQn
-{
-/******  Cortex-M3 Processor Exceptions/Interrupt Numbers ************************************************/
-  NonMaskableInt_IRQn             = -14,      /*!< 2 Non Maskable Interrupt                              */
-  HardFault_IRQn                  = -13,      /*!< 3 Cortex-M3 Hard Fault Interrupt                      */
-  MemoryManagement_IRQn           = -12,      /*!< 4 Cortex-M3 Memory Management Interrupt               */
-  BusFault_IRQn                   = -11,      /*!< 5 Cortex-M3 Bus Fault Interrupt                       */
-  UsageFault_IRQn                 = -10,      /*!< 6 Cortex-M3 Usage Fault Interrupt                     */
-  SVCall_IRQn                     = -5,       /*!< 11 Cortex-M3 SV Call Interrupt                        */
-  DebugMonitor_IRQn               = -4,       /*!< 12 Cortex-M3 Debug Monitor Interrupt                  */
-  PendSV_IRQn                     = -2,       /*!< 14 Cortex-M3 Pend SV Interrupt                        */
-  SysTick_IRQn                    = -1,       /*!< 15 Cortex-M3 System Tick Interrupt                    */
-/******  STM32 specific Interrupt Numbers ****************************************************************/
-  WWDG_STM_IRQn                   = 0,        /*!< Window WatchDog Interrupt                             */
-  PVD_STM_IRQn                    = 1,        /*!< PVD through EXTI Line detection Interrupt             */
-  :
-  :
-  } IRQn_Type;
- - -

Configuration for core_cm0.h / core_cm3.h

-

- The Cortex-M core configuration options which are defined for each device implementation. Some - configuration options are reflected in the CMSIS layer using the #define settings described below. -

-

- To access core peripherals file device.h includes file core_cm0.h / core_cm3.h. - Several features in core_cm0.h / core_cm3.h are configured by the following defines that must be - defined before #include <core_cm0.h> / #include <core_cm3.h> - preprocessor command. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#defineFileValueDescription
__NVIC_PRIO_BITScore_cm0.h(2)Number of priority bits implemented in the NVIC (device specific)
__NVIC_PRIO_BITScore_cm3.h(2 ... 8)Number of priority bits implemented in the NVIC (device specific)
__MPU_PRESENTcore_cm0.h, core_cm3.h(0, 1)Defines if an MPU is present or not
__Vendor_SysTickConfigcore_cm0.h, core_cm3.h(1)When this define is setup to 1, the SysTickConfig function - in core_cm3.h is excluded. In this case the device.h - file must contain a vendor specific implementation of this function.
- - -

Device Peripheral Access Layer

-

- Each peripheral uses a prefix which consists of <device abbreviation>_ - and <peripheral name>_ to identify peripheral registers that access this - specific peripheral. The intention of this is to avoid name collisions caused - due to short names. If more than one peripheral of the same type exists, - identifiers have a postfix (digit or letter). For example: -

-
    -
  • <device abbreviation>_UART_Type: defines the generic register layout for all UART channels in a device. -
    -typedef struct
    -{
    -  union {
    -  __I  uint8_t  RBR;                     /*!< Offset: 0x000   Receiver Buffer Register    */
    -  __O  uint8_t  THR;                     /*!< Offset: 0x000   Transmit Holding Register   */
    -  __IO uint8_t  DLL;                     /*!< Offset: 0x000   Divisor Latch LSB           */
    -       uint32_t RESERVED0;
    -  };
    -  union {
    -  __IO uint8_t  DLM;                     /*!< Offset: 0x004   Divisor Latch MSB           */
    -  __IO uint32_t IER;                     /*!< Offset: 0x004   Interrupt Enable Register   */
    -  };
    -  union {
    -  __I  uint32_t IIR;                     /*!< Offset: 0x008   Interrupt ID Register       */
    -  __O  uint8_t  FCR;                     /*!< Offset: 0x008   FIFO Control Register       */
    -  };
    -  __IO uint8_t  LCR;                     /*!< Offset: 0x00C   Line Control Register       */
    -       uint8_t  RESERVED1[7];
    -  __I  uint8_t  LSR;                     /*!< Offset: 0x014   Line Status Register        */
    -       uint8_t  RESERVED2[7];
    -  __IO uint8_t  SCR;                     /*!< Offset: 0x01C   Scratch Pad Register        */
    -       uint8_t  RESERVED3[3];
    -  __IO uint32_t ACR;                     /*!< Offset: 0x020   Autobaud Control Register   */
    -  __IO uint8_t  ICR;                     /*!< Offset: 0x024   IrDA Control Register       */
    -       uint8_t  RESERVED4[3];
    -  __IO uint8_t  FDR;                     /*!< Offset: 0x028   Fractional Divider Register */
    -       uint8_t  RESERVED5[7];
    -  __IO uint8_t  TER;                     /*!< Offset: 0x030   Transmit Enable Register    */
    -       uint8_t  RESERVED6[39];
    -  __I  uint8_t  FIFOLVL;                 /*!< Offset: 0x058   FIFO Level Register         */
    -} LPC_UART_TypeDef;
    -
  • -
  • <device abbreviation>_UART1: is a pointer to a register structure that refers to a specific UART. - For example UART1->DR is the data register of UART1. -
    -#define LPC_UART2             ((LPC_UART_TypeDef      *) LPC_UART2_BASE    )
    -#define LPC_UART3             ((LPC_UART_TypeDef      *) LPC_UART3_BASE    )
    -
  • -
- -
Minimal Requiements
-

- To access the peripheral registers and related function in a device the files device.h - and core_cm0.h / core_cm3.h defines as a minimum: -

-
    -
  • The Register Layout Typedef for each peripheral that defines all register names. - Names that start with RESERVE are used to introduce space into the structure to adjust the addresses of - the peripheral registers. For example: -
    -typedef struct {
    -  __IO uint32_t CTRL;      /* SysTick Control and Status Register */
    -  __IO uint32_t LOAD;      /* SysTick Reload Value Register       */
    -  __IO uint32_t VAL;       /* SysTick Current Value Register      */
    -  __I  uint32_t CALIB;     /* SysTick Calibration Register        */
    -  } SysTick_Type;
    -
  • - -
  • - Base Address for each peripheral (in case of multiple peripherals - that use the same register layout typedef multiple base addresses are defined). For example: -
    -#define SysTick_BASE (SCS_BASE + 0x0010)            /* SysTick Base Address */
    -
  • - -
  • - Access Definition for each peripheral (in case of multiple peripherals that use - the same register layout typedef multiple access definitions exist, i.e. LPC_UART0, - LPC_UART2). For Example: -
    -#define SysTick ((SysTick_Type *) SysTick_BASE)     /* SysTick access definition */
    -
  • -
- -

- These definitions allow to access the peripheral registers from user code with simple assignments like: -

-
SysTick->CTRL = 0;
- -
Optional Features
-

In addition the device.h file may define:

-
    -
  • - #define constants that simplify access to the peripheral registers. - These constant define bit-positions or other specific patterns are that required for the - programming of the peripheral registers. The identifiers used start with - <device abbreviation>_ and <peripheral name>_. - It is recommended to use CAPITAL letters for such #define constants. -
  • -
  • - Functions that perform more complex functions with the peripheral (i.e. status query before - a sending register is accessed). Again these function start with - <device abbreviation>_ and <peripheral name>_. -
  • -
- -

core_cm0.h and core_cm0.c

-

- File core_cm0.h describes the data structures for the Cortex-M0 core peripherals and does - the address mapping of this structures. It also provides basic access to the Cortex-M0 core registers - and core peripherals with efficient functions (defined as static inline). -

-

- File core_cm0.c defines several helper functions that access processor registers. -

-

Together these files implement the Core Peripheral Access Layer for a Cortex-M0.

- -

core_cm3.h and core_cm3.c

-

- File core_cm3.h describes the data structures for the Cortex-M3 core peripherals and does - the address mapping of this structures. It also provides basic access to the Cortex-M3 core registers - and core peripherals with efficient functions (defined as static inline). -

-

- File core_cm3.c defines several helper functions that access processor registers. -

-

Together these files implement the Core Peripheral Access Layer for a Cortex-M3.

- -

startup_device

-

- A template file for startup_device is provided by ARM for each supported - compiler. It is adapted by the silicon vendor to include interrupt vectors for all device specific - interrupt handlers. Each interrupt handler is defined as weak function - to an dummy handler. Therefore the interrupt handler can be directly used in application software - without any requirements to adapt the startup_device file. -

-

- The following exception names are fixed and define the start of the vector table for a Cortex-M0: -

-
-__Vectors       DCD     __initial_sp              ; Top of Stack
-                DCD     Reset_Handler             ; Reset Handler
-                DCD     NMI_Handler               ; NMI Handler
-                DCD     HardFault_Handler         ; Hard Fault Handler
-                DCD     0                         ; Reserved
-                DCD     0                         ; Reserved
-                DCD     0                         ; Reserved
-                DCD     0                         ; Reserved
-                DCD     0                         ; Reserved
-                DCD     0                         ; Reserved
-                DCD     0                         ; Reserved
-                DCD     SVC_Handler               ; SVCall Handler
-                DCD     0                         ; Reserved
-                DCD     0                         ; Reserved
-                DCD     PendSV_Handler            ; PendSV Handler
-                DCD     SysTick_Handler           ; SysTick Handler
- -

- The following exception names are fixed and define the start of the vector table for a Cortex-M3: -

-
-__Vectors       DCD     __initial_sp              ; Top of Stack
-                DCD     Reset_Handler             ; Reset Handler
-                DCD     NMI_Handler               ; NMI Handler
-                DCD     HardFault_Handler         ; Hard Fault Handler
-                DCD     MemManage_Handler         ; MPU Fault Handler
-                DCD     BusFault_Handler          ; Bus Fault Handler
-                DCD     UsageFault_Handler        ; Usage Fault Handler
-                DCD     0                         ; Reserved
-                DCD     0                         ; Reserved
-                DCD     0                         ; Reserved
-                DCD     0                         ; Reserved
-                DCD     SVC_Handler               ; SVCall Handler
-                DCD     DebugMon_Handler          ; Debug Monitor Handler
-                DCD     0                         ; Reserved
-                DCD     PendSV_Handler            ; PendSV Handler
-                DCD     SysTick_Handler           ; SysTick Handler
- -

- In the following examples for device specific interrupts are shown: -

-
-; External Interrupts
-                DCD     WWDG_IRQHandler           ; Window Watchdog
-                DCD     PVD_IRQHandler            ; PVD through EXTI Line detect
-                DCD     TAMPER_IRQHandler         ; Tamper
- -

- Device specific interrupts must have a dummy function that can be overwritten in user code. - Below is an example for this dummy function. -

-
-Default_Handler PROC
-                EXPORT WWDG_IRQHandler   [WEAK]
-                EXPORT PVD_IRQHandler    [WEAK]
-                EXPORT TAMPER_IRQHandler [WEAK]
-                :
-                :
-                WWDG_IRQHandler
-                PVD_IRQHandler
-                TAMPER_IRQHandler
-                :
-                :
-                B .
-                ENDP
- -

- The user application may simply define an interrupt handler function by using the handler name - as shown below. -

-
-void WWDG_IRQHandler(void)
-{
-  :
-  :
-}
- - -

system_device.c

-

- A template file for system_device.c is provided by ARM but adapted by - the silicon vendor to match their actual device. As a minimum requirement - this file must provide a device specific system configuration function and a global variable - that contains the system frequency. It configures the device and initializes typically the - oscillator (PLL) that is part of the microcontroller device. -

-

- The file system_device.c must provide - as a minimum requirement the SystemInit function as shown below. -

- - - - - - - - - - - - - - - - -
Function DefinitionDescription
void SystemInit (void)Setup the microcontroller system. Typically this function configures the - oscillator (PLL) that is part of the microcontroller device. For systems - with variable clock speed it also updates the variable SystemCoreClock.
- SystemInit is called from startup_device file.
void SystemCoreClockUpdate (void)Updates the variable SystemCoreClock and must be called whenever the - core clock is changed during program execution. SystemCoreClockUpdate() - evaluates the clock register settings and calculates the current core clock. -
- -

- Also part of the file system_device.c - is the variable SystemCoreClock which contains the current CPU clock speed shown below. -

- - - - - - - - - - - - -
Variable DefinitionDescription
uint32_t SystemCoreClockContains the system core clock (which is the system clock frequency supplied - to the SysTick timer and the processor core clock). This variable can be - used by the user application to setup the SysTick timer or configure other - parameters. It may also be used by debugger to query the frequency of the - debug timer or configure the trace clock speed.
- SystemCoreClock is initialized with a correct predefined value.

- The compiler must be configured to avoid the removal of this variable in - case that the application program is not using it. It is important for - debug systems that the variable is physically present in memory so that - it can be examined to configure the debugger.
- -

Note

-
    -
  • The above definitions are the minimum requirements for the file - system_device.c. This - file may export more functions or variables that provide a more flexible - configuration of the microcontroller system.

    -
  • -
- - -

Core Peripheral Access Layer

- -

Cortex-M Core Register Access

-

- The following functions are defined in core_cm0.h / core_cm3.h - and provide access to Cortex-M core registers. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function DefinitionCoreCore RegisterDescription
void __enable_irq (void)M0, M3PRIMASK = 0Global Interrupt enable (using the instruction CPSIE - i)
void __disable_irq (void)M0, M3PRIMASK = 1Global Interrupt disable (using the instruction - CPSID i)
void __set_PRIMASK (uint32_t value)M0, M3PRIMASK = valueAssign value to Priority Mask Register (using the instruction - MSR)
uint32_t __get_PRIMASK (void)M0, M3return PRIMASKReturn Priority Mask Register (using the instruction - MRS)
void __enable_fault_irq (void)M3FAULTMASK = 0Global Fault exception and Interrupt enable (using the - instruction CPSIE - f)
void __disable_fault_irq (void)M3FAULTMASK = 1Global Fault exception and Interrupt disable (using the - instruction CPSID f)
void __set_FAULTMASK (uint32_t value)M3FAULTMASK = valueAssign value to Fault Mask Register (using the instruction - MSR)
uint32_t __get_FAULTMASK (void)M3return FAULTMASKReturn Fault Mask Register (using the instruction MRS)
void __set_BASEPRI (uint32_t value)M3BASEPRI = valueSet Base Priority (using the instruction MSR)
uiuint32_t __get_BASEPRI (void)M3return BASEPRIReturn Base Priority (using the instruction MRS)
void __set_CONTROL (uint32_t value)M0, M3CONTROL = valueSet CONTROL register value (using the instruction MSR)
uint32_t __get_CONTROL (void)M0, M3return CONTROLReturn Control Register Value (using the instruction - MRS)
void __set_PSP (uint32_t TopOfProcStack)M0, M3PSP = TopOfProcStackSet Process Stack Pointer value (using the instruction - MSR)
uint32_t __get_PSP (void)M0, M3return PSPReturn Process Stack Pointer (using the instruction MRS)
void __set_MSP (uint32_t TopOfMainStack)M0, M3MSP = TopOfMainStackSet Main Stack Pointer (using the instruction MSR)
uint32_t __get_MSP (void)M0, M3return MSPReturn Main Stack Pointer (using the instruction MRS)
- -

Cortex-M Instruction Access

-

- The following functions are defined in core_cm0.h / core_cm3.hand - generate specific Cortex-M instructions. The functions are implemented in the file - core_cm0.c / core_cm3.c. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameCoreGenerated CPU InstructionDescription
void __NOP (void)M0, M3NOPNo Operation
void __WFI (void)M0, M3WFIWait for Interrupt
void __WFE (void)M0, M3WFEWait for Event
void __SEV (void)M0, M3SEVSet Event
void __ISB (void)M0, M3ISBInstruction Synchronization Barrier
void __DSB (void)M0, M3DSBData Synchronization Barrier
void __DMB (void)M0, M3DMBData Memory Barrier
uint32_t __REV (uint32_t value)M0, M3REVReverse byte order in integer value.
uint32_t __REV16 (uint16_t value)M0, M3REV16Reverse byte order in unsigned short value.
sint32_t __REVSH (sint16_t value)M0, M3REVSHReverse byte order in signed short value with sign extension to integer.
uint32_t __RBIT (uint32_t value)M3RBITReverse bit order of value
uint8_t __LDREXB (uint8_t *addr)M3LDREXBLoad exclusive byte
uint16_t __LDREXH (uint16_t *addr)M3LDREXHLoad exclusive half-word
uint32_t __LDREXW (uint32_t *addr)M3LDREXWLoad exclusive word
uint32_t __STREXB (uint8_t value, uint8_t *addr)M3STREXBStore exclusive byte
uint32_t __STREXB (uint16_t value, uint16_t *addr)M3STREXHStore exclusive half-word
uint32_t __STREXB (uint32_t value, uint32_t *addr)M3STREXWStore exclusive word
void __CLREX (void)M3CLREXRemove the exclusive lock created by __LDREXB, __LDREXH, or __LDREXW
- - -

NVIC Access Functions

-

- The CMSIS provides access to the NVIC via the register interface structure and several helper - functions that simplify the setup of the NVIC. The CMSIS HAL uses IRQ numbers (IRQn) to - identify the interrupts. The first device interrupt has the IRQn value 0. Therefore negative - IRQn values are used for processor core exceptions. -

-

- For the IRQn values of core exceptions the file device.h provides - the following enum names. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Core Exception enum ValueCoreIRQnDescription
NonMaskableInt_IRQnM0, M3-14Cortex-M Non Maskable Interrupt
HardFault_IRQnM0, M3-13Cortex-M Hard Fault Interrupt
MemoryManagement_IRQnM3-12Cortex-M Memory Management Interrupt
BusFault_IRQnM3-11Cortex-M Bus Fault Interrupt
UsageFault_IRQnM3-10Cortex-M Usage Fault Interrupt
SVCall_IRQnM0, M3-5Cortex-M SV Call Interrupt
DebugMonitor_IRQnM3-4Cortex-M Debug Monitor Interrupt
PendSV_IRQnM0, M3-2Cortex-M Pend SV Interrupt
SysTick_IRQnM0, M3-1Cortex-M System Tick Interrupt
- -

The following functions simplify the setup of the NVIC. -The functions are defined as static inline.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameCoreParameterDescription
void NVIC_SetPriorityGrouping (uint32_t PriorityGroup)M3Priority Grouping ValueSet the Priority Grouping (Groups . Subgroups)
uint32_t NVIC_GetPriorityGrouping (void)M3(void)Get the Priority Grouping (Groups . Subgroups)
void NVIC_EnableIRQ (IRQn_Type IRQn)M0, M3IRQ NumberEnable IRQn
void NVIC_DisableIRQ (IRQn_Type IRQn)M0, M3IRQ NumberDisable IRQn
uint32_t NVIC_GetPendingIRQ (IRQn_Type IRQn)M0, M3IRQ NumberReturn 1 if IRQn is pending else 0
void NVIC_SetPendingIRQ (IRQn_Type IRQn)M0, M3IRQ NumberSet IRQn Pending
void NVIC_ClearPendingIRQ (IRQn_Type IRQn)M0, M3IRQ NumberClear IRQn Pending Status
uint32_t NVIC_GetActive (IRQn_Type IRQn)M3IRQ NumberReturn 1 if IRQn is active else 0
void NVIC_SetPriority (IRQn_Type IRQn, uint32_t priority)M0, M3IRQ Number, PrioritySet Priority for IRQn
- (not threadsafe for Cortex-M0)
uint32_t NVIC_GetPriority (IRQn_Type IRQn)M0, M3IRQ NumberGet Priority for IRQn
uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)M3IRQ Number, Priority Group, Preemptive Priority, Sub PriorityEncode priority for given group, preemptive and sub priority
NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* pPreemptPriority, uint32_t* pSubPriority)M3IRQ Number, Priority, pointer to Priority Group, pointer to Preemptive Priority, pointer to Sub PriorityDeccode given priority to group, preemptive and sub priority
void NVIC_SystemReset (void)M0, M3(void)Resets the System
-

Note

-
    -
  • The processor exceptions have negative enum values. Device specific interrupts - have positive enum values and start with 0. The values are defined in - device.h file. -

    -
  • -
  • The values for PreemptPriority and SubPriority - used in functions NVIC_EncodePriority and NVIC_DecodePriority - depend on the available __NVIC_PRIO_BITS implemented in the NVIC. -

    -
  • -
- - -

SysTick Configuration Function

- -

The following function is used to configure the SysTick timer and start the -SysTick interrupt.

- - - - - - - - - - - - - - -
NameParameterDescription
uint32_t SysTickConfig - (uint32_t ticks)ticks is SysTick counter reload valueSetup the SysTick timer and enable the SysTick interrupt. After this - call the SysTick timer creates interrupts with the specified time - interval.
-
- Return: 0 when successful, 1 on failure.
-
- - -

Cortex-M3 ITM Debug Access

- -

The Cortex-M3 incorporates the Instrumented Trace Macrocell (ITM) that -provides together with the Serial Viewer Output trace capabilities for the -microcontroller system. The ITM has 32 communication channels; two ITM -communication channels are used by CMSIS to output the following information:

-
    -
  • ITM Channel 0: implements the ITM_SendChar function - which can be used for printf-style output via the debug interface.
  • -
  • ITM Channel 31: is reserved for the RTOS kernel and can be used for - kernel awareness debugging.
  • -
-

Note

-
    -
  • The ITM channel 31 is selected for the RTOS kernel since some kernels - may use the Privileged level for program execution. ITM - channels have 4 groups with 8 channels each, whereby each group can be - configured for access rights in the Unprivileged level. The ITM channel 0 - may be therefore enabled for the user task whereas ITM channel 31 may be - accessible only in Privileged level from the RTOS kernel itself.

    -
  • -
- -

The prototype of the ITM_SendChar routine is shown in the -table below.

- - - - - - - - - - - - - - -
NameParameterDescription
void uint32_t ITM_SendChar(uint32_t chr)character to outputThe function outputs a character via the ITM channel 0. The - function returns when no debugger is connected that has booked the - output. It is blocking when a debugger is connected, but the - previous character send is not transmitted.

- Return: the input character 'chr'.
- -

- Example for the usage of the ITM Channel 31 for RTOS Kernels: -

-
-  // check if debugger connected and ITM channel enabled for tracing
-  if ((CoreDebug->DEMCR & CoreDebug_DEMCR_TRCENA) &&
-  (ITM->TCR & ITM_TCR_ITMENA) &&
-  (ITM->TER & (1UL << 31))) {
-    // transmit trace data
-    while (ITM->PORT31_U32 == 0);
-    ITM->PORT[31].u8 = task_id;      // id of next task
-    while (ITM->PORT[31].u32 == 0);
-    ITM->PORT[31].u32 = task_status; // status information
-  }
- - -

Cortex-M3 additional Debug Access

- -

CMSIS provides additional debug functions to enlarge the Cortex-M3 Debug Access. -Data can be transmitted via a certain global buffer variable towards the target system.

- -

The buffer variable and the prototypes of the additional functions are shown in the -table below.

- - - - - - - - - - - - - - - - - - - - - - - - -
NameParameterDescription
extern volatile int ITM_RxBuffer Buffer to transmit data towards debug system.

- Value 0x5AA55AA5 indicates that buffer is empty.
int ITM_ReceiveChar (void)noneThe nonblocking functions returns the character stored in - ITM_RxBuffer.

- Return: -1 indicates that no character was received.
int ITM_CheckChar (void)noneThe function checks if a character is available in ITM_RxBuffer.

- Return: 1 indicates that a character is available, 0 indicates that - no character is available.
- - -

CMSIS Example

-

- The following section shows a typical example for using the CMSIS layer in user applications. - The example is based on a STM32F10x Device. -

-
-#include "stm32f10x.h"
-
-volatile uint32_t msTicks;                       /* timeTicks counter */
-
-void SysTick_Handler(void) {
-  msTicks++;                                     /* increment timeTicks counter */
-}
-
-__INLINE static void Delay (uint32_t dlyTicks) {
-  uint32_t curTicks = msTicks;
-
-  while ((msTicks - curTicks) < dlyTicks);
-}
-
-__INLINE static void LED_Config(void) {
-  ;                                              /* Configure the LEDs */
-}
-
-__INLINE static void LED_On (uint32_t led) {
-  ;                                              /* Turn On  LED */
-}
-
-__INLINE static void LED_Off (uint32_t led) {
-  ;                                              /* Turn Off LED */
-}
-
-int main (void) {
-  if (SysTick_Config (SystemCoreClock / 1000)) { /* Setup SysTick for 1 msec interrupts */
-    ;                                            /* Handle Error */
-    while (1);
-  }
-  
-  LED_Config();                                  /* configure the LEDs */                            
- 
-  while(1) {
-    LED_On (0x100);                              /* Turn  on the LED   */
-    Delay (100);                                 /* delay  100 Msec    */
-    LED_Off (0x100);                             /* Turn off the LED   */
-    Delay (100);                                 /* delay  100 Msec    */
-  }
-}
- - - \ No newline at end of file diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/License.doc b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/License.doc deleted file mode 100644 index b6b8acecc137bca709444106cba045d3d01daedd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39936 zcmeI53w&Hvz3*2ZZBuBVr4Jqg-IP)q2qBafkZ1Flwy9}S@}SfrFqxSo(8g!^moP(odvq z?1-P~rSnWxy)k$1Uu5y=1Ks4`kH|Iruxr=e*@t}heulg3&0El=OJVTdj~gA%QG|Cj zO)+Lpu`#RnaU+7^2}E5={8@zmi%^7jOmp+yxSuhvaXWRk`>gP6Zlm7w=Y;hFFQKlHfxaQ}ERf8S{OfPon%>RWR!E`Qf)aD%tq)`9jqjy!`t7(C??8 zN6#+|{a z7IHL08H+OOzPDoR@5VzOOM$dFX^6)r68iU4Fg?y;)TbzaJ;w zfA-UD=0C%aU$0-4&mXn(2YTc4*$@5p{bxV)%jXOIe4|5O9{n(1c|ZOc=#m^xbd7Gu zfA;z8Kj#bm`hEQn3@<~+{E9)35(eW{#(!42uD!^k`MrctL%f<0wU(VHKEEdlwYX3W z-7+I9V|p%J1rF>!2i7P1Q%++%5=%s4PA2KJrwO`aPAl=m)Fq=aC!B~nt$ndbyfYpN zXX43()0s@!Ty@D*Cbq>{6OW{lkz^v1O7`@`QWWmY41`lLry-Gvr8>h@)S97|a4LFY zd3oEahE^xkRPVI6hFYA)hPqHwUC60f*%At^2{pAjq}Di%p_Mg_fyl+zdl|P?IJKd+ zb)is`v%b0ASsZF;TSYZBPHRKc%Epk>&{W@WMnipjO=G3g+~UW&)lqvx+xiNphQ@1J z*3kBvhPF_>vv>hd3o4uy6reT{<}|Ocx2?_XEl^k2Tn~v9Yh4?vYgo}xSJT$e+~m~M z)itkKThp|jw#g3V9+g#&ZGed8rpEQox`xI^o2A*!K>ccG{L0&!Z4YUtu9;5R2HRHE zwAol%4y|o-Y8o4TO4~v$Yg+04C^~A_J9QBC5jB5(gUiuv;tUB5O|5Ozpd=!i#mIFH z(AF+qDypt|t?in}WR)VQ>1Yg>?)HYB1Y)Yjgjv6_SwAe>cBdHMB$Il0a0jfE3wI|wV_iv}DxJ|Jq`SjCJx(H-apH+cPd`0e9Ivp2 z;=O%6vEEoB<7%X2r;|i)rJTP0j-GhBI~H})L88-6D%KfGNzFy6%T_U>yC+dIRfiLU zPAn0o4iOiNbSIKM$*y=ztPW?K-teH)5pxo;NGzQWrv{}md&8Sz4hpd!)v4lrsbsW2 zl2KG2`ce8)l*J&?))7fUx@r_7#u8HLbo6H&X-{>VlD+9z&t|g6w)CZFwP(;t$1)lO zO52{q)1%b$;#gHzm7{jzQpcSsR5QJbrYnhrhh4EmEEUcqQ$%!xBb&Umo_I$poDyY_ z?sC(wqtXed)3M$TRYxM+*~DFtKPNex!#(k+HySA?8tdrqa?<`vK%s8bzgC5loNylu zaF-G&NcM>s@jE@3&cu4vKr|KKOap%Llbn`@);gFH>5kKAreC$dXN>~6d$s-q6D#a! zGMv5P^rnGiYE#-SVtw6%Y1-{^dcuRr{tW%>goBw_7wsb!k$5W7AJ0H~I^LB?pCm#S z$2V6vEp3g%Ea{GSbvr$=&9NRtN+aUS-~`n%!OH!`Ze>eNQ(J5KF)S0U{T&!|xWY*eB`cXC2o)m|OQezfm_xl<9wnc!$>|FZYNDx;{zSO5 zGu{)o{K|C4Q&CcpacGp4u(+ebiBSq75SC;#?oKu@inclsD_7*lvo9oVzK}oq!ov8InkN-=GR)6$F&|m1#1josM`yQ&%izL>aK$-GP)72AS3N+YE1V}@Z!qhG|nN+*>Z4EMlpakkPy{(7PVaps+6v9+^K zEJu$`cQporCz3V#BQ#Q0&-V4F`jRLYq%|tJOZHh^*&W`jN#jMuqLoN{q91FE=@HB@ z9IHIZPRLX_ScPJtJNmWx)BViLL8ZYyJO2mbG#iblGpRUANhzLkLwR+_Bi&ZVAUnA= z*-3OVUU7$e(N}4ozCp-DFggdVz@(+EJ>zqf)w!7A^_Dh~tw&<(uXum2 zOsaIJd=z=Mvs2U9YL(PxmJ=2~@hpYT$!I-*S7`*-E``JE*zjDEov;M0(l&~jV@-H1 zFs=&lX1k^gn#5HDEDd&il#3yk&V@j74pY+;9&q#6d6ck2k?zMd*M zrqXKCaOAxHxLt!C%lt|w6VIR;#U<&DSXw5@#HvgM^6TTQl9bAf#S>L{O!UHGmZOYZ z<41bIn=S%3=4?M1;ecHtGK@(w6|+oLbB3vA#n^B)ZkIIF7UiLFS-?fz*$$* zqBXoBge!aI+LlmjYo*h$W^H2wrQ`*))wH#@HMguMwyCbMy&i|E5;w37H=xb+JFN#< zX({px1}eo5S`%uiTSXf+wGEB9t(8tIMOs(X)Tv(QbUa)e+tl3D(6pk323+@<)>kyN zH9?W}XKS3bH7#uob?uEcEza8ZmbJ~Tp-C}9j*m-w$O*NyG`F;RY@oBDmNV$MnAy^> za#fpLIsuJswHR(4#tD;#I)%KUQ8ylgQH<&pN*Kz9<8T8o5h zd1vP+=6>c4WbF{w? zS10U5dcyJE>|%xqO<`0IdeCP<1xBO#D^qmXu7i2QHrp7YtZEESXqosG&Vp>E3p|%t zbWwL4p8H!;*1GW@AQZI+O|Fi>_UnagFV$TNu=ebj$pn!-rQF=IKvg=M7=4>QFhB(Ezd01)hM7RMvJ$qUxSO&mCRh3W?u0ScFLs>xw~6 zr>r=)MbQ@PV)3QPa1?g5dAkD%zf(}&i;b&+p?DN~ zEu89zb89Oexy*N6;cr5Z~NOO^(1jBrsPB2P<8 z50-l@C38l$y`&?Sip1giAnsl`oz&g{3GxBFCRF19`vP(%{Y{D7tsw5363~eUEN4ls zWr)FMyF#*MBSqRqq$(YaN9@*tJH@j3B1|OogsXkzN82q3*@+zU4mU?w2DDz?j3aNdpLvhvULhXC!s;OSYtM1$} zX^0;7#oPK9vdJOdZuCfs$N2pT1c;p~_Mkd#*J!{O{7Lj>TQFTDD;x&Ov^V{ zCs=8$E>Nf7WDbh6f-how!&~CL{k_y;RTmT{2V5oZ?K5dhgZae<%<&#;$0ydxudLFs zR-^++!PUiLtOCEZuQdNyf|?UUoYy5@%`iG>v*avVOZ+#AI?eqqGsi zIKQZ8 zTJ9`}Mx8ZWxaM37oU@LQbF?zV`?@t)@pGz=L$ztq`LZqxzndlpY7B)*WnJV z4YjnbcNWwk@BNHYlO<$m{UO?I1i*i8hiyj1QzXK%rbEIp2mC?+zY+| zUjFgR-@5DitsA$l+q&X}!$p`gxBJ$zkD7Vivris0b*uL=&8v&e>ELV-=Gh!Dulvhq zY|EWSX{C*m{q2F|Yfe;&oA8IIum2K;+aF5mOR8}FjFmx5(} z5PbM%@Zo{H51$XFjCcqp1n=QR$-u%s*cwSgmz z;anlP?DJOhm@#mY=e;jGuz1#GzkK^_!gC32`kNKo?V+YX`p82H)YyHY40p?ZstAe!qC>1tRF&;Xv zTT^D-Jggv^CP4-3SEAKLVxBV%9e(@;r=T0#omX<_pmgcQFXm3mmd;y$R;Me+s2+@6 z0jN(Ca2$G}ChsarTk3_|mkHaVrhIGeEREe)!G8e{g0F+e!H>Ydfqw^o1kIcZUkhR& z13nIJ05^g!fv7*>25~FJ5rw z__fiZte{cSF_IVNAdN*DWI#W-0DKDE0{%O=mUVs`coIAX{sm;$f9_ufe**s>%*P&B z0PX{ig6{y?2s?kd^XZ+B?R@$hPv8CYV>f+bAiiPshSmHGkL}32?A*|DnR70~=}({Y z^So)lKKa{u)AH6i8Qnu3l^>U<(6(kpYu@%H1^N1vSF*Ak$(w^#mt?+?x8}R{cqV7s zej1-SoTQ!$_64VbCeRGR;5G0DXv4-k2b>4e;0ACHxDPxHehPj8ehpp)vI*Y+zXxxD zU0@a`-46qcz~Nvi*aU6@H-lTiz2H&sZSc?F8Sv_}+h2X?)jMB(_SI+Yk8WPw{_IuH zUUlbH7kK|VFX+4~JAXE;`0V&hivCtKTuvxwRxapOt_d7eDvt_kx@xcX7gg!E)7 zpRhKwSo|&HIQjwLXfTbxJ}Cp!!CG)SXa{G30dPLJ99#je2KR!Oz#HHl@cIj{KmPE2 zw|(ZKzS}Ok?K9`x)^yP+BPVzEDJ#<(KK!$svN^1AkDhhj1UY`aWJm5C6KIOO+8|5a zU9*qOU2`@^-c_2mrKR)D_Iy6-aKH2Bn54u_C@E&P=BdWJ>|kTApU?O?#{3pE;}fg} zr-M&|E5WCLe1)sPXTde#T5vts25tm5frIfS=7SyCvF7HL;KOslhY=|w9{wemZN$Tf zZ13jb$zav*;{*QQ@b&2MZT7BoZ_^dM;iF5;9($Ye?PaET+pNWh78Sd3_RlLv`*3+Z zJ_*|x4=-`C*aU6{KLalUhrdWW1bhsf4L%QU2mc$q1PJ&&_F^6Ck+z{FbS6X^>ks6Vfk$x@J4 zk3zveCzs`{-x2>G1&1;BD?k`r3#1Ef0;f2}EC&r>JxGHL_^;rfz-z$Q89TXu6TJG9 zNBQ@)&+Fe+{JU_|$5xt2UF^xpd&=(>1@`3VRbF2#%M(qkoccGL<42YMBX15@I`WPz zb+|dk8yh!AUP`ml`e&5uY@KR*T&u*)(RdXff(`)ZEx`T{vm+|MI_H=pF(0kZ?-_h+_G@{|iIX|& z%(j|W(#Dfh`Xb3NyCe7PZWk?z=A6r)fMd02hL-KzqUZ z+y4>U!N1q^^snFgHws5&8}aa~V79{j`_6%YrD%8eOK1AF<;*;`tJ=!`#X08+y8pYy`+*tPe7E=mG*lmuu3la|*X)Cvc`L6aOS63*zRN}x zZVDWDA33lbQ}K7Zip_E}BP)DUO_NEQl<75L(?i=*Kl@=E?PtzeRa6=#>|HgzEDbVX zEOGUwX8F!tUoiD%#uPtw9#1jTNsax~nK6!8%Y6!T+220XP239FO^~Xq#l+3;cYU33 zxRx2FjS?Ny5F__UDi1XKzKMIX^rurz(HVG zAOW_5!RhRxajNRa2*lHR3(s5j47+u|0jj@@o!RU6Wp{;L`QL(OcGcE`)4?afmEcq0 zCU7wQaKHsXJ8zmQDTnVcNfID0drv#r`(S*&duZIP{BR?ipT1}B>3{Y<*jBzgLHe25 z*|MBK$leF*4BiLp&q4oH_m1L8F#o%}SDnQ<%G$OVj=!`_=u2!@fzN_#z_s9dunpV@ ze3_Xakeds+-|ETF&CqN=Mx}7bgYLNsX)YfMeDV13L6Hegwb*NjU%|bK#+eT#|0rpD zS9`r3A{5-q_B~J9czVL}W#%|_=1Ci;&Y_Z9e5w=<2`>&*nOn@c_MO=KuY-eY@_W_4 zwlBH)GwuCI+xTfyJopme;{F4&M1!Ze9=B zn|2pOJ=usO`7OCFx{>-cG;ixNi@&Q?0iWnxD8v zMss*SAYCP$gjs9k`cTC1;@TVnRJTsJ=q-oJY94Y>!8kx^defnKEBZbRJ_4G-Mc`WS zIdCVq3)~GJ0{;ZQ34RUq9z=bZJukEChN0Q*_V*C`d%$oE9oumNxoC2SC@#jM!3VK^ zqqMD{=jG<$-)RE4-}l^QhK7dpcNH^n?TdF@N5V`~wnO_Iwh(h;Z&R{E63o`!4z?1A zpT5JNK|E%!VzY-WXDBm;Smm!J+{cSABA!15!P(w(huHTB4a_u8s2PJNY|2b&iH7sE zk|NvotQ{&~lL?b>{t|F0xB_VLlY{XLcpe#a+_;Nrgwr6@ z4TtY(NaS1h_uaN~;w0M80G$f@JY0=zT?a0rCl>>`-0Gpf#QSbmK37XzcosYdd~V29 zAI%ZD?mjn4=;=s^BgGTI<(l%byTIj-i#7yY-VP8e9!iG(4d~horqF4$_tAM^OYZ1eK@b4)|~T=O-~R9}7Ee&(qI_BZoW2bv9==bLjY9rMTehnPb)Ei}cv zK|FuO;pWAXBaBW<=-lDG$!fb*^@~%EHT$nS*60Mv_YXMHJkxoy(K-A#SJasM!YfQI zf3$Vil+{LWt98moXJ_@-PKow)M(1)uQ`Z}923=aZ!E88TgPGd3!9>qL+vvQ++_S>w zbG02t@53+LZTg_xV)mW9H3;+l@|y>&)+~XMNA;&5qvh zu0H#5^U8)FnR{!VG9_pH*tB2twE5-v|7wnQerj}5_jKo36FL4_qZ2(Z)x2o*R|z_S zaAfx{%qe^P%IN&M-XZJ6LVM$D=IQd+%}e#K8=ZpeDEXb4y5%kNO3&M-YVj^R#&@Ha zwH0+Un#kWavfD(YY8DF>33RV_?OJYz{Ml{HnIAe~&*3LO4=T%7HQGg6E{(yDcFrVj z?d}-0e}wiFu~vF=e0J&+K@r zm@mKEEaxnJ;&S1|6F;+}*bYxEENNhx7E4c4qGaZ=gd<}WqwA0oW0wK9H8-yCJ6R5t zO}k^tL#*_dTypSI{ej&6_N(o(GPa_^h26PEj{!sMU1i69{5*}5FVBAb$Z*w}dY-;x z*WN6>ry280Q2`Z`|JORie0<>30`B?BYpiyuKTtj!mLRc{W|Qn zC;4q>Hn~sTHf&`%jFH2gY1+|mV6ODp_aB;jdRGz#aY`rbOic2QMYXx*LuQMuzb~7| zrEHqHkobFfC-M@KU60;KP_N$kXjY|t@(bbn#({Uxx~Rr6^%oKI(kE`;`KRXYnfF{< zW{y1k>(5ma_b>^PBc-aDs@ymf(@ts2zEZ5JXvv)TC?7Kzw{?27d z{a+@6_ZkE7L7`R#g<3Nd`t)&IxC$I7aG=0}0tX5lC~%;_fdU5#94K(0z<~k>K7bs^ z=l{!(EdI$4e{yTphh|=X6aIhYpYE$CZpx^*K78*=Ab*{J{T|mx?^9kd1hfb6Nx-2- za}Cg&JMA6F*S`bEm;VZoFMmJK+r9q=pY7_V5-K*zq`u_%4TGWR6CBEpY28z=w7?rpP zh~`^>{Piz;&q~w2$H-3@+N@%sAKlnuOVNBb%KHSNt=-=p(L2zw-#T>ZRjYjQFuQA^ z4;2zsxC$I7aG=0}0tX5lC~%;_fdU5#94K(0z<~k>{_Z&-|5N^@{7!j)@=fKn>V3U@ zY`v$~yLma9^26nm%g2^KDo;~Bz24!=cb8|W)3oy6N1x8ssaqYL;i#DPF6R?E;1I9? zyu$&Og@lKJMc{C-7*v2Gz>%O590jU?+*0|^#{iX;|Icw9vkV*ujt3_Io$6KkNrWeZ zQ^2W!qcmnYr~yiU8`OLEdKNwimrly*?|~f?vZr`boPyh(YaXXZd_GBrrcReMx%)N* zE9`^!^VFQxm*~ubB8R-VW9(@-_b;ivsND+o;_oiizT{TnWC|ZjrU$)qTMTBZw*JR68N!YliaPCm8>a?PG-@qtzTACE&pQv*4=K5Vs z`{H;hm~8txd*YveoHC~8yGPFn9{+9UC)t0UTl3p5GIjJ;XUUrRTkVZX*{y3Iw3pxZ zWc#lM&fBe4#?Sn2+8@8h-AjEh?Mrq)D7r4lr^3C zU;jHIYZ|O+)p<3d?3~tpm7iX9g89RTAN+I9wcVQ;h1?Ty;4iuU4^_6tk7NCBgs4Yd zGXeW;_)97i(V8p0u>QZd^_G g!+ZG+YJlCX=dW%57tSBCAIe6m^l&ZsOP@db55$o82LJ#7 diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/Release_Notes.html b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/Release_Notes.html deleted file mode 100644 index 633e42e35..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/Release_Notes.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - - - - - - -Release Notes for STM32F10x Standard Peripherals Library Drivers - - - - - -
-


-

-
- - - - - - -
- - - - - - - - - -
Back to Release page
-

Release -Notes for STM32F10x Standard Peripherals Library Drivers -(StdPeriph_Driver)

-

Copyright 2011 STMicroelectronics

-

-
-

 

- - - - - - -
-

Contents

-
    -
  1. STM32F10x Standard Peripherals Library -Drivers update History
  2. -
  3. License
  4. -
- - -

STM32F10x Standard -Peripherals Library Drivers  update History


-

V3.5.0 / 11-March-2011

-

Main -Changes

- -
    -
  • stm32f10x_can.h/.c files:
  • -
      -
    • Add 5 new functions
    • -
        -
      • 3 -new functions controlling the counter errors: CAN_GetLastErrorCode(), -CAN_GetReceiveErrorCounter() and CAN_GetLSBTransmitErrorCounter().
      • -
      -
        -
      • 1 new function to select the CAN operating mode: CAN_OperatingModeRequest().
      • -
      -
        -
      • 1 new function to support CAN TT mode: CAN_TTComModeCmd().
        -
      • -
      -
    • CAN_TransmitStatus() function updated to support all CAN transmit intermediate states
      -
    • -
    -
  • stm32f10x_i2c.h/.c files:
  • -
      -
    • Add 1 new function:
    • -
        -
      • I2C_NACKPositionConfig(): -This function configures the same bit (POS) as I2C_PECPositionConfig() -but is intended to be used in I2C mode while I2C_PECPositionConfig() is -intended to used in SMBUS mode.
      • -
      -
    -
  • stm32f10x_tim.h/.c files:
  • -
      -
    • Change the TIM_DMABurstLength_xBytes definitions to TIM_DMABurstLength_xTansfers
      -
    • -
    - - -
- -

3.4.0 -- 10/15/2010

- -
    -
  1. General
  2. -
- -
    -
  • Add support for STM32F10x High-density value line devices.
  • -
- -
    -
  1. STM32F10x_StdPeriph_Driver
  2. -
- - -
    - -
  • stm32f10x_bkp.h/.c
  • -
      -
    • Delete BKP registers definition from stm32f10x_bkp.c and use defines within stm32f10x.h file.
    • -
    -
  • stm32f10x_can.h/.c
  • -
      -
    • Delete CAN registers definition from stm32f10x_can.c and use defines within stm32f10x.h file.
      -
    • -
    • Update the wording of some defines and Asserts macro.
      -
    • -
    • CAN_GetFlagStatus() -and CAN_ClearFlag() functions: updated to support new flags (were not -supported in previous version). These flags are:  CAN_FLAG_RQCP0, -CAN_FLAG_RQCP1, CAN_FLAG_RQCP2, CAN_FLAG_FMP1, CAN_FLAG_FF1, -CAN_FLAG_FOV1, CAN_FLAG_FMP0, CAN_FLAG_FF0,   CAN_FLAG_FOV0, -CAN_FLAG_WKU, CAN_FLAG_SLAK and CAN_FLAG_LEC.
      -
    • -
    • CAN_GetITStatus() -function: add a check of the interrupt enable bit before getting the -status of corresponding interrupt pending bit.
      -
    • -
    • CAN_ClearITPendingBit() function: correct the procedure to clear the interrupt pending bit.
      -
    • -
    -
  • stm32f10x_crc.h/.c
  • -
      -
    • Delete CRC registers definition from stm32f10x_crc.c and use defines within stm32f10x.h file.
    • -
    -
  • stm32f10x_dac.h/.c
  • -
      -
    • Delete DAC registers definition from stm32f10x_dac.c and use defines within stm32f10x.h file.
    • -
    -
  • stm32f10x_dbgmcu.h/.c
  • -
      -
    • Delete DBGMCU registers definition from stm32f10x_dbgmcu.c and use defines within stm32f10x.h file.
    • -
    -
  • stm32f10x_dma.h/.c
  • -
      -
    • Delete DMA registers definition from stm32f10x_dma.c and use defines within stm32f10x.h file.
    • -
    • Add new function "void DMA_SetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx, uint16_t DataNumber);"
      -
    • -
    -
  • stm32f10x_flash.h/.c
  • -
      -
    • FLASH functions (Erase and Program) updated to always clear the "PG", "MER" and "PER" bits even in case of TimeOut Error.
    • -
    -
  • stm32f10x_fsmc.h/.c
  • -
      -
    • Add new member "FSMC_AsynchronousWait" in "FSMC_NORSRAMInitTypeDef" structure.
    • -
    -
  • stm32f10x_gpio.h/.c
  • -
      -
    • GPIO_PinRemapConfig() function: add new values for GPIO_Remap parameter, to support new remap for TIM6, TIM7 and DAC DMA requests, TIM12 and DAC Triggers / DMA2_Channel5 Interrupt mapping.
    • -
    -
  • stm32f10x_pwr.h/.c
  • -
      -
    • Delete PWR registers definition from stm32f10x_pwr.c and use defines within stm32f10x.h and core_cm3.h files.
    • -
    -
  • stm32f10x_rtc.h/.c
  • -
      -
    • Delete RTC registers definition from stm32f10x_rtc.c and use defines within stm32f10x.h file.
    • -
    -
  • stm32f10x_spi.h/.c
  • -
      -
    • Add new definition for I2S Audio Clock frequencies "I2S_AudioFreq_192k".
    • -
    -
  • stm32f10x_tim.h/.c
  • -
    • Add new definition for TIM Input Capture Polarity "TIM_ICPolarity_BothEdge".
    - -
- -

3.3.0 -- 04/16/2010

- -
  1. General
-
  • Add support for STM32F10x XL-density devices.
  • I2C driver: events description and management enhancement.
-
  1. STM32F10x_StdPeriph_Driver
-
  • stm32f10x_dbgmcu.h/.c
    • DBGMCU_Config() function: add new values DBGMCU_TIMx_STOP (x: 9..14) for DBGMCU_Periph parameter.
  • stm32f10x_flash.h/.c: -updated to support Bank2 of XL-density devices (up to 1MByte of Flash -memory). For more details, refer to the description provided within -stm32f10x_flash.c file.
  • stm32f10x_gpio.h/.c
    • GPIO_PinRemapConfig() function: add new values for GPIO_Remap parameter, to support new remap for FSMC_NADV pin and TIM9..11,13,14.
  • stm32f10x_i2c.h/.c: I2C events description and management enhancement.
    • I2C_CheckEvent() -function: updated to check whether the last event contains the -I2C_EVENT  (instead of check whether the last event is equal to -I2C_EVENT)
    • Add -detailed description of I2C events and how to manage them using the -functions provided by this driver. For more information, refer to -stm32f10x_i2c.h and stm32f10x_i2c.c files.
  • stm32f10x_rcc.h/.c: updated to support TIM9..TIM14 APB clock and reset configuration
  • stm32f10x_tim.h/.c: updated to support new Timers TIM9..TIM14.
  • stm32f10x_sdio.h: 
    • SDIO_SetSDIOReadWaitMode() function: correct values of SDIO_ReadWaitMode parameter
      change
        -#define -SDIO_ReadWaitMode_CLK               -  ((uint32_t)0x00000000)
        #define -SDIO_ReadWaitMode_DATA2             -((uint32_t)0x00000001)
      by
        #define -SDIO_ReadWaitMode_CLK               -  ((uint32_t)0x00000001)
        #define -SDIO_ReadWaitMode_DATA2             -((uint32_t)0x00000000)
-

3.2.0 -- 03/01/2010

-
    -
  1. General
  2. -
-
    - -
  • Add support -for STM32 Low-density Value line (STM32F100x4/6) and -Medium-density Value line (STM32F100x8/B) devices.
  • -
  • Almost -peripherals drivers were updated to support Value -line devices features
  • -
  • Drivers limitations fix and enhancements.
  • - -
-
    -
  1. STM32F10x_StdPeriph_Driver
  2. -
-
    -
  • Add new -firmware driver for CEC peripheral: stm32f10x_cec.h and stm32f10x_cec.c
  • -
  • Timers drivers stm32f10x_tim.h/.c: add support for new General Purpose Timers: TIM15, TIM16 and TIM17.
  • -
  • RCC driver: add support for new Value peripherals: HDMI-CEC, TIM15, TIM16 and TIM17.
  • -
  • GPIO driver: add new remap parameters for TIM1, TIM15, TIM16, TIM17 and HDMI-CEC: GPIO_Remap_TIM1_DMA, GPIO_Remap_TIM15, GPIO_Remap_TIM16, GPIO_Remap_TIM17, GPIO_Remap_CEC.
  • -
  • USART -driver: add support for Oversampling by 8 mode and onebit method. 2 -functions has been added: USART_OverSampling8Cmd() and -USART_OneBitMethodCmd().
    -
  • -
  • DAC -driver: add new functions handling the DAC under run feature: -DAC_ITConfig(), DAC_GetFlagStatus(), DAC_ClearFlag(), DAC_GetITStatus() -and DAC_ClearITPendingBit().
  • -
  • DBGMCU driver: add new parameters for TIM15, TIM16 and TIM17: DBGMCU_TIM15_STOP, DBGMCU_TIM16_STOP, DBGMCU_TIM17_STOP.
    -
  • -
  • FLASH -driver: the FLASH_EraseOptionBytes() function updated. This is now just -erasing the option bytes without modifying the RDP status either -enabled or disabled.
  • -
  • PWR -driver: the PWR_EnterSTOPMode() function updated. When woken up from -STOP mode, this function resets again the SLEEPDEEP bit in the -Cortex-M3 System Control register to allow Sleep mode entering.
  • - - -
-

License

-

The -enclosed firmware and all the related documentation are not covered by -a License Agreement, if you need such License you can contact your -local STMicroelectronics office.

-

THE -PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO -SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR -ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY -CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY -CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH -THEIR PRODUCTS.

-

 

-
-
-

For -complete documentation on STM32(CORTEX M3) 32-Bit Microcontrollers -visit www.st.com/STM32

-
-

-
-
-

 

-
- \ No newline at end of file diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/misc.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/misc.h deleted file mode 100644 index 7d401ca9b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/misc.h +++ /dev/null @@ -1,220 +0,0 @@ -/** - ****************************************************************************** - * @file misc.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the miscellaneous - * firmware library functions (add-on to CMSIS functions). - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MISC_H -#define __MISC_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup MISC - * @{ - */ - -/** @defgroup MISC_Exported_Types - * @{ - */ - -/** - * @brief NVIC Init Structure definition - */ - -typedef struct -{ - uint8_t NVIC_IRQChannel; /*!< Specifies the IRQ channel to be enabled or disabled. - This parameter can be a value of @ref IRQn_Type - (For the complete STM32 Devices IRQ Channels list, please - refer to stm32f10x.h file) */ - - uint8_t NVIC_IRQChannelPreemptionPriority; /*!< Specifies the pre-emption priority for the IRQ channel - specified in NVIC_IRQChannel. This parameter can be a value - between 0 and 15 as described in the table @ref NVIC_Priority_Table */ - - uint8_t NVIC_IRQChannelSubPriority; /*!< Specifies the subpriority level for the IRQ channel specified - in NVIC_IRQChannel. This parameter can be a value - between 0 and 15 as described in the table @ref NVIC_Priority_Table */ - - FunctionalState NVIC_IRQChannelCmd; /*!< Specifies whether the IRQ channel defined in NVIC_IRQChannel - will be enabled or disabled. - This parameter can be set either to ENABLE or DISABLE */ -} NVIC_InitTypeDef; - -/** - * @} - */ - -/** @defgroup NVIC_Priority_Table - * @{ - */ - -/** -@code - The table below gives the allowed values of the pre-emption priority and subpriority according - to the Priority Grouping configuration performed by NVIC_PriorityGroupConfig function - ============================================================================================================================ - NVIC_PriorityGroup | NVIC_IRQChannelPreemptionPriority | NVIC_IRQChannelSubPriority | Description - ============================================================================================================================ - NVIC_PriorityGroup_0 | 0 | 0-15 | 0 bits for pre-emption priority - | | | 4 bits for subpriority - ---------------------------------------------------------------------------------------------------------------------------- - NVIC_PriorityGroup_1 | 0-1 | 0-7 | 1 bits for pre-emption priority - | | | 3 bits for subpriority - ---------------------------------------------------------------------------------------------------------------------------- - NVIC_PriorityGroup_2 | 0-3 | 0-3 | 2 bits for pre-emption priority - | | | 2 bits for subpriority - ---------------------------------------------------------------------------------------------------------------------------- - NVIC_PriorityGroup_3 | 0-7 | 0-1 | 3 bits for pre-emption priority - | | | 1 bits for subpriority - ---------------------------------------------------------------------------------------------------------------------------- - NVIC_PriorityGroup_4 | 0-15 | 0 | 4 bits for pre-emption priority - | | | 0 bits for subpriority - ============================================================================================================================ -@endcode -*/ - -/** - * @} - */ - -/** @defgroup MISC_Exported_Constants - * @{ - */ - -/** @defgroup Vector_Table_Base - * @{ - */ - -#define NVIC_VectTab_RAM ((uint32_t)0x20000000) -#define NVIC_VectTab_FLASH ((uint32_t)0x08000000) -#define IS_NVIC_VECTTAB(VECTTAB) (((VECTTAB) == NVIC_VectTab_RAM) || \ - ((VECTTAB) == NVIC_VectTab_FLASH)) -/** - * @} - */ - -/** @defgroup System_Low_Power - * @{ - */ - -#define NVIC_LP_SEVONPEND ((uint8_t)0x10) -#define NVIC_LP_SLEEPDEEP ((uint8_t)0x04) -#define NVIC_LP_SLEEPONEXIT ((uint8_t)0x02) -#define IS_NVIC_LP(LP) (((LP) == NVIC_LP_SEVONPEND) || \ - ((LP) == NVIC_LP_SLEEPDEEP) || \ - ((LP) == NVIC_LP_SLEEPONEXIT)) -/** - * @} - */ - -/** @defgroup Preemption_Priority_Group - * @{ - */ - -#define NVIC_PriorityGroup_0 ((uint32_t)0x700) /*!< 0 bits for pre-emption priority - 4 bits for subpriority */ -#define NVIC_PriorityGroup_1 ((uint32_t)0x600) /*!< 1 bits for pre-emption priority - 3 bits for subpriority */ -#define NVIC_PriorityGroup_2 ((uint32_t)0x500) /*!< 2 bits for pre-emption priority - 2 bits for subpriority */ -#define NVIC_PriorityGroup_3 ((uint32_t)0x400) /*!< 3 bits for pre-emption priority - 1 bits for subpriority */ -#define NVIC_PriorityGroup_4 ((uint32_t)0x300) /*!< 4 bits for pre-emption priority - 0 bits for subpriority */ - -#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_OFFSET(OFFSET) ((OFFSET) < 0x000FFFFF) - -/** - * @} - */ - -/** @defgroup SysTick_clock_source - * @{ - */ - -#define SysTick_CLKSource_HCLK_Div8 ((uint32_t)0xFFFFFFFB) -#define SysTick_CLKSource_HCLK ((uint32_t)0x00000004) -#define IS_SYSTICK_CLK_SOURCE(SOURCE) (((SOURCE) == SysTick_CLKSource_HCLK) || \ - ((SOURCE) == SysTick_CLKSource_HCLK_Div8)) -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup MISC_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup MISC_Exported_Functions - * @{ - */ - -void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup); -void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct); -void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset); -void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState); -void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource); - -#ifdef __cplusplus -} -#endif - -#endif /* __MISC_H */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_adc.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_adc.h deleted file mode 100644 index d1b2653a6..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_adc.h +++ /dev/null @@ -1,483 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_adc.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the ADC firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_ADC_H -#define __STM32F10x_ADC_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup ADC - * @{ - */ - -/** @defgroup ADC_Exported_Types - * @{ - */ - -/** - * @brief ADC Init structure definition - */ - -typedef struct -{ - uint32_t ADC_Mode; /*!< Configures the ADC to operate in independent or - dual mode. - This parameter can be a value of @ref ADC_mode */ - - FunctionalState ADC_ScanConvMode; /*!< Specifies whether the conversion is performed in - Scan (multichannels) or Single (one channel) mode. - This parameter can be set to ENABLE or DISABLE */ - - FunctionalState ADC_ContinuousConvMode; /*!< Specifies whether the conversion is performed in - Continuous or Single mode. - This parameter can be set to ENABLE or DISABLE. */ - - uint32_t ADC_ExternalTrigConv; /*!< Defines the external trigger used to start the analog - to digital conversion of regular channels. This parameter - can be a value of @ref ADC_external_trigger_sources_for_regular_channels_conversion */ - - uint32_t ADC_DataAlign; /*!< Specifies whether the ADC data alignment is left or right. - This parameter can be a value of @ref ADC_data_align */ - - uint8_t ADC_NbrOfChannel; /*!< Specifies the number of ADC channels that will be converted - using the sequencer for regular channel group. - This parameter must range from 1 to 16. */ -}ADC_InitTypeDef; -/** - * @} - */ - -/** @defgroup ADC_Exported_Constants - * @{ - */ - -#define IS_ADC_ALL_PERIPH(PERIPH) (((PERIPH) == ADC1) || \ - ((PERIPH) == ADC2) || \ - ((PERIPH) == ADC3)) - -#define IS_ADC_DMA_PERIPH(PERIPH) (((PERIPH) == ADC1) || \ - ((PERIPH) == ADC3)) - -/** @defgroup ADC_mode - * @{ - */ - -#define ADC_Mode_Independent ((uint32_t)0x00000000) -#define ADC_Mode_RegInjecSimult ((uint32_t)0x00010000) -#define ADC_Mode_RegSimult_AlterTrig ((uint32_t)0x00020000) -#define ADC_Mode_InjecSimult_FastInterl ((uint32_t)0x00030000) -#define ADC_Mode_InjecSimult_SlowInterl ((uint32_t)0x00040000) -#define ADC_Mode_InjecSimult ((uint32_t)0x00050000) -#define ADC_Mode_RegSimult ((uint32_t)0x00060000) -#define ADC_Mode_FastInterl ((uint32_t)0x00070000) -#define ADC_Mode_SlowInterl ((uint32_t)0x00080000) -#define ADC_Mode_AlterTrig ((uint32_t)0x00090000) - -#define IS_ADC_MODE(MODE) (((MODE) == ADC_Mode_Independent) || \ - ((MODE) == ADC_Mode_RegInjecSimult) || \ - ((MODE) == ADC_Mode_RegSimult_AlterTrig) || \ - ((MODE) == ADC_Mode_InjecSimult_FastInterl) || \ - ((MODE) == ADC_Mode_InjecSimult_SlowInterl) || \ - ((MODE) == ADC_Mode_InjecSimult) || \ - ((MODE) == ADC_Mode_RegSimult) || \ - ((MODE) == ADC_Mode_FastInterl) || \ - ((MODE) == ADC_Mode_SlowInterl) || \ - ((MODE) == ADC_Mode_AlterTrig)) -/** - * @} - */ - -/** @defgroup ADC_external_trigger_sources_for_regular_channels_conversion - * @{ - */ - -#define ADC_ExternalTrigConv_T1_CC1 ((uint32_t)0x00000000) /*!< For ADC1 and ADC2 */ -#define ADC_ExternalTrigConv_T1_CC2 ((uint32_t)0x00020000) /*!< For ADC1 and ADC2 */ -#define ADC_ExternalTrigConv_T2_CC2 ((uint32_t)0x00060000) /*!< For ADC1 and ADC2 */ -#define ADC_ExternalTrigConv_T3_TRGO ((uint32_t)0x00080000) /*!< For ADC1 and ADC2 */ -#define ADC_ExternalTrigConv_T4_CC4 ((uint32_t)0x000A0000) /*!< For ADC1 and ADC2 */ -#define ADC_ExternalTrigConv_Ext_IT11_TIM8_TRGO ((uint32_t)0x000C0000) /*!< For ADC1 and ADC2 */ - -#define ADC_ExternalTrigConv_T1_CC3 ((uint32_t)0x00040000) /*!< For ADC1, ADC2 and ADC3 */ -#define ADC_ExternalTrigConv_None ((uint32_t)0x000E0000) /*!< For ADC1, ADC2 and ADC3 */ - -#define ADC_ExternalTrigConv_T3_CC1 ((uint32_t)0x00000000) /*!< For ADC3 only */ -#define ADC_ExternalTrigConv_T2_CC3 ((uint32_t)0x00020000) /*!< For ADC3 only */ -#define ADC_ExternalTrigConv_T8_CC1 ((uint32_t)0x00060000) /*!< For ADC3 only */ -#define ADC_ExternalTrigConv_T8_TRGO ((uint32_t)0x00080000) /*!< For ADC3 only */ -#define ADC_ExternalTrigConv_T5_CC1 ((uint32_t)0x000A0000) /*!< For ADC3 only */ -#define ADC_ExternalTrigConv_T5_CC3 ((uint32_t)0x000C0000) /*!< For ADC3 only */ - -#define IS_ADC_EXT_TRIG(REGTRIG) (((REGTRIG) == ADC_ExternalTrigConv_T1_CC1) || \ - ((REGTRIG) == ADC_ExternalTrigConv_T1_CC2) || \ - ((REGTRIG) == ADC_ExternalTrigConv_T1_CC3) || \ - ((REGTRIG) == ADC_ExternalTrigConv_T2_CC2) || \ - ((REGTRIG) == ADC_ExternalTrigConv_T3_TRGO) || \ - ((REGTRIG) == ADC_ExternalTrigConv_T4_CC4) || \ - ((REGTRIG) == ADC_ExternalTrigConv_Ext_IT11_TIM8_TRGO) || \ - ((REGTRIG) == ADC_ExternalTrigConv_None) || \ - ((REGTRIG) == ADC_ExternalTrigConv_T3_CC1) || \ - ((REGTRIG) == ADC_ExternalTrigConv_T2_CC3) || \ - ((REGTRIG) == ADC_ExternalTrigConv_T8_CC1) || \ - ((REGTRIG) == ADC_ExternalTrigConv_T8_TRGO) || \ - ((REGTRIG) == ADC_ExternalTrigConv_T5_CC1) || \ - ((REGTRIG) == ADC_ExternalTrigConv_T5_CC3)) -/** - * @} - */ - -/** @defgroup ADC_data_align - * @{ - */ - -#define ADC_DataAlign_Right ((uint32_t)0x00000000) -#define ADC_DataAlign_Left ((uint32_t)0x00000800) -#define IS_ADC_DATA_ALIGN(ALIGN) (((ALIGN) == ADC_DataAlign_Right) || \ - ((ALIGN) == ADC_DataAlign_Left)) -/** - * @} - */ - -/** @defgroup ADC_channels - * @{ - */ - -#define ADC_Channel_0 ((uint8_t)0x00) -#define ADC_Channel_1 ((uint8_t)0x01) -#define ADC_Channel_2 ((uint8_t)0x02) -#define ADC_Channel_3 ((uint8_t)0x03) -#define ADC_Channel_4 ((uint8_t)0x04) -#define ADC_Channel_5 ((uint8_t)0x05) -#define ADC_Channel_6 ((uint8_t)0x06) -#define ADC_Channel_7 ((uint8_t)0x07) -#define ADC_Channel_8 ((uint8_t)0x08) -#define ADC_Channel_9 ((uint8_t)0x09) -#define ADC_Channel_10 ((uint8_t)0x0A) -#define ADC_Channel_11 ((uint8_t)0x0B) -#define ADC_Channel_12 ((uint8_t)0x0C) -#define ADC_Channel_13 ((uint8_t)0x0D) -#define ADC_Channel_14 ((uint8_t)0x0E) -#define ADC_Channel_15 ((uint8_t)0x0F) -#define ADC_Channel_16 ((uint8_t)0x10) -#define ADC_Channel_17 ((uint8_t)0x11) - -#define ADC_Channel_TempSensor ((uint8_t)ADC_Channel_16) -#define ADC_Channel_Vrefint ((uint8_t)ADC_Channel_17) - -#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)) -/** - * @} - */ - -/** @defgroup ADC_sampling_time - * @{ - */ - -#define ADC_SampleTime_1Cycles5 ((uint8_t)0x00) -#define ADC_SampleTime_7Cycles5 ((uint8_t)0x01) -#define ADC_SampleTime_13Cycles5 ((uint8_t)0x02) -#define ADC_SampleTime_28Cycles5 ((uint8_t)0x03) -#define ADC_SampleTime_41Cycles5 ((uint8_t)0x04) -#define ADC_SampleTime_55Cycles5 ((uint8_t)0x05) -#define ADC_SampleTime_71Cycles5 ((uint8_t)0x06) -#define ADC_SampleTime_239Cycles5 ((uint8_t)0x07) -#define IS_ADC_SAMPLE_TIME(TIME) (((TIME) == ADC_SampleTime_1Cycles5) || \ - ((TIME) == ADC_SampleTime_7Cycles5) || \ - ((TIME) == ADC_SampleTime_13Cycles5) || \ - ((TIME) == ADC_SampleTime_28Cycles5) || \ - ((TIME) == ADC_SampleTime_41Cycles5) || \ - ((TIME) == ADC_SampleTime_55Cycles5) || \ - ((TIME) == ADC_SampleTime_71Cycles5) || \ - ((TIME) == ADC_SampleTime_239Cycles5)) -/** - * @} - */ - -/** @defgroup ADC_external_trigger_sources_for_injected_channels_conversion - * @{ - */ - -#define ADC_ExternalTrigInjecConv_T2_TRGO ((uint32_t)0x00002000) /*!< For ADC1 and ADC2 */ -#define ADC_ExternalTrigInjecConv_T2_CC1 ((uint32_t)0x00003000) /*!< For ADC1 and ADC2 */ -#define ADC_ExternalTrigInjecConv_T3_CC4 ((uint32_t)0x00004000) /*!< For ADC1 and ADC2 */ -#define ADC_ExternalTrigInjecConv_T4_TRGO ((uint32_t)0x00005000) /*!< For ADC1 and ADC2 */ -#define ADC_ExternalTrigInjecConv_Ext_IT15_TIM8_CC4 ((uint32_t)0x00006000) /*!< For ADC1 and ADC2 */ - -#define ADC_ExternalTrigInjecConv_T1_TRGO ((uint32_t)0x00000000) /*!< For ADC1, ADC2 and ADC3 */ -#define ADC_ExternalTrigInjecConv_T1_CC4 ((uint32_t)0x00001000) /*!< For ADC1, ADC2 and ADC3 */ -#define ADC_ExternalTrigInjecConv_None ((uint32_t)0x00007000) /*!< For ADC1, ADC2 and ADC3 */ - -#define ADC_ExternalTrigInjecConv_T4_CC3 ((uint32_t)0x00002000) /*!< For ADC3 only */ -#define ADC_ExternalTrigInjecConv_T8_CC2 ((uint32_t)0x00003000) /*!< For ADC3 only */ -#define ADC_ExternalTrigInjecConv_T8_CC4 ((uint32_t)0x00004000) /*!< For ADC3 only */ -#define ADC_ExternalTrigInjecConv_T5_TRGO ((uint32_t)0x00005000) /*!< For ADC3 only */ -#define ADC_ExternalTrigInjecConv_T5_CC4 ((uint32_t)0x00006000) /*!< For ADC3 only */ - -#define IS_ADC_EXT_INJEC_TRIG(INJTRIG) (((INJTRIG) == ADC_ExternalTrigInjecConv_T1_TRGO) || \ - ((INJTRIG) == ADC_ExternalTrigInjecConv_T1_CC4) || \ - ((INJTRIG) == ADC_ExternalTrigInjecConv_T2_TRGO) || \ - ((INJTRIG) == ADC_ExternalTrigInjecConv_T2_CC1) || \ - ((INJTRIG) == ADC_ExternalTrigInjecConv_T3_CC4) || \ - ((INJTRIG) == ADC_ExternalTrigInjecConv_T4_TRGO) || \ - ((INJTRIG) == ADC_ExternalTrigInjecConv_Ext_IT15_TIM8_CC4) || \ - ((INJTRIG) == ADC_ExternalTrigInjecConv_None) || \ - ((INJTRIG) == ADC_ExternalTrigInjecConv_T4_CC3) || \ - ((INJTRIG) == ADC_ExternalTrigInjecConv_T8_CC2) || \ - ((INJTRIG) == ADC_ExternalTrigInjecConv_T8_CC4) || \ - ((INJTRIG) == ADC_ExternalTrigInjecConv_T5_TRGO) || \ - ((INJTRIG) == ADC_ExternalTrigInjecConv_T5_CC4)) -/** - * @} - */ - -/** @defgroup ADC_injected_channel_selection - * @{ - */ - -#define ADC_InjectedChannel_1 ((uint8_t)0x14) -#define ADC_InjectedChannel_2 ((uint8_t)0x18) -#define ADC_InjectedChannel_3 ((uint8_t)0x1C) -#define ADC_InjectedChannel_4 ((uint8_t)0x20) -#define IS_ADC_INJECTED_CHANNEL(CHANNEL) (((CHANNEL) == ADC_InjectedChannel_1) || \ - ((CHANNEL) == ADC_InjectedChannel_2) || \ - ((CHANNEL) == ADC_InjectedChannel_3) || \ - ((CHANNEL) == ADC_InjectedChannel_4)) -/** - * @} - */ - -/** @defgroup ADC_analog_watchdog_selection - * @{ - */ - -#define ADC_AnalogWatchdog_SingleRegEnable ((uint32_t)0x00800200) -#define ADC_AnalogWatchdog_SingleInjecEnable ((uint32_t)0x00400200) -#define ADC_AnalogWatchdog_SingleRegOrInjecEnable ((uint32_t)0x00C00200) -#define ADC_AnalogWatchdog_AllRegEnable ((uint32_t)0x00800000) -#define ADC_AnalogWatchdog_AllInjecEnable ((uint32_t)0x00400000) -#define ADC_AnalogWatchdog_AllRegAllInjecEnable ((uint32_t)0x00C00000) -#define ADC_AnalogWatchdog_None ((uint32_t)0x00000000) - -#define IS_ADC_ANALOG_WATCHDOG(WATCHDOG) (((WATCHDOG) == ADC_AnalogWatchdog_SingleRegEnable) || \ - ((WATCHDOG) == ADC_AnalogWatchdog_SingleInjecEnable) || \ - ((WATCHDOG) == ADC_AnalogWatchdog_SingleRegOrInjecEnable) || \ - ((WATCHDOG) == ADC_AnalogWatchdog_AllRegEnable) || \ - ((WATCHDOG) == ADC_AnalogWatchdog_AllInjecEnable) || \ - ((WATCHDOG) == ADC_AnalogWatchdog_AllRegAllInjecEnable) || \ - ((WATCHDOG) == ADC_AnalogWatchdog_None)) -/** - * @} - */ - -/** @defgroup ADC_interrupts_definition - * @{ - */ - -#define ADC_IT_EOC ((uint16_t)0x0220) -#define ADC_IT_AWD ((uint16_t)0x0140) -#define ADC_IT_JEOC ((uint16_t)0x0480) - -#define IS_ADC_IT(IT) ((((IT) & (uint16_t)0xF81F) == 0x00) && ((IT) != 0x00)) - -#define IS_ADC_GET_IT(IT) (((IT) == ADC_IT_EOC) || ((IT) == ADC_IT_AWD) || \ - ((IT) == ADC_IT_JEOC)) -/** - * @} - */ - -/** @defgroup ADC_flags_definition - * @{ - */ - -#define ADC_FLAG_AWD ((uint8_t)0x01) -#define ADC_FLAG_EOC ((uint8_t)0x02) -#define ADC_FLAG_JEOC ((uint8_t)0x04) -#define ADC_FLAG_JSTRT ((uint8_t)0x08) -#define ADC_FLAG_STRT ((uint8_t)0x10) -#define IS_ADC_CLEAR_FLAG(FLAG) ((((FLAG) & (uint8_t)0xE0) == 0x00) && ((FLAG) != 0x00)) -#define IS_ADC_GET_FLAG(FLAG) (((FLAG) == ADC_FLAG_AWD) || ((FLAG) == ADC_FLAG_EOC) || \ - ((FLAG) == ADC_FLAG_JEOC) || ((FLAG)== ADC_FLAG_JSTRT) || \ - ((FLAG) == ADC_FLAG_STRT)) -/** - * @} - */ - -/** @defgroup ADC_thresholds - * @{ - */ - -#define IS_ADC_THRESHOLD(THRESHOLD) ((THRESHOLD) <= 0xFFF) - -/** - * @} - */ - -/** @defgroup ADC_injected_offset - * @{ - */ - -#define IS_ADC_OFFSET(OFFSET) ((OFFSET) <= 0xFFF) - -/** - * @} - */ - -/** @defgroup ADC_injected_length - * @{ - */ - -#define IS_ADC_INJECTED_LENGTH(LENGTH) (((LENGTH) >= 0x1) && ((LENGTH) <= 0x4)) - -/** - * @} - */ - -/** @defgroup ADC_injected_rank - * @{ - */ - -#define IS_ADC_INJECTED_RANK(RANK) (((RANK) >= 0x1) && ((RANK) <= 0x4)) - -/** - * @} - */ - - -/** @defgroup ADC_regular_length - * @{ - */ - -#define IS_ADC_REGULAR_LENGTH(LENGTH) (((LENGTH) >= 0x1) && ((LENGTH) <= 0x10)) -/** - * @} - */ - -/** @defgroup ADC_regular_rank - * @{ - */ - -#define IS_ADC_REGULAR_RANK(RANK) (((RANK) >= 0x1) && ((RANK) <= 0x10)) - -/** - * @} - */ - -/** @defgroup ADC_regular_discontinuous_mode_number - * @{ - */ - -#define IS_ADC_REGULAR_DISC_NUMBER(NUMBER) (((NUMBER) >= 0x1) && ((NUMBER) <= 0x8)) - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup ADC_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup ADC_Exported_Functions - * @{ - */ - -void ADC_DeInit(ADC_TypeDef* ADCx); -void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct); -void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct); -void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState); -void ADC_DMACmd(ADC_TypeDef* ADCx, FunctionalState NewState); -void ADC_ITConfig(ADC_TypeDef* ADCx, uint16_t ADC_IT, FunctionalState NewState); -void ADC_ResetCalibration(ADC_TypeDef* ADCx); -FlagStatus ADC_GetResetCalibrationStatus(ADC_TypeDef* ADCx); -void ADC_StartCalibration(ADC_TypeDef* ADCx); -FlagStatus ADC_GetCalibrationStatus(ADC_TypeDef* ADCx); -void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState); -FlagStatus ADC_GetSoftwareStartConvStatus(ADC_TypeDef* ADCx); -void ADC_DiscModeChannelCountConfig(ADC_TypeDef* ADCx, uint8_t Number); -void ADC_DiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState); -void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime); -void ADC_ExternalTrigConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState); -uint16_t ADC_GetConversionValue(ADC_TypeDef* ADCx); -uint32_t ADC_GetDualModeConversionValue(void); -void ADC_AutoInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState); -void ADC_InjectedDiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState); -void ADC_ExternalTrigInjectedConvConfig(ADC_TypeDef* ADCx, uint32_t ADC_ExternalTrigInjecConv); -void ADC_ExternalTrigInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState); -void ADC_SoftwareStartInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState); -FlagStatus ADC_GetSoftwareStartInjectedConvCmdStatus(ADC_TypeDef* ADCx); -void ADC_InjectedChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime); -void ADC_InjectedSequencerLengthConfig(ADC_TypeDef* ADCx, uint8_t Length); -void ADC_SetInjectedOffset(ADC_TypeDef* ADCx, uint8_t ADC_InjectedChannel, uint16_t Offset); -uint16_t ADC_GetInjectedConversionValue(ADC_TypeDef* ADCx, uint8_t ADC_InjectedChannel); -void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx, uint32_t ADC_AnalogWatchdog); -void ADC_AnalogWatchdogThresholdsConfig(ADC_TypeDef* ADCx, uint16_t HighThreshold, uint16_t LowThreshold); -void ADC_AnalogWatchdogSingleChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel); -void ADC_TempSensorVrefintCmd(FunctionalState NewState); -FlagStatus ADC_GetFlagStatus(ADC_TypeDef* ADCx, uint8_t ADC_FLAG); -void ADC_ClearFlag(ADC_TypeDef* ADCx, uint8_t ADC_FLAG); -ITStatus ADC_GetITStatus(ADC_TypeDef* ADCx, uint16_t ADC_IT); -void ADC_ClearITPendingBit(ADC_TypeDef* ADCx, uint16_t ADC_IT); - -#ifdef __cplusplus -} -#endif - -#endif /*__STM32F10x_ADC_H */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_bkp.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_bkp.h deleted file mode 100644 index b620753ef..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_bkp.h +++ /dev/null @@ -1,195 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_bkp.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the BKP firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_BKP_H -#define __STM32F10x_BKP_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup BKP - * @{ - */ - -/** @defgroup BKP_Exported_Types - * @{ - */ - -/** - * @} - */ - -/** @defgroup BKP_Exported_Constants - * @{ - */ - -/** @defgroup Tamper_Pin_active_level - * @{ - */ - -#define BKP_TamperPinLevel_High ((uint16_t)0x0000) -#define BKP_TamperPinLevel_Low ((uint16_t)0x0001) -#define IS_BKP_TAMPER_PIN_LEVEL(LEVEL) (((LEVEL) == BKP_TamperPinLevel_High) || \ - ((LEVEL) == BKP_TamperPinLevel_Low)) -/** - * @} - */ - -/** @defgroup RTC_output_source_to_output_on_the_Tamper_pin - * @{ - */ - -#define BKP_RTCOutputSource_None ((uint16_t)0x0000) -#define BKP_RTCOutputSource_CalibClock ((uint16_t)0x0080) -#define BKP_RTCOutputSource_Alarm ((uint16_t)0x0100) -#define BKP_RTCOutputSource_Second ((uint16_t)0x0300) -#define IS_BKP_RTC_OUTPUT_SOURCE(SOURCE) (((SOURCE) == BKP_RTCOutputSource_None) || \ - ((SOURCE) == BKP_RTCOutputSource_CalibClock) || \ - ((SOURCE) == BKP_RTCOutputSource_Alarm) || \ - ((SOURCE) == BKP_RTCOutputSource_Second)) -/** - * @} - */ - -/** @defgroup Data_Backup_Register - * @{ - */ - -#define BKP_DR1 ((uint16_t)0x0004) -#define BKP_DR2 ((uint16_t)0x0008) -#define BKP_DR3 ((uint16_t)0x000C) -#define BKP_DR4 ((uint16_t)0x0010) -#define BKP_DR5 ((uint16_t)0x0014) -#define BKP_DR6 ((uint16_t)0x0018) -#define BKP_DR7 ((uint16_t)0x001C) -#define BKP_DR8 ((uint16_t)0x0020) -#define BKP_DR9 ((uint16_t)0x0024) -#define BKP_DR10 ((uint16_t)0x0028) -#define BKP_DR11 ((uint16_t)0x0040) -#define BKP_DR12 ((uint16_t)0x0044) -#define BKP_DR13 ((uint16_t)0x0048) -#define BKP_DR14 ((uint16_t)0x004C) -#define BKP_DR15 ((uint16_t)0x0050) -#define BKP_DR16 ((uint16_t)0x0054) -#define BKP_DR17 ((uint16_t)0x0058) -#define BKP_DR18 ((uint16_t)0x005C) -#define BKP_DR19 ((uint16_t)0x0060) -#define BKP_DR20 ((uint16_t)0x0064) -#define BKP_DR21 ((uint16_t)0x0068) -#define BKP_DR22 ((uint16_t)0x006C) -#define BKP_DR23 ((uint16_t)0x0070) -#define BKP_DR24 ((uint16_t)0x0074) -#define BKP_DR25 ((uint16_t)0x0078) -#define BKP_DR26 ((uint16_t)0x007C) -#define BKP_DR27 ((uint16_t)0x0080) -#define BKP_DR28 ((uint16_t)0x0084) -#define BKP_DR29 ((uint16_t)0x0088) -#define BKP_DR30 ((uint16_t)0x008C) -#define BKP_DR31 ((uint16_t)0x0090) -#define BKP_DR32 ((uint16_t)0x0094) -#define BKP_DR33 ((uint16_t)0x0098) -#define BKP_DR34 ((uint16_t)0x009C) -#define BKP_DR35 ((uint16_t)0x00A0) -#define BKP_DR36 ((uint16_t)0x00A4) -#define BKP_DR37 ((uint16_t)0x00A8) -#define BKP_DR38 ((uint16_t)0x00AC) -#define BKP_DR39 ((uint16_t)0x00B0) -#define BKP_DR40 ((uint16_t)0x00B4) -#define BKP_DR41 ((uint16_t)0x00B8) -#define BKP_DR42 ((uint16_t)0x00BC) - -#define IS_BKP_DR(DR) (((DR) == BKP_DR1) || ((DR) == BKP_DR2) || ((DR) == BKP_DR3) || \ - ((DR) == BKP_DR4) || ((DR) == BKP_DR5) || ((DR) == BKP_DR6) || \ - ((DR) == BKP_DR7) || ((DR) == BKP_DR8) || ((DR) == BKP_DR9) || \ - ((DR) == BKP_DR10) || ((DR) == BKP_DR11) || ((DR) == BKP_DR12) || \ - ((DR) == BKP_DR13) || ((DR) == BKP_DR14) || ((DR) == BKP_DR15) || \ - ((DR) == BKP_DR16) || ((DR) == BKP_DR17) || ((DR) == BKP_DR18) || \ - ((DR) == BKP_DR19) || ((DR) == BKP_DR20) || ((DR) == BKP_DR21) || \ - ((DR) == BKP_DR22) || ((DR) == BKP_DR23) || ((DR) == BKP_DR24) || \ - ((DR) == BKP_DR25) || ((DR) == BKP_DR26) || ((DR) == BKP_DR27) || \ - ((DR) == BKP_DR28) || ((DR) == BKP_DR29) || ((DR) == BKP_DR30) || \ - ((DR) == BKP_DR31) || ((DR) == BKP_DR32) || ((DR) == BKP_DR33) || \ - ((DR) == BKP_DR34) || ((DR) == BKP_DR35) || ((DR) == BKP_DR36) || \ - ((DR) == BKP_DR37) || ((DR) == BKP_DR38) || ((DR) == BKP_DR39) || \ - ((DR) == BKP_DR40) || ((DR) == BKP_DR41) || ((DR) == BKP_DR42)) - -#define IS_BKP_CALIBRATION_VALUE(VALUE) ((VALUE) <= 0x7F) -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup BKP_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup BKP_Exported_Functions - * @{ - */ - -void BKP_DeInit(void); -void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel); -void BKP_TamperPinCmd(FunctionalState NewState); -void BKP_ITConfig(FunctionalState NewState); -void BKP_RTCOutputConfig(uint16_t BKP_RTCOutputSource); -void BKP_SetRTCCalibrationValue(uint8_t CalibrationValue); -void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data); -uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR); -FlagStatus BKP_GetFlagStatus(void); -void BKP_ClearFlag(void); -ITStatus BKP_GetITStatus(void); -void BKP_ClearITPendingBit(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_BKP_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_can.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_can.h deleted file mode 100644 index 648f747cd..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_can.h +++ /dev/null @@ -1,697 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_can.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the CAN firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_CAN_H -#define __STM32F10x_CAN_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup CAN - * @{ - */ - -/** @defgroup CAN_Exported_Types - * @{ - */ - -#define IS_CAN_ALL_PERIPH(PERIPH) (((PERIPH) == CAN1) || \ - ((PERIPH) == CAN2)) - -/** - * @brief CAN init structure definition - */ - -typedef struct -{ - uint16_t CAN_Prescaler; /*!< Specifies the length of a time quantum. - It ranges from 1 to 1024. */ - - uint8_t CAN_Mode; /*!< Specifies the CAN operating mode. - This parameter can be a value of - @ref CAN_operating_mode */ - - uint8_t CAN_SJW; /*!< Specifies the maximum number of time quanta - the CAN hardware is allowed to lengthen or - shorten a bit to perform resynchronization. - This parameter can be a value of - @ref CAN_synchronisation_jump_width */ - - uint8_t CAN_BS1; /*!< Specifies the number of time quanta in Bit - Segment 1. This parameter can be a value of - @ref CAN_time_quantum_in_bit_segment_1 */ - - uint8_t CAN_BS2; /*!< Specifies the number of time quanta in Bit - Segment 2. - This parameter can be a value of - @ref CAN_time_quantum_in_bit_segment_2 */ - - FunctionalState CAN_TTCM; /*!< Enable or disable the time triggered - communication mode. This parameter can be set - either to ENABLE or DISABLE. */ - - FunctionalState CAN_ABOM; /*!< Enable or disable the automatic bus-off - management. This parameter can be set either - to ENABLE or DISABLE. */ - - FunctionalState CAN_AWUM; /*!< Enable or disable the automatic wake-up mode. - This parameter can be set either to ENABLE or - DISABLE. */ - - FunctionalState CAN_NART; /*!< Enable or disable the no-automatic - retransmission mode. This parameter can be - set either to ENABLE or DISABLE. */ - - FunctionalState CAN_RFLM; /*!< Enable or disable the Receive FIFO Locked mode. - This parameter can be set either to ENABLE - or DISABLE. */ - - FunctionalState CAN_TXFP; /*!< Enable or disable the transmit FIFO priority. - This parameter can be set either to ENABLE - or DISABLE. */ -} CAN_InitTypeDef; - -/** - * @brief CAN filter init structure definition - */ - -typedef struct -{ - uint16_t CAN_FilterIdHigh; /*!< Specifies the filter identification number (MSBs for a 32-bit - configuration, first one for a 16-bit configuration). - This parameter can be a value between 0x0000 and 0xFFFF */ - - uint16_t CAN_FilterIdLow; /*!< Specifies the filter identification number (LSBs for a 32-bit - configuration, second one for a 16-bit configuration). - This parameter can be a value between 0x0000 and 0xFFFF */ - - uint16_t CAN_FilterMaskIdHigh; /*!< Specifies the filter mask number or identification number, - according to the mode (MSBs for a 32-bit configuration, - first one for a 16-bit configuration). - This parameter can be a value between 0x0000 and 0xFFFF */ - - uint16_t CAN_FilterMaskIdLow; /*!< Specifies the filter mask number or identification number, - according to the mode (LSBs for a 32-bit configuration, - second one for a 16-bit configuration). - This parameter can be a value between 0x0000 and 0xFFFF */ - - uint16_t CAN_FilterFIFOAssignment; /*!< Specifies the FIFO (0 or 1) which will be assigned to the filter. - This parameter can be a value of @ref CAN_filter_FIFO */ - - uint8_t CAN_FilterNumber; /*!< Specifies the filter which will be initialized. It ranges from 0 to 13. */ - - uint8_t CAN_FilterMode; /*!< Specifies the filter mode to be initialized. - This parameter can be a value of @ref CAN_filter_mode */ - - uint8_t CAN_FilterScale; /*!< Specifies the filter scale. - This parameter can be a value of @ref CAN_filter_scale */ - - FunctionalState CAN_FilterActivation; /*!< Enable or disable the filter. - This parameter can be set either to ENABLE or DISABLE. */ -} CAN_FilterInitTypeDef; - -/** - * @brief CAN Tx message structure definition - */ - -typedef struct -{ - uint32_t StdId; /*!< Specifies the standard identifier. - This parameter can be a value between 0 to 0x7FF. */ - - uint32_t ExtId; /*!< Specifies the extended identifier. - This parameter can be a value between 0 to 0x1FFFFFFF. */ - - uint8_t IDE; /*!< Specifies the type of identifier for the message that - will be transmitted. This parameter can be a value - of @ref CAN_identifier_type */ - - uint8_t RTR; /*!< Specifies the type of frame for the message that will - be transmitted. This parameter can be a value of - @ref CAN_remote_transmission_request */ - - uint8_t DLC; /*!< Specifies the length of the frame that will be - transmitted. This parameter can be a value between - 0 to 8 */ - - uint8_t Data[8]; /*!< Contains the data to be transmitted. It ranges from 0 - to 0xFF. */ -} CanTxMsg; - -/** - * @brief CAN Rx message structure definition - */ - -typedef struct -{ - uint32_t StdId; /*!< Specifies the standard identifier. - This parameter can be a value between 0 to 0x7FF. */ - - uint32_t ExtId; /*!< Specifies the extended identifier. - This parameter can be a value between 0 to 0x1FFFFFFF. */ - - uint8_t IDE; /*!< Specifies the type of identifier for the message that - will be received. This parameter can be a value of - @ref CAN_identifier_type */ - - uint8_t RTR; /*!< Specifies the type of frame for the received message. - This parameter can be a value of - @ref CAN_remote_transmission_request */ - - uint8_t DLC; /*!< Specifies the length of the frame that will be received. - This parameter can be a value between 0 to 8 */ - - uint8_t Data[8]; /*!< Contains the data to be received. It ranges from 0 to - 0xFF. */ - - uint8_t FMI; /*!< Specifies the index of the filter the message stored in - the mailbox passes through. This parameter can be a - value between 0 to 0xFF */ -} CanRxMsg; - -/** - * @} - */ - -/** @defgroup CAN_Exported_Constants - * @{ - */ - -/** @defgroup CAN_sleep_constants - * @{ - */ - -#define CAN_InitStatus_Failed ((uint8_t)0x00) /*!< CAN initialization failed */ -#define CAN_InitStatus_Success ((uint8_t)0x01) /*!< CAN initialization OK */ - -/** - * @} - */ - -/** @defgroup CAN_Mode - * @{ - */ - -#define CAN_Mode_Normal ((uint8_t)0x00) /*!< normal mode */ -#define CAN_Mode_LoopBack ((uint8_t)0x01) /*!< loopback mode */ -#define CAN_Mode_Silent ((uint8_t)0x02) /*!< silent mode */ -#define CAN_Mode_Silent_LoopBack ((uint8_t)0x03) /*!< loopback combined with silent mode */ - -#define IS_CAN_MODE(MODE) (((MODE) == CAN_Mode_Normal) || \ - ((MODE) == CAN_Mode_LoopBack)|| \ - ((MODE) == CAN_Mode_Silent) || \ - ((MODE) == CAN_Mode_Silent_LoopBack)) -/** - * @} - */ - - -/** - * @defgroup CAN_Operating_Mode - * @{ - */ -#define CAN_OperatingMode_Initialization ((uint8_t)0x00) /*!< Initialization mode */ -#define CAN_OperatingMode_Normal ((uint8_t)0x01) /*!< Normal mode */ -#define CAN_OperatingMode_Sleep ((uint8_t)0x02) /*!< sleep mode */ - - -#define IS_CAN_OPERATING_MODE(MODE) (((MODE) == CAN_OperatingMode_Initialization) ||\ - ((MODE) == CAN_OperatingMode_Normal)|| \ - ((MODE) == CAN_OperatingMode_Sleep)) -/** - * @} - */ - -/** - * @defgroup CAN_Mode_Status - * @{ - */ - -#define CAN_ModeStatus_Failed ((uint8_t)0x00) /*!< CAN entering the specific mode failed */ -#define CAN_ModeStatus_Success ((uint8_t)!CAN_ModeStatus_Failed) /*!< CAN entering the specific mode Succeed */ - - -/** - * @} - */ - -/** @defgroup CAN_synchronisation_jump_width - * @{ - */ - -#define CAN_SJW_1tq ((uint8_t)0x00) /*!< 1 time quantum */ -#define CAN_SJW_2tq ((uint8_t)0x01) /*!< 2 time quantum */ -#define CAN_SJW_3tq ((uint8_t)0x02) /*!< 3 time quantum */ -#define CAN_SJW_4tq ((uint8_t)0x03) /*!< 4 time quantum */ - -#define IS_CAN_SJW(SJW) (((SJW) == CAN_SJW_1tq) || ((SJW) == CAN_SJW_2tq)|| \ - ((SJW) == CAN_SJW_3tq) || ((SJW) == CAN_SJW_4tq)) -/** - * @} - */ - -/** @defgroup CAN_time_quantum_in_bit_segment_1 - * @{ - */ - -#define CAN_BS1_1tq ((uint8_t)0x00) /*!< 1 time quantum */ -#define CAN_BS1_2tq ((uint8_t)0x01) /*!< 2 time quantum */ -#define CAN_BS1_3tq ((uint8_t)0x02) /*!< 3 time quantum */ -#define CAN_BS1_4tq ((uint8_t)0x03) /*!< 4 time quantum */ -#define CAN_BS1_5tq ((uint8_t)0x04) /*!< 5 time quantum */ -#define CAN_BS1_6tq ((uint8_t)0x05) /*!< 6 time quantum */ -#define CAN_BS1_7tq ((uint8_t)0x06) /*!< 7 time quantum */ -#define CAN_BS1_8tq ((uint8_t)0x07) /*!< 8 time quantum */ -#define CAN_BS1_9tq ((uint8_t)0x08) /*!< 9 time quantum */ -#define CAN_BS1_10tq ((uint8_t)0x09) /*!< 10 time quantum */ -#define CAN_BS1_11tq ((uint8_t)0x0A) /*!< 11 time quantum */ -#define CAN_BS1_12tq ((uint8_t)0x0B) /*!< 12 time quantum */ -#define CAN_BS1_13tq ((uint8_t)0x0C) /*!< 13 time quantum */ -#define CAN_BS1_14tq ((uint8_t)0x0D) /*!< 14 time quantum */ -#define CAN_BS1_15tq ((uint8_t)0x0E) /*!< 15 time quantum */ -#define CAN_BS1_16tq ((uint8_t)0x0F) /*!< 16 time quantum */ - -#define IS_CAN_BS1(BS1) ((BS1) <= CAN_BS1_16tq) -/** - * @} - */ - -/** @defgroup CAN_time_quantum_in_bit_segment_2 - * @{ - */ - -#define CAN_BS2_1tq ((uint8_t)0x00) /*!< 1 time quantum */ -#define CAN_BS2_2tq ((uint8_t)0x01) /*!< 2 time quantum */ -#define CAN_BS2_3tq ((uint8_t)0x02) /*!< 3 time quantum */ -#define CAN_BS2_4tq ((uint8_t)0x03) /*!< 4 time quantum */ -#define CAN_BS2_5tq ((uint8_t)0x04) /*!< 5 time quantum */ -#define CAN_BS2_6tq ((uint8_t)0x05) /*!< 6 time quantum */ -#define CAN_BS2_7tq ((uint8_t)0x06) /*!< 7 time quantum */ -#define CAN_BS2_8tq ((uint8_t)0x07) /*!< 8 time quantum */ - -#define IS_CAN_BS2(BS2) ((BS2) <= CAN_BS2_8tq) - -/** - * @} - */ - -/** @defgroup CAN_clock_prescaler - * @{ - */ - -#define IS_CAN_PRESCALER(PRESCALER) (((PRESCALER) >= 1) && ((PRESCALER) <= 1024)) - -/** - * @} - */ - -/** @defgroup CAN_filter_number - * @{ - */ -#ifndef STM32F10X_CL - #define IS_CAN_FILTER_NUMBER(NUMBER) ((NUMBER) <= 13) -#else - #define IS_CAN_FILTER_NUMBER(NUMBER) ((NUMBER) <= 27) -#endif /* STM32F10X_CL */ -/** - * @} - */ - -/** @defgroup CAN_filter_mode - * @{ - */ - -#define CAN_FilterMode_IdMask ((uint8_t)0x00) /*!< identifier/mask mode */ -#define CAN_FilterMode_IdList ((uint8_t)0x01) /*!< identifier list mode */ - -#define IS_CAN_FILTER_MODE(MODE) (((MODE) == CAN_FilterMode_IdMask) || \ - ((MODE) == CAN_FilterMode_IdList)) -/** - * @} - */ - -/** @defgroup CAN_filter_scale - * @{ - */ - -#define CAN_FilterScale_16bit ((uint8_t)0x00) /*!< Two 16-bit filters */ -#define CAN_FilterScale_32bit ((uint8_t)0x01) /*!< One 32-bit filter */ - -#define IS_CAN_FILTER_SCALE(SCALE) (((SCALE) == CAN_FilterScale_16bit) || \ - ((SCALE) == CAN_FilterScale_32bit)) - -/** - * @} - */ - -/** @defgroup CAN_filter_FIFO - * @{ - */ - -#define CAN_Filter_FIFO0 ((uint8_t)0x00) /*!< Filter FIFO 0 assignment for filter x */ -#define CAN_Filter_FIFO1 ((uint8_t)0x01) /*!< Filter FIFO 1 assignment for filter x */ -#define IS_CAN_FILTER_FIFO(FIFO) (((FIFO) == CAN_FilterFIFO0) || \ - ((FIFO) == CAN_FilterFIFO1)) -/** - * @} - */ - -/** @defgroup Start_bank_filter_for_slave_CAN - * @{ - */ -#define IS_CAN_BANKNUMBER(BANKNUMBER) (((BANKNUMBER) >= 1) && ((BANKNUMBER) <= 27)) -/** - * @} - */ - -/** @defgroup CAN_Tx - * @{ - */ - -#define IS_CAN_TRANSMITMAILBOX(TRANSMITMAILBOX) ((TRANSMITMAILBOX) <= ((uint8_t)0x02)) -#define IS_CAN_STDID(STDID) ((STDID) <= ((uint32_t)0x7FF)) -#define IS_CAN_EXTID(EXTID) ((EXTID) <= ((uint32_t)0x1FFFFFFF)) -#define IS_CAN_DLC(DLC) ((DLC) <= ((uint8_t)0x08)) - -/** - * @} - */ - -/** @defgroup CAN_identifier_type - * @{ - */ - -#define CAN_Id_Standard ((uint32_t)0x00000000) /*!< Standard Id */ -#define CAN_Id_Extended ((uint32_t)0x00000004) /*!< Extended Id */ -#define IS_CAN_IDTYPE(IDTYPE) (((IDTYPE) == CAN_Id_Standard) || \ - ((IDTYPE) == CAN_Id_Extended)) -/** - * @} - */ - -/** @defgroup CAN_remote_transmission_request - * @{ - */ - -#define CAN_RTR_Data ((uint32_t)0x00000000) /*!< Data frame */ -#define CAN_RTR_Remote ((uint32_t)0x00000002) /*!< Remote frame */ -#define IS_CAN_RTR(RTR) (((RTR) == CAN_RTR_Data) || ((RTR) == CAN_RTR_Remote)) - -/** - * @} - */ - -/** @defgroup CAN_transmit_constants - * @{ - */ - -#define CAN_TxStatus_Failed ((uint8_t)0x00)/*!< CAN transmission failed */ -#define CAN_TxStatus_Ok ((uint8_t)0x01) /*!< CAN transmission succeeded */ -#define CAN_TxStatus_Pending ((uint8_t)0x02) /*!< CAN transmission pending */ -#define CAN_TxStatus_NoMailBox ((uint8_t)0x04) /*!< CAN cell did not provide an empty mailbox */ - -/** - * @} - */ - -/** @defgroup CAN_receive_FIFO_number_constants - * @{ - */ - -#define CAN_FIFO0 ((uint8_t)0x00) /*!< CAN FIFO 0 used to receive */ -#define CAN_FIFO1 ((uint8_t)0x01) /*!< CAN FIFO 1 used to receive */ - -#define IS_CAN_FIFO(FIFO) (((FIFO) == CAN_FIFO0) || ((FIFO) == CAN_FIFO1)) - -/** - * @} - */ - -/** @defgroup CAN_sleep_constants - * @{ - */ - -#define CAN_Sleep_Failed ((uint8_t)0x00) /*!< CAN did not enter the sleep mode */ -#define CAN_Sleep_Ok ((uint8_t)0x01) /*!< CAN entered the sleep mode */ - -/** - * @} - */ - -/** @defgroup CAN_wake_up_constants - * @{ - */ - -#define CAN_WakeUp_Failed ((uint8_t)0x00) /*!< CAN did not leave the sleep mode */ -#define CAN_WakeUp_Ok ((uint8_t)0x01) /*!< CAN leaved the sleep mode */ - -/** - * @} - */ - -/** - * @defgroup CAN_Error_Code_constants - * @{ - */ - -#define CAN_ErrorCode_NoErr ((uint8_t)0x00) /*!< No Error */ -#define CAN_ErrorCode_StuffErr ((uint8_t)0x10) /*!< Stuff Error */ -#define CAN_ErrorCode_FormErr ((uint8_t)0x20) /*!< Form Error */ -#define CAN_ErrorCode_ACKErr ((uint8_t)0x30) /*!< Acknowledgment Error */ -#define CAN_ErrorCode_BitRecessiveErr ((uint8_t)0x40) /*!< Bit Recessive Error */ -#define CAN_ErrorCode_BitDominantErr ((uint8_t)0x50) /*!< Bit Dominant Error */ -#define CAN_ErrorCode_CRCErr ((uint8_t)0x60) /*!< CRC Error */ -#define CAN_ErrorCode_SoftwareSetErr ((uint8_t)0x70) /*!< Software Set Error */ - - -/** - * @} - */ - -/** @defgroup CAN_flags - * @{ - */ -/* If the flag is 0x3XXXXXXX, it means that it can be used with CAN_GetFlagStatus() - and CAN_ClearFlag() functions. */ -/* If the flag is 0x1XXXXXXX, it means that it can only be used with CAN_GetFlagStatus() function. */ - -/* Transmit Flags */ -#define CAN_FLAG_RQCP0 ((uint32_t)0x38000001) /*!< Request MailBox0 Flag */ -#define CAN_FLAG_RQCP1 ((uint32_t)0x38000100) /*!< Request MailBox1 Flag */ -#define CAN_FLAG_RQCP2 ((uint32_t)0x38010000) /*!< Request MailBox2 Flag */ - -/* Receive Flags */ -#define CAN_FLAG_FMP0 ((uint32_t)0x12000003) /*!< FIFO 0 Message Pending Flag */ -#define CAN_FLAG_FF0 ((uint32_t)0x32000008) /*!< FIFO 0 Full Flag */ -#define CAN_FLAG_FOV0 ((uint32_t)0x32000010) /*!< FIFO 0 Overrun Flag */ -#define CAN_FLAG_FMP1 ((uint32_t)0x14000003) /*!< FIFO 1 Message Pending Flag */ -#define CAN_FLAG_FF1 ((uint32_t)0x34000008) /*!< FIFO 1 Full Flag */ -#define CAN_FLAG_FOV1 ((uint32_t)0x34000010) /*!< FIFO 1 Overrun Flag */ - -/* Operating Mode Flags */ -#define CAN_FLAG_WKU ((uint32_t)0x31000008) /*!< Wake up Flag */ -#define CAN_FLAG_SLAK ((uint32_t)0x31000012) /*!< Sleep acknowledge Flag */ -/* Note: When SLAK intterupt is disabled (SLKIE=0), no polling on SLAKI is possible. - In this case the SLAK bit can be polled.*/ - -/* Error Flags */ -#define CAN_FLAG_EWG ((uint32_t)0x10F00001) /*!< Error Warning Flag */ -#define CAN_FLAG_EPV ((uint32_t)0x10F00002) /*!< Error Passive Flag */ -#define CAN_FLAG_BOF ((uint32_t)0x10F00004) /*!< Bus-Off Flag */ -#define CAN_FLAG_LEC ((uint32_t)0x30F00070) /*!< Last error code Flag */ - -#define IS_CAN_GET_FLAG(FLAG) (((FLAG) == CAN_FLAG_LEC) || ((FLAG) == CAN_FLAG_BOF) || \ - ((FLAG) == CAN_FLAG_EPV) || ((FLAG) == CAN_FLAG_EWG) || \ - ((FLAG) == CAN_FLAG_WKU) || ((FLAG) == CAN_FLAG_FOV0) || \ - ((FLAG) == CAN_FLAG_FF0) || ((FLAG) == CAN_FLAG_FMP0) || \ - ((FLAG) == CAN_FLAG_FOV1) || ((FLAG) == CAN_FLAG_FF1) || \ - ((FLAG) == CAN_FLAG_FMP1) || ((FLAG) == CAN_FLAG_RQCP2) || \ - ((FLAG) == CAN_FLAG_RQCP1)|| ((FLAG) == CAN_FLAG_RQCP0) || \ - ((FLAG) == CAN_FLAG_SLAK )) - -#define IS_CAN_CLEAR_FLAG(FLAG)(((FLAG) == CAN_FLAG_LEC) || ((FLAG) == CAN_FLAG_RQCP2) || \ - ((FLAG) == CAN_FLAG_RQCP1) || ((FLAG) == CAN_FLAG_RQCP0) || \ - ((FLAG) == CAN_FLAG_FF0) || ((FLAG) == CAN_FLAG_FOV0) ||\ - ((FLAG) == CAN_FLAG_FF1) || ((FLAG) == CAN_FLAG_FOV1) || \ - ((FLAG) == CAN_FLAG_WKU) || ((FLAG) == CAN_FLAG_SLAK)) -/** - * @} - */ - - -/** @defgroup CAN_interrupts - * @{ - */ - - - -#define CAN_IT_TME ((uint32_t)0x00000001) /*!< Transmit mailbox empty Interrupt*/ - -/* Receive Interrupts */ -#define CAN_IT_FMP0 ((uint32_t)0x00000002) /*!< FIFO 0 message pending Interrupt*/ -#define CAN_IT_FF0 ((uint32_t)0x00000004) /*!< FIFO 0 full Interrupt*/ -#define CAN_IT_FOV0 ((uint32_t)0x00000008) /*!< FIFO 0 overrun Interrupt*/ -#define CAN_IT_FMP1 ((uint32_t)0x00000010) /*!< FIFO 1 message pending Interrupt*/ -#define CAN_IT_FF1 ((uint32_t)0x00000020) /*!< FIFO 1 full Interrupt*/ -#define CAN_IT_FOV1 ((uint32_t)0x00000040) /*!< FIFO 1 overrun Interrupt*/ - -/* Operating Mode Interrupts */ -#define CAN_IT_WKU ((uint32_t)0x00010000) /*!< Wake-up Interrupt*/ -#define CAN_IT_SLK ((uint32_t)0x00020000) /*!< Sleep acknowledge Interrupt*/ - -/* Error Interrupts */ -#define CAN_IT_EWG ((uint32_t)0x00000100) /*!< Error warning Interrupt*/ -#define CAN_IT_EPV ((uint32_t)0x00000200) /*!< Error passive Interrupt*/ -#define CAN_IT_BOF ((uint32_t)0x00000400) /*!< Bus-off Interrupt*/ -#define CAN_IT_LEC ((uint32_t)0x00000800) /*!< Last error code Interrupt*/ -#define CAN_IT_ERR ((uint32_t)0x00008000) /*!< Error Interrupt*/ - -/* Flags named as Interrupts : kept only for FW compatibility */ -#define CAN_IT_RQCP0 CAN_IT_TME -#define CAN_IT_RQCP1 CAN_IT_TME -#define CAN_IT_RQCP2 CAN_IT_TME - - -#define IS_CAN_IT(IT) (((IT) == CAN_IT_TME) || ((IT) == CAN_IT_FMP0) ||\ - ((IT) == CAN_IT_FF0) || ((IT) == CAN_IT_FOV0) ||\ - ((IT) == CAN_IT_FMP1) || ((IT) == CAN_IT_FF1) ||\ - ((IT) == CAN_IT_FOV1) || ((IT) == CAN_IT_EWG) ||\ - ((IT) == CAN_IT_EPV) || ((IT) == CAN_IT_BOF) ||\ - ((IT) == CAN_IT_LEC) || ((IT) == CAN_IT_ERR) ||\ - ((IT) == CAN_IT_WKU) || ((IT) == CAN_IT_SLK)) - -#define IS_CAN_CLEAR_IT(IT) (((IT) == CAN_IT_TME) || ((IT) == CAN_IT_FF0) ||\ - ((IT) == CAN_IT_FOV0)|| ((IT) == CAN_IT_FF1) ||\ - ((IT) == CAN_IT_FOV1)|| ((IT) == CAN_IT_EWG) ||\ - ((IT) == CAN_IT_EPV) || ((IT) == CAN_IT_BOF) ||\ - ((IT) == CAN_IT_LEC) || ((IT) == CAN_IT_ERR) ||\ - ((IT) == CAN_IT_WKU) || ((IT) == CAN_IT_SLK)) - -/** - * @} - */ - -/** @defgroup CAN_Legacy - * @{ - */ -#define CANINITFAILED CAN_InitStatus_Failed -#define CANINITOK CAN_InitStatus_Success -#define CAN_FilterFIFO0 CAN_Filter_FIFO0 -#define CAN_FilterFIFO1 CAN_Filter_FIFO1 -#define CAN_ID_STD CAN_Id_Standard -#define CAN_ID_EXT CAN_Id_Extended -#define CAN_RTR_DATA CAN_RTR_Data -#define CAN_RTR_REMOTE CAN_RTR_Remote -#define CANTXFAILE CAN_TxStatus_Failed -#define CANTXOK CAN_TxStatus_Ok -#define CANTXPENDING CAN_TxStatus_Pending -#define CAN_NO_MB CAN_TxStatus_NoMailBox -#define CANSLEEPFAILED CAN_Sleep_Failed -#define CANSLEEPOK CAN_Sleep_Ok -#define CANWAKEUPFAILED CAN_WakeUp_Failed -#define CANWAKEUPOK CAN_WakeUp_Ok - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup CAN_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup CAN_Exported_Functions - * @{ - */ -/* Function used to set the CAN configuration to the default reset state *****/ -void CAN_DeInit(CAN_TypeDef* CANx); - -/* Initialization and Configuration functions *********************************/ -uint8_t CAN_Init(CAN_TypeDef* CANx, CAN_InitTypeDef* CAN_InitStruct); -void CAN_FilterInit(CAN_FilterInitTypeDef* CAN_FilterInitStruct); -void CAN_StructInit(CAN_InitTypeDef* CAN_InitStruct); -void CAN_SlaveStartBank(uint8_t CAN_BankNumber); -void CAN_DBGFreeze(CAN_TypeDef* CANx, FunctionalState NewState); -void CAN_TTComModeCmd(CAN_TypeDef* CANx, FunctionalState NewState); - -/* Transmit functions *********************************************************/ -uint8_t CAN_Transmit(CAN_TypeDef* CANx, CanTxMsg* TxMessage); -uint8_t CAN_TransmitStatus(CAN_TypeDef* CANx, uint8_t TransmitMailbox); -void CAN_CancelTransmit(CAN_TypeDef* CANx, uint8_t Mailbox); - -/* Receive functions **********************************************************/ -void CAN_Receive(CAN_TypeDef* CANx, uint8_t FIFONumber, CanRxMsg* RxMessage); -void CAN_FIFORelease(CAN_TypeDef* CANx, uint8_t FIFONumber); -uint8_t CAN_MessagePending(CAN_TypeDef* CANx, uint8_t FIFONumber); - - -/* Operation modes functions **************************************************/ -uint8_t CAN_OperatingModeRequest(CAN_TypeDef* CANx, uint8_t CAN_OperatingMode); -uint8_t CAN_Sleep(CAN_TypeDef* CANx); -uint8_t CAN_WakeUp(CAN_TypeDef* CANx); - -/* Error management functions *************************************************/ -uint8_t CAN_GetLastErrorCode(CAN_TypeDef* CANx); -uint8_t CAN_GetReceiveErrorCounter(CAN_TypeDef* CANx); -uint8_t CAN_GetLSBTransmitErrorCounter(CAN_TypeDef* CANx); - -/* Interrupts and flags management functions **********************************/ -void CAN_ITConfig(CAN_TypeDef* CANx, uint32_t CAN_IT, FunctionalState NewState); -FlagStatus CAN_GetFlagStatus(CAN_TypeDef* CANx, uint32_t CAN_FLAG); -void CAN_ClearFlag(CAN_TypeDef* CANx, uint32_t CAN_FLAG); -ITStatus CAN_GetITStatus(CAN_TypeDef* CANx, uint32_t CAN_IT); -void CAN_ClearITPendingBit(CAN_TypeDef* CANx, uint32_t CAN_IT); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_CAN_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_cec.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_cec.h deleted file mode 100644 index a3f8fc785..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_cec.h +++ /dev/null @@ -1,210 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_cec.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the CEC firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_CEC_H -#define __STM32F10x_CEC_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup CEC - * @{ - */ - - -/** @defgroup CEC_Exported_Types - * @{ - */ - -/** - * @brief CEC Init structure definition - */ -typedef struct -{ - uint16_t CEC_BitTimingMode; /*!< Configures the CEC Bit Timing Error Mode. - This parameter can be a value of @ref CEC_BitTiming_Mode */ - uint16_t CEC_BitPeriodMode; /*!< Configures the CEC Bit Period Error Mode. - This parameter can be a value of @ref CEC_BitPeriod_Mode */ -}CEC_InitTypeDef; - -/** - * @} - */ - -/** @defgroup CEC_Exported_Constants - * @{ - */ - -/** @defgroup CEC_BitTiming_Mode - * @{ - */ -#define CEC_BitTimingStdMode ((uint16_t)0x00) /*!< Bit timing error Standard Mode */ -#define CEC_BitTimingErrFreeMode CEC_CFGR_BTEM /*!< Bit timing error Free Mode */ - -#define IS_CEC_BIT_TIMING_ERROR_MODE(MODE) (((MODE) == CEC_BitTimingStdMode) || \ - ((MODE) == CEC_BitTimingErrFreeMode)) -/** - * @} - */ - -/** @defgroup CEC_BitPeriod_Mode - * @{ - */ -#define CEC_BitPeriodStdMode ((uint16_t)0x00) /*!< Bit period error Standard Mode */ -#define CEC_BitPeriodFlexibleMode CEC_CFGR_BPEM /*!< Bit period error Flexible Mode */ - -#define IS_CEC_BIT_PERIOD_ERROR_MODE(MODE) (((MODE) == CEC_BitPeriodStdMode) || \ - ((MODE) == CEC_BitPeriodFlexibleMode)) -/** - * @} - */ - - -/** @defgroup CEC_interrupts_definition - * @{ - */ -#define CEC_IT_TERR CEC_CSR_TERR -#define CEC_IT_TBTRF CEC_CSR_TBTRF -#define CEC_IT_RERR CEC_CSR_RERR -#define CEC_IT_RBTF CEC_CSR_RBTF -#define IS_CEC_GET_IT(IT) (((IT) == CEC_IT_TERR) || ((IT) == CEC_IT_TBTRF) || \ - ((IT) == CEC_IT_RERR) || ((IT) == CEC_IT_RBTF)) -/** - * @} - */ - - -/** @defgroup CEC_Own_Address - * @{ - */ -#define IS_CEC_ADDRESS(ADDRESS) ((ADDRESS) < 0x10) -/** - * @} - */ - -/** @defgroup CEC_Prescaler - * @{ - */ -#define IS_CEC_PRESCALER(PRESCALER) ((PRESCALER) <= 0x3FFF) - -/** - * @} - */ - -/** @defgroup CEC_flags_definition - * @{ - */ - -/** - * @brief ESR register flags - */ -#define CEC_FLAG_BTE ((uint32_t)0x10010000) -#define CEC_FLAG_BPE ((uint32_t)0x10020000) -#define CEC_FLAG_RBTFE ((uint32_t)0x10040000) -#define CEC_FLAG_SBE ((uint32_t)0x10080000) -#define CEC_FLAG_ACKE ((uint32_t)0x10100000) -#define CEC_FLAG_LINE ((uint32_t)0x10200000) -#define CEC_FLAG_TBTFE ((uint32_t)0x10400000) - -/** - * @brief CSR register flags - */ -#define CEC_FLAG_TEOM ((uint32_t)0x00000002) -#define CEC_FLAG_TERR ((uint32_t)0x00000004) -#define CEC_FLAG_TBTRF ((uint32_t)0x00000008) -#define CEC_FLAG_RSOM ((uint32_t)0x00000010) -#define CEC_FLAG_REOM ((uint32_t)0x00000020) -#define CEC_FLAG_RERR ((uint32_t)0x00000040) -#define CEC_FLAG_RBTF ((uint32_t)0x00000080) - -#define IS_CEC_CLEAR_FLAG(FLAG) ((((FLAG) & (uint32_t)0xFFFFFF03) == 0x00) && ((FLAG) != 0x00)) - -#define IS_CEC_GET_FLAG(FLAG) (((FLAG) == CEC_FLAG_BTE) || ((FLAG) == CEC_FLAG_BPE) || \ - ((FLAG) == CEC_FLAG_RBTFE) || ((FLAG)== CEC_FLAG_SBE) || \ - ((FLAG) == CEC_FLAG_ACKE) || ((FLAG) == CEC_FLAG_LINE) || \ - ((FLAG) == CEC_FLAG_TBTFE) || ((FLAG) == CEC_FLAG_TEOM) || \ - ((FLAG) == CEC_FLAG_TERR) || ((FLAG) == CEC_FLAG_TBTRF) || \ - ((FLAG) == CEC_FLAG_RSOM) || ((FLAG) == CEC_FLAG_REOM) || \ - ((FLAG) == CEC_FLAG_RERR) || ((FLAG) == CEC_FLAG_RBTF)) - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup CEC_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup CEC_Exported_Functions - * @{ - */ -void CEC_DeInit(void); -void CEC_Init(CEC_InitTypeDef* CEC_InitStruct); -void CEC_Cmd(FunctionalState NewState); -void CEC_ITConfig(FunctionalState NewState); -void CEC_OwnAddressConfig(uint8_t CEC_OwnAddress); -void CEC_SetPrescaler(uint16_t CEC_Prescaler); -void CEC_SendDataByte(uint8_t Data); -uint8_t CEC_ReceiveDataByte(void); -void CEC_StartOfMessage(void); -void CEC_EndOfMessageCmd(FunctionalState NewState); -FlagStatus CEC_GetFlagStatus(uint32_t CEC_FLAG); -void CEC_ClearFlag(uint32_t CEC_FLAG); -ITStatus CEC_GetITStatus(uint8_t CEC_IT); -void CEC_ClearITPendingBit(uint16_t CEC_IT); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_CEC_H */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_crc.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_crc.h deleted file mode 100644 index 658a51cef..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_crc.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_crc.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the CRC firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_CRC_H -#define __STM32F10x_CRC_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup CRC - * @{ - */ - -/** @defgroup CRC_Exported_Types - * @{ - */ - -/** - * @} - */ - -/** @defgroup CRC_Exported_Constants - * @{ - */ - -/** - * @} - */ - -/** @defgroup CRC_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup CRC_Exported_Functions - * @{ - */ - -void CRC_ResetDR(void); -uint32_t CRC_CalcCRC(uint32_t Data); -uint32_t CRC_CalcBlockCRC(uint32_t pBuffer[], uint32_t BufferLength); -uint32_t CRC_GetCRC(void); -void CRC_SetIDRegister(uint8_t IDValue); -uint8_t CRC_GetIDRegister(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_CRC_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dac.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dac.h deleted file mode 100644 index 710616412..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dac.h +++ /dev/null @@ -1,317 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_dac.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the DAC firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_DAC_H -#define __STM32F10x_DAC_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup DAC - * @{ - */ - -/** @defgroup DAC_Exported_Types - * @{ - */ - -/** - * @brief DAC Init structure definition - */ - -typedef struct -{ - 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_WaveGeneration; /*!< Specifies whether DAC channel noise waves or triangle waves - are generated, or whether no wave is generated. - This parameter can be a value of @ref DAC_wave_generation */ - - uint32_t DAC_LFSRUnmask_TriangleAmplitude; /*!< Specifies the LFSR mask for noise wave generation or - the maximum amplitude triangle generation for the DAC channel. - This parameter can be a value of @ref DAC_lfsrunmask_triangleamplitude */ - - 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 */ -}DAC_InitTypeDef; - -/** - * @} - */ - -/** @defgroup DAC_Exported_Constants - * @{ - */ - -/** @defgroup DAC_trigger_selection - * @{ - */ - -#define DAC_Trigger_None ((uint32_t)0x00000000) /*!< Conversion is automatic once the DAC1_DHRxxxx register - has been loaded, and not by external trigger */ -#define DAC_Trigger_T6_TRGO ((uint32_t)0x00000004) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */ -#define DAC_Trigger_T8_TRGO ((uint32_t)0x0000000C) /*!< TIM8 TRGO selected as external conversion trigger for DAC channel - only in High-density devices*/ -#define DAC_Trigger_T3_TRGO ((uint32_t)0x0000000C) /*!< TIM8 TRGO selected as external conversion trigger for DAC channel - only in Connectivity line, Medium-density and Low-density Value Line devices */ -#define DAC_Trigger_T7_TRGO ((uint32_t)0x00000014) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */ -#define DAC_Trigger_T5_TRGO ((uint32_t)0x0000001C) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */ -#define DAC_Trigger_T15_TRGO ((uint32_t)0x0000001C) /*!< TIM15 TRGO selected as external conversion trigger for DAC channel - only in Medium-density and Low-density Value Line devices*/ -#define DAC_Trigger_T2_TRGO ((uint32_t)0x00000024) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */ -#define DAC_Trigger_T4_TRGO ((uint32_t)0x0000002C) /*!< TIM4 TRGO selected as external conversion trigger for DAC channel */ -#define DAC_Trigger_Ext_IT9 ((uint32_t)0x00000034) /*!< EXTI Line9 event selected as external conversion trigger for DAC channel */ -#define DAC_Trigger_Software ((uint32_t)0x0000003C) /*!< Conversion started by software trigger for DAC channel */ - -#define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_Trigger_None) || \ - ((TRIGGER) == DAC_Trigger_T6_TRGO) || \ - ((TRIGGER) == DAC_Trigger_T8_TRGO) || \ - ((TRIGGER) == DAC_Trigger_T7_TRGO) || \ - ((TRIGGER) == DAC_Trigger_T5_TRGO) || \ - ((TRIGGER) == DAC_Trigger_T2_TRGO) || \ - ((TRIGGER) == DAC_Trigger_T4_TRGO) || \ - ((TRIGGER) == DAC_Trigger_Ext_IT9) || \ - ((TRIGGER) == DAC_Trigger_Software)) - -/** - * @} - */ - -/** @defgroup DAC_wave_generation - * @{ - */ - -#define DAC_WaveGeneration_None ((uint32_t)0x00000000) -#define DAC_WaveGeneration_Noise ((uint32_t)0x00000040) -#define DAC_WaveGeneration_Triangle ((uint32_t)0x00000080) -#define IS_DAC_GENERATE_WAVE(WAVE) (((WAVE) == DAC_WaveGeneration_None) || \ - ((WAVE) == DAC_WaveGeneration_Noise) || \ - ((WAVE) == DAC_WaveGeneration_Triangle)) -/** - * @} - */ - -/** @defgroup DAC_lfsrunmask_triangleamplitude - * @{ - */ - -#define DAC_LFSRUnmask_Bit0 ((uint32_t)0x00000000) /*!< Unmask DAC channel LFSR bit0 for noise wave generation */ -#define DAC_LFSRUnmask_Bits1_0 ((uint32_t)0x00000100) /*!< Unmask DAC channel LFSR bit[1:0] for noise wave generation */ -#define DAC_LFSRUnmask_Bits2_0 ((uint32_t)0x00000200) /*!< Unmask DAC channel LFSR bit[2:0] for noise wave generation */ -#define DAC_LFSRUnmask_Bits3_0 ((uint32_t)0x00000300) /*!< Unmask DAC channel LFSR bit[3:0] for noise wave generation */ -#define DAC_LFSRUnmask_Bits4_0 ((uint32_t)0x00000400) /*!< Unmask DAC channel LFSR bit[4:0] for noise wave generation */ -#define DAC_LFSRUnmask_Bits5_0 ((uint32_t)0x00000500) /*!< Unmask DAC channel LFSR bit[5:0] for noise wave generation */ -#define DAC_LFSRUnmask_Bits6_0 ((uint32_t)0x00000600) /*!< Unmask DAC channel LFSR bit[6:0] for noise wave generation */ -#define DAC_LFSRUnmask_Bits7_0 ((uint32_t)0x00000700) /*!< Unmask DAC channel LFSR bit[7:0] for noise wave generation */ -#define DAC_LFSRUnmask_Bits8_0 ((uint32_t)0x00000800) /*!< Unmask DAC channel LFSR bit[8:0] for noise wave generation */ -#define DAC_LFSRUnmask_Bits9_0 ((uint32_t)0x00000900) /*!< Unmask DAC channel LFSR bit[9:0] for noise wave generation */ -#define DAC_LFSRUnmask_Bits10_0 ((uint32_t)0x00000A00) /*!< Unmask DAC channel LFSR bit[10:0] for noise wave generation */ -#define DAC_LFSRUnmask_Bits11_0 ((uint32_t)0x00000B00) /*!< 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)0x00000100) /*!< Select max triangle amplitude of 3 */ -#define DAC_TriangleAmplitude_7 ((uint32_t)0x00000200) /*!< Select max triangle amplitude of 7 */ -#define DAC_TriangleAmplitude_15 ((uint32_t)0x00000300) /*!< Select max triangle amplitude of 15 */ -#define DAC_TriangleAmplitude_31 ((uint32_t)0x00000400) /*!< Select max triangle amplitude of 31 */ -#define DAC_TriangleAmplitude_63 ((uint32_t)0x00000500) /*!< Select max triangle amplitude of 63 */ -#define DAC_TriangleAmplitude_127 ((uint32_t)0x00000600) /*!< Select max triangle amplitude of 127 */ -#define DAC_TriangleAmplitude_255 ((uint32_t)0x00000700) /*!< Select max triangle amplitude of 255 */ -#define DAC_TriangleAmplitude_511 ((uint32_t)0x00000800) /*!< Select max triangle amplitude of 511 */ -#define DAC_TriangleAmplitude_1023 ((uint32_t)0x00000900) /*!< Select max triangle amplitude of 1023 */ -#define DAC_TriangleAmplitude_2047 ((uint32_t)0x00000A00) /*!< Select max triangle amplitude of 2047 */ -#define DAC_TriangleAmplitude_4095 ((uint32_t)0x00000B00) /*!< Select max triangle amplitude of 4095 */ - -#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)) -/** - * @} - */ - -/** @defgroup DAC_output_buffer - * @{ - */ - -#define DAC_OutputBuffer_Enable ((uint32_t)0x00000000) -#define DAC_OutputBuffer_Disable ((uint32_t)0x00000002) -#define IS_DAC_OUTPUT_BUFFER_STATE(STATE) (((STATE) == DAC_OutputBuffer_Enable) || \ - ((STATE) == DAC_OutputBuffer_Disable)) -/** - * @} - */ - -/** @defgroup DAC_Channel_selection - * @{ - */ - -#define DAC_Channel_1 ((uint32_t)0x00000000) -#define DAC_Channel_2 ((uint32_t)0x00000010) -#define IS_DAC_CHANNEL(CHANNEL) (((CHANNEL) == DAC_Channel_1) || \ - ((CHANNEL) == DAC_Channel_2)) -/** - * @} - */ - -/** @defgroup 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) -#define IS_DAC_ALIGN(ALIGN) (((ALIGN) == DAC_Align_12b_R) || \ - ((ALIGN) == DAC_Align_12b_L) || \ - ((ALIGN) == DAC_Align_8b_R)) -/** - * @} - */ - -/** @defgroup DAC_wave_generation - * @{ - */ - -#define DAC_Wave_Noise ((uint32_t)0x00000040) -#define DAC_Wave_Triangle ((uint32_t)0x00000080) -#define IS_DAC_WAVE(WAVE) (((WAVE) == DAC_Wave_Noise) || \ - ((WAVE) == DAC_Wave_Triangle)) -/** - * @} - */ - -/** @defgroup DAC_data - * @{ - */ - -#define IS_DAC_DATA(DATA) ((DATA) <= 0xFFF0) -/** - * @} - */ -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) -/** @defgroup DAC_interrupts_definition - * @{ - */ - -#define DAC_IT_DMAUDR ((uint32_t)0x00002000) -#define IS_DAC_IT(IT) (((IT) == DAC_IT_DMAUDR)) - -/** - * @} - */ - -/** @defgroup DAC_flags_definition - * @{ - */ - -#define DAC_FLAG_DMAUDR ((uint32_t)0x00002000) -#define IS_DAC_FLAG(FLAG) (((FLAG) == DAC_FLAG_DMAUDR)) - -/** - * @} - */ -#endif - -/** - * @} - */ - -/** @defgroup DAC_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup DAC_Exported_Functions - * @{ - */ - -void DAC_DeInit(void); -void DAC_Init(uint32_t DAC_Channel, DAC_InitTypeDef* DAC_InitStruct); -void DAC_StructInit(DAC_InitTypeDef* DAC_InitStruct); -void DAC_Cmd(uint32_t DAC_Channel, FunctionalState NewState); -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) -void DAC_ITConfig(uint32_t DAC_Channel, uint32_t DAC_IT, FunctionalState NewState); -#endif -void DAC_DMACmd(uint32_t DAC_Channel, FunctionalState NewState); -void DAC_SoftwareTriggerCmd(uint32_t DAC_Channel, FunctionalState NewState); -void DAC_DualSoftwareTriggerCmd(FunctionalState NewState); -void DAC_WaveGenerationCmd(uint32_t DAC_Channel, uint32_t DAC_Wave, FunctionalState NewState); -void DAC_SetChannel1Data(uint32_t DAC_Align, uint16_t Data); -void DAC_SetChannel2Data(uint32_t DAC_Align, uint16_t Data); -void DAC_SetDualChannelData(uint32_t DAC_Align, uint16_t Data2, uint16_t Data1); -uint16_t DAC_GetDataOutputValue(uint32_t DAC_Channel); -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) -FlagStatus DAC_GetFlagStatus(uint32_t DAC_Channel, uint32_t DAC_FLAG); -void DAC_ClearFlag(uint32_t DAC_Channel, uint32_t DAC_FLAG); -ITStatus DAC_GetITStatus(uint32_t DAC_Channel, uint32_t DAC_IT); -void DAC_ClearITPendingBit(uint32_t DAC_Channel, uint32_t DAC_IT); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /*__STM32F10x_DAC_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dbgmcu.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dbgmcu.h deleted file mode 100644 index 1e6a68acb..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dbgmcu.h +++ /dev/null @@ -1,119 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_dbgmcu.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the DBGMCU - * firmware library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_DBGMCU_H -#define __STM32F10x_DBGMCU_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup DBGMCU - * @{ - */ - -/** @defgroup DBGMCU_Exported_Types - * @{ - */ - -/** - * @} - */ - -/** @defgroup DBGMCU_Exported_Constants - * @{ - */ - -#define DBGMCU_SLEEP ((uint32_t)0x00000001) -#define DBGMCU_STOP ((uint32_t)0x00000002) -#define DBGMCU_STANDBY ((uint32_t)0x00000004) -#define DBGMCU_IWDG_STOP ((uint32_t)0x00000100) -#define DBGMCU_WWDG_STOP ((uint32_t)0x00000200) -#define DBGMCU_TIM1_STOP ((uint32_t)0x00000400) -#define DBGMCU_TIM2_STOP ((uint32_t)0x00000800) -#define DBGMCU_TIM3_STOP ((uint32_t)0x00001000) -#define DBGMCU_TIM4_STOP ((uint32_t)0x00002000) -#define DBGMCU_CAN1_STOP ((uint32_t)0x00004000) -#define DBGMCU_I2C1_SMBUS_TIMEOUT ((uint32_t)0x00008000) -#define DBGMCU_I2C2_SMBUS_TIMEOUT ((uint32_t)0x00010000) -#define DBGMCU_TIM8_STOP ((uint32_t)0x00020000) -#define DBGMCU_TIM5_STOP ((uint32_t)0x00040000) -#define DBGMCU_TIM6_STOP ((uint32_t)0x00080000) -#define DBGMCU_TIM7_STOP ((uint32_t)0x00100000) -#define DBGMCU_CAN2_STOP ((uint32_t)0x00200000) -#define DBGMCU_TIM15_STOP ((uint32_t)0x00400000) -#define DBGMCU_TIM16_STOP ((uint32_t)0x00800000) -#define DBGMCU_TIM17_STOP ((uint32_t)0x01000000) -#define DBGMCU_TIM12_STOP ((uint32_t)0x02000000) -#define DBGMCU_TIM13_STOP ((uint32_t)0x04000000) -#define DBGMCU_TIM14_STOP ((uint32_t)0x08000000) -#define DBGMCU_TIM9_STOP ((uint32_t)0x10000000) -#define DBGMCU_TIM10_STOP ((uint32_t)0x20000000) -#define DBGMCU_TIM11_STOP ((uint32_t)0x40000000) - -#define IS_DBGMCU_PERIPH(PERIPH) ((((PERIPH) & 0x800000F8) == 0x00) && ((PERIPH) != 0x00)) -/** - * @} - */ - -/** @defgroup DBGMCU_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup DBGMCU_Exported_Functions - * @{ - */ - -uint32_t DBGMCU_GetREVID(void); -uint32_t DBGMCU_GetDEVID(void); -void DBGMCU_Config(uint32_t DBGMCU_Periph, FunctionalState NewState); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_DBGMCU_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dma.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dma.h deleted file mode 100644 index b5dc6a80a..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_dma.h +++ /dev/null @@ -1,439 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_dma.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the DMA firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_DMA_H -#define __STM32F10x_DMA_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup DMA - * @{ - */ - -/** @defgroup DMA_Exported_Types - * @{ - */ - -/** - * @brief DMA Init structure definition - */ - -typedef struct -{ - uint32_t DMA_PeripheralBaseAddr; /*!< Specifies the peripheral base address for DMAy Channelx. */ - - uint32_t DMA_MemoryBaseAddr; /*!< Specifies the memory base address for DMAy Channelx. */ - - uint32_t DMA_DIR; /*!< Specifies if the peripheral is the source or destination. - This parameter can be a value of @ref DMA_data_transfer_direction */ - - uint32_t DMA_BufferSize; /*!< Specifies the buffer size, in data unit, of the specified Channel. - The data unit is equal to the configuration set in DMA_PeripheralDataSize - or DMA_MemoryDataSize members depending in the transfer direction. */ - - uint32_t DMA_PeripheralInc; /*!< Specifies whether the Peripheral address register is incremented or not. - This parameter can be a value of @ref DMA_peripheral_incremented_mode */ - - uint32_t DMA_MemoryInc; /*!< Specifies whether the memory address register is incremented or not. - This parameter can be a value of @ref DMA_memory_incremented_mode */ - - uint32_t DMA_PeripheralDataSize; /*!< Specifies the Peripheral data width. - This parameter can be a value of @ref DMA_peripheral_data_size */ - - uint32_t DMA_MemoryDataSize; /*!< Specifies the Memory data width. - This parameter can be a value of @ref DMA_memory_data_size */ - - uint32_t DMA_Mode; /*!< Specifies the operation mode of the DMAy Channelx. - This parameter can be a value of @ref DMA_circular_normal_mode. - @note: The circular buffer mode cannot be used if the memory-to-memory - data transfer is configured on the selected Channel */ - - uint32_t DMA_Priority; /*!< Specifies the software priority for the DMAy Channelx. - This parameter can be a value of @ref DMA_priority_level */ - - uint32_t DMA_M2M; /*!< Specifies if the DMAy Channelx will be used in memory-to-memory transfer. - This parameter can be a value of @ref DMA_memory_to_memory */ -}DMA_InitTypeDef; - -/** - * @} - */ - -/** @defgroup DMA_Exported_Constants - * @{ - */ - -#define IS_DMA_ALL_PERIPH(PERIPH) (((PERIPH) == DMA1_Channel1) || \ - ((PERIPH) == DMA1_Channel2) || \ - ((PERIPH) == DMA1_Channel3) || \ - ((PERIPH) == DMA1_Channel4) || \ - ((PERIPH) == DMA1_Channel5) || \ - ((PERIPH) == DMA1_Channel6) || \ - ((PERIPH) == DMA1_Channel7) || \ - ((PERIPH) == DMA2_Channel1) || \ - ((PERIPH) == DMA2_Channel2) || \ - ((PERIPH) == DMA2_Channel3) || \ - ((PERIPH) == DMA2_Channel4) || \ - ((PERIPH) == DMA2_Channel5)) - -/** @defgroup DMA_data_transfer_direction - * @{ - */ - -#define DMA_DIR_PeripheralDST ((uint32_t)0x00000010) -#define DMA_DIR_PeripheralSRC ((uint32_t)0x00000000) -#define IS_DMA_DIR(DIR) (((DIR) == DMA_DIR_PeripheralDST) || \ - ((DIR) == DMA_DIR_PeripheralSRC)) -/** - * @} - */ - -/** @defgroup DMA_peripheral_incremented_mode - * @{ - */ - -#define DMA_PeripheralInc_Enable ((uint32_t)0x00000040) -#define DMA_PeripheralInc_Disable ((uint32_t)0x00000000) -#define IS_DMA_PERIPHERAL_INC_STATE(STATE) (((STATE) == DMA_PeripheralInc_Enable) || \ - ((STATE) == DMA_PeripheralInc_Disable)) -/** - * @} - */ - -/** @defgroup DMA_memory_incremented_mode - * @{ - */ - -#define DMA_MemoryInc_Enable ((uint32_t)0x00000080) -#define DMA_MemoryInc_Disable ((uint32_t)0x00000000) -#define IS_DMA_MEMORY_INC_STATE(STATE) (((STATE) == DMA_MemoryInc_Enable) || \ - ((STATE) == DMA_MemoryInc_Disable)) -/** - * @} - */ - -/** @defgroup DMA_peripheral_data_size - * @{ - */ - -#define DMA_PeripheralDataSize_Byte ((uint32_t)0x00000000) -#define DMA_PeripheralDataSize_HalfWord ((uint32_t)0x00000100) -#define DMA_PeripheralDataSize_Word ((uint32_t)0x00000200) -#define IS_DMA_PERIPHERAL_DATA_SIZE(SIZE) (((SIZE) == DMA_PeripheralDataSize_Byte) || \ - ((SIZE) == DMA_PeripheralDataSize_HalfWord) || \ - ((SIZE) == DMA_PeripheralDataSize_Word)) -/** - * @} - */ - -/** @defgroup DMA_memory_data_size - * @{ - */ - -#define DMA_MemoryDataSize_Byte ((uint32_t)0x00000000) -#define DMA_MemoryDataSize_HalfWord ((uint32_t)0x00000400) -#define DMA_MemoryDataSize_Word ((uint32_t)0x00000800) -#define IS_DMA_MEMORY_DATA_SIZE(SIZE) (((SIZE) == DMA_MemoryDataSize_Byte) || \ - ((SIZE) == DMA_MemoryDataSize_HalfWord) || \ - ((SIZE) == DMA_MemoryDataSize_Word)) -/** - * @} - */ - -/** @defgroup DMA_circular_normal_mode - * @{ - */ - -#define DMA_Mode_Circular ((uint32_t)0x00000020) -#define DMA_Mode_Normal ((uint32_t)0x00000000) -#define IS_DMA_MODE(MODE) (((MODE) == DMA_Mode_Circular) || ((MODE) == DMA_Mode_Normal)) -/** - * @} - */ - -/** @defgroup DMA_priority_level - * @{ - */ - -#define DMA_Priority_VeryHigh ((uint32_t)0x00003000) -#define DMA_Priority_High ((uint32_t)0x00002000) -#define DMA_Priority_Medium ((uint32_t)0x00001000) -#define DMA_Priority_Low ((uint32_t)0x00000000) -#define IS_DMA_PRIORITY(PRIORITY) (((PRIORITY) == DMA_Priority_VeryHigh) || \ - ((PRIORITY) == DMA_Priority_High) || \ - ((PRIORITY) == DMA_Priority_Medium) || \ - ((PRIORITY) == DMA_Priority_Low)) -/** - * @} - */ - -/** @defgroup DMA_memory_to_memory - * @{ - */ - -#define DMA_M2M_Enable ((uint32_t)0x00004000) -#define DMA_M2M_Disable ((uint32_t)0x00000000) -#define IS_DMA_M2M_STATE(STATE) (((STATE) == DMA_M2M_Enable) || ((STATE) == DMA_M2M_Disable)) - -/** - * @} - */ - -/** @defgroup DMA_interrupts_definition - * @{ - */ - -#define DMA_IT_TC ((uint32_t)0x00000002) -#define DMA_IT_HT ((uint32_t)0x00000004) -#define DMA_IT_TE ((uint32_t)0x00000008) -#define IS_DMA_CONFIG_IT(IT) ((((IT) & 0xFFFFFFF1) == 0x00) && ((IT) != 0x00)) - -#define DMA1_IT_GL1 ((uint32_t)0x00000001) -#define DMA1_IT_TC1 ((uint32_t)0x00000002) -#define DMA1_IT_HT1 ((uint32_t)0x00000004) -#define DMA1_IT_TE1 ((uint32_t)0x00000008) -#define DMA1_IT_GL2 ((uint32_t)0x00000010) -#define DMA1_IT_TC2 ((uint32_t)0x00000020) -#define DMA1_IT_HT2 ((uint32_t)0x00000040) -#define DMA1_IT_TE2 ((uint32_t)0x00000080) -#define DMA1_IT_GL3 ((uint32_t)0x00000100) -#define DMA1_IT_TC3 ((uint32_t)0x00000200) -#define DMA1_IT_HT3 ((uint32_t)0x00000400) -#define DMA1_IT_TE3 ((uint32_t)0x00000800) -#define DMA1_IT_GL4 ((uint32_t)0x00001000) -#define DMA1_IT_TC4 ((uint32_t)0x00002000) -#define DMA1_IT_HT4 ((uint32_t)0x00004000) -#define DMA1_IT_TE4 ((uint32_t)0x00008000) -#define DMA1_IT_GL5 ((uint32_t)0x00010000) -#define DMA1_IT_TC5 ((uint32_t)0x00020000) -#define DMA1_IT_HT5 ((uint32_t)0x00040000) -#define DMA1_IT_TE5 ((uint32_t)0x00080000) -#define DMA1_IT_GL6 ((uint32_t)0x00100000) -#define DMA1_IT_TC6 ((uint32_t)0x00200000) -#define DMA1_IT_HT6 ((uint32_t)0x00400000) -#define DMA1_IT_TE6 ((uint32_t)0x00800000) -#define DMA1_IT_GL7 ((uint32_t)0x01000000) -#define DMA1_IT_TC7 ((uint32_t)0x02000000) -#define DMA1_IT_HT7 ((uint32_t)0x04000000) -#define DMA1_IT_TE7 ((uint32_t)0x08000000) - -#define DMA2_IT_GL1 ((uint32_t)0x10000001) -#define DMA2_IT_TC1 ((uint32_t)0x10000002) -#define DMA2_IT_HT1 ((uint32_t)0x10000004) -#define DMA2_IT_TE1 ((uint32_t)0x10000008) -#define DMA2_IT_GL2 ((uint32_t)0x10000010) -#define DMA2_IT_TC2 ((uint32_t)0x10000020) -#define DMA2_IT_HT2 ((uint32_t)0x10000040) -#define DMA2_IT_TE2 ((uint32_t)0x10000080) -#define DMA2_IT_GL3 ((uint32_t)0x10000100) -#define DMA2_IT_TC3 ((uint32_t)0x10000200) -#define DMA2_IT_HT3 ((uint32_t)0x10000400) -#define DMA2_IT_TE3 ((uint32_t)0x10000800) -#define DMA2_IT_GL4 ((uint32_t)0x10001000) -#define DMA2_IT_TC4 ((uint32_t)0x10002000) -#define DMA2_IT_HT4 ((uint32_t)0x10004000) -#define DMA2_IT_TE4 ((uint32_t)0x10008000) -#define DMA2_IT_GL5 ((uint32_t)0x10010000) -#define DMA2_IT_TC5 ((uint32_t)0x10020000) -#define DMA2_IT_HT5 ((uint32_t)0x10040000) -#define DMA2_IT_TE5 ((uint32_t)0x10080000) - -#define IS_DMA_CLEAR_IT(IT) (((((IT) & 0xF0000000) == 0x00) || (((IT) & 0xEFF00000) == 0x00)) && ((IT) != 0x00)) - -#define IS_DMA_GET_IT(IT) (((IT) == DMA1_IT_GL1) || ((IT) == DMA1_IT_TC1) || \ - ((IT) == DMA1_IT_HT1) || ((IT) == DMA1_IT_TE1) || \ - ((IT) == DMA1_IT_GL2) || ((IT) == DMA1_IT_TC2) || \ - ((IT) == DMA1_IT_HT2) || ((IT) == DMA1_IT_TE2) || \ - ((IT) == DMA1_IT_GL3) || ((IT) == DMA1_IT_TC3) || \ - ((IT) == DMA1_IT_HT3) || ((IT) == DMA1_IT_TE3) || \ - ((IT) == DMA1_IT_GL4) || ((IT) == DMA1_IT_TC4) || \ - ((IT) == DMA1_IT_HT4) || ((IT) == DMA1_IT_TE4) || \ - ((IT) == DMA1_IT_GL5) || ((IT) == DMA1_IT_TC5) || \ - ((IT) == DMA1_IT_HT5) || ((IT) == DMA1_IT_TE5) || \ - ((IT) == DMA1_IT_GL6) || ((IT) == DMA1_IT_TC6) || \ - ((IT) == DMA1_IT_HT6) || ((IT) == DMA1_IT_TE6) || \ - ((IT) == DMA1_IT_GL7) || ((IT) == DMA1_IT_TC7) || \ - ((IT) == DMA1_IT_HT7) || ((IT) == DMA1_IT_TE7) || \ - ((IT) == DMA2_IT_GL1) || ((IT) == DMA2_IT_TC1) || \ - ((IT) == DMA2_IT_HT1) || ((IT) == DMA2_IT_TE1) || \ - ((IT) == DMA2_IT_GL2) || ((IT) == DMA2_IT_TC2) || \ - ((IT) == DMA2_IT_HT2) || ((IT) == DMA2_IT_TE2) || \ - ((IT) == DMA2_IT_GL3) || ((IT) == DMA2_IT_TC3) || \ - ((IT) == DMA2_IT_HT3) || ((IT) == DMA2_IT_TE3) || \ - ((IT) == DMA2_IT_GL4) || ((IT) == DMA2_IT_TC4) || \ - ((IT) == DMA2_IT_HT4) || ((IT) == DMA2_IT_TE4) || \ - ((IT) == DMA2_IT_GL5) || ((IT) == DMA2_IT_TC5) || \ - ((IT) == DMA2_IT_HT5) || ((IT) == DMA2_IT_TE5)) - -/** - * @} - */ - -/** @defgroup DMA_flags_definition - * @{ - */ -#define DMA1_FLAG_GL1 ((uint32_t)0x00000001) -#define DMA1_FLAG_TC1 ((uint32_t)0x00000002) -#define DMA1_FLAG_HT1 ((uint32_t)0x00000004) -#define DMA1_FLAG_TE1 ((uint32_t)0x00000008) -#define DMA1_FLAG_GL2 ((uint32_t)0x00000010) -#define DMA1_FLAG_TC2 ((uint32_t)0x00000020) -#define DMA1_FLAG_HT2 ((uint32_t)0x00000040) -#define DMA1_FLAG_TE2 ((uint32_t)0x00000080) -#define DMA1_FLAG_GL3 ((uint32_t)0x00000100) -#define DMA1_FLAG_TC3 ((uint32_t)0x00000200) -#define DMA1_FLAG_HT3 ((uint32_t)0x00000400) -#define DMA1_FLAG_TE3 ((uint32_t)0x00000800) -#define DMA1_FLAG_GL4 ((uint32_t)0x00001000) -#define DMA1_FLAG_TC4 ((uint32_t)0x00002000) -#define DMA1_FLAG_HT4 ((uint32_t)0x00004000) -#define DMA1_FLAG_TE4 ((uint32_t)0x00008000) -#define DMA1_FLAG_GL5 ((uint32_t)0x00010000) -#define DMA1_FLAG_TC5 ((uint32_t)0x00020000) -#define DMA1_FLAG_HT5 ((uint32_t)0x00040000) -#define DMA1_FLAG_TE5 ((uint32_t)0x00080000) -#define DMA1_FLAG_GL6 ((uint32_t)0x00100000) -#define DMA1_FLAG_TC6 ((uint32_t)0x00200000) -#define DMA1_FLAG_HT6 ((uint32_t)0x00400000) -#define DMA1_FLAG_TE6 ((uint32_t)0x00800000) -#define DMA1_FLAG_GL7 ((uint32_t)0x01000000) -#define DMA1_FLAG_TC7 ((uint32_t)0x02000000) -#define DMA1_FLAG_HT7 ((uint32_t)0x04000000) -#define DMA1_FLAG_TE7 ((uint32_t)0x08000000) - -#define DMA2_FLAG_GL1 ((uint32_t)0x10000001) -#define DMA2_FLAG_TC1 ((uint32_t)0x10000002) -#define DMA2_FLAG_HT1 ((uint32_t)0x10000004) -#define DMA2_FLAG_TE1 ((uint32_t)0x10000008) -#define DMA2_FLAG_GL2 ((uint32_t)0x10000010) -#define DMA2_FLAG_TC2 ((uint32_t)0x10000020) -#define DMA2_FLAG_HT2 ((uint32_t)0x10000040) -#define DMA2_FLAG_TE2 ((uint32_t)0x10000080) -#define DMA2_FLAG_GL3 ((uint32_t)0x10000100) -#define DMA2_FLAG_TC3 ((uint32_t)0x10000200) -#define DMA2_FLAG_HT3 ((uint32_t)0x10000400) -#define DMA2_FLAG_TE3 ((uint32_t)0x10000800) -#define DMA2_FLAG_GL4 ((uint32_t)0x10001000) -#define DMA2_FLAG_TC4 ((uint32_t)0x10002000) -#define DMA2_FLAG_HT4 ((uint32_t)0x10004000) -#define DMA2_FLAG_TE4 ((uint32_t)0x10008000) -#define DMA2_FLAG_GL5 ((uint32_t)0x10010000) -#define DMA2_FLAG_TC5 ((uint32_t)0x10020000) -#define DMA2_FLAG_HT5 ((uint32_t)0x10040000) -#define DMA2_FLAG_TE5 ((uint32_t)0x10080000) - -#define IS_DMA_CLEAR_FLAG(FLAG) (((((FLAG) & 0xF0000000) == 0x00) || (((FLAG) & 0xEFF00000) == 0x00)) && ((FLAG) != 0x00)) - -#define IS_DMA_GET_FLAG(FLAG) (((FLAG) == DMA1_FLAG_GL1) || ((FLAG) == DMA1_FLAG_TC1) || \ - ((FLAG) == DMA1_FLAG_HT1) || ((FLAG) == DMA1_FLAG_TE1) || \ - ((FLAG) == DMA1_FLAG_GL2) || ((FLAG) == DMA1_FLAG_TC2) || \ - ((FLAG) == DMA1_FLAG_HT2) || ((FLAG) == DMA1_FLAG_TE2) || \ - ((FLAG) == DMA1_FLAG_GL3) || ((FLAG) == DMA1_FLAG_TC3) || \ - ((FLAG) == DMA1_FLAG_HT3) || ((FLAG) == DMA1_FLAG_TE3) || \ - ((FLAG) == DMA1_FLAG_GL4) || ((FLAG) == DMA1_FLAG_TC4) || \ - ((FLAG) == DMA1_FLAG_HT4) || ((FLAG) == DMA1_FLAG_TE4) || \ - ((FLAG) == DMA1_FLAG_GL5) || ((FLAG) == DMA1_FLAG_TC5) || \ - ((FLAG) == DMA1_FLAG_HT5) || ((FLAG) == DMA1_FLAG_TE5) || \ - ((FLAG) == DMA1_FLAG_GL6) || ((FLAG) == DMA1_FLAG_TC6) || \ - ((FLAG) == DMA1_FLAG_HT6) || ((FLAG) == DMA1_FLAG_TE6) || \ - ((FLAG) == DMA1_FLAG_GL7) || ((FLAG) == DMA1_FLAG_TC7) || \ - ((FLAG) == DMA1_FLAG_HT7) || ((FLAG) == DMA1_FLAG_TE7) || \ - ((FLAG) == DMA2_FLAG_GL1) || ((FLAG) == DMA2_FLAG_TC1) || \ - ((FLAG) == DMA2_FLAG_HT1) || ((FLAG) == DMA2_FLAG_TE1) || \ - ((FLAG) == DMA2_FLAG_GL2) || ((FLAG) == DMA2_FLAG_TC2) || \ - ((FLAG) == DMA2_FLAG_HT2) || ((FLAG) == DMA2_FLAG_TE2) || \ - ((FLAG) == DMA2_FLAG_GL3) || ((FLAG) == DMA2_FLAG_TC3) || \ - ((FLAG) == DMA2_FLAG_HT3) || ((FLAG) == DMA2_FLAG_TE3) || \ - ((FLAG) == DMA2_FLAG_GL4) || ((FLAG) == DMA2_FLAG_TC4) || \ - ((FLAG) == DMA2_FLAG_HT4) || ((FLAG) == DMA2_FLAG_TE4) || \ - ((FLAG) == DMA2_FLAG_GL5) || ((FLAG) == DMA2_FLAG_TC5) || \ - ((FLAG) == DMA2_FLAG_HT5) || ((FLAG) == DMA2_FLAG_TE5)) -/** - * @} - */ - -/** @defgroup DMA_Buffer_Size - * @{ - */ - -#define IS_DMA_BUFFER_SIZE(SIZE) (((SIZE) >= 0x1) && ((SIZE) < 0x10000)) - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup DMA_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup DMA_Exported_Functions - * @{ - */ - -void DMA_DeInit(DMA_Channel_TypeDef* DMAy_Channelx); -void DMA_Init(DMA_Channel_TypeDef* DMAy_Channelx, DMA_InitTypeDef* DMA_InitStruct); -void DMA_StructInit(DMA_InitTypeDef* DMA_InitStruct); -void DMA_Cmd(DMA_Channel_TypeDef* DMAy_Channelx, FunctionalState NewState); -void DMA_ITConfig(DMA_Channel_TypeDef* DMAy_Channelx, uint32_t DMA_IT, FunctionalState NewState); -void DMA_SetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx, uint16_t DataNumber); -uint16_t DMA_GetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx); -FlagStatus DMA_GetFlagStatus(uint32_t DMAy_FLAG); -void DMA_ClearFlag(uint32_t DMAy_FLAG); -ITStatus DMA_GetITStatus(uint32_t DMAy_IT); -void DMA_ClearITPendingBit(uint32_t DMAy_IT); - -#ifdef __cplusplus -} -#endif - -#endif /*__STM32F10x_DMA_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_exti.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_exti.h deleted file mode 100644 index a1ab7d03e..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_exti.h +++ /dev/null @@ -1,184 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_exti.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the EXTI firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_EXTI_H -#define __STM32F10x_EXTI_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup EXTI - * @{ - */ - -/** @defgroup EXTI_Exported_Types - * @{ - */ - -/** - * @brief EXTI mode enumeration - */ - -typedef enum -{ - EXTI_Mode_Interrupt = 0x00, - EXTI_Mode_Event = 0x04 -}EXTIMode_TypeDef; - -#define IS_EXTI_MODE(MODE) (((MODE) == EXTI_Mode_Interrupt) || ((MODE) == EXTI_Mode_Event)) - -/** - * @brief EXTI Trigger enumeration - */ - -typedef enum -{ - EXTI_Trigger_Rising = 0x08, - EXTI_Trigger_Falling = 0x0C, - EXTI_Trigger_Rising_Falling = 0x10 -}EXTITrigger_TypeDef; - -#define IS_EXTI_TRIGGER(TRIGGER) (((TRIGGER) == EXTI_Trigger_Rising) || \ - ((TRIGGER) == EXTI_Trigger_Falling) || \ - ((TRIGGER) == EXTI_Trigger_Rising_Falling)) -/** - * @brief EXTI Init Structure definition - */ - -typedef struct -{ - uint32_t EXTI_Line; /*!< Specifies the EXTI lines to be enabled or disabled. - This parameter can be any combination of @ref EXTI_Lines */ - - EXTIMode_TypeDef EXTI_Mode; /*!< Specifies the mode for the EXTI lines. - This parameter can be a value of @ref EXTIMode_TypeDef */ - - EXTITrigger_TypeDef EXTI_Trigger; /*!< Specifies the trigger signal active edge for the EXTI lines. - This parameter can be a value of @ref EXTIMode_TypeDef */ - - FunctionalState EXTI_LineCmd; /*!< Specifies the new state of the selected EXTI lines. - This parameter can be set either to ENABLE or DISABLE */ -}EXTI_InitTypeDef; - -/** - * @} - */ - -/** @defgroup EXTI_Exported_Constants - * @{ - */ - -/** @defgroup EXTI_Lines - * @{ - */ - -#define EXTI_Line0 ((uint32_t)0x00001) /*!< External interrupt line 0 */ -#define EXTI_Line1 ((uint32_t)0x00002) /*!< External interrupt line 1 */ -#define EXTI_Line2 ((uint32_t)0x00004) /*!< External interrupt line 2 */ -#define EXTI_Line3 ((uint32_t)0x00008) /*!< External interrupt line 3 */ -#define EXTI_Line4 ((uint32_t)0x00010) /*!< External interrupt line 4 */ -#define EXTI_Line5 ((uint32_t)0x00020) /*!< External interrupt line 5 */ -#define EXTI_Line6 ((uint32_t)0x00040) /*!< External interrupt line 6 */ -#define EXTI_Line7 ((uint32_t)0x00080) /*!< External interrupt line 7 */ -#define EXTI_Line8 ((uint32_t)0x00100) /*!< External interrupt line 8 */ -#define EXTI_Line9 ((uint32_t)0x00200) /*!< External interrupt line 9 */ -#define EXTI_Line10 ((uint32_t)0x00400) /*!< External interrupt line 10 */ -#define EXTI_Line11 ((uint32_t)0x00800) /*!< External interrupt line 11 */ -#define EXTI_Line12 ((uint32_t)0x01000) /*!< External interrupt line 12 */ -#define EXTI_Line13 ((uint32_t)0x02000) /*!< External interrupt line 13 */ -#define EXTI_Line14 ((uint32_t)0x04000) /*!< External interrupt line 14 */ -#define EXTI_Line15 ((uint32_t)0x08000) /*!< External interrupt line 15 */ -#define EXTI_Line16 ((uint32_t)0x10000) /*!< External interrupt line 16 Connected to the PVD Output */ -#define EXTI_Line17 ((uint32_t)0x20000) /*!< External interrupt line 17 Connected to the RTC Alarm event */ -#define EXTI_Line18 ((uint32_t)0x40000) /*!< External interrupt line 18 Connected to the USB Device/USB OTG FS - Wakeup from suspend event */ -#define EXTI_Line19 ((uint32_t)0x80000) /*!< External interrupt line 19 Connected to the Ethernet Wakeup event */ - -#define IS_EXTI_LINE(LINE) ((((LINE) & (uint32_t)0xFFF00000) == 0x00) && ((LINE) != (uint16_t)0x00)) -#define IS_GET_EXTI_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)) - - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup EXTI_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup EXTI_Exported_Functions - * @{ - */ - -void EXTI_DeInit(void); -void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct); -void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct); -void EXTI_GenerateSWInterrupt(uint32_t EXTI_Line); -FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line); -void EXTI_ClearFlag(uint32_t EXTI_Line); -ITStatus EXTI_GetITStatus(uint32_t EXTI_Line); -void EXTI_ClearITPendingBit(uint32_t EXTI_Line); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_EXTI_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_flash.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_flash.h deleted file mode 100644 index f46d4e873..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_flash.h +++ /dev/null @@ -1,426 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_flash.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the FLASH - * firmware library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_FLASH_H -#define __STM32F10x_FLASH_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup FLASH - * @{ - */ - -/** @defgroup FLASH_Exported_Types - * @{ - */ - -/** - * @brief FLASH Status - */ - -typedef enum -{ - FLASH_BUSY = 1, - FLASH_ERROR_PG, - FLASH_ERROR_WRP, - FLASH_COMPLETE, - FLASH_TIMEOUT -}FLASH_Status; - -/** - * @} - */ - -/** @defgroup FLASH_Exported_Constants - * @{ - */ - -/** @defgroup Flash_Latency - * @{ - */ - -#define FLASH_Latency_0 ((uint32_t)0x00000000) /*!< FLASH Zero Latency cycle */ -#define FLASH_Latency_1 ((uint32_t)0x00000001) /*!< FLASH One Latency cycle */ -#define FLASH_Latency_2 ((uint32_t)0x00000002) /*!< FLASH Two Latency cycles */ -#define IS_FLASH_LATENCY(LATENCY) (((LATENCY) == FLASH_Latency_0) || \ - ((LATENCY) == FLASH_Latency_1) || \ - ((LATENCY) == FLASH_Latency_2)) -/** - * @} - */ - -/** @defgroup Half_Cycle_Enable_Disable - * @{ - */ - -#define FLASH_HalfCycleAccess_Enable ((uint32_t)0x00000008) /*!< FLASH Half Cycle Enable */ -#define FLASH_HalfCycleAccess_Disable ((uint32_t)0x00000000) /*!< FLASH Half Cycle Disable */ -#define IS_FLASH_HALFCYCLEACCESS_STATE(STATE) (((STATE) == FLASH_HalfCycleAccess_Enable) || \ - ((STATE) == FLASH_HalfCycleAccess_Disable)) -/** - * @} - */ - -/** @defgroup Prefetch_Buffer_Enable_Disable - * @{ - */ - -#define FLASH_PrefetchBuffer_Enable ((uint32_t)0x00000010) /*!< FLASH Prefetch Buffer Enable */ -#define FLASH_PrefetchBuffer_Disable ((uint32_t)0x00000000) /*!< FLASH Prefetch Buffer Disable */ -#define IS_FLASH_PREFETCHBUFFER_STATE(STATE) (((STATE) == FLASH_PrefetchBuffer_Enable) || \ - ((STATE) == FLASH_PrefetchBuffer_Disable)) -/** - * @} - */ - -/** @defgroup Option_Bytes_Write_Protection - * @{ - */ - -/* Values to be used with STM32 Low and Medium density devices */ -#define FLASH_WRProt_Pages0to3 ((uint32_t)0x00000001) /*!< STM32 Low and Medium density devices: Write protection of page 0 to 3 */ -#define FLASH_WRProt_Pages4to7 ((uint32_t)0x00000002) /*!< STM32 Low and Medium density devices: Write protection of page 4 to 7 */ -#define FLASH_WRProt_Pages8to11 ((uint32_t)0x00000004) /*!< STM32 Low and Medium density devices: Write protection of page 8 to 11 */ -#define FLASH_WRProt_Pages12to15 ((uint32_t)0x00000008) /*!< STM32 Low and Medium density devices: Write protection of page 12 to 15 */ -#define FLASH_WRProt_Pages16to19 ((uint32_t)0x00000010) /*!< STM32 Low and Medium density devices: Write protection of page 16 to 19 */ -#define FLASH_WRProt_Pages20to23 ((uint32_t)0x00000020) /*!< STM32 Low and Medium density devices: Write protection of page 20 to 23 */ -#define FLASH_WRProt_Pages24to27 ((uint32_t)0x00000040) /*!< STM32 Low and Medium density devices: Write protection of page 24 to 27 */ -#define FLASH_WRProt_Pages28to31 ((uint32_t)0x00000080) /*!< STM32 Low and Medium density devices: Write protection of page 28 to 31 */ - -/* Values to be used with STM32 Medium-density devices */ -#define FLASH_WRProt_Pages32to35 ((uint32_t)0x00000100) /*!< STM32 Medium-density devices: Write protection of page 32 to 35 */ -#define FLASH_WRProt_Pages36to39 ((uint32_t)0x00000200) /*!< STM32 Medium-density devices: Write protection of page 36 to 39 */ -#define FLASH_WRProt_Pages40to43 ((uint32_t)0x00000400) /*!< STM32 Medium-density devices: Write protection of page 40 to 43 */ -#define FLASH_WRProt_Pages44to47 ((uint32_t)0x00000800) /*!< STM32 Medium-density devices: Write protection of page 44 to 47 */ -#define FLASH_WRProt_Pages48to51 ((uint32_t)0x00001000) /*!< STM32 Medium-density devices: Write protection of page 48 to 51 */ -#define FLASH_WRProt_Pages52to55 ((uint32_t)0x00002000) /*!< STM32 Medium-density devices: Write protection of page 52 to 55 */ -#define FLASH_WRProt_Pages56to59 ((uint32_t)0x00004000) /*!< STM32 Medium-density devices: Write protection of page 56 to 59 */ -#define FLASH_WRProt_Pages60to63 ((uint32_t)0x00008000) /*!< STM32 Medium-density devices: Write protection of page 60 to 63 */ -#define FLASH_WRProt_Pages64to67 ((uint32_t)0x00010000) /*!< STM32 Medium-density devices: Write protection of page 64 to 67 */ -#define FLASH_WRProt_Pages68to71 ((uint32_t)0x00020000) /*!< STM32 Medium-density devices: Write protection of page 68 to 71 */ -#define FLASH_WRProt_Pages72to75 ((uint32_t)0x00040000) /*!< STM32 Medium-density devices: Write protection of page 72 to 75 */ -#define FLASH_WRProt_Pages76to79 ((uint32_t)0x00080000) /*!< STM32 Medium-density devices: Write protection of page 76 to 79 */ -#define FLASH_WRProt_Pages80to83 ((uint32_t)0x00100000) /*!< STM32 Medium-density devices: Write protection of page 80 to 83 */ -#define FLASH_WRProt_Pages84to87 ((uint32_t)0x00200000) /*!< STM32 Medium-density devices: Write protection of page 84 to 87 */ -#define FLASH_WRProt_Pages88to91 ((uint32_t)0x00400000) /*!< STM32 Medium-density devices: Write protection of page 88 to 91 */ -#define FLASH_WRProt_Pages92to95 ((uint32_t)0x00800000) /*!< STM32 Medium-density devices: Write protection of page 92 to 95 */ -#define FLASH_WRProt_Pages96to99 ((uint32_t)0x01000000) /*!< STM32 Medium-density devices: Write protection of page 96 to 99 */ -#define FLASH_WRProt_Pages100to103 ((uint32_t)0x02000000) /*!< STM32 Medium-density devices: Write protection of page 100 to 103 */ -#define FLASH_WRProt_Pages104to107 ((uint32_t)0x04000000) /*!< STM32 Medium-density devices: Write protection of page 104 to 107 */ -#define FLASH_WRProt_Pages108to111 ((uint32_t)0x08000000) /*!< STM32 Medium-density devices: Write protection of page 108 to 111 */ -#define FLASH_WRProt_Pages112to115 ((uint32_t)0x10000000) /*!< STM32 Medium-density devices: Write protection of page 112 to 115 */ -#define FLASH_WRProt_Pages116to119 ((uint32_t)0x20000000) /*!< STM32 Medium-density devices: Write protection of page 115 to 119 */ -#define FLASH_WRProt_Pages120to123 ((uint32_t)0x40000000) /*!< STM32 Medium-density devices: Write protection of page 120 to 123 */ -#define FLASH_WRProt_Pages124to127 ((uint32_t)0x80000000) /*!< STM32 Medium-density devices: Write protection of page 124 to 127 */ - -/* Values to be used with STM32 High-density and STM32F10X Connectivity line devices */ -#define FLASH_WRProt_Pages0to1 ((uint32_t)0x00000001) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 0 to 1 */ -#define FLASH_WRProt_Pages2to3 ((uint32_t)0x00000002) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 2 to 3 */ -#define FLASH_WRProt_Pages4to5 ((uint32_t)0x00000004) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 4 to 5 */ -#define FLASH_WRProt_Pages6to7 ((uint32_t)0x00000008) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 6 to 7 */ -#define FLASH_WRProt_Pages8to9 ((uint32_t)0x00000010) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 8 to 9 */ -#define FLASH_WRProt_Pages10to11 ((uint32_t)0x00000020) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 10 to 11 */ -#define FLASH_WRProt_Pages12to13 ((uint32_t)0x00000040) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 12 to 13 */ -#define FLASH_WRProt_Pages14to15 ((uint32_t)0x00000080) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 14 to 15 */ -#define FLASH_WRProt_Pages16to17 ((uint32_t)0x00000100) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 16 to 17 */ -#define FLASH_WRProt_Pages18to19 ((uint32_t)0x00000200) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 18 to 19 */ -#define FLASH_WRProt_Pages20to21 ((uint32_t)0x00000400) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 20 to 21 */ -#define FLASH_WRProt_Pages22to23 ((uint32_t)0x00000800) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 22 to 23 */ -#define FLASH_WRProt_Pages24to25 ((uint32_t)0x00001000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 24 to 25 */ -#define FLASH_WRProt_Pages26to27 ((uint32_t)0x00002000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 26 to 27 */ -#define FLASH_WRProt_Pages28to29 ((uint32_t)0x00004000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 28 to 29 */ -#define FLASH_WRProt_Pages30to31 ((uint32_t)0x00008000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 30 to 31 */ -#define FLASH_WRProt_Pages32to33 ((uint32_t)0x00010000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 32 to 33 */ -#define FLASH_WRProt_Pages34to35 ((uint32_t)0x00020000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 34 to 35 */ -#define FLASH_WRProt_Pages36to37 ((uint32_t)0x00040000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 36 to 37 */ -#define FLASH_WRProt_Pages38to39 ((uint32_t)0x00080000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 38 to 39 */ -#define FLASH_WRProt_Pages40to41 ((uint32_t)0x00100000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 40 to 41 */ -#define FLASH_WRProt_Pages42to43 ((uint32_t)0x00200000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 42 to 43 */ -#define FLASH_WRProt_Pages44to45 ((uint32_t)0x00400000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 44 to 45 */ -#define FLASH_WRProt_Pages46to47 ((uint32_t)0x00800000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 46 to 47 */ -#define FLASH_WRProt_Pages48to49 ((uint32_t)0x01000000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 48 to 49 */ -#define FLASH_WRProt_Pages50to51 ((uint32_t)0x02000000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 50 to 51 */ -#define FLASH_WRProt_Pages52to53 ((uint32_t)0x04000000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 52 to 53 */ -#define FLASH_WRProt_Pages54to55 ((uint32_t)0x08000000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 54 to 55 */ -#define FLASH_WRProt_Pages56to57 ((uint32_t)0x10000000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 56 to 57 */ -#define FLASH_WRProt_Pages58to59 ((uint32_t)0x20000000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 58 to 59 */ -#define FLASH_WRProt_Pages60to61 ((uint32_t)0x40000000) /*!< STM32 High-density, XL-density and Connectivity line devices: - Write protection of page 60 to 61 */ -#define FLASH_WRProt_Pages62to127 ((uint32_t)0x80000000) /*!< STM32 Connectivity line devices: Write protection of page 62 to 127 */ -#define FLASH_WRProt_Pages62to255 ((uint32_t)0x80000000) /*!< STM32 Medium-density devices: Write protection of page 62 to 255 */ -#define FLASH_WRProt_Pages62to511 ((uint32_t)0x80000000) /*!< STM32 XL-density devices: Write protection of page 62 to 511 */ - -#define FLASH_WRProt_AllPages ((uint32_t)0xFFFFFFFF) /*!< Write protection of all Pages */ - -#define IS_FLASH_WRPROT_PAGE(PAGE) (((PAGE) != 0x00000000)) - -#define IS_FLASH_ADDRESS(ADDRESS) (((ADDRESS) >= 0x08000000) && ((ADDRESS) < 0x080FFFFF)) - -#define IS_OB_DATA_ADDRESS(ADDRESS) (((ADDRESS) == 0x1FFFF804) || ((ADDRESS) == 0x1FFFF806)) - -/** - * @} - */ - -/** @defgroup Option_Bytes_IWatchdog - * @{ - */ - -#define OB_IWDG_SW ((uint16_t)0x0001) /*!< Software IWDG selected */ -#define OB_IWDG_HW ((uint16_t)0x0000) /*!< Hardware IWDG selected */ -#define IS_OB_IWDG_SOURCE(SOURCE) (((SOURCE) == OB_IWDG_SW) || ((SOURCE) == OB_IWDG_HW)) - -/** - * @} - */ - -/** @defgroup Option_Bytes_nRST_STOP - * @{ - */ - -#define OB_STOP_NoRST ((uint16_t)0x0002) /*!< No reset generated when entering in STOP */ -#define OB_STOP_RST ((uint16_t)0x0000) /*!< Reset generated when entering in STOP */ -#define IS_OB_STOP_SOURCE(SOURCE) (((SOURCE) == OB_STOP_NoRST) || ((SOURCE) == OB_STOP_RST)) - -/** - * @} - */ - -/** @defgroup Option_Bytes_nRST_STDBY - * @{ - */ - -#define OB_STDBY_NoRST ((uint16_t)0x0004) /*!< No reset generated when entering in STANDBY */ -#define OB_STDBY_RST ((uint16_t)0x0000) /*!< Reset generated when entering in STANDBY */ -#define IS_OB_STDBY_SOURCE(SOURCE) (((SOURCE) == OB_STDBY_NoRST) || ((SOURCE) == OB_STDBY_RST)) - -#ifdef STM32F10X_XL -/** - * @} - */ -/** @defgroup FLASH_Boot - * @{ - */ -#define FLASH_BOOT_Bank1 ((uint16_t)0x0000) /*!< At startup, if boot pins are set in boot from user Flash position - and this parameter is selected the device will boot from Bank1(Default) */ -#define FLASH_BOOT_Bank2 ((uint16_t)0x0001) /*!< At startup, if boot pins are set in boot from user Flash position - and this parameter is selected the device will boot from Bank 2 or Bank 1, - depending on the activation of the bank */ -#define IS_FLASH_BOOT(BOOT) (((BOOT) == FLASH_BOOT_Bank1) || ((BOOT) == FLASH_BOOT_Bank2)) -#endif -/** - * @} - */ -/** @defgroup FLASH_Interrupts - * @{ - */ -#ifdef STM32F10X_XL -#define FLASH_IT_BANK2_ERROR ((uint32_t)0x80000400) /*!< FPEC BANK2 error interrupt source */ -#define FLASH_IT_BANK2_EOP ((uint32_t)0x80001000) /*!< End of FLASH BANK2 Operation Interrupt source */ - -#define FLASH_IT_BANK1_ERROR FLASH_IT_ERROR /*!< FPEC BANK1 error interrupt source */ -#define FLASH_IT_BANK1_EOP FLASH_IT_EOP /*!< End of FLASH BANK1 Operation Interrupt source */ - -#define FLASH_IT_ERROR ((uint32_t)0x00000400) /*!< FPEC BANK1 error interrupt source */ -#define FLASH_IT_EOP ((uint32_t)0x00001000) /*!< End of FLASH BANK1 Operation Interrupt source */ -#define IS_FLASH_IT(IT) ((((IT) & (uint32_t)0x7FFFEBFF) == 0x00000000) && (((IT) != 0x00000000))) -#else -#define FLASH_IT_ERROR ((uint32_t)0x00000400) /*!< FPEC error interrupt source */ -#define FLASH_IT_EOP ((uint32_t)0x00001000) /*!< End of FLASH Operation Interrupt source */ -#define FLASH_IT_BANK1_ERROR FLASH_IT_ERROR /*!< FPEC BANK1 error interrupt source */ -#define FLASH_IT_BANK1_EOP FLASH_IT_EOP /*!< End of FLASH BANK1 Operation Interrupt source */ - -#define IS_FLASH_IT(IT) ((((IT) & (uint32_t)0xFFFFEBFF) == 0x00000000) && (((IT) != 0x00000000))) -#endif - -/** - * @} - */ - -/** @defgroup FLASH_Flags - * @{ - */ -#ifdef STM32F10X_XL -#define FLASH_FLAG_BANK2_BSY ((uint32_t)0x80000001) /*!< FLASH BANK2 Busy flag */ -#define FLASH_FLAG_BANK2_EOP ((uint32_t)0x80000020) /*!< FLASH BANK2 End of Operation flag */ -#define FLASH_FLAG_BANK2_PGERR ((uint32_t)0x80000004) /*!< FLASH BANK2 Program error flag */ -#define FLASH_FLAG_BANK2_WRPRTERR ((uint32_t)0x80000010) /*!< FLASH BANK2 Write protected error flag */ - -#define FLASH_FLAG_BANK1_BSY FLASH_FLAG_BSY /*!< FLASH BANK1 Busy flag*/ -#define FLASH_FLAG_BANK1_EOP FLASH_FLAG_EOP /*!< FLASH BANK1 End of Operation flag */ -#define FLASH_FLAG_BANK1_PGERR FLASH_FLAG_PGERR /*!< FLASH BANK1 Program error flag */ -#define FLASH_FLAG_BANK1_WRPRTERR FLASH_FLAG_WRPRTERR /*!< FLASH BANK1 Write protected error flag */ - -#define FLASH_FLAG_BSY ((uint32_t)0x00000001) /*!< FLASH Busy flag */ -#define FLASH_FLAG_EOP ((uint32_t)0x00000020) /*!< FLASH End of Operation flag */ -#define FLASH_FLAG_PGERR ((uint32_t)0x00000004) /*!< FLASH Program error flag */ -#define FLASH_FLAG_WRPRTERR ((uint32_t)0x00000010) /*!< FLASH Write protected error flag */ -#define FLASH_FLAG_OPTERR ((uint32_t)0x00000001) /*!< FLASH Option Byte error flag */ - -#define IS_FLASH_CLEAR_FLAG(FLAG) ((((FLAG) & (uint32_t)0x7FFFFFCA) == 0x00000000) && ((FLAG) != 0x00000000)) -#define IS_FLASH_GET_FLAG(FLAG) (((FLAG) == FLASH_FLAG_BSY) || ((FLAG) == FLASH_FLAG_EOP) || \ - ((FLAG) == FLASH_FLAG_PGERR) || ((FLAG) == FLASH_FLAG_WRPRTERR) || \ - ((FLAG) == FLASH_FLAG_OPTERR)|| \ - ((FLAG) == FLASH_FLAG_BANK1_BSY) || ((FLAG) == FLASH_FLAG_BANK1_EOP) || \ - ((FLAG) == FLASH_FLAG_BANK1_PGERR) || ((FLAG) == FLASH_FLAG_BANK1_WRPRTERR) || \ - ((FLAG) == FLASH_FLAG_BANK2_BSY) || ((FLAG) == FLASH_FLAG_BANK2_EOP) || \ - ((FLAG) == FLASH_FLAG_BANK2_PGERR) || ((FLAG) == FLASH_FLAG_BANK2_WRPRTERR)) -#else -#define FLASH_FLAG_BSY ((uint32_t)0x00000001) /*!< FLASH Busy flag */ -#define FLASH_FLAG_EOP ((uint32_t)0x00000020) /*!< FLASH End of Operation flag */ -#define FLASH_FLAG_PGERR ((uint32_t)0x00000004) /*!< FLASH Program error flag */ -#define FLASH_FLAG_WRPRTERR ((uint32_t)0x00000010) /*!< FLASH Write protected error flag */ -#define FLASH_FLAG_OPTERR ((uint32_t)0x00000001) /*!< FLASH Option Byte error flag */ - -#define FLASH_FLAG_BANK1_BSY FLASH_FLAG_BSY /*!< FLASH BANK1 Busy flag*/ -#define FLASH_FLAG_BANK1_EOP FLASH_FLAG_EOP /*!< FLASH BANK1 End of Operation flag */ -#define FLASH_FLAG_BANK1_PGERR FLASH_FLAG_PGERR /*!< FLASH BANK1 Program error flag */ -#define FLASH_FLAG_BANK1_WRPRTERR FLASH_FLAG_WRPRTERR /*!< FLASH BANK1 Write protected error flag */ - -#define IS_FLASH_CLEAR_FLAG(FLAG) ((((FLAG) & (uint32_t)0xFFFFFFCA) == 0x00000000) && ((FLAG) != 0x00000000)) -#define IS_FLASH_GET_FLAG(FLAG) (((FLAG) == FLASH_FLAG_BSY) || ((FLAG) == FLASH_FLAG_EOP) || \ - ((FLAG) == FLASH_FLAG_PGERR) || ((FLAG) == FLASH_FLAG_WRPRTERR) || \ - ((FLAG) == FLASH_FLAG_BANK1_BSY) || ((FLAG) == FLASH_FLAG_BANK1_EOP) || \ - ((FLAG) == FLASH_FLAG_BANK1_PGERR) || ((FLAG) == FLASH_FLAG_BANK1_WRPRTERR) || \ - ((FLAG) == FLASH_FLAG_OPTERR)) -#endif - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup FLASH_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup FLASH_Exported_Functions - * @{ - */ - -/*------------ Functions used for all STM32F10x devices -----*/ -void FLASH_SetLatency(uint32_t FLASH_Latency); -void FLASH_HalfCycleAccessCmd(uint32_t FLASH_HalfCycleAccess); -void FLASH_PrefetchBufferCmd(uint32_t FLASH_PrefetchBuffer); -void FLASH_Unlock(void); -void FLASH_Lock(void); -FLASH_Status FLASH_ErasePage(uint32_t Page_Address); -FLASH_Status FLASH_EraseAllPages(void); -FLASH_Status FLASH_EraseOptionBytes(void); -FLASH_Status FLASH_ProgramWord(uint32_t Address, uint32_t Data); -FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data); -FLASH_Status FLASH_ProgramOptionByteData(uint32_t Address, uint8_t Data); -FLASH_Status FLASH_EnableWriteProtection(uint32_t FLASH_Pages); -FLASH_Status FLASH_ReadOutProtection(FunctionalState NewState); -FLASH_Status FLASH_UserOptionByteConfig(uint16_t OB_IWDG, uint16_t OB_STOP, uint16_t OB_STDBY); -uint32_t FLASH_GetUserOptionByte(void); -uint32_t FLASH_GetWriteProtectionOptionByte(void); -FlagStatus FLASH_GetReadOutProtectionStatus(void); -FlagStatus FLASH_GetPrefetchBufferStatus(void); -void FLASH_ITConfig(uint32_t FLASH_IT, FunctionalState NewState); -FlagStatus FLASH_GetFlagStatus(uint32_t FLASH_FLAG); -void FLASH_ClearFlag(uint32_t FLASH_FLAG); -FLASH_Status FLASH_GetStatus(void); -FLASH_Status FLASH_WaitForLastOperation(uint32_t Timeout); - -/*------------ New function used for all STM32F10x devices -----*/ -void FLASH_UnlockBank1(void); -void FLASH_LockBank1(void); -FLASH_Status FLASH_EraseAllBank1Pages(void); -FLASH_Status FLASH_GetBank1Status(void); -FLASH_Status FLASH_WaitForLastBank1Operation(uint32_t Timeout); - -#ifdef STM32F10X_XL -/*---- New Functions used only with STM32F10x_XL density devices -----*/ -void FLASH_UnlockBank2(void); -void FLASH_LockBank2(void); -FLASH_Status FLASH_EraseAllBank2Pages(void); -FLASH_Status FLASH_GetBank2Status(void); -FLASH_Status FLASH_WaitForLastBank2Operation(uint32_t Timeout); -FLASH_Status FLASH_BootConfig(uint16_t FLASH_BOOT); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_FLASH_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_fsmc.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_fsmc.h deleted file mode 100644 index ee707e743..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_fsmc.h +++ /dev/null @@ -1,733 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_fsmc.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the FSMC firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_FSMC_H -#define __STM32F10x_FSMC_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup FSMC - * @{ - */ - -/** @defgroup FSMC_Exported_Types - * @{ - */ - -/** - * @brief Timing parameters For NOR/SRAM Banks - */ - -typedef struct -{ - uint32_t FSMC_AddressSetupTime; /*!< Defines the number of HCLK cycles to configure - the duration of the address setup time. - This parameter can be a value between 0 and 0xF. - @note: It is not used with synchronous NOR Flash memories. */ - - uint32_t FSMC_AddressHoldTime; /*!< Defines the number of HCLK cycles to configure - the duration of the address hold time. - This parameter can be a value between 0 and 0xF. - @note: It is not used with synchronous NOR Flash memories.*/ - - uint32_t FSMC_DataSetupTime; /*!< Defines the number of HCLK cycles to configure - the duration of the data setup time. - This parameter can be a value between 0 and 0xFF. - @note: It is used for SRAMs, ROMs and asynchronous multiplexed NOR Flash memories. */ - - uint32_t FSMC_BusTurnAroundDuration; /*!< Defines the number of HCLK cycles to configure - the duration of the bus turnaround. - This parameter can be a value between 0 and 0xF. - @note: It is only used for multiplexed NOR Flash memories. */ - - uint32_t FSMC_CLKDivision; /*!< Defines the period of CLK clock output signal, expressed in number of HCLK cycles. - This parameter can be a value between 1 and 0xF. - @note: This parameter is not used for asynchronous NOR Flash, SRAM or ROM accesses. */ - - uint32_t FSMC_DataLatency; /*!< Defines the number of memory clock cycles to issue - to the memory before getting the first data. - The value of this parameter 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 0 and 0xF in NOR Flash memories - with synchronous burst mode enable */ - - uint32_t FSMC_AccessMode; /*!< Specifies the asynchronous access mode. - This parameter can be a value of @ref FSMC_Access_Mode */ -}FSMC_NORSRAMTimingInitTypeDef; - -/** - * @brief FSMC NOR/SRAM Init structure definition - */ - -typedef struct -{ - uint32_t FSMC_Bank; /*!< Specifies the NOR/SRAM memory bank that will be used. - This parameter can be a value of @ref FSMC_NORSRAM_Bank */ - - uint32_t FSMC_DataAddressMux; /*!< Specifies whether the address and data values are - multiplexed on the databus or not. - This parameter can be a value of @ref FSMC_Data_Address_Bus_Multiplexing */ - - uint32_t FSMC_MemoryType; /*!< Specifies the type of external memory attached to - the corresponding memory bank. - This parameter can be a value of @ref FSMC_Memory_Type */ - - uint32_t FSMC_MemoryDataWidth; /*!< Specifies the external memory device width. - This parameter can be a value of @ref FSMC_Data_Width */ - - uint32_t FSMC_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 FSMC_Burst_Access_Mode */ - - uint32_t FSMC_AsynchronousWait; /*!< Enables or disables wait signal during asynchronous transfers, - valid only with asynchronous Flash memories. - This parameter can be a value of @ref FSMC_AsynchronousWait */ - - uint32_t FSMC_WaitSignalPolarity; /*!< Specifies the wait signal polarity, valid only when accessing - the Flash memory in burst mode. - This parameter can be a value of @ref FSMC_Wait_Signal_Polarity */ - - uint32_t FSMC_WrapMode; /*!< Enables or disables the Wrapped burst access mode for Flash - memory, valid only when accessing Flash memories in burst mode. - This parameter can be a value of @ref FSMC_Wrap_Mode */ - - uint32_t FSMC_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 FSMC_Wait_Timing */ - - uint32_t FSMC_WriteOperation; /*!< Enables or disables the write operation in the selected bank by the FSMC. - This parameter can be a value of @ref FSMC_Write_Operation */ - - uint32_t FSMC_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 FSMC_Wait_Signal */ - - uint32_t FSMC_ExtendedMode; /*!< Enables or disables the extended mode. - This parameter can be a value of @ref FSMC_Extended_Mode */ - - uint32_t FSMC_WriteBurst; /*!< Enables or disables the write burst operation. - This parameter can be a value of @ref FSMC_Write_Burst */ - - FSMC_NORSRAMTimingInitTypeDef* FSMC_ReadWriteTimingStruct; /*!< Timing Parameters for write and read access if the ExtendedMode is not used*/ - - FSMC_NORSRAMTimingInitTypeDef* FSMC_WriteTimingStruct; /*!< Timing Parameters for write access if the ExtendedMode is used*/ -}FSMC_NORSRAMInitTypeDef; - -/** - * @brief Timing parameters For FSMC NAND and PCCARD Banks - */ - -typedef struct -{ - uint32_t FSMC_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 0 and 0xFF.*/ - - uint32_t FSMC_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 0x00 and 0xFF */ - - uint32_t FSMC_HoldSetupTime; /*!< Defines the number of HCLK clock cycles to hold address - (and data for write access) after the command deassertion - 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 0x00 and 0xFF */ - - uint32_t FSMC_HiZSetupTime; /*!< Defines the number of HCLK clock cycles during which the - databus 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 0x00 and 0xFF */ -}FSMC_NAND_PCCARDTimingInitTypeDef; - -/** - * @brief FSMC NAND Init structure definition - */ - -typedef struct -{ - uint32_t FSMC_Bank; /*!< Specifies the NAND memory bank that will be used. - This parameter can be a value of @ref FSMC_NAND_Bank */ - - uint32_t FSMC_Waitfeature; /*!< Enables or disables the Wait feature for the NAND Memory Bank. - This parameter can be any value of @ref FSMC_Wait_feature */ - - uint32_t FSMC_MemoryDataWidth; /*!< Specifies the external memory device width. - This parameter can be any value of @ref FSMC_Data_Width */ - - uint32_t FSMC_ECC; /*!< Enables or disables the ECC computation. - This parameter can be any value of @ref FSMC_ECC */ - - uint32_t FSMC_ECCPageSize; /*!< Defines the page size for the extended ECC. - This parameter can be any value of @ref FSMC_ECC_Page_Size */ - - uint32_t FSMC_TCLRSetupTime; /*!< Defines the number of HCLK cycles to configure the - delay between CLE low and RE low. - This parameter can be a value between 0 and 0xFF. */ - - uint32_t FSMC_TARSetupTime; /*!< Defines the number of HCLK cycles to configure the - delay between ALE low and RE low. - This parameter can be a number between 0x0 and 0xFF */ - - FSMC_NAND_PCCARDTimingInitTypeDef* FSMC_CommonSpaceTimingStruct; /*!< FSMC Common Space Timing */ - - FSMC_NAND_PCCARDTimingInitTypeDef* FSMC_AttributeSpaceTimingStruct; /*!< FSMC Attribute Space Timing */ -}FSMC_NANDInitTypeDef; - -/** - * @brief FSMC PCCARD Init structure definition - */ - -typedef struct -{ - uint32_t FSMC_Waitfeature; /*!< Enables or disables the Wait feature for the Memory Bank. - This parameter can be any value of @ref FSMC_Wait_feature */ - - uint32_t FSMC_TCLRSetupTime; /*!< Defines the number of HCLK cycles to configure the - delay between CLE low and RE low. - This parameter can be a value between 0 and 0xFF. */ - - uint32_t FSMC_TARSetupTime; /*!< Defines the number of HCLK cycles to configure the - delay between ALE low and RE low. - This parameter can be a number between 0x0 and 0xFF */ - - - FSMC_NAND_PCCARDTimingInitTypeDef* FSMC_CommonSpaceTimingStruct; /*!< FSMC Common Space Timing */ - - FSMC_NAND_PCCARDTimingInitTypeDef* FSMC_AttributeSpaceTimingStruct; /*!< FSMC Attribute Space Timing */ - - FSMC_NAND_PCCARDTimingInitTypeDef* FSMC_IOSpaceTimingStruct; /*!< FSMC IO Space Timing */ -}FSMC_PCCARDInitTypeDef; - -/** - * @} - */ - -/** @defgroup FSMC_Exported_Constants - * @{ - */ - -/** @defgroup FSMC_NORSRAM_Bank - * @{ - */ -#define FSMC_Bank1_NORSRAM1 ((uint32_t)0x00000000) -#define FSMC_Bank1_NORSRAM2 ((uint32_t)0x00000002) -#define FSMC_Bank1_NORSRAM3 ((uint32_t)0x00000004) -#define FSMC_Bank1_NORSRAM4 ((uint32_t)0x00000006) -/** - * @} - */ - -/** @defgroup FSMC_NAND_Bank - * @{ - */ -#define FSMC_Bank2_NAND ((uint32_t)0x00000010) -#define FSMC_Bank3_NAND ((uint32_t)0x00000100) -/** - * @} - */ - -/** @defgroup FSMC_PCCARD_Bank - * @{ - */ -#define FSMC_Bank4_PCCARD ((uint32_t)0x00001000) -/** - * @} - */ - -#define IS_FSMC_NORSRAM_BANK(BANK) (((BANK) == FSMC_Bank1_NORSRAM1) || \ - ((BANK) == FSMC_Bank1_NORSRAM2) || \ - ((BANK) == FSMC_Bank1_NORSRAM3) || \ - ((BANK) == FSMC_Bank1_NORSRAM4)) - -#define IS_FSMC_NAND_BANK(BANK) (((BANK) == FSMC_Bank2_NAND) || \ - ((BANK) == FSMC_Bank3_NAND)) - -#define IS_FSMC_GETFLAG_BANK(BANK) (((BANK) == FSMC_Bank2_NAND) || \ - ((BANK) == FSMC_Bank3_NAND) || \ - ((BANK) == FSMC_Bank4_PCCARD)) - -#define IS_FSMC_IT_BANK(BANK) (((BANK) == FSMC_Bank2_NAND) || \ - ((BANK) == FSMC_Bank3_NAND) || \ - ((BANK) == FSMC_Bank4_PCCARD)) - -/** @defgroup NOR_SRAM_Controller - * @{ - */ - -/** @defgroup FSMC_Data_Address_Bus_Multiplexing - * @{ - */ - -#define FSMC_DataAddressMux_Disable ((uint32_t)0x00000000) -#define FSMC_DataAddressMux_Enable ((uint32_t)0x00000002) -#define IS_FSMC_MUX(MUX) (((MUX) == FSMC_DataAddressMux_Disable) || \ - ((MUX) == FSMC_DataAddressMux_Enable)) - -/** - * @} - */ - -/** @defgroup FSMC_Memory_Type - * @{ - */ - -#define FSMC_MemoryType_SRAM ((uint32_t)0x00000000) -#define FSMC_MemoryType_PSRAM ((uint32_t)0x00000004) -#define FSMC_MemoryType_NOR ((uint32_t)0x00000008) -#define IS_FSMC_MEMORY(MEMORY) (((MEMORY) == FSMC_MemoryType_SRAM) || \ - ((MEMORY) == FSMC_MemoryType_PSRAM)|| \ - ((MEMORY) == FSMC_MemoryType_NOR)) - -/** - * @} - */ - -/** @defgroup FSMC_Data_Width - * @{ - */ - -#define FSMC_MemoryDataWidth_8b ((uint32_t)0x00000000) -#define FSMC_MemoryDataWidth_16b ((uint32_t)0x00000010) -#define IS_FSMC_MEMORY_WIDTH(WIDTH) (((WIDTH) == FSMC_MemoryDataWidth_8b) || \ - ((WIDTH) == FSMC_MemoryDataWidth_16b)) - -/** - * @} - */ - -/** @defgroup FSMC_Burst_Access_Mode - * @{ - */ - -#define FSMC_BurstAccessMode_Disable ((uint32_t)0x00000000) -#define FSMC_BurstAccessMode_Enable ((uint32_t)0x00000100) -#define IS_FSMC_BURSTMODE(STATE) (((STATE) == FSMC_BurstAccessMode_Disable) || \ - ((STATE) == FSMC_BurstAccessMode_Enable)) -/** - * @} - */ - -/** @defgroup FSMC_AsynchronousWait - * @{ - */ -#define FSMC_AsynchronousWait_Disable ((uint32_t)0x00000000) -#define FSMC_AsynchronousWait_Enable ((uint32_t)0x00008000) -#define IS_FSMC_ASYNWAIT(STATE) (((STATE) == FSMC_AsynchronousWait_Disable) || \ - ((STATE) == FSMC_AsynchronousWait_Enable)) - -/** - * @} - */ - -/** @defgroup FSMC_Wait_Signal_Polarity - * @{ - */ - -#define FSMC_WaitSignalPolarity_Low ((uint32_t)0x00000000) -#define FSMC_WaitSignalPolarity_High ((uint32_t)0x00000200) -#define IS_FSMC_WAIT_POLARITY(POLARITY) (((POLARITY) == FSMC_WaitSignalPolarity_Low) || \ - ((POLARITY) == FSMC_WaitSignalPolarity_High)) - -/** - * @} - */ - -/** @defgroup FSMC_Wrap_Mode - * @{ - */ - -#define FSMC_WrapMode_Disable ((uint32_t)0x00000000) -#define FSMC_WrapMode_Enable ((uint32_t)0x00000400) -#define IS_FSMC_WRAP_MODE(MODE) (((MODE) == FSMC_WrapMode_Disable) || \ - ((MODE) == FSMC_WrapMode_Enable)) - -/** - * @} - */ - -/** @defgroup FSMC_Wait_Timing - * @{ - */ - -#define FSMC_WaitSignalActive_BeforeWaitState ((uint32_t)0x00000000) -#define FSMC_WaitSignalActive_DuringWaitState ((uint32_t)0x00000800) -#define IS_FSMC_WAIT_SIGNAL_ACTIVE(ACTIVE) (((ACTIVE) == FSMC_WaitSignalActive_BeforeWaitState) || \ - ((ACTIVE) == FSMC_WaitSignalActive_DuringWaitState)) - -/** - * @} - */ - -/** @defgroup FSMC_Write_Operation - * @{ - */ - -#define FSMC_WriteOperation_Disable ((uint32_t)0x00000000) -#define FSMC_WriteOperation_Enable ((uint32_t)0x00001000) -#define IS_FSMC_WRITE_OPERATION(OPERATION) (((OPERATION) == FSMC_WriteOperation_Disable) || \ - ((OPERATION) == FSMC_WriteOperation_Enable)) - -/** - * @} - */ - -/** @defgroup FSMC_Wait_Signal - * @{ - */ - -#define FSMC_WaitSignal_Disable ((uint32_t)0x00000000) -#define FSMC_WaitSignal_Enable ((uint32_t)0x00002000) -#define IS_FSMC_WAITE_SIGNAL(SIGNAL) (((SIGNAL) == FSMC_WaitSignal_Disable) || \ - ((SIGNAL) == FSMC_WaitSignal_Enable)) -/** - * @} - */ - -/** @defgroup FSMC_Extended_Mode - * @{ - */ - -#define FSMC_ExtendedMode_Disable ((uint32_t)0x00000000) -#define FSMC_ExtendedMode_Enable ((uint32_t)0x00004000) - -#define IS_FSMC_EXTENDED_MODE(MODE) (((MODE) == FSMC_ExtendedMode_Disable) || \ - ((MODE) == FSMC_ExtendedMode_Enable)) - -/** - * @} - */ - -/** @defgroup FSMC_Write_Burst - * @{ - */ - -#define FSMC_WriteBurst_Disable ((uint32_t)0x00000000) -#define FSMC_WriteBurst_Enable ((uint32_t)0x00080000) -#define IS_FSMC_WRITE_BURST(BURST) (((BURST) == FSMC_WriteBurst_Disable) || \ - ((BURST) == FSMC_WriteBurst_Enable)) -/** - * @} - */ - -/** @defgroup FSMC_Address_Setup_Time - * @{ - */ - -#define IS_FSMC_ADDRESS_SETUP_TIME(TIME) ((TIME) <= 0xF) - -/** - * @} - */ - -/** @defgroup FSMC_Address_Hold_Time - * @{ - */ - -#define IS_FSMC_ADDRESS_HOLD_TIME(TIME) ((TIME) <= 0xF) - -/** - * @} - */ - -/** @defgroup FSMC_Data_Setup_Time - * @{ - */ - -#define IS_FSMC_DATASETUP_TIME(TIME) (((TIME) > 0) && ((TIME) <= 0xFF)) - -/** - * @} - */ - -/** @defgroup FSMC_Bus_Turn_around_Duration - * @{ - */ - -#define IS_FSMC_TURNAROUND_TIME(TIME) ((TIME) <= 0xF) - -/** - * @} - */ - -/** @defgroup FSMC_CLK_Division - * @{ - */ - -#define IS_FSMC_CLK_DIV(DIV) ((DIV) <= 0xF) - -/** - * @} - */ - -/** @defgroup FSMC_Data_Latency - * @{ - */ - -#define IS_FSMC_DATA_LATENCY(LATENCY) ((LATENCY) <= 0xF) - -/** - * @} - */ - -/** @defgroup FSMC_Access_Mode - * @{ - */ - -#define FSMC_AccessMode_A ((uint32_t)0x00000000) -#define FSMC_AccessMode_B ((uint32_t)0x10000000) -#define FSMC_AccessMode_C ((uint32_t)0x20000000) -#define FSMC_AccessMode_D ((uint32_t)0x30000000) -#define IS_FSMC_ACCESS_MODE(MODE) (((MODE) == FSMC_AccessMode_A) || \ - ((MODE) == FSMC_AccessMode_B) || \ - ((MODE) == FSMC_AccessMode_C) || \ - ((MODE) == FSMC_AccessMode_D)) - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup NAND_PCCARD_Controller - * @{ - */ - -/** @defgroup FSMC_Wait_feature - * @{ - */ - -#define FSMC_Waitfeature_Disable ((uint32_t)0x00000000) -#define FSMC_Waitfeature_Enable ((uint32_t)0x00000002) -#define IS_FSMC_WAIT_FEATURE(FEATURE) (((FEATURE) == FSMC_Waitfeature_Disable) || \ - ((FEATURE) == FSMC_Waitfeature_Enable)) - -/** - * @} - */ - - -/** @defgroup FSMC_ECC - * @{ - */ - -#define FSMC_ECC_Disable ((uint32_t)0x00000000) -#define FSMC_ECC_Enable ((uint32_t)0x00000040) -#define IS_FSMC_ECC_STATE(STATE) (((STATE) == FSMC_ECC_Disable) || \ - ((STATE) == FSMC_ECC_Enable)) - -/** - * @} - */ - -/** @defgroup FSMC_ECC_Page_Size - * @{ - */ - -#define FSMC_ECCPageSize_256Bytes ((uint32_t)0x00000000) -#define FSMC_ECCPageSize_512Bytes ((uint32_t)0x00020000) -#define FSMC_ECCPageSize_1024Bytes ((uint32_t)0x00040000) -#define FSMC_ECCPageSize_2048Bytes ((uint32_t)0x00060000) -#define FSMC_ECCPageSize_4096Bytes ((uint32_t)0x00080000) -#define FSMC_ECCPageSize_8192Bytes ((uint32_t)0x000A0000) -#define IS_FSMC_ECCPAGE_SIZE(SIZE) (((SIZE) == FSMC_ECCPageSize_256Bytes) || \ - ((SIZE) == FSMC_ECCPageSize_512Bytes) || \ - ((SIZE) == FSMC_ECCPageSize_1024Bytes) || \ - ((SIZE) == FSMC_ECCPageSize_2048Bytes) || \ - ((SIZE) == FSMC_ECCPageSize_4096Bytes) || \ - ((SIZE) == FSMC_ECCPageSize_8192Bytes)) - -/** - * @} - */ - -/** @defgroup FSMC_TCLR_Setup_Time - * @{ - */ - -#define IS_FSMC_TCLR_TIME(TIME) ((TIME) <= 0xFF) - -/** - * @} - */ - -/** @defgroup FSMC_TAR_Setup_Time - * @{ - */ - -#define IS_FSMC_TAR_TIME(TIME) ((TIME) <= 0xFF) - -/** - * @} - */ - -/** @defgroup FSMC_Setup_Time - * @{ - */ - -#define IS_FSMC_SETUP_TIME(TIME) ((TIME) <= 0xFF) - -/** - * @} - */ - -/** @defgroup FSMC_Wait_Setup_Time - * @{ - */ - -#define IS_FSMC_WAIT_TIME(TIME) ((TIME) <= 0xFF) - -/** - * @} - */ - -/** @defgroup FSMC_Hold_Setup_Time - * @{ - */ - -#define IS_FSMC_HOLD_TIME(TIME) ((TIME) <= 0xFF) - -/** - * @} - */ - -/** @defgroup FSMC_HiZ_Setup_Time - * @{ - */ - -#define IS_FSMC_HIZ_TIME(TIME) ((TIME) <= 0xFF) - -/** - * @} - */ - -/** @defgroup FSMC_Interrupt_sources - * @{ - */ - -#define FSMC_IT_RisingEdge ((uint32_t)0x00000008) -#define FSMC_IT_Level ((uint32_t)0x00000010) -#define FSMC_IT_FallingEdge ((uint32_t)0x00000020) -#define IS_FSMC_IT(IT) ((((IT) & (uint32_t)0xFFFFFFC7) == 0x00000000) && ((IT) != 0x00000000)) -#define IS_FSMC_GET_IT(IT) (((IT) == FSMC_IT_RisingEdge) || \ - ((IT) == FSMC_IT_Level) || \ - ((IT) == FSMC_IT_FallingEdge)) -/** - * @} - */ - -/** @defgroup FSMC_Flags - * @{ - */ - -#define FSMC_FLAG_RisingEdge ((uint32_t)0x00000001) -#define FSMC_FLAG_Level ((uint32_t)0x00000002) -#define FSMC_FLAG_FallingEdge ((uint32_t)0x00000004) -#define FSMC_FLAG_FEMPT ((uint32_t)0x00000040) -#define IS_FSMC_GET_FLAG(FLAG) (((FLAG) == FSMC_FLAG_RisingEdge) || \ - ((FLAG) == FSMC_FLAG_Level) || \ - ((FLAG) == FSMC_FLAG_FallingEdge) || \ - ((FLAG) == FSMC_FLAG_FEMPT)) - -#define IS_FSMC_CLEAR_FLAG(FLAG) ((((FLAG) & (uint32_t)0xFFFFFFF8) == 0x00000000) && ((FLAG) != 0x00000000)) - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup FSMC_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup FSMC_Exported_Functions - * @{ - */ - -void FSMC_NORSRAMDeInit(uint32_t FSMC_Bank); -void FSMC_NANDDeInit(uint32_t FSMC_Bank); -void FSMC_PCCARDDeInit(void); -void FSMC_NORSRAMInit(FSMC_NORSRAMInitTypeDef* FSMC_NORSRAMInitStruct); -void FSMC_NANDInit(FSMC_NANDInitTypeDef* FSMC_NANDInitStruct); -void FSMC_PCCARDInit(FSMC_PCCARDInitTypeDef* FSMC_PCCARDInitStruct); -void FSMC_NORSRAMStructInit(FSMC_NORSRAMInitTypeDef* FSMC_NORSRAMInitStruct); -void FSMC_NANDStructInit(FSMC_NANDInitTypeDef* FSMC_NANDInitStruct); -void FSMC_PCCARDStructInit(FSMC_PCCARDInitTypeDef* FSMC_PCCARDInitStruct); -void FSMC_NORSRAMCmd(uint32_t FSMC_Bank, FunctionalState NewState); -void FSMC_NANDCmd(uint32_t FSMC_Bank, FunctionalState NewState); -void FSMC_PCCARDCmd(FunctionalState NewState); -void FSMC_NANDECCCmd(uint32_t FSMC_Bank, FunctionalState NewState); -uint32_t FSMC_GetECC(uint32_t FSMC_Bank); -void FSMC_ITConfig(uint32_t FSMC_Bank, uint32_t FSMC_IT, FunctionalState NewState); -FlagStatus FSMC_GetFlagStatus(uint32_t FSMC_Bank, uint32_t FSMC_FLAG); -void FSMC_ClearFlag(uint32_t FSMC_Bank, uint32_t FSMC_FLAG); -ITStatus FSMC_GetITStatus(uint32_t FSMC_Bank, uint32_t FSMC_IT); -void FSMC_ClearITPendingBit(uint32_t FSMC_Bank, uint32_t FSMC_IT); - -#ifdef __cplusplus -} -#endif - -#endif /*__STM32F10x_FSMC_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_gpio.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_gpio.h deleted file mode 100644 index b8aa49a2a..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_gpio.h +++ /dev/null @@ -1,385 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_gpio.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the GPIO - * firmware library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_GPIO_H -#define __STM32F10x_GPIO_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup GPIO - * @{ - */ - -/** @defgroup GPIO_Exported_Types - * @{ - */ - -#define IS_GPIO_ALL_PERIPH(PERIPH) (((PERIPH) == GPIOA) || \ - ((PERIPH) == GPIOB) || \ - ((PERIPH) == GPIOC) || \ - ((PERIPH) == GPIOD) || \ - ((PERIPH) == GPIOE) || \ - ((PERIPH) == GPIOF) || \ - ((PERIPH) == GPIOG)) - -/** - * @brief Output Maximum frequency selection - */ - -typedef enum -{ - GPIO_Speed_10MHz = 1, - GPIO_Speed_2MHz, - GPIO_Speed_50MHz -}GPIOSpeed_TypeDef; -#define IS_GPIO_SPEED(SPEED) (((SPEED) == GPIO_Speed_10MHz) || ((SPEED) == GPIO_Speed_2MHz) || \ - ((SPEED) == GPIO_Speed_50MHz)) - -/** - * @brief Configuration Mode enumeration - */ - -typedef enum -{ GPIO_Mode_AIN = 0x0, - GPIO_Mode_IN_FLOATING = 0x04, - GPIO_Mode_IPD = 0x28, - GPIO_Mode_IPU = 0x48, - GPIO_Mode_Out_OD = 0x14, - GPIO_Mode_Out_PP = 0x10, - GPIO_Mode_AF_OD = 0x1C, - GPIO_Mode_AF_PP = 0x18 -}GPIOMode_TypeDef; - -#define IS_GPIO_MODE(MODE) (((MODE) == GPIO_Mode_AIN) || ((MODE) == GPIO_Mode_IN_FLOATING) || \ - ((MODE) == GPIO_Mode_IPD) || ((MODE) == GPIO_Mode_IPU) || \ - ((MODE) == GPIO_Mode_Out_OD) || ((MODE) == GPIO_Mode_Out_PP) || \ - ((MODE) == GPIO_Mode_AF_OD) || ((MODE) == GPIO_Mode_AF_PP)) - -/** - * @brief GPIO Init structure definition - */ - -typedef struct -{ - uint16_t GPIO_Pin; /*!< Specifies the GPIO pins to be configured. - This parameter can be any value of @ref GPIO_pins_define */ - - GPIOSpeed_TypeDef GPIO_Speed; /*!< Specifies the speed for the selected pins. - This parameter can be a value of @ref GPIOSpeed_TypeDef */ - - GPIOMode_TypeDef GPIO_Mode; /*!< Specifies the operating mode for the selected pins. - This parameter can be a value of @ref GPIOMode_TypeDef */ -}GPIO_InitTypeDef; - - -/** - * @brief Bit_SET and Bit_RESET enumeration - */ - -typedef enum -{ Bit_RESET = 0, - Bit_SET -}BitAction; - -#define IS_GPIO_BIT_ACTION(ACTION) (((ACTION) == Bit_RESET) || ((ACTION) == Bit_SET)) - -/** - * @} - */ - -/** @defgroup GPIO_Exported_Constants - * @{ - */ - -/** @defgroup GPIO_pins_define - * @{ - */ - -#define GPIO_Pin_0 ((uint16_t)0x0001) /*!< Pin 0 selected */ -#define GPIO_Pin_1 ((uint16_t)0x0002) /*!< Pin 1 selected */ -#define GPIO_Pin_2 ((uint16_t)0x0004) /*!< Pin 2 selected */ -#define GPIO_Pin_3 ((uint16_t)0x0008) /*!< Pin 3 selected */ -#define GPIO_Pin_4 ((uint16_t)0x0010) /*!< Pin 4 selected */ -#define GPIO_Pin_5 ((uint16_t)0x0020) /*!< Pin 5 selected */ -#define GPIO_Pin_6 ((uint16_t)0x0040) /*!< Pin 6 selected */ -#define GPIO_Pin_7 ((uint16_t)0x0080) /*!< Pin 7 selected */ -#define GPIO_Pin_8 ((uint16_t)0x0100) /*!< Pin 8 selected */ -#define GPIO_Pin_9 ((uint16_t)0x0200) /*!< Pin 9 selected */ -#define GPIO_Pin_10 ((uint16_t)0x0400) /*!< Pin 10 selected */ -#define GPIO_Pin_11 ((uint16_t)0x0800) /*!< Pin 11 selected */ -#define GPIO_Pin_12 ((uint16_t)0x1000) /*!< Pin 12 selected */ -#define GPIO_Pin_13 ((uint16_t)0x2000) /*!< Pin 13 selected */ -#define GPIO_Pin_14 ((uint16_t)0x4000) /*!< Pin 14 selected */ -#define GPIO_Pin_15 ((uint16_t)0x8000) /*!< Pin 15 selected */ -#define GPIO_Pin_All ((uint16_t)0xFFFF) /*!< All pins selected */ - -#define IS_GPIO_PIN(PIN) ((((PIN) & (uint16_t)0x00) == 0x00) && ((PIN) != (uint16_t)0x00)) - -#define IS_GET_GPIO_PIN(PIN) (((PIN) == GPIO_Pin_0) || \ - ((PIN) == GPIO_Pin_1) || \ - ((PIN) == GPIO_Pin_2) || \ - ((PIN) == GPIO_Pin_3) || \ - ((PIN) == GPIO_Pin_4) || \ - ((PIN) == GPIO_Pin_5) || \ - ((PIN) == GPIO_Pin_6) || \ - ((PIN) == GPIO_Pin_7) || \ - ((PIN) == GPIO_Pin_8) || \ - ((PIN) == GPIO_Pin_9) || \ - ((PIN) == GPIO_Pin_10) || \ - ((PIN) == GPIO_Pin_11) || \ - ((PIN) == GPIO_Pin_12) || \ - ((PIN) == GPIO_Pin_13) || \ - ((PIN) == GPIO_Pin_14) || \ - ((PIN) == GPIO_Pin_15)) - -/** - * @} - */ - -/** @defgroup GPIO_Remap_define - * @{ - */ - -#define GPIO_Remap_SPI1 ((uint32_t)0x00000001) /*!< SPI1 Alternate Function mapping */ -#define GPIO_Remap_I2C1 ((uint32_t)0x00000002) /*!< I2C1 Alternate Function mapping */ -#define GPIO_Remap_USART1 ((uint32_t)0x00000004) /*!< USART1 Alternate Function mapping */ -#define GPIO_Remap_USART2 ((uint32_t)0x00000008) /*!< USART2 Alternate Function mapping */ -#define GPIO_PartialRemap_USART3 ((uint32_t)0x00140010) /*!< USART3 Partial Alternate Function mapping */ -#define GPIO_FullRemap_USART3 ((uint32_t)0x00140030) /*!< USART3 Full Alternate Function mapping */ -#define GPIO_PartialRemap_TIM1 ((uint32_t)0x00160040) /*!< TIM1 Partial Alternate Function mapping */ -#define GPIO_FullRemap_TIM1 ((uint32_t)0x001600C0) /*!< TIM1 Full Alternate Function mapping */ -#define GPIO_PartialRemap1_TIM2 ((uint32_t)0x00180100) /*!< TIM2 Partial1 Alternate Function mapping */ -#define GPIO_PartialRemap2_TIM2 ((uint32_t)0x00180200) /*!< TIM2 Partial2 Alternate Function mapping */ -#define GPIO_FullRemap_TIM2 ((uint32_t)0x00180300) /*!< TIM2 Full Alternate Function mapping */ -#define GPIO_PartialRemap_TIM3 ((uint32_t)0x001A0800) /*!< TIM3 Partial Alternate Function mapping */ -#define GPIO_FullRemap_TIM3 ((uint32_t)0x001A0C00) /*!< TIM3 Full Alternate Function mapping */ -#define GPIO_Remap_TIM4 ((uint32_t)0x00001000) /*!< TIM4 Alternate Function mapping */ -#define GPIO_Remap1_CAN1 ((uint32_t)0x001D4000) /*!< CAN1 Alternate Function mapping */ -#define GPIO_Remap2_CAN1 ((uint32_t)0x001D6000) /*!< CAN1 Alternate Function mapping */ -#define GPIO_Remap_PD01 ((uint32_t)0x00008000) /*!< PD01 Alternate Function mapping */ -#define GPIO_Remap_TIM5CH4_LSI ((uint32_t)0x00200001) /*!< LSI connected to TIM5 Channel4 input capture for calibration */ -#define GPIO_Remap_ADC1_ETRGINJ ((uint32_t)0x00200002) /*!< ADC1 External Trigger Injected Conversion remapping */ -#define GPIO_Remap_ADC1_ETRGREG ((uint32_t)0x00200004) /*!< ADC1 External Trigger Regular Conversion remapping */ -#define GPIO_Remap_ADC2_ETRGINJ ((uint32_t)0x00200008) /*!< ADC2 External Trigger Injected Conversion remapping */ -#define GPIO_Remap_ADC2_ETRGREG ((uint32_t)0x00200010) /*!< ADC2 External Trigger Regular Conversion remapping */ -#define GPIO_Remap_ETH ((uint32_t)0x00200020) /*!< Ethernet remapping (only for Connectivity line devices) */ -#define GPIO_Remap_CAN2 ((uint32_t)0x00200040) /*!< CAN2 remapping (only for Connectivity line devices) */ -#define GPIO_Remap_SWJ_NoJTRST ((uint32_t)0x00300100) /*!< Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST */ -#define GPIO_Remap_SWJ_JTAGDisable ((uint32_t)0x00300200) /*!< JTAG-DP Disabled and SW-DP Enabled */ -#define GPIO_Remap_SWJ_Disable ((uint32_t)0x00300400) /*!< Full SWJ Disabled (JTAG-DP + SW-DP) */ -#define GPIO_Remap_SPI3 ((uint32_t)0x00201100) /*!< SPI3/I2S3 Alternate Function mapping (only for Connectivity line devices) */ -#define GPIO_Remap_TIM2ITR1_PTP_SOF ((uint32_t)0x00202000) /*!< Ethernet PTP output or USB OTG SOF (Start of Frame) connected - to TIM2 Internal Trigger 1 for calibration - (only for Connectivity line devices) */ -#define GPIO_Remap_PTP_PPS ((uint32_t)0x00204000) /*!< Ethernet MAC PPS_PTS output on PB05 (only for Connectivity line devices) */ - -#define GPIO_Remap_TIM15 ((uint32_t)0x80000001) /*!< TIM15 Alternate Function mapping (only for Value line devices) */ -#define GPIO_Remap_TIM16 ((uint32_t)0x80000002) /*!< TIM16 Alternate Function mapping (only for Value line devices) */ -#define GPIO_Remap_TIM17 ((uint32_t)0x80000004) /*!< TIM17 Alternate Function mapping (only for Value line devices) */ -#define GPIO_Remap_CEC ((uint32_t)0x80000008) /*!< CEC Alternate Function mapping (only for Value line devices) */ -#define GPIO_Remap_TIM1_DMA ((uint32_t)0x80000010) /*!< TIM1 DMA requests mapping (only for Value line devices) */ - -#define GPIO_Remap_TIM9 ((uint32_t)0x80000020) /*!< TIM9 Alternate Function mapping (only for XL-density devices) */ -#define GPIO_Remap_TIM10 ((uint32_t)0x80000040) /*!< TIM10 Alternate Function mapping (only for XL-density devices) */ -#define GPIO_Remap_TIM11 ((uint32_t)0x80000080) /*!< TIM11 Alternate Function mapping (only for XL-density devices) */ -#define GPIO_Remap_TIM13 ((uint32_t)0x80000100) /*!< TIM13 Alternate Function mapping (only for High density Value line and XL-density devices) */ -#define GPIO_Remap_TIM14 ((uint32_t)0x80000200) /*!< TIM14 Alternate Function mapping (only for High density Value line and XL-density devices) */ -#define GPIO_Remap_FSMC_NADV ((uint32_t)0x80000400) /*!< FSMC_NADV Alternate Function mapping (only for High density Value line and XL-density devices) */ - -#define GPIO_Remap_TIM67_DAC_DMA ((uint32_t)0x80000800) /*!< TIM6/TIM7 and DAC DMA requests remapping (only for High density Value line devices) */ -#define GPIO_Remap_TIM12 ((uint32_t)0x80001000) /*!< TIM12 Alternate Function mapping (only for High density Value line devices) */ -#define GPIO_Remap_MISC ((uint32_t)0x80002000) /*!< Miscellaneous Remap (DMA2 Channel5 Position and DAC Trigger remapping, - only for High density Value line devices) */ - -#define IS_GPIO_REMAP(REMAP) (((REMAP) == GPIO_Remap_SPI1) || ((REMAP) == GPIO_Remap_I2C1) || \ - ((REMAP) == GPIO_Remap_USART1) || ((REMAP) == GPIO_Remap_USART2) || \ - ((REMAP) == GPIO_PartialRemap_USART3) || ((REMAP) == GPIO_FullRemap_USART3) || \ - ((REMAP) == GPIO_PartialRemap_TIM1) || ((REMAP) == GPIO_FullRemap_TIM1) || \ - ((REMAP) == GPIO_PartialRemap1_TIM2) || ((REMAP) == GPIO_PartialRemap2_TIM2) || \ - ((REMAP) == GPIO_FullRemap_TIM2) || ((REMAP) == GPIO_PartialRemap_TIM3) || \ - ((REMAP) == GPIO_FullRemap_TIM3) || ((REMAP) == GPIO_Remap_TIM4) || \ - ((REMAP) == GPIO_Remap1_CAN1) || ((REMAP) == GPIO_Remap2_CAN1) || \ - ((REMAP) == GPIO_Remap_PD01) || ((REMAP) == GPIO_Remap_TIM5CH4_LSI) || \ - ((REMAP) == GPIO_Remap_ADC1_ETRGINJ) ||((REMAP) == GPIO_Remap_ADC1_ETRGREG) || \ - ((REMAP) == GPIO_Remap_ADC2_ETRGINJ) ||((REMAP) == GPIO_Remap_ADC2_ETRGREG) || \ - ((REMAP) == GPIO_Remap_ETH) ||((REMAP) == GPIO_Remap_CAN2) || \ - ((REMAP) == GPIO_Remap_SWJ_NoJTRST) || ((REMAP) == GPIO_Remap_SWJ_JTAGDisable) || \ - ((REMAP) == GPIO_Remap_SWJ_Disable)|| ((REMAP) == GPIO_Remap_SPI3) || \ - ((REMAP) == GPIO_Remap_TIM2ITR1_PTP_SOF) || ((REMAP) == GPIO_Remap_PTP_PPS) || \ - ((REMAP) == GPIO_Remap_TIM15) || ((REMAP) == GPIO_Remap_TIM16) || \ - ((REMAP) == GPIO_Remap_TIM17) || ((REMAP) == GPIO_Remap_CEC) || \ - ((REMAP) == GPIO_Remap_TIM1_DMA) || ((REMAP) == GPIO_Remap_TIM9) || \ - ((REMAP) == GPIO_Remap_TIM10) || ((REMAP) == GPIO_Remap_TIM11) || \ - ((REMAP) == GPIO_Remap_TIM13) || ((REMAP) == GPIO_Remap_TIM14) || \ - ((REMAP) == GPIO_Remap_FSMC_NADV) || ((REMAP) == GPIO_Remap_TIM67_DAC_DMA) || \ - ((REMAP) == GPIO_Remap_TIM12) || ((REMAP) == GPIO_Remap_MISC)) - -/** - * @} - */ - -/** @defgroup GPIO_Port_Sources - * @{ - */ - -#define GPIO_PortSourceGPIOA ((uint8_t)0x00) -#define GPIO_PortSourceGPIOB ((uint8_t)0x01) -#define GPIO_PortSourceGPIOC ((uint8_t)0x02) -#define GPIO_PortSourceGPIOD ((uint8_t)0x03) -#define GPIO_PortSourceGPIOE ((uint8_t)0x04) -#define GPIO_PortSourceGPIOF ((uint8_t)0x05) -#define GPIO_PortSourceGPIOG ((uint8_t)0x06) -#define IS_GPIO_EVENTOUT_PORT_SOURCE(PORTSOURCE) (((PORTSOURCE) == GPIO_PortSourceGPIOA) || \ - ((PORTSOURCE) == GPIO_PortSourceGPIOB) || \ - ((PORTSOURCE) == GPIO_PortSourceGPIOC) || \ - ((PORTSOURCE) == GPIO_PortSourceGPIOD) || \ - ((PORTSOURCE) == GPIO_PortSourceGPIOE)) - -#define IS_GPIO_EXTI_PORT_SOURCE(PORTSOURCE) (((PORTSOURCE) == GPIO_PortSourceGPIOA) || \ - ((PORTSOURCE) == GPIO_PortSourceGPIOB) || \ - ((PORTSOURCE) == GPIO_PortSourceGPIOC) || \ - ((PORTSOURCE) == GPIO_PortSourceGPIOD) || \ - ((PORTSOURCE) == GPIO_PortSourceGPIOE) || \ - ((PORTSOURCE) == GPIO_PortSourceGPIOF) || \ - ((PORTSOURCE) == GPIO_PortSourceGPIOG)) - -/** - * @} - */ - -/** @defgroup GPIO_Pin_sources - * @{ - */ - -#define GPIO_PinSource0 ((uint8_t)0x00) -#define GPIO_PinSource1 ((uint8_t)0x01) -#define GPIO_PinSource2 ((uint8_t)0x02) -#define GPIO_PinSource3 ((uint8_t)0x03) -#define GPIO_PinSource4 ((uint8_t)0x04) -#define GPIO_PinSource5 ((uint8_t)0x05) -#define GPIO_PinSource6 ((uint8_t)0x06) -#define GPIO_PinSource7 ((uint8_t)0x07) -#define GPIO_PinSource8 ((uint8_t)0x08) -#define GPIO_PinSource9 ((uint8_t)0x09) -#define GPIO_PinSource10 ((uint8_t)0x0A) -#define GPIO_PinSource11 ((uint8_t)0x0B) -#define GPIO_PinSource12 ((uint8_t)0x0C) -#define GPIO_PinSource13 ((uint8_t)0x0D) -#define GPIO_PinSource14 ((uint8_t)0x0E) -#define GPIO_PinSource15 ((uint8_t)0x0F) - -#define IS_GPIO_PIN_SOURCE(PINSOURCE) (((PINSOURCE) == GPIO_PinSource0) || \ - ((PINSOURCE) == GPIO_PinSource1) || \ - ((PINSOURCE) == GPIO_PinSource2) || \ - ((PINSOURCE) == GPIO_PinSource3) || \ - ((PINSOURCE) == GPIO_PinSource4) || \ - ((PINSOURCE) == GPIO_PinSource5) || \ - ((PINSOURCE) == GPIO_PinSource6) || \ - ((PINSOURCE) == GPIO_PinSource7) || \ - ((PINSOURCE) == GPIO_PinSource8) || \ - ((PINSOURCE) == GPIO_PinSource9) || \ - ((PINSOURCE) == GPIO_PinSource10) || \ - ((PINSOURCE) == GPIO_PinSource11) || \ - ((PINSOURCE) == GPIO_PinSource12) || \ - ((PINSOURCE) == GPIO_PinSource13) || \ - ((PINSOURCE) == GPIO_PinSource14) || \ - ((PINSOURCE) == GPIO_PinSource15)) - -/** - * @} - */ - -/** @defgroup Ethernet_Media_Interface - * @{ - */ -#define GPIO_ETH_MediaInterface_MII ((u32)0x00000000) -#define GPIO_ETH_MediaInterface_RMII ((u32)0x00000001) - -#define IS_GPIO_ETH_MEDIA_INTERFACE(INTERFACE) (((INTERFACE) == GPIO_ETH_MediaInterface_MII) || \ - ((INTERFACE) == GPIO_ETH_MediaInterface_RMII)) - -/** - * @} - */ -/** - * @} - */ - -/** @defgroup GPIO_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup GPIO_Exported_Functions - * @{ - */ - -void GPIO_DeInit(GPIO_TypeDef* GPIOx); -void GPIO_AFIODeInit(void); -void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); -void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); -uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); -uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); -uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); -uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx); -void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); -void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); -void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); -void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); -void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); -void GPIO_EventOutputConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource); -void GPIO_EventOutputCmd(FunctionalState NewState); -void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState); -void GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource); -void GPIO_ETH_MediaInterfaceConfig(uint32_t GPIO_ETH_MediaInterface); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_GPIO_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_i2c.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_i2c.h deleted file mode 100644 index 2d42e5ce3..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_i2c.h +++ /dev/null @@ -1,684 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_i2c.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the I2C firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_I2C_H -#define __STM32F10x_I2C_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup I2C - * @{ - */ - -/** @defgroup I2C_Exported_Types - * @{ - */ - -/** - * @brief I2C Init structure definition - */ - -typedef struct -{ - uint32_t I2C_ClockSpeed; /*!< Specifies the clock frequency. - This parameter must be set to a value lower than 400kHz */ - - uint16_t I2C_Mode; /*!< Specifies the I2C mode. - This parameter can be a value of @ref I2C_mode */ - - uint16_t I2C_DutyCycle; /*!< Specifies the I2C fast mode duty cycle. - This parameter can be a value of @ref I2C_duty_cycle_in_fast_mode */ - - uint16_t I2C_OwnAddress1; /*!< Specifies the first device own address. - This parameter can be a 7-bit or 10-bit address. */ - - uint16_t I2C_Ack; /*!< Enables or disables the acknowledgement. - This parameter can be a value of @ref I2C_acknowledgement */ - - uint16_t I2C_AcknowledgedAddress; /*!< Specifies if 7-bit or 10-bit address is acknowledged. - This parameter can be a value of @ref I2C_acknowledged_address */ -}I2C_InitTypeDef; - -/** - * @} - */ - - -/** @defgroup I2C_Exported_Constants - * @{ - */ - -#define IS_I2C_ALL_PERIPH(PERIPH) (((PERIPH) == I2C1) || \ - ((PERIPH) == I2C2)) -/** @defgroup I2C_mode - * @{ - */ - -#define I2C_Mode_I2C ((uint16_t)0x0000) -#define I2C_Mode_SMBusDevice ((uint16_t)0x0002) -#define I2C_Mode_SMBusHost ((uint16_t)0x000A) -#define IS_I2C_MODE(MODE) (((MODE) == I2C_Mode_I2C) || \ - ((MODE) == I2C_Mode_SMBusDevice) || \ - ((MODE) == I2C_Mode_SMBusHost)) -/** - * @} - */ - -/** @defgroup I2C_duty_cycle_in_fast_mode - * @{ - */ - -#define I2C_DutyCycle_16_9 ((uint16_t)0x4000) /*!< I2C fast mode Tlow/Thigh = 16/9 */ -#define I2C_DutyCycle_2 ((uint16_t)0xBFFF) /*!< I2C fast mode Tlow/Thigh = 2 */ -#define IS_I2C_DUTY_CYCLE(CYCLE) (((CYCLE) == I2C_DutyCycle_16_9) || \ - ((CYCLE) == I2C_DutyCycle_2)) -/** - * @} - */ - -/** @defgroup I2C_acknowledgement - * @{ - */ - -#define I2C_Ack_Enable ((uint16_t)0x0400) -#define I2C_Ack_Disable ((uint16_t)0x0000) -#define IS_I2C_ACK_STATE(STATE) (((STATE) == I2C_Ack_Enable) || \ - ((STATE) == I2C_Ack_Disable)) -/** - * @} - */ - -/** @defgroup I2C_transfer_direction - * @{ - */ - -#define I2C_Direction_Transmitter ((uint8_t)0x00) -#define I2C_Direction_Receiver ((uint8_t)0x01) -#define IS_I2C_DIRECTION(DIRECTION) (((DIRECTION) == I2C_Direction_Transmitter) || \ - ((DIRECTION) == I2C_Direction_Receiver)) -/** - * @} - */ - -/** @defgroup I2C_acknowledged_address - * @{ - */ - -#define I2C_AcknowledgedAddress_7bit ((uint16_t)0x4000) -#define I2C_AcknowledgedAddress_10bit ((uint16_t)0xC000) -#define IS_I2C_ACKNOWLEDGE_ADDRESS(ADDRESS) (((ADDRESS) == I2C_AcknowledgedAddress_7bit) || \ - ((ADDRESS) == I2C_AcknowledgedAddress_10bit)) -/** - * @} - */ - -/** @defgroup I2C_registers - * @{ - */ - -#define I2C_Register_CR1 ((uint8_t)0x00) -#define I2C_Register_CR2 ((uint8_t)0x04) -#define I2C_Register_OAR1 ((uint8_t)0x08) -#define I2C_Register_OAR2 ((uint8_t)0x0C) -#define I2C_Register_DR ((uint8_t)0x10) -#define I2C_Register_SR1 ((uint8_t)0x14) -#define I2C_Register_SR2 ((uint8_t)0x18) -#define I2C_Register_CCR ((uint8_t)0x1C) -#define I2C_Register_TRISE ((uint8_t)0x20) -#define IS_I2C_REGISTER(REGISTER) (((REGISTER) == I2C_Register_CR1) || \ - ((REGISTER) == I2C_Register_CR2) || \ - ((REGISTER) == I2C_Register_OAR1) || \ - ((REGISTER) == I2C_Register_OAR2) || \ - ((REGISTER) == I2C_Register_DR) || \ - ((REGISTER) == I2C_Register_SR1) || \ - ((REGISTER) == I2C_Register_SR2) || \ - ((REGISTER) == I2C_Register_CCR) || \ - ((REGISTER) == I2C_Register_TRISE)) -/** - * @} - */ - -/** @defgroup I2C_SMBus_alert_pin_level - * @{ - */ - -#define I2C_SMBusAlert_Low ((uint16_t)0x2000) -#define I2C_SMBusAlert_High ((uint16_t)0xDFFF) -#define IS_I2C_SMBUS_ALERT(ALERT) (((ALERT) == I2C_SMBusAlert_Low) || \ - ((ALERT) == I2C_SMBusAlert_High)) -/** - * @} - */ - -/** @defgroup I2C_PEC_position - * @{ - */ - -#define I2C_PECPosition_Next ((uint16_t)0x0800) -#define I2C_PECPosition_Current ((uint16_t)0xF7FF) -#define IS_I2C_PEC_POSITION(POSITION) (((POSITION) == I2C_PECPosition_Next) || \ - ((POSITION) == I2C_PECPosition_Current)) -/** - * @} - */ - -/** @defgroup I2C_NCAK_position - * @{ - */ - -#define I2C_NACKPosition_Next ((uint16_t)0x0800) -#define I2C_NACKPosition_Current ((uint16_t)0xF7FF) -#define IS_I2C_NACK_POSITION(POSITION) (((POSITION) == I2C_NACKPosition_Next) || \ - ((POSITION) == I2C_NACKPosition_Current)) -/** - * @} - */ - -/** @defgroup I2C_interrupts_definition - * @{ - */ - -#define I2C_IT_BUF ((uint16_t)0x0400) -#define I2C_IT_EVT ((uint16_t)0x0200) -#define I2C_IT_ERR ((uint16_t)0x0100) -#define IS_I2C_CONFIG_IT(IT) ((((IT) & (uint16_t)0xF8FF) == 0x00) && ((IT) != 0x00)) -/** - * @} - */ - -/** @defgroup I2C_interrupts_definition - * @{ - */ - -#define I2C_IT_SMBALERT ((uint32_t)0x01008000) -#define I2C_IT_TIMEOUT ((uint32_t)0x01004000) -#define I2C_IT_PECERR ((uint32_t)0x01001000) -#define I2C_IT_OVR ((uint32_t)0x01000800) -#define I2C_IT_AF ((uint32_t)0x01000400) -#define I2C_IT_ARLO ((uint32_t)0x01000200) -#define I2C_IT_BERR ((uint32_t)0x01000100) -#define I2C_IT_TXE ((uint32_t)0x06000080) -#define I2C_IT_RXNE ((uint32_t)0x06000040) -#define I2C_IT_STOPF ((uint32_t)0x02000010) -#define I2C_IT_ADD10 ((uint32_t)0x02000008) -#define I2C_IT_BTF ((uint32_t)0x02000004) -#define I2C_IT_ADDR ((uint32_t)0x02000002) -#define I2C_IT_SB ((uint32_t)0x02000001) - -#define IS_I2C_CLEAR_IT(IT) ((((IT) & (uint16_t)0x20FF) == 0x00) && ((IT) != (uint16_t)0x00)) - -#define IS_I2C_GET_IT(IT) (((IT) == I2C_IT_SMBALERT) || ((IT) == I2C_IT_TIMEOUT) || \ - ((IT) == I2C_IT_PECERR) || ((IT) == I2C_IT_OVR) || \ - ((IT) == I2C_IT_AF) || ((IT) == I2C_IT_ARLO) || \ - ((IT) == I2C_IT_BERR) || ((IT) == I2C_IT_TXE) || \ - ((IT) == I2C_IT_RXNE) || ((IT) == I2C_IT_STOPF) || \ - ((IT) == I2C_IT_ADD10) || ((IT) == I2C_IT_BTF) || \ - ((IT) == I2C_IT_ADDR) || ((IT) == I2C_IT_SB)) -/** - * @} - */ - -/** @defgroup I2C_flags_definition - * @{ - */ - -/** - * @brief SR2 register flags - */ - -#define I2C_FLAG_DUALF ((uint32_t)0x00800000) -#define I2C_FLAG_SMBHOST ((uint32_t)0x00400000) -#define I2C_FLAG_SMBDEFAULT ((uint32_t)0x00200000) -#define I2C_FLAG_GENCALL ((uint32_t)0x00100000) -#define I2C_FLAG_TRA ((uint32_t)0x00040000) -#define I2C_FLAG_BUSY ((uint32_t)0x00020000) -#define I2C_FLAG_MSL ((uint32_t)0x00010000) - -/** - * @brief SR1 register flags - */ - -#define I2C_FLAG_SMBALERT ((uint32_t)0x10008000) -#define I2C_FLAG_TIMEOUT ((uint32_t)0x10004000) -#define I2C_FLAG_PECERR ((uint32_t)0x10001000) -#define I2C_FLAG_OVR ((uint32_t)0x10000800) -#define I2C_FLAG_AF ((uint32_t)0x10000400) -#define I2C_FLAG_ARLO ((uint32_t)0x10000200) -#define I2C_FLAG_BERR ((uint32_t)0x10000100) -#define I2C_FLAG_TXE ((uint32_t)0x10000080) -#define I2C_FLAG_RXNE ((uint32_t)0x10000040) -#define I2C_FLAG_STOPF ((uint32_t)0x10000010) -#define I2C_FLAG_ADD10 ((uint32_t)0x10000008) -#define I2C_FLAG_BTF ((uint32_t)0x10000004) -#define I2C_FLAG_ADDR ((uint32_t)0x10000002) -#define I2C_FLAG_SB ((uint32_t)0x10000001) - -#define IS_I2C_CLEAR_FLAG(FLAG) ((((FLAG) & (uint16_t)0x20FF) == 0x00) && ((FLAG) != (uint16_t)0x00)) - -#define IS_I2C_GET_FLAG(FLAG) (((FLAG) == I2C_FLAG_DUALF) || ((FLAG) == I2C_FLAG_SMBHOST) || \ - ((FLAG) == I2C_FLAG_SMBDEFAULT) || ((FLAG) == I2C_FLAG_GENCALL) || \ - ((FLAG) == I2C_FLAG_TRA) || ((FLAG) == I2C_FLAG_BUSY) || \ - ((FLAG) == I2C_FLAG_MSL) || ((FLAG) == I2C_FLAG_SMBALERT) || \ - ((FLAG) == I2C_FLAG_TIMEOUT) || ((FLAG) == I2C_FLAG_PECERR) || \ - ((FLAG) == I2C_FLAG_OVR) || ((FLAG) == I2C_FLAG_AF) || \ - ((FLAG) == I2C_FLAG_ARLO) || ((FLAG) == I2C_FLAG_BERR) || \ - ((FLAG) == I2C_FLAG_TXE) || ((FLAG) == I2C_FLAG_RXNE) || \ - ((FLAG) == I2C_FLAG_STOPF) || ((FLAG) == I2C_FLAG_ADD10) || \ - ((FLAG) == I2C_FLAG_BTF) || ((FLAG) == I2C_FLAG_ADDR) || \ - ((FLAG) == I2C_FLAG_SB)) -/** - * @} - */ - -/** @defgroup I2C_Events - * @{ - */ - -/*======================================== - - I2C Master Events (Events grouped in order of communication) - ==========================================*/ -/** - * @brief Communication start - * - * After sending the START condition (I2C_GenerateSTART() function) the master - * has to wait for this event. It means that the Start condition has been correctly - * released on the I2C bus (the bus is free, no other devices is communicating). - * - */ -/* --EV5 */ -#define I2C_EVENT_MASTER_MODE_SELECT ((uint32_t)0x00030001) /* BUSY, MSL and SB flag */ - -/** - * @brief Address Acknowledge - * - * After checking on EV5 (start condition correctly released on the bus), the - * master sends the address of the slave(s) with which it will communicate - * (I2C_Send7bitAddress() function, it also determines the direction of the communication: - * Master transmitter or Receiver). Then the master has to wait that a slave acknowledges - * his address. If an acknowledge is sent on the bus, one of the following events will - * be set: - * - * 1) In case of Master Receiver (7-bit addressing): the I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED - * event is set. - * - * 2) In case of Master Transmitter (7-bit addressing): the I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED - * is set - * - * 3) In case of 10-Bit addressing mode, the master (just after generating the START - * and checking on EV5) has to send the header of 10-bit addressing mode (I2C_SendData() - * function). Then master should wait on EV9. It means that the 10-bit addressing - * header has been correctly sent on the bus. Then master should send the second part of - * the 10-bit address (LSB) using the function I2C_Send7bitAddress(). Then master - * should wait for event EV6. - * - */ - -/* --EV6 */ -#define I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED ((uint32_t)0x00070082) /* BUSY, MSL, ADDR, TXE and TRA flags */ -#define I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED ((uint32_t)0x00030002) /* BUSY, MSL and ADDR flags */ -/* --EV9 */ -#define I2C_EVENT_MASTER_MODE_ADDRESS10 ((uint32_t)0x00030008) /* BUSY, MSL and ADD10 flags */ - -/** - * @brief Communication events - * - * If a communication is established (START condition generated and slave address - * acknowledged) then the master has to check on one of the following events for - * communication procedures: - * - * 1) Master Receiver mode: The master has to wait on the event EV7 then to read - * the data received from the slave (I2C_ReceiveData() function). - * - * 2) Master Transmitter mode: The master has to send data (I2C_SendData() - * function) then to wait on event EV8 or EV8_2. - * These two events are similar: - * - EV8 means that the data has been written in the data register and is - * being shifted out. - * - EV8_2 means that the data has been physically shifted out and output - * on the bus. - * In most cases, using EV8 is sufficient for the application. - * Using EV8_2 leads to a slower communication but ensure more reliable test. - * EV8_2 is also more suitable than EV8 for testing on the last data transmission - * (before Stop condition generation). - * - * @note In case the user software does not guarantee that this event EV7 is - * managed before the current byte end of transfer, then user may check on EV7 - * and BTF flag at the same time (ie. (I2C_EVENT_MASTER_BYTE_RECEIVED | I2C_FLAG_BTF)). - * In this case the communication may be slower. - * - */ - -/* Master RECEIVER mode -----------------------------*/ -/* --EV7 */ -#define I2C_EVENT_MASTER_BYTE_RECEIVED ((uint32_t)0x00030040) /* BUSY, MSL and RXNE flags */ - -/* Master TRANSMITTER mode --------------------------*/ -/* --EV8 */ -#define I2C_EVENT_MASTER_BYTE_TRANSMITTING ((uint32_t)0x00070080) /* TRA, BUSY, MSL, TXE flags */ -/* --EV8_2 */ -#define I2C_EVENT_MASTER_BYTE_TRANSMITTED ((uint32_t)0x00070084) /* TRA, BUSY, MSL, TXE and BTF flags */ - - -/*======================================== - - I2C Slave Events (Events grouped in order of communication) - ==========================================*/ - -/** - * @brief Communication start events - * - * Wait on one of these events at the start of the communication. It means that - * the I2C peripheral detected a Start condition on the bus (generated by master - * device) followed by the peripheral address. The peripheral generates an ACK - * condition on the bus (if the acknowledge feature is enabled through function - * I2C_AcknowledgeConfig()) and the events listed above are set : - * - * 1) In normal case (only one address managed by the slave), when the address - * sent by the master matches the own address of the peripheral (configured by - * I2C_OwnAddress1 field) the I2C_EVENT_SLAVE_XXX_ADDRESS_MATCHED event is set - * (where XXX could be TRANSMITTER or RECEIVER). - * - * 2) In case the address sent by the master matches the second address of the - * peripheral (configured by the function I2C_OwnAddress2Config() and enabled - * by the function I2C_DualAddressCmd()) the events I2C_EVENT_SLAVE_XXX_SECONDADDRESS_MATCHED - * (where XXX could be TRANSMITTER or RECEIVER) are set. - * - * 3) In case the address sent by the master is General Call (address 0x00) and - * if the General Call is enabled for the peripheral (using function I2C_GeneralCallCmd()) - * the following event is set I2C_EVENT_SLAVE_GENERALCALLADDRESS_MATCHED. - * - */ - -/* --EV1 (all the events below are variants of EV1) */ -/* 1) Case of One Single Address managed by the slave */ -#define I2C_EVENT_SLAVE_RECEIVER_ADDRESS_MATCHED ((uint32_t)0x00020002) /* BUSY and ADDR flags */ -#define I2C_EVENT_SLAVE_TRANSMITTER_ADDRESS_MATCHED ((uint32_t)0x00060082) /* TRA, BUSY, TXE and ADDR flags */ - -/* 2) Case of Dual address managed by the slave */ -#define I2C_EVENT_SLAVE_RECEIVER_SECONDADDRESS_MATCHED ((uint32_t)0x00820000) /* DUALF and BUSY flags */ -#define I2C_EVENT_SLAVE_TRANSMITTER_SECONDADDRESS_MATCHED ((uint32_t)0x00860080) /* DUALF, TRA, BUSY and TXE flags */ - -/* 3) Case of General Call enabled for the slave */ -#define I2C_EVENT_SLAVE_GENERALCALLADDRESS_MATCHED ((uint32_t)0x00120000) /* GENCALL and BUSY flags */ - -/** - * @brief Communication events - * - * Wait on one of these events when EV1 has already been checked and: - * - * - Slave RECEIVER mode: - * - EV2: When the application is expecting a data byte to be received. - * - EV4: When the application is expecting the end of the communication: master - * sends a stop condition and data transmission is stopped. - * - * - Slave Transmitter mode: - * - EV3: When a byte has been transmitted by the slave and the application is expecting - * the end of the byte transmission. The two events I2C_EVENT_SLAVE_BYTE_TRANSMITTED and - * I2C_EVENT_SLAVE_BYTE_TRANSMITTING are similar. The second one can optionally be - * used when the user software doesn't guarantee the EV3 is managed before the - * current byte end of transfer. - * - EV3_2: When the master sends a NACK in order to tell slave that data transmission - * shall end (before sending the STOP condition). In this case slave has to stop sending - * data bytes and expect a Stop condition on the bus. - * - * @note In case the user software does not guarantee that the event EV2 is - * managed before the current byte end of transfer, then user may check on EV2 - * and BTF flag at the same time (ie. (I2C_EVENT_SLAVE_BYTE_RECEIVED | I2C_FLAG_BTF)). - * In this case the communication may be slower. - * - */ - -/* Slave RECEIVER mode --------------------------*/ -/* --EV2 */ -#define I2C_EVENT_SLAVE_BYTE_RECEIVED ((uint32_t)0x00020040) /* BUSY and RXNE flags */ -/* --EV4 */ -#define I2C_EVENT_SLAVE_STOP_DETECTED ((uint32_t)0x00000010) /* STOPF flag */ - -/* Slave TRANSMITTER mode -----------------------*/ -/* --EV3 */ -#define I2C_EVENT_SLAVE_BYTE_TRANSMITTED ((uint32_t)0x00060084) /* TRA, BUSY, TXE and BTF flags */ -#define I2C_EVENT_SLAVE_BYTE_TRANSMITTING ((uint32_t)0x00060080) /* TRA, BUSY and TXE flags */ -/* --EV3_2 */ -#define I2C_EVENT_SLAVE_ACK_FAILURE ((uint32_t)0x00000400) /* AF flag */ - -/*=========================== End of Events Description ==========================================*/ - -#define IS_I2C_EVENT(EVENT) (((EVENT) == I2C_EVENT_SLAVE_TRANSMITTER_ADDRESS_MATCHED) || \ - ((EVENT) == I2C_EVENT_SLAVE_RECEIVER_ADDRESS_MATCHED) || \ - ((EVENT) == I2C_EVENT_SLAVE_TRANSMITTER_SECONDADDRESS_MATCHED) || \ - ((EVENT) == I2C_EVENT_SLAVE_RECEIVER_SECONDADDRESS_MATCHED) || \ - ((EVENT) == I2C_EVENT_SLAVE_GENERALCALLADDRESS_MATCHED) || \ - ((EVENT) == I2C_EVENT_SLAVE_BYTE_RECEIVED) || \ - ((EVENT) == (I2C_EVENT_SLAVE_BYTE_RECEIVED | I2C_FLAG_DUALF)) || \ - ((EVENT) == (I2C_EVENT_SLAVE_BYTE_RECEIVED | I2C_FLAG_GENCALL)) || \ - ((EVENT) == I2C_EVENT_SLAVE_BYTE_TRANSMITTED) || \ - ((EVENT) == (I2C_EVENT_SLAVE_BYTE_TRANSMITTED | I2C_FLAG_DUALF)) || \ - ((EVENT) == (I2C_EVENT_SLAVE_BYTE_TRANSMITTED | I2C_FLAG_GENCALL)) || \ - ((EVENT) == I2C_EVENT_SLAVE_STOP_DETECTED) || \ - ((EVENT) == I2C_EVENT_MASTER_MODE_SELECT) || \ - ((EVENT) == I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED) || \ - ((EVENT) == I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED) || \ - ((EVENT) == I2C_EVENT_MASTER_BYTE_RECEIVED) || \ - ((EVENT) == I2C_EVENT_MASTER_BYTE_TRANSMITTED) || \ - ((EVENT) == I2C_EVENT_MASTER_BYTE_TRANSMITTING) || \ - ((EVENT) == I2C_EVENT_MASTER_MODE_ADDRESS10) || \ - ((EVENT) == I2C_EVENT_SLAVE_ACK_FAILURE)) -/** - * @} - */ - -/** @defgroup I2C_own_address1 - * @{ - */ - -#define IS_I2C_OWN_ADDRESS1(ADDRESS1) ((ADDRESS1) <= 0x3FF) -/** - * @} - */ - -/** @defgroup I2C_clock_speed - * @{ - */ - -#define IS_I2C_CLOCK_SPEED(SPEED) (((SPEED) >= 0x1) && ((SPEED) <= 400000)) -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup I2C_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup I2C_Exported_Functions - * @{ - */ - -void I2C_DeInit(I2C_TypeDef* I2Cx); -void I2C_Init(I2C_TypeDef* I2Cx, I2C_InitTypeDef* I2C_InitStruct); -void I2C_StructInit(I2C_InitTypeDef* I2C_InitStruct); -void I2C_Cmd(I2C_TypeDef* I2Cx, FunctionalState NewState); -void I2C_DMACmd(I2C_TypeDef* I2Cx, FunctionalState NewState); -void I2C_DMALastTransferCmd(I2C_TypeDef* I2Cx, FunctionalState NewState); -void I2C_GenerateSTART(I2C_TypeDef* I2Cx, FunctionalState NewState); -void I2C_GenerateSTOP(I2C_TypeDef* I2Cx, FunctionalState NewState); -void I2C_AcknowledgeConfig(I2C_TypeDef* I2Cx, FunctionalState NewState); -void I2C_OwnAddress2Config(I2C_TypeDef* I2Cx, uint8_t Address); -void I2C_DualAddressCmd(I2C_TypeDef* I2Cx, FunctionalState NewState); -void I2C_GeneralCallCmd(I2C_TypeDef* I2Cx, FunctionalState NewState); -void I2C_ITConfig(I2C_TypeDef* I2Cx, uint16_t I2C_IT, FunctionalState NewState); -void I2C_SendData(I2C_TypeDef* I2Cx, uint8_t Data); -uint8_t I2C_ReceiveData(I2C_TypeDef* I2Cx); -void I2C_Send7bitAddress(I2C_TypeDef* I2Cx, uint8_t Address, uint8_t I2C_Direction); -uint16_t I2C_ReadRegister(I2C_TypeDef* I2Cx, uint8_t I2C_Register); -void I2C_SoftwareResetCmd(I2C_TypeDef* I2Cx, FunctionalState NewState); -void I2C_NACKPositionConfig(I2C_TypeDef* I2Cx, uint16_t I2C_NACKPosition); -void I2C_SMBusAlertConfig(I2C_TypeDef* I2Cx, uint16_t I2C_SMBusAlert); -void I2C_TransmitPEC(I2C_TypeDef* I2Cx, FunctionalState NewState); -void I2C_PECPositionConfig(I2C_TypeDef* I2Cx, uint16_t I2C_PECPosition); -void I2C_CalculatePEC(I2C_TypeDef* I2Cx, FunctionalState NewState); -uint8_t I2C_GetPEC(I2C_TypeDef* I2Cx); -void I2C_ARPCmd(I2C_TypeDef* I2Cx, FunctionalState NewState); -void I2C_StretchClockCmd(I2C_TypeDef* I2Cx, FunctionalState NewState); -void I2C_FastModeDutyCycleConfig(I2C_TypeDef* I2Cx, uint16_t I2C_DutyCycle); - -/** - * @brief - **************************************************************************************** - * - * I2C State Monitoring Functions - * - **************************************************************************************** - * This I2C driver provides three different ways for I2C state monitoring - * depending on the application requirements and constraints: - * - * - * 1) Basic state monitoring: - * Using I2C_CheckEvent() function: - * It compares the status registers (SR1 and SR2) content to a given event - * (can be the combination of one or more flags). - * It returns SUCCESS if the current status includes the given flags - * and returns ERROR if one or more flags are missing in the current status. - * - When to use: - * - This function is suitable for most applications as well as for startup - * activity since the events are fully described in the product reference manual - * (RM0008). - * - It is also suitable for users who need to define their own events. - * - Limitations: - * - If an error occurs (ie. error flags are set besides to the monitored flags), - * the I2C_CheckEvent() function may return SUCCESS despite the communication - * hold or corrupted real state. - * In this case, it is advised to use error interrupts to monitor the error - * events and handle them in the interrupt IRQ handler. - * - * @note - * For error management, it is advised to use the following functions: - * - I2C_ITConfig() to configure and enable the error interrupts (I2C_IT_ERR). - * - I2Cx_ER_IRQHandler() which is called when the error interrupt occurs. - * Where x is the peripheral instance (I2C1, I2C2 ...) - * - I2C_GetFlagStatus() or I2C_GetITStatus() to be called into I2Cx_ER_IRQHandler() - * in order to determine which error occurred. - * - I2C_ClearFlag() or I2C_ClearITPendingBit() and/or I2C_SoftwareResetCmd() - * and/or I2C_GenerateStop() in order to clear the error flag and source, - * and return to correct communication status. - * - * - * 2) Advanced state monitoring: - * Using the function I2C_GetLastEvent() which returns the image of both status - * registers in a single word (uint32_t) (Status Register 2 value is shifted left - * by 16 bits and concatenated to Status Register 1). - * - When to use: - * - This function is suitable for the same applications above but it allows to - * overcome the limitations of I2C_GetFlagStatus() function (see below). - * The returned value could be compared to events already defined in the - * library (stm32f10x_i2c.h) or to custom values defined by user. - * - This function is suitable when multiple flags are monitored at the same time. - * - At the opposite of I2C_CheckEvent() function, this function allows user to - * choose when an event is accepted (when all events flags are set and no - * other flags are set or just when the needed flags are set like - * I2C_CheckEvent() function). - * - Limitations: - * - User may need to define his own events. - * - Same remark concerning the error management is applicable for this - * function if user decides to check only regular communication flags (and - * ignores error flags). - * - * - * 3) Flag-based state monitoring: - * Using the function I2C_GetFlagStatus() which simply returns the status of - * one single flag (ie. I2C_FLAG_RXNE ...). - * - When to use: - * - This function could be used for specific applications or in debug phase. - * - It is suitable when only one flag checking is needed (most I2C events - * are monitored through multiple flags). - * - Limitations: - * - When calling this function, the Status register is accessed. Some flags are - * cleared when the status register is accessed. So checking the status - * of one Flag, may clear other ones. - * - Function may need to be called twice or more in order to monitor one - * single event. - * - */ - -/** - * - * 1) Basic state monitoring - ******************************************************************************* - */ -ErrorStatus I2C_CheckEvent(I2C_TypeDef* I2Cx, uint32_t I2C_EVENT); -/** - * - * 2) Advanced state monitoring - ******************************************************************************* - */ -uint32_t I2C_GetLastEvent(I2C_TypeDef* I2Cx); -/** - * - * 3) Flag-based state monitoring - ******************************************************************************* - */ -FlagStatus I2C_GetFlagStatus(I2C_TypeDef* I2Cx, uint32_t I2C_FLAG); -/** - * - ******************************************************************************* - */ - -void I2C_ClearFlag(I2C_TypeDef* I2Cx, uint32_t I2C_FLAG); -ITStatus I2C_GetITStatus(I2C_TypeDef* I2Cx, uint32_t I2C_IT); -void I2C_ClearITPendingBit(I2C_TypeDef* I2Cx, uint32_t I2C_IT); - -#ifdef __cplusplus -} -#endif - -#endif /*__STM32F10x_I2C_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_iwdg.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_iwdg.h deleted file mode 100644 index 7f5ab7642..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_iwdg.h +++ /dev/null @@ -1,140 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_iwdg.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the IWDG - * firmware library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_IWDG_H -#define __STM32F10x_IWDG_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup IWDG - * @{ - */ - -/** @defgroup IWDG_Exported_Types - * @{ - */ - -/** - * @} - */ - -/** @defgroup IWDG_Exported_Constants - * @{ - */ - -/** @defgroup IWDG_WriteAccess - * @{ - */ - -#define IWDG_WriteAccess_Enable ((uint16_t)0x5555) -#define IWDG_WriteAccess_Disable ((uint16_t)0x0000) -#define IS_IWDG_WRITE_ACCESS(ACCESS) (((ACCESS) == IWDG_WriteAccess_Enable) || \ - ((ACCESS) == IWDG_WriteAccess_Disable)) -/** - * @} - */ - -/** @defgroup IWDG_prescaler - * @{ - */ - -#define IWDG_Prescaler_4 ((uint8_t)0x00) -#define IWDG_Prescaler_8 ((uint8_t)0x01) -#define IWDG_Prescaler_16 ((uint8_t)0x02) -#define IWDG_Prescaler_32 ((uint8_t)0x03) -#define IWDG_Prescaler_64 ((uint8_t)0x04) -#define IWDG_Prescaler_128 ((uint8_t)0x05) -#define IWDG_Prescaler_256 ((uint8_t)0x06) -#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)) -/** - * @} - */ - -/** @defgroup IWDG_Flag - * @{ - */ - -#define IWDG_FLAG_PVU ((uint16_t)0x0001) -#define IWDG_FLAG_RVU ((uint16_t)0x0002) -#define IS_IWDG_FLAG(FLAG) (((FLAG) == IWDG_FLAG_PVU) || ((FLAG) == IWDG_FLAG_RVU)) -#define IS_IWDG_RELOAD(RELOAD) ((RELOAD) <= 0xFFF) -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup IWDG_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup IWDG_Exported_Functions - * @{ - */ - -void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess); -void IWDG_SetPrescaler(uint8_t IWDG_Prescaler); -void IWDG_SetReload(uint16_t Reload); -void IWDG_ReloadCounter(void); -void IWDG_Enable(void); -FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_IWDG_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_pwr.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_pwr.h deleted file mode 100644 index 76e6ce91f..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_pwr.h +++ /dev/null @@ -1,156 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_pwr.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the PWR firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_PWR_H -#define __STM32F10x_PWR_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup PWR - * @{ - */ - -/** @defgroup PWR_Exported_Types - * @{ - */ - -/** - * @} - */ - -/** @defgroup PWR_Exported_Constants - * @{ - */ - -/** @defgroup PVD_detection_level - * @{ - */ - -#define PWR_PVDLevel_2V2 ((uint32_t)0x00000000) -#define PWR_PVDLevel_2V3 ((uint32_t)0x00000020) -#define PWR_PVDLevel_2V4 ((uint32_t)0x00000040) -#define PWR_PVDLevel_2V5 ((uint32_t)0x00000060) -#define PWR_PVDLevel_2V6 ((uint32_t)0x00000080) -#define PWR_PVDLevel_2V7 ((uint32_t)0x000000A0) -#define PWR_PVDLevel_2V8 ((uint32_t)0x000000C0) -#define PWR_PVDLevel_2V9 ((uint32_t)0x000000E0) -#define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLevel_2V2) || ((LEVEL) == PWR_PVDLevel_2V3)|| \ - ((LEVEL) == PWR_PVDLevel_2V4) || ((LEVEL) == PWR_PVDLevel_2V5)|| \ - ((LEVEL) == PWR_PVDLevel_2V6) || ((LEVEL) == PWR_PVDLevel_2V7)|| \ - ((LEVEL) == PWR_PVDLevel_2V8) || ((LEVEL) == PWR_PVDLevel_2V9)) -/** - * @} - */ - -/** @defgroup Regulator_state_is_STOP_mode - * @{ - */ - -#define PWR_Regulator_ON ((uint32_t)0x00000000) -#define PWR_Regulator_LowPower ((uint32_t)0x00000001) -#define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_Regulator_ON) || \ - ((REGULATOR) == PWR_Regulator_LowPower)) -/** - * @} - */ - -/** @defgroup STOP_mode_entry - * @{ - */ - -#define PWR_STOPEntry_WFI ((uint8_t)0x01) -#define PWR_STOPEntry_WFE ((uint8_t)0x02) -#define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPEntry_WFI) || ((ENTRY) == PWR_STOPEntry_WFE)) - -/** - * @} - */ - -/** @defgroup PWR_Flag - * @{ - */ - -#define PWR_FLAG_WU ((uint32_t)0x00000001) -#define PWR_FLAG_SB ((uint32_t)0x00000002) -#define PWR_FLAG_PVDO ((uint32_t)0x00000004) -#define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \ - ((FLAG) == PWR_FLAG_PVDO)) - -#define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB)) -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup PWR_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup PWR_Exported_Functions - * @{ - */ - -void PWR_DeInit(void); -void PWR_BackupAccessCmd(FunctionalState NewState); -void PWR_PVDCmd(FunctionalState NewState); -void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel); -void PWR_WakeUpPinCmd(FunctionalState NewState); -void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry); -void PWR_EnterSTANDBYMode(void); -FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG); -void PWR_ClearFlag(uint32_t PWR_FLAG); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_PWR_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rcc.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rcc.h deleted file mode 100644 index b3b7d821d..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rcc.h +++ /dev/null @@ -1,727 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_rcc.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the RCC firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_RCC_H -#define __STM32F10x_RCC_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup RCC - * @{ - */ - -/** @defgroup RCC_Exported_Types - * @{ - */ - -typedef struct -{ - uint32_t SYSCLK_Frequency; /*!< returns SYSCLK clock frequency expressed in Hz */ - uint32_t HCLK_Frequency; /*!< returns HCLK clock frequency expressed in Hz */ - uint32_t PCLK1_Frequency; /*!< returns PCLK1 clock frequency expressed in Hz */ - uint32_t PCLK2_Frequency; /*!< returns PCLK2 clock frequency expressed in Hz */ - uint32_t ADCCLK_Frequency; /*!< returns ADCCLK clock frequency expressed in Hz */ -}RCC_ClocksTypeDef; - -/** - * @} - */ - -/** @defgroup RCC_Exported_Constants - * @{ - */ - -/** @defgroup HSE_configuration - * @{ - */ - -#define RCC_HSE_OFF ((uint32_t)0x00000000) -#define RCC_HSE_ON ((uint32_t)0x00010000) -#define RCC_HSE_Bypass ((uint32_t)0x00040000) -#define IS_RCC_HSE(HSE) (((HSE) == RCC_HSE_OFF) || ((HSE) == RCC_HSE_ON) || \ - ((HSE) == RCC_HSE_Bypass)) - -/** - * @} - */ - -/** @defgroup PLL_entry_clock_source - * @{ - */ - -#define RCC_PLLSource_HSI_Div2 ((uint32_t)0x00000000) - -#if !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_CL) - #define RCC_PLLSource_HSE_Div1 ((uint32_t)0x00010000) - #define RCC_PLLSource_HSE_Div2 ((uint32_t)0x00030000) - #define IS_RCC_PLL_SOURCE(SOURCE) (((SOURCE) == RCC_PLLSource_HSI_Div2) || \ - ((SOURCE) == RCC_PLLSource_HSE_Div1) || \ - ((SOURCE) == RCC_PLLSource_HSE_Div2)) -#else - #define RCC_PLLSource_PREDIV1 ((uint32_t)0x00010000) - #define IS_RCC_PLL_SOURCE(SOURCE) (((SOURCE) == RCC_PLLSource_HSI_Div2) || \ - ((SOURCE) == RCC_PLLSource_PREDIV1)) -#endif /* STM32F10X_CL */ - -/** - * @} - */ - -/** @defgroup PLL_multiplication_factor - * @{ - */ -#ifndef STM32F10X_CL - #define RCC_PLLMul_2 ((uint32_t)0x00000000) - #define RCC_PLLMul_3 ((uint32_t)0x00040000) - #define RCC_PLLMul_4 ((uint32_t)0x00080000) - #define RCC_PLLMul_5 ((uint32_t)0x000C0000) - #define RCC_PLLMul_6 ((uint32_t)0x00100000) - #define RCC_PLLMul_7 ((uint32_t)0x00140000) - #define RCC_PLLMul_8 ((uint32_t)0x00180000) - #define RCC_PLLMul_9 ((uint32_t)0x001C0000) - #define RCC_PLLMul_10 ((uint32_t)0x00200000) - #define RCC_PLLMul_11 ((uint32_t)0x00240000) - #define RCC_PLLMul_12 ((uint32_t)0x00280000) - #define RCC_PLLMul_13 ((uint32_t)0x002C0000) - #define RCC_PLLMul_14 ((uint32_t)0x00300000) - #define RCC_PLLMul_15 ((uint32_t)0x00340000) - #define RCC_PLLMul_16 ((uint32_t)0x00380000) - #define IS_RCC_PLL_MUL(MUL) (((MUL) == RCC_PLLMul_2) || ((MUL) == RCC_PLLMul_3) || \ - ((MUL) == RCC_PLLMul_4) || ((MUL) == RCC_PLLMul_5) || \ - ((MUL) == RCC_PLLMul_6) || ((MUL) == RCC_PLLMul_7) || \ - ((MUL) == RCC_PLLMul_8) || ((MUL) == RCC_PLLMul_9) || \ - ((MUL) == RCC_PLLMul_10) || ((MUL) == RCC_PLLMul_11) || \ - ((MUL) == RCC_PLLMul_12) || ((MUL) == RCC_PLLMul_13) || \ - ((MUL) == RCC_PLLMul_14) || ((MUL) == RCC_PLLMul_15) || \ - ((MUL) == RCC_PLLMul_16)) - -#else - #define RCC_PLLMul_4 ((uint32_t)0x00080000) - #define RCC_PLLMul_5 ((uint32_t)0x000C0000) - #define RCC_PLLMul_6 ((uint32_t)0x00100000) - #define RCC_PLLMul_7 ((uint32_t)0x00140000) - #define RCC_PLLMul_8 ((uint32_t)0x00180000) - #define RCC_PLLMul_9 ((uint32_t)0x001C0000) - #define RCC_PLLMul_6_5 ((uint32_t)0x00340000) - - #define IS_RCC_PLL_MUL(MUL) (((MUL) == RCC_PLLMul_4) || ((MUL) == RCC_PLLMul_5) || \ - ((MUL) == RCC_PLLMul_6) || ((MUL) == RCC_PLLMul_7) || \ - ((MUL) == RCC_PLLMul_8) || ((MUL) == RCC_PLLMul_9) || \ - ((MUL) == RCC_PLLMul_6_5)) -#endif /* STM32F10X_CL */ -/** - * @} - */ - -/** @defgroup PREDIV1_division_factor - * @{ - */ -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) || defined (STM32F10X_CL) - #define RCC_PREDIV1_Div1 ((uint32_t)0x00000000) - #define RCC_PREDIV1_Div2 ((uint32_t)0x00000001) - #define RCC_PREDIV1_Div3 ((uint32_t)0x00000002) - #define RCC_PREDIV1_Div4 ((uint32_t)0x00000003) - #define RCC_PREDIV1_Div5 ((uint32_t)0x00000004) - #define RCC_PREDIV1_Div6 ((uint32_t)0x00000005) - #define RCC_PREDIV1_Div7 ((uint32_t)0x00000006) - #define RCC_PREDIV1_Div8 ((uint32_t)0x00000007) - #define RCC_PREDIV1_Div9 ((uint32_t)0x00000008) - #define RCC_PREDIV1_Div10 ((uint32_t)0x00000009) - #define RCC_PREDIV1_Div11 ((uint32_t)0x0000000A) - #define RCC_PREDIV1_Div12 ((uint32_t)0x0000000B) - #define RCC_PREDIV1_Div13 ((uint32_t)0x0000000C) - #define RCC_PREDIV1_Div14 ((uint32_t)0x0000000D) - #define RCC_PREDIV1_Div15 ((uint32_t)0x0000000E) - #define RCC_PREDIV1_Div16 ((uint32_t)0x0000000F) - - #define IS_RCC_PREDIV1(PREDIV1) (((PREDIV1) == RCC_PREDIV1_Div1) || ((PREDIV1) == RCC_PREDIV1_Div2) || \ - ((PREDIV1) == RCC_PREDIV1_Div3) || ((PREDIV1) == RCC_PREDIV1_Div4) || \ - ((PREDIV1) == RCC_PREDIV1_Div5) || ((PREDIV1) == RCC_PREDIV1_Div6) || \ - ((PREDIV1) == RCC_PREDIV1_Div7) || ((PREDIV1) == RCC_PREDIV1_Div8) || \ - ((PREDIV1) == RCC_PREDIV1_Div9) || ((PREDIV1) == RCC_PREDIV1_Div10) || \ - ((PREDIV1) == RCC_PREDIV1_Div11) || ((PREDIV1) == RCC_PREDIV1_Div12) || \ - ((PREDIV1) == RCC_PREDIV1_Div13) || ((PREDIV1) == RCC_PREDIV1_Div14) || \ - ((PREDIV1) == RCC_PREDIV1_Div15) || ((PREDIV1) == RCC_PREDIV1_Div16)) -#endif -/** - * @} - */ - - -/** @defgroup PREDIV1_clock_source - * @{ - */ -#ifdef STM32F10X_CL -/* PREDIV1 clock source (for STM32 connectivity line devices) */ - #define RCC_PREDIV1_Source_HSE ((uint32_t)0x00000000) - #define RCC_PREDIV1_Source_PLL2 ((uint32_t)0x00010000) - - #define IS_RCC_PREDIV1_SOURCE(SOURCE) (((SOURCE) == RCC_PREDIV1_Source_HSE) || \ - ((SOURCE) == RCC_PREDIV1_Source_PLL2)) -#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) -/* PREDIV1 clock source (for STM32 Value line devices) */ - #define RCC_PREDIV1_Source_HSE ((uint32_t)0x00000000) - - #define IS_RCC_PREDIV1_SOURCE(SOURCE) (((SOURCE) == RCC_PREDIV1_Source_HSE)) -#endif -/** - * @} - */ - -#ifdef STM32F10X_CL -/** @defgroup PREDIV2_division_factor - * @{ - */ - - #define RCC_PREDIV2_Div1 ((uint32_t)0x00000000) - #define RCC_PREDIV2_Div2 ((uint32_t)0x00000010) - #define RCC_PREDIV2_Div3 ((uint32_t)0x00000020) - #define RCC_PREDIV2_Div4 ((uint32_t)0x00000030) - #define RCC_PREDIV2_Div5 ((uint32_t)0x00000040) - #define RCC_PREDIV2_Div6 ((uint32_t)0x00000050) - #define RCC_PREDIV2_Div7 ((uint32_t)0x00000060) - #define RCC_PREDIV2_Div8 ((uint32_t)0x00000070) - #define RCC_PREDIV2_Div9 ((uint32_t)0x00000080) - #define RCC_PREDIV2_Div10 ((uint32_t)0x00000090) - #define RCC_PREDIV2_Div11 ((uint32_t)0x000000A0) - #define RCC_PREDIV2_Div12 ((uint32_t)0x000000B0) - #define RCC_PREDIV2_Div13 ((uint32_t)0x000000C0) - #define RCC_PREDIV2_Div14 ((uint32_t)0x000000D0) - #define RCC_PREDIV2_Div15 ((uint32_t)0x000000E0) - #define RCC_PREDIV2_Div16 ((uint32_t)0x000000F0) - - #define IS_RCC_PREDIV2(PREDIV2) (((PREDIV2) == RCC_PREDIV2_Div1) || ((PREDIV2) == RCC_PREDIV2_Div2) || \ - ((PREDIV2) == RCC_PREDIV2_Div3) || ((PREDIV2) == RCC_PREDIV2_Div4) || \ - ((PREDIV2) == RCC_PREDIV2_Div5) || ((PREDIV2) == RCC_PREDIV2_Div6) || \ - ((PREDIV2) == RCC_PREDIV2_Div7) || ((PREDIV2) == RCC_PREDIV2_Div8) || \ - ((PREDIV2) == RCC_PREDIV2_Div9) || ((PREDIV2) == RCC_PREDIV2_Div10) || \ - ((PREDIV2) == RCC_PREDIV2_Div11) || ((PREDIV2) == RCC_PREDIV2_Div12) || \ - ((PREDIV2) == RCC_PREDIV2_Div13) || ((PREDIV2) == RCC_PREDIV2_Div14) || \ - ((PREDIV2) == RCC_PREDIV2_Div15) || ((PREDIV2) == RCC_PREDIV2_Div16)) -/** - * @} - */ - - -/** @defgroup PLL2_multiplication_factor - * @{ - */ - - #define RCC_PLL2Mul_8 ((uint32_t)0x00000600) - #define RCC_PLL2Mul_9 ((uint32_t)0x00000700) - #define RCC_PLL2Mul_10 ((uint32_t)0x00000800) - #define RCC_PLL2Mul_11 ((uint32_t)0x00000900) - #define RCC_PLL2Mul_12 ((uint32_t)0x00000A00) - #define RCC_PLL2Mul_13 ((uint32_t)0x00000B00) - #define RCC_PLL2Mul_14 ((uint32_t)0x00000C00) - #define RCC_PLL2Mul_16 ((uint32_t)0x00000E00) - #define RCC_PLL2Mul_20 ((uint32_t)0x00000F00) - - #define IS_RCC_PLL2_MUL(MUL) (((MUL) == RCC_PLL2Mul_8) || ((MUL) == RCC_PLL2Mul_9) || \ - ((MUL) == RCC_PLL2Mul_10) || ((MUL) == RCC_PLL2Mul_11) || \ - ((MUL) == RCC_PLL2Mul_12) || ((MUL) == RCC_PLL2Mul_13) || \ - ((MUL) == RCC_PLL2Mul_14) || ((MUL) == RCC_PLL2Mul_16) || \ - ((MUL) == RCC_PLL2Mul_20)) -/** - * @} - */ - - -/** @defgroup PLL3_multiplication_factor - * @{ - */ - - #define RCC_PLL3Mul_8 ((uint32_t)0x00006000) - #define RCC_PLL3Mul_9 ((uint32_t)0x00007000) - #define RCC_PLL3Mul_10 ((uint32_t)0x00008000) - #define RCC_PLL3Mul_11 ((uint32_t)0x00009000) - #define RCC_PLL3Mul_12 ((uint32_t)0x0000A000) - #define RCC_PLL3Mul_13 ((uint32_t)0x0000B000) - #define RCC_PLL3Mul_14 ((uint32_t)0x0000C000) - #define RCC_PLL3Mul_16 ((uint32_t)0x0000E000) - #define RCC_PLL3Mul_20 ((uint32_t)0x0000F000) - - #define IS_RCC_PLL3_MUL(MUL) (((MUL) == RCC_PLL3Mul_8) || ((MUL) == RCC_PLL3Mul_9) || \ - ((MUL) == RCC_PLL3Mul_10) || ((MUL) == RCC_PLL3Mul_11) || \ - ((MUL) == RCC_PLL3Mul_12) || ((MUL) == RCC_PLL3Mul_13) || \ - ((MUL) == RCC_PLL3Mul_14) || ((MUL) == RCC_PLL3Mul_16) || \ - ((MUL) == RCC_PLL3Mul_20)) -/** - * @} - */ - -#endif /* STM32F10X_CL */ - - -/** @defgroup System_clock_source - * @{ - */ - -#define RCC_SYSCLKSource_HSI ((uint32_t)0x00000000) -#define RCC_SYSCLKSource_HSE ((uint32_t)0x00000001) -#define RCC_SYSCLKSource_PLLCLK ((uint32_t)0x00000002) -#define IS_RCC_SYSCLK_SOURCE(SOURCE) (((SOURCE) == RCC_SYSCLKSource_HSI) || \ - ((SOURCE) == RCC_SYSCLKSource_HSE) || \ - ((SOURCE) == RCC_SYSCLKSource_PLLCLK)) -/** - * @} - */ - -/** @defgroup AHB_clock_source - * @{ - */ - -#define RCC_SYSCLK_Div1 ((uint32_t)0x00000000) -#define RCC_SYSCLK_Div2 ((uint32_t)0x00000080) -#define RCC_SYSCLK_Div4 ((uint32_t)0x00000090) -#define RCC_SYSCLK_Div8 ((uint32_t)0x000000A0) -#define RCC_SYSCLK_Div16 ((uint32_t)0x000000B0) -#define RCC_SYSCLK_Div64 ((uint32_t)0x000000C0) -#define RCC_SYSCLK_Div128 ((uint32_t)0x000000D0) -#define RCC_SYSCLK_Div256 ((uint32_t)0x000000E0) -#define RCC_SYSCLK_Div512 ((uint32_t)0x000000F0) -#define IS_RCC_HCLK(HCLK) (((HCLK) == RCC_SYSCLK_Div1) || ((HCLK) == RCC_SYSCLK_Div2) || \ - ((HCLK) == RCC_SYSCLK_Div4) || ((HCLK) == RCC_SYSCLK_Div8) || \ - ((HCLK) == RCC_SYSCLK_Div16) || ((HCLK) == RCC_SYSCLK_Div64) || \ - ((HCLK) == RCC_SYSCLK_Div128) || ((HCLK) == RCC_SYSCLK_Div256) || \ - ((HCLK) == RCC_SYSCLK_Div512)) -/** - * @} - */ - -/** @defgroup APB1_APB2_clock_source - * @{ - */ - -#define RCC_HCLK_Div1 ((uint32_t)0x00000000) -#define RCC_HCLK_Div2 ((uint32_t)0x00000400) -#define RCC_HCLK_Div4 ((uint32_t)0x00000500) -#define RCC_HCLK_Div8 ((uint32_t)0x00000600) -#define RCC_HCLK_Div16 ((uint32_t)0x00000700) -#define IS_RCC_PCLK(PCLK) (((PCLK) == RCC_HCLK_Div1) || ((PCLK) == RCC_HCLK_Div2) || \ - ((PCLK) == RCC_HCLK_Div4) || ((PCLK) == RCC_HCLK_Div8) || \ - ((PCLK) == RCC_HCLK_Div16)) -/** - * @} - */ - -/** @defgroup RCC_Interrupt_source - * @{ - */ - -#define RCC_IT_LSIRDY ((uint8_t)0x01) -#define RCC_IT_LSERDY ((uint8_t)0x02) -#define RCC_IT_HSIRDY ((uint8_t)0x04) -#define RCC_IT_HSERDY ((uint8_t)0x08) -#define RCC_IT_PLLRDY ((uint8_t)0x10) -#define RCC_IT_CSS ((uint8_t)0x80) - -#ifndef STM32F10X_CL - #define IS_RCC_IT(IT) ((((IT) & (uint8_t)0xE0) == 0x00) && ((IT) != 0x00)) - #define IS_RCC_GET_IT(IT) (((IT) == RCC_IT_LSIRDY) || ((IT) == RCC_IT_LSERDY) || \ - ((IT) == RCC_IT_HSIRDY) || ((IT) == RCC_IT_HSERDY) || \ - ((IT) == RCC_IT_PLLRDY) || ((IT) == RCC_IT_CSS)) - #define IS_RCC_CLEAR_IT(IT) ((((IT) & (uint8_t)0x60) == 0x00) && ((IT) != 0x00)) -#else - #define RCC_IT_PLL2RDY ((uint8_t)0x20) - #define RCC_IT_PLL3RDY ((uint8_t)0x40) - #define IS_RCC_IT(IT) ((((IT) & (uint8_t)0x80) == 0x00) && ((IT) != 0x00)) - #define IS_RCC_GET_IT(IT) (((IT) == RCC_IT_LSIRDY) || ((IT) == RCC_IT_LSERDY) || \ - ((IT) == RCC_IT_HSIRDY) || ((IT) == RCC_IT_HSERDY) || \ - ((IT) == RCC_IT_PLLRDY) || ((IT) == RCC_IT_CSS) || \ - ((IT) == RCC_IT_PLL2RDY) || ((IT) == RCC_IT_PLL3RDY)) - #define IS_RCC_CLEAR_IT(IT) ((IT) != 0x00) -#endif /* STM32F10X_CL */ - - -/** - * @} - */ - -#ifndef STM32F10X_CL -/** @defgroup USB_Device_clock_source - * @{ - */ - - #define RCC_USBCLKSource_PLLCLK_1Div5 ((uint8_t)0x00) - #define RCC_USBCLKSource_PLLCLK_Div1 ((uint8_t)0x01) - - #define IS_RCC_USBCLK_SOURCE(SOURCE) (((SOURCE) == RCC_USBCLKSource_PLLCLK_1Div5) || \ - ((SOURCE) == RCC_USBCLKSource_PLLCLK_Div1)) -/** - * @} - */ -#else -/** @defgroup USB_OTG_FS_clock_source - * @{ - */ - #define RCC_OTGFSCLKSource_PLLVCO_Div3 ((uint8_t)0x00) - #define RCC_OTGFSCLKSource_PLLVCO_Div2 ((uint8_t)0x01) - - #define IS_RCC_OTGFSCLK_SOURCE(SOURCE) (((SOURCE) == RCC_OTGFSCLKSource_PLLVCO_Div3) || \ - ((SOURCE) == RCC_OTGFSCLKSource_PLLVCO_Div2)) -/** - * @} - */ -#endif /* STM32F10X_CL */ - - -#ifdef STM32F10X_CL -/** @defgroup I2S2_clock_source - * @{ - */ - #define RCC_I2S2CLKSource_SYSCLK ((uint8_t)0x00) - #define RCC_I2S2CLKSource_PLL3_VCO ((uint8_t)0x01) - - #define IS_RCC_I2S2CLK_SOURCE(SOURCE) (((SOURCE) == RCC_I2S2CLKSource_SYSCLK) || \ - ((SOURCE) == RCC_I2S2CLKSource_PLL3_VCO)) -/** - * @} - */ - -/** @defgroup I2S3_clock_source - * @{ - */ - #define RCC_I2S3CLKSource_SYSCLK ((uint8_t)0x00) - #define RCC_I2S3CLKSource_PLL3_VCO ((uint8_t)0x01) - - #define IS_RCC_I2S3CLK_SOURCE(SOURCE) (((SOURCE) == RCC_I2S3CLKSource_SYSCLK) || \ - ((SOURCE) == RCC_I2S3CLKSource_PLL3_VCO)) -/** - * @} - */ -#endif /* STM32F10X_CL */ - - -/** @defgroup ADC_clock_source - * @{ - */ - -#define RCC_PCLK2_Div2 ((uint32_t)0x00000000) -#define RCC_PCLK2_Div4 ((uint32_t)0x00004000) -#define RCC_PCLK2_Div6 ((uint32_t)0x00008000) -#define RCC_PCLK2_Div8 ((uint32_t)0x0000C000) -#define IS_RCC_ADCCLK(ADCCLK) (((ADCCLK) == RCC_PCLK2_Div2) || ((ADCCLK) == RCC_PCLK2_Div4) || \ - ((ADCCLK) == RCC_PCLK2_Div6) || ((ADCCLK) == RCC_PCLK2_Div8)) -/** - * @} - */ - -/** @defgroup LSE_configuration - * @{ - */ - -#define RCC_LSE_OFF ((uint8_t)0x00) -#define RCC_LSE_ON ((uint8_t)0x01) -#define RCC_LSE_Bypass ((uint8_t)0x04) -#define IS_RCC_LSE(LSE) (((LSE) == RCC_LSE_OFF) || ((LSE) == RCC_LSE_ON) || \ - ((LSE) == RCC_LSE_Bypass)) -/** - * @} - */ - -/** @defgroup RTC_clock_source - * @{ - */ - -#define RCC_RTCCLKSource_LSE ((uint32_t)0x00000100) -#define RCC_RTCCLKSource_LSI ((uint32_t)0x00000200) -#define RCC_RTCCLKSource_HSE_Div128 ((uint32_t)0x00000300) -#define IS_RCC_RTCCLK_SOURCE(SOURCE) (((SOURCE) == RCC_RTCCLKSource_LSE) || \ - ((SOURCE) == RCC_RTCCLKSource_LSI) || \ - ((SOURCE) == RCC_RTCCLKSource_HSE_Div128)) -/** - * @} - */ - -/** @defgroup AHB_peripheral - * @{ - */ - -#define RCC_AHBPeriph_DMA1 ((uint32_t)0x00000001) -#define RCC_AHBPeriph_DMA2 ((uint32_t)0x00000002) -#define RCC_AHBPeriph_SRAM ((uint32_t)0x00000004) -#define RCC_AHBPeriph_FLITF ((uint32_t)0x00000010) -#define RCC_AHBPeriph_CRC ((uint32_t)0x00000040) - -#ifndef STM32F10X_CL - #define RCC_AHBPeriph_FSMC ((uint32_t)0x00000100) - #define RCC_AHBPeriph_SDIO ((uint32_t)0x00000400) - #define IS_RCC_AHB_PERIPH(PERIPH) ((((PERIPH) & 0xFFFFFAA8) == 0x00) && ((PERIPH) != 0x00)) -#else - #define RCC_AHBPeriph_OTG_FS ((uint32_t)0x00001000) - #define RCC_AHBPeriph_ETH_MAC ((uint32_t)0x00004000) - #define RCC_AHBPeriph_ETH_MAC_Tx ((uint32_t)0x00008000) - #define RCC_AHBPeriph_ETH_MAC_Rx ((uint32_t)0x00010000) - - #define IS_RCC_AHB_PERIPH(PERIPH) ((((PERIPH) & 0xFFFE2FA8) == 0x00) && ((PERIPH) != 0x00)) - #define IS_RCC_AHB_PERIPH_RESET(PERIPH) ((((PERIPH) & 0xFFFFAFFF) == 0x00) && ((PERIPH) != 0x00)) -#endif /* STM32F10X_CL */ -/** - * @} - */ - -/** @defgroup APB2_peripheral - * @{ - */ - -#define RCC_APB2Periph_AFIO ((uint32_t)0x00000001) -#define RCC_APB2Periph_GPIOA ((uint32_t)0x00000004) -#define RCC_APB2Periph_GPIOB ((uint32_t)0x00000008) -#define RCC_APB2Periph_GPIOC ((uint32_t)0x00000010) -#define RCC_APB2Periph_GPIOD ((uint32_t)0x00000020) -#define RCC_APB2Periph_GPIOE ((uint32_t)0x00000040) -#define RCC_APB2Periph_GPIOF ((uint32_t)0x00000080) -#define RCC_APB2Periph_GPIOG ((uint32_t)0x00000100) -#define RCC_APB2Periph_ADC1 ((uint32_t)0x00000200) -#define RCC_APB2Periph_ADC2 ((uint32_t)0x00000400) -#define RCC_APB2Periph_TIM1 ((uint32_t)0x00000800) -#define RCC_APB2Periph_SPI1 ((uint32_t)0x00001000) -#define RCC_APB2Periph_TIM8 ((uint32_t)0x00002000) -#define RCC_APB2Periph_USART1 ((uint32_t)0x00004000) -#define RCC_APB2Periph_ADC3 ((uint32_t)0x00008000) -#define RCC_APB2Periph_TIM15 ((uint32_t)0x00010000) -#define RCC_APB2Periph_TIM16 ((uint32_t)0x00020000) -#define RCC_APB2Periph_TIM17 ((uint32_t)0x00040000) -#define RCC_APB2Periph_TIM9 ((uint32_t)0x00080000) -#define RCC_APB2Periph_TIM10 ((uint32_t)0x00100000) -#define RCC_APB2Periph_TIM11 ((uint32_t)0x00200000) - -#define IS_RCC_APB2_PERIPH(PERIPH) ((((PERIPH) & 0xFFC00002) == 0x00) && ((PERIPH) != 0x00)) -/** - * @} - */ - -/** @defgroup APB1_peripheral - * @{ - */ - -#define RCC_APB1Periph_TIM2 ((uint32_t)0x00000001) -#define RCC_APB1Periph_TIM3 ((uint32_t)0x00000002) -#define RCC_APB1Periph_TIM4 ((uint32_t)0x00000004) -#define RCC_APB1Periph_TIM5 ((uint32_t)0x00000008) -#define RCC_APB1Periph_TIM6 ((uint32_t)0x00000010) -#define RCC_APB1Periph_TIM7 ((uint32_t)0x00000020) -#define RCC_APB1Periph_TIM12 ((uint32_t)0x00000040) -#define RCC_APB1Periph_TIM13 ((uint32_t)0x00000080) -#define RCC_APB1Periph_TIM14 ((uint32_t)0x00000100) -#define RCC_APB1Periph_WWDG ((uint32_t)0x00000800) -#define RCC_APB1Periph_SPI2 ((uint32_t)0x00004000) -#define RCC_APB1Periph_SPI3 ((uint32_t)0x00008000) -#define RCC_APB1Periph_USART2 ((uint32_t)0x00020000) -#define RCC_APB1Periph_USART3 ((uint32_t)0x00040000) -#define RCC_APB1Periph_UART4 ((uint32_t)0x00080000) -#define RCC_APB1Periph_UART5 ((uint32_t)0x00100000) -#define RCC_APB1Periph_I2C1 ((uint32_t)0x00200000) -#define RCC_APB1Periph_I2C2 ((uint32_t)0x00400000) -#define RCC_APB1Periph_USB ((uint32_t)0x00800000) -#define RCC_APB1Periph_CAN1 ((uint32_t)0x02000000) -#define RCC_APB1Periph_CAN2 ((uint32_t)0x04000000) -#define RCC_APB1Periph_BKP ((uint32_t)0x08000000) -#define RCC_APB1Periph_PWR ((uint32_t)0x10000000) -#define RCC_APB1Periph_DAC ((uint32_t)0x20000000) -#define RCC_APB1Periph_CEC ((uint32_t)0x40000000) - -#define IS_RCC_APB1_PERIPH(PERIPH) ((((PERIPH) & 0x81013600) == 0x00) && ((PERIPH) != 0x00)) - -/** - * @} - */ - -/** @defgroup Clock_source_to_output_on_MCO_pin - * @{ - */ - -#define RCC_MCO_NoClock ((uint8_t)0x00) -#define RCC_MCO_SYSCLK ((uint8_t)0x04) -#define RCC_MCO_HSI ((uint8_t)0x05) -#define RCC_MCO_HSE ((uint8_t)0x06) -#define RCC_MCO_PLLCLK_Div2 ((uint8_t)0x07) - -#ifndef STM32F10X_CL - #define IS_RCC_MCO(MCO) (((MCO) == RCC_MCO_NoClock) || ((MCO) == RCC_MCO_HSI) || \ - ((MCO) == RCC_MCO_SYSCLK) || ((MCO) == RCC_MCO_HSE) || \ - ((MCO) == RCC_MCO_PLLCLK_Div2)) -#else - #define RCC_MCO_PLL2CLK ((uint8_t)0x08) - #define RCC_MCO_PLL3CLK_Div2 ((uint8_t)0x09) - #define RCC_MCO_XT1 ((uint8_t)0x0A) - #define RCC_MCO_PLL3CLK ((uint8_t)0x0B) - - #define IS_RCC_MCO(MCO) (((MCO) == RCC_MCO_NoClock) || ((MCO) == RCC_MCO_HSI) || \ - ((MCO) == RCC_MCO_SYSCLK) || ((MCO) == RCC_MCO_HSE) || \ - ((MCO) == RCC_MCO_PLLCLK_Div2) || ((MCO) == RCC_MCO_PLL2CLK) || \ - ((MCO) == RCC_MCO_PLL3CLK_Div2) || ((MCO) == RCC_MCO_XT1) || \ - ((MCO) == RCC_MCO_PLL3CLK)) -#endif /* STM32F10X_CL */ - -/** - * @} - */ - -/** @defgroup RCC_Flag - * @{ - */ - -#define RCC_FLAG_HSIRDY ((uint8_t)0x21) -#define RCC_FLAG_HSERDY ((uint8_t)0x31) -#define RCC_FLAG_PLLRDY ((uint8_t)0x39) -#define RCC_FLAG_LSERDY ((uint8_t)0x41) -#define RCC_FLAG_LSIRDY ((uint8_t)0x61) -#define RCC_FLAG_PINRST ((uint8_t)0x7A) -#define RCC_FLAG_PORRST ((uint8_t)0x7B) -#define RCC_FLAG_SFTRST ((uint8_t)0x7C) -#define RCC_FLAG_IWDGRST ((uint8_t)0x7D) -#define RCC_FLAG_WWDGRST ((uint8_t)0x7E) -#define RCC_FLAG_LPWRRST ((uint8_t)0x7F) - -#ifndef STM32F10X_CL - #define IS_RCC_FLAG(FLAG) (((FLAG) == RCC_FLAG_HSIRDY) || ((FLAG) == RCC_FLAG_HSERDY) || \ - ((FLAG) == RCC_FLAG_PLLRDY) || ((FLAG) == RCC_FLAG_LSERDY) || \ - ((FLAG) == RCC_FLAG_LSIRDY) || ((FLAG) == RCC_FLAG_PINRST) || \ - ((FLAG) == RCC_FLAG_PORRST) || ((FLAG) == RCC_FLAG_SFTRST) || \ - ((FLAG) == RCC_FLAG_IWDGRST)|| ((FLAG) == RCC_FLAG_WWDGRST)|| \ - ((FLAG) == RCC_FLAG_LPWRRST)) -#else - #define RCC_FLAG_PLL2RDY ((uint8_t)0x3B) - #define RCC_FLAG_PLL3RDY ((uint8_t)0x3D) - #define IS_RCC_FLAG(FLAG) (((FLAG) == RCC_FLAG_HSIRDY) || ((FLAG) == RCC_FLAG_HSERDY) || \ - ((FLAG) == RCC_FLAG_PLLRDY) || ((FLAG) == RCC_FLAG_LSERDY) || \ - ((FLAG) == RCC_FLAG_PLL2RDY) || ((FLAG) == RCC_FLAG_PLL3RDY) || \ - ((FLAG) == RCC_FLAG_LSIRDY) || ((FLAG) == RCC_FLAG_PINRST) || \ - ((FLAG) == RCC_FLAG_PORRST) || ((FLAG) == RCC_FLAG_SFTRST) || \ - ((FLAG) == RCC_FLAG_IWDGRST)|| ((FLAG) == RCC_FLAG_WWDGRST)|| \ - ((FLAG) == RCC_FLAG_LPWRRST)) -#endif /* STM32F10X_CL */ - -#define IS_RCC_CALIBRATION_VALUE(VALUE) ((VALUE) <= 0x1F) -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup RCC_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup RCC_Exported_Functions - * @{ - */ - -void RCC_DeInit(void); -void RCC_HSEConfig(uint32_t RCC_HSE); -ErrorStatus RCC_WaitForHSEStartUp(void); -void RCC_AdjustHSICalibrationValue(uint8_t HSICalibrationValue); -void RCC_HSICmd(FunctionalState NewState); -void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul); -void RCC_PLLCmd(FunctionalState NewState); - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) || defined (STM32F10X_CL) - void RCC_PREDIV1Config(uint32_t RCC_PREDIV1_Source, uint32_t RCC_PREDIV1_Div); -#endif - -#ifdef STM32F10X_CL - void RCC_PREDIV2Config(uint32_t RCC_PREDIV2_Div); - void RCC_PLL2Config(uint32_t RCC_PLL2Mul); - void RCC_PLL2Cmd(FunctionalState NewState); - void RCC_PLL3Config(uint32_t RCC_PLL3Mul); - void RCC_PLL3Cmd(FunctionalState NewState); -#endif /* STM32F10X_CL */ - -void RCC_SYSCLKConfig(uint32_t RCC_SYSCLKSource); -uint8_t RCC_GetSYSCLKSource(void); -void RCC_HCLKConfig(uint32_t RCC_SYSCLK); -void RCC_PCLK1Config(uint32_t RCC_HCLK); -void RCC_PCLK2Config(uint32_t RCC_HCLK); -void RCC_ITConfig(uint8_t RCC_IT, FunctionalState NewState); - -#ifndef STM32F10X_CL - void RCC_USBCLKConfig(uint32_t RCC_USBCLKSource); -#else - void RCC_OTGFSCLKConfig(uint32_t RCC_OTGFSCLKSource); -#endif /* STM32F10X_CL */ - -void RCC_ADCCLKConfig(uint32_t RCC_PCLK2); - -#ifdef STM32F10X_CL - void RCC_I2S2CLKConfig(uint32_t RCC_I2S2CLKSource); - void RCC_I2S3CLKConfig(uint32_t RCC_I2S3CLKSource); -#endif /* STM32F10X_CL */ - -void RCC_LSEConfig(uint8_t RCC_LSE); -void RCC_LSICmd(FunctionalState NewState); -void RCC_RTCCLKConfig(uint32_t RCC_RTCCLKSource); -void RCC_RTCCLKCmd(FunctionalState NewState); -void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks); -void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState); -void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState); -void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState); - -#ifdef STM32F10X_CL -void RCC_AHBPeriphResetCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState); -#endif /* STM32F10X_CL */ - -void RCC_APB2PeriphResetCmd(uint32_t RCC_APB2Periph, FunctionalState NewState); -void RCC_APB1PeriphResetCmd(uint32_t RCC_APB1Periph, FunctionalState NewState); -void RCC_BackupResetCmd(FunctionalState NewState); -void RCC_ClockSecuritySystemCmd(FunctionalState NewState); -void RCC_MCOConfig(uint8_t RCC_MCO); -FlagStatus RCC_GetFlagStatus(uint8_t RCC_FLAG); -void RCC_ClearFlag(void); -ITStatus RCC_GetITStatus(uint8_t RCC_IT); -void RCC_ClearITPendingBit(uint8_t RCC_IT); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_RCC_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rtc.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rtc.h deleted file mode 100644 index 214a5893a..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rtc.h +++ /dev/null @@ -1,135 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_rtc.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the RTC firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_RTC_H -#define __STM32F10x_RTC_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup RTC - * @{ - */ - -/** @defgroup RTC_Exported_Types - * @{ - */ - -/** - * @} - */ - -/** @defgroup RTC_Exported_Constants - * @{ - */ - -/** @defgroup RTC_interrupts_define - * @{ - */ - -#define RTC_IT_OW ((uint16_t)0x0004) /*!< Overflow interrupt */ -#define RTC_IT_ALR ((uint16_t)0x0002) /*!< Alarm interrupt */ -#define RTC_IT_SEC ((uint16_t)0x0001) /*!< Second interrupt */ -#define IS_RTC_IT(IT) ((((IT) & (uint16_t)0xFFF8) == 0x00) && ((IT) != 0x00)) -#define IS_RTC_GET_IT(IT) (((IT) == RTC_IT_OW) || ((IT) == RTC_IT_ALR) || \ - ((IT) == RTC_IT_SEC)) -/** - * @} - */ - -/** @defgroup RTC_interrupts_flags - * @{ - */ - -#define RTC_FLAG_RTOFF ((uint16_t)0x0020) /*!< RTC Operation OFF flag */ -#define RTC_FLAG_RSF ((uint16_t)0x0008) /*!< Registers Synchronized flag */ -#define RTC_FLAG_OW ((uint16_t)0x0004) /*!< Overflow flag */ -#define RTC_FLAG_ALR ((uint16_t)0x0002) /*!< Alarm flag */ -#define RTC_FLAG_SEC ((uint16_t)0x0001) /*!< Second flag */ -#define IS_RTC_CLEAR_FLAG(FLAG) ((((FLAG) & (uint16_t)0xFFF0) == 0x00) && ((FLAG) != 0x00)) -#define IS_RTC_GET_FLAG(FLAG) (((FLAG) == RTC_FLAG_RTOFF) || ((FLAG) == RTC_FLAG_RSF) || \ - ((FLAG) == RTC_FLAG_OW) || ((FLAG) == RTC_FLAG_ALR) || \ - ((FLAG) == RTC_FLAG_SEC)) -#define IS_RTC_PRESCALER(PRESCALER) ((PRESCALER) <= 0xFFFFF) - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup RTC_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup RTC_Exported_Functions - * @{ - */ - -void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState); -void RTC_EnterConfigMode(void); -void RTC_ExitConfigMode(void); -uint32_t RTC_GetCounter(void); -void RTC_SetCounter(uint32_t CounterValue); -void RTC_SetPrescaler(uint32_t PrescalerValue); -void RTC_SetAlarm(uint32_t AlarmValue); -uint32_t RTC_GetDivider(void); -void RTC_WaitForLastTask(void); -void RTC_WaitForSynchro(void); -FlagStatus RTC_GetFlagStatus(uint16_t RTC_FLAG); -void RTC_ClearFlag(uint16_t RTC_FLAG); -ITStatus RTC_GetITStatus(uint16_t RTC_IT); -void RTC_ClearITPendingBit(uint16_t RTC_IT); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_RTC_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_sdio.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_sdio.h deleted file mode 100644 index 40cfdedc3..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_sdio.h +++ /dev/null @@ -1,531 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_sdio.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the SDIO firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_SDIO_H -#define __STM32F10x_SDIO_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup SDIO - * @{ - */ - -/** @defgroup SDIO_Exported_Types - * @{ - */ - -typedef struct -{ - uint32_t SDIO_ClockEdge; /*!< Specifies the clock transition on which the bit capture is made. - This parameter can be a value of @ref SDIO_Clock_Edge */ - - uint32_t SDIO_ClockBypass; /*!< Specifies whether the SDIO Clock divider bypass is - enabled or disabled. - This parameter can be a value of @ref SDIO_Clock_Bypass */ - - uint32_t SDIO_ClockPowerSave; /*!< Specifies whether SDIO Clock output is enabled or - disabled when the bus is idle. - This parameter can be a value of @ref SDIO_Clock_Power_Save */ - - uint32_t SDIO_BusWide; /*!< Specifies the SDIO bus width. - This parameter can be a value of @ref SDIO_Bus_Wide */ - - uint32_t SDIO_HardwareFlowControl; /*!< Specifies whether the SDIO hardware flow control is enabled or disabled. - This parameter can be a value of @ref SDIO_Hardware_Flow_Control */ - - uint8_t SDIO_ClockDiv; /*!< Specifies the clock frequency of the SDIO controller. - This parameter can be a value between 0x00 and 0xFF. */ - -} SDIO_InitTypeDef; - -typedef struct -{ - uint32_t SDIO_Argument; /*!< Specifies the SDIO 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 SDIO_CmdIndex; /*!< Specifies the SDIO command index. It must be lower than 0x40. */ - - uint32_t SDIO_Response; /*!< Specifies the SDIO response type. - This parameter can be a value of @ref SDIO_Response_Type */ - - uint32_t SDIO_Wait; /*!< Specifies whether SDIO wait-for-interrupt request is enabled or disabled. - This parameter can be a value of @ref SDIO_Wait_Interrupt_State */ - - uint32_t SDIO_CPSM; /*!< Specifies whether SDIO Command path state machine (CPSM) - is enabled or disabled. - This parameter can be a value of @ref SDIO_CPSM_State */ -} SDIO_CmdInitTypeDef; - -typedef struct -{ - uint32_t SDIO_DataTimeOut; /*!< Specifies the data timeout period in card bus clock periods. */ - - uint32_t SDIO_DataLength; /*!< Specifies the number of data bytes to be transferred. */ - - uint32_t SDIO_DataBlockSize; /*!< Specifies the data block size for block transfer. - This parameter can be a value of @ref SDIO_Data_Block_Size */ - - uint32_t SDIO_TransferDir; /*!< Specifies the data transfer direction, whether the transfer - is a read or write. - This parameter can be a value of @ref SDIO_Transfer_Direction */ - - uint32_t SDIO_TransferMode; /*!< Specifies whether data transfer is in stream or block mode. - This parameter can be a value of @ref SDIO_Transfer_Type */ - - uint32_t SDIO_DPSM; /*!< Specifies whether SDIO Data path state machine (DPSM) - is enabled or disabled. - This parameter can be a value of @ref SDIO_DPSM_State */ -} SDIO_DataInitTypeDef; - -/** - * @} - */ - -/** @defgroup SDIO_Exported_Constants - * @{ - */ - -/** @defgroup SDIO_Clock_Edge - * @{ - */ - -#define SDIO_ClockEdge_Rising ((uint32_t)0x00000000) -#define SDIO_ClockEdge_Falling ((uint32_t)0x00002000) -#define IS_SDIO_CLOCK_EDGE(EDGE) (((EDGE) == SDIO_ClockEdge_Rising) || \ - ((EDGE) == SDIO_ClockEdge_Falling)) -/** - * @} - */ - -/** @defgroup SDIO_Clock_Bypass - * @{ - */ - -#define SDIO_ClockBypass_Disable ((uint32_t)0x00000000) -#define SDIO_ClockBypass_Enable ((uint32_t)0x00000400) -#define IS_SDIO_CLOCK_BYPASS(BYPASS) (((BYPASS) == SDIO_ClockBypass_Disable) || \ - ((BYPASS) == SDIO_ClockBypass_Enable)) -/** - * @} - */ - -/** @defgroup SDIO_Clock_Power_Save - * @{ - */ - -#define SDIO_ClockPowerSave_Disable ((uint32_t)0x00000000) -#define SDIO_ClockPowerSave_Enable ((uint32_t)0x00000200) -#define IS_SDIO_CLOCK_POWER_SAVE(SAVE) (((SAVE) == SDIO_ClockPowerSave_Disable) || \ - ((SAVE) == SDIO_ClockPowerSave_Enable)) -/** - * @} - */ - -/** @defgroup SDIO_Bus_Wide - * @{ - */ - -#define SDIO_BusWide_1b ((uint32_t)0x00000000) -#define SDIO_BusWide_4b ((uint32_t)0x00000800) -#define SDIO_BusWide_8b ((uint32_t)0x00001000) -#define IS_SDIO_BUS_WIDE(WIDE) (((WIDE) == SDIO_BusWide_1b) || ((WIDE) == SDIO_BusWide_4b) || \ - ((WIDE) == SDIO_BusWide_8b)) - -/** - * @} - */ - -/** @defgroup SDIO_Hardware_Flow_Control - * @{ - */ - -#define SDIO_HardwareFlowControl_Disable ((uint32_t)0x00000000) -#define SDIO_HardwareFlowControl_Enable ((uint32_t)0x00004000) -#define IS_SDIO_HARDWARE_FLOW_CONTROL(CONTROL) (((CONTROL) == SDIO_HardwareFlowControl_Disable) || \ - ((CONTROL) == SDIO_HardwareFlowControl_Enable)) -/** - * @} - */ - -/** @defgroup SDIO_Power_State - * @{ - */ - -#define SDIO_PowerState_OFF ((uint32_t)0x00000000) -#define SDIO_PowerState_ON ((uint32_t)0x00000003) -#define IS_SDIO_POWER_STATE(STATE) (((STATE) == SDIO_PowerState_OFF) || ((STATE) == SDIO_PowerState_ON)) -/** - * @} - */ - - -/** @defgroup SDIO_Interrupt_sources - * @{ - */ - -#define SDIO_IT_CCRCFAIL ((uint32_t)0x00000001) -#define SDIO_IT_DCRCFAIL ((uint32_t)0x00000002) -#define SDIO_IT_CTIMEOUT ((uint32_t)0x00000004) -#define SDIO_IT_DTIMEOUT ((uint32_t)0x00000008) -#define SDIO_IT_TXUNDERR ((uint32_t)0x00000010) -#define SDIO_IT_RXOVERR ((uint32_t)0x00000020) -#define SDIO_IT_CMDREND ((uint32_t)0x00000040) -#define SDIO_IT_CMDSENT ((uint32_t)0x00000080) -#define SDIO_IT_DATAEND ((uint32_t)0x00000100) -#define SDIO_IT_STBITERR ((uint32_t)0x00000200) -#define SDIO_IT_DBCKEND ((uint32_t)0x00000400) -#define SDIO_IT_CMDACT ((uint32_t)0x00000800) -#define SDIO_IT_TXACT ((uint32_t)0x00001000) -#define SDIO_IT_RXACT ((uint32_t)0x00002000) -#define SDIO_IT_TXFIFOHE ((uint32_t)0x00004000) -#define SDIO_IT_RXFIFOHF ((uint32_t)0x00008000) -#define SDIO_IT_TXFIFOF ((uint32_t)0x00010000) -#define SDIO_IT_RXFIFOF ((uint32_t)0x00020000) -#define SDIO_IT_TXFIFOE ((uint32_t)0x00040000) -#define SDIO_IT_RXFIFOE ((uint32_t)0x00080000) -#define SDIO_IT_TXDAVL ((uint32_t)0x00100000) -#define SDIO_IT_RXDAVL ((uint32_t)0x00200000) -#define SDIO_IT_SDIOIT ((uint32_t)0x00400000) -#define SDIO_IT_CEATAEND ((uint32_t)0x00800000) -#define IS_SDIO_IT(IT) ((((IT) & (uint32_t)0xFF000000) == 0x00) && ((IT) != (uint32_t)0x00)) -/** - * @} - */ - -/** @defgroup SDIO_Command_Index - * @{ - */ - -#define IS_SDIO_CMD_INDEX(INDEX) ((INDEX) < 0x40) -/** - * @} - */ - -/** @defgroup SDIO_Response_Type - * @{ - */ - -#define SDIO_Response_No ((uint32_t)0x00000000) -#define SDIO_Response_Short ((uint32_t)0x00000040) -#define SDIO_Response_Long ((uint32_t)0x000000C0) -#define IS_SDIO_RESPONSE(RESPONSE) (((RESPONSE) == SDIO_Response_No) || \ - ((RESPONSE) == SDIO_Response_Short) || \ - ((RESPONSE) == SDIO_Response_Long)) -/** - * @} - */ - -/** @defgroup SDIO_Wait_Interrupt_State - * @{ - */ - -#define SDIO_Wait_No ((uint32_t)0x00000000) /*!< SDIO No Wait, TimeOut is enabled */ -#define SDIO_Wait_IT ((uint32_t)0x00000100) /*!< SDIO Wait Interrupt Request */ -#define SDIO_Wait_Pend ((uint32_t)0x00000200) /*!< SDIO Wait End of transfer */ -#define IS_SDIO_WAIT(WAIT) (((WAIT) == SDIO_Wait_No) || ((WAIT) == SDIO_Wait_IT) || \ - ((WAIT) == SDIO_Wait_Pend)) -/** - * @} - */ - -/** @defgroup SDIO_CPSM_State - * @{ - */ - -#define SDIO_CPSM_Disable ((uint32_t)0x00000000) -#define SDIO_CPSM_Enable ((uint32_t)0x00000400) -#define IS_SDIO_CPSM(CPSM) (((CPSM) == SDIO_CPSM_Enable) || ((CPSM) == SDIO_CPSM_Disable)) -/** - * @} - */ - -/** @defgroup SDIO_Response_Registers - * @{ - */ - -#define SDIO_RESP1 ((uint32_t)0x00000000) -#define SDIO_RESP2 ((uint32_t)0x00000004) -#define SDIO_RESP3 ((uint32_t)0x00000008) -#define SDIO_RESP4 ((uint32_t)0x0000000C) -#define IS_SDIO_RESP(RESP) (((RESP) == SDIO_RESP1) || ((RESP) == SDIO_RESP2) || \ - ((RESP) == SDIO_RESP3) || ((RESP) == SDIO_RESP4)) -/** - * @} - */ - -/** @defgroup SDIO_Data_Length - * @{ - */ - -#define IS_SDIO_DATA_LENGTH(LENGTH) ((LENGTH) <= 0x01FFFFFF) -/** - * @} - */ - -/** @defgroup SDIO_Data_Block_Size - * @{ - */ - -#define SDIO_DataBlockSize_1b ((uint32_t)0x00000000) -#define SDIO_DataBlockSize_2b ((uint32_t)0x00000010) -#define SDIO_DataBlockSize_4b ((uint32_t)0x00000020) -#define SDIO_DataBlockSize_8b ((uint32_t)0x00000030) -#define SDIO_DataBlockSize_16b ((uint32_t)0x00000040) -#define SDIO_DataBlockSize_32b ((uint32_t)0x00000050) -#define SDIO_DataBlockSize_64b ((uint32_t)0x00000060) -#define SDIO_DataBlockSize_128b ((uint32_t)0x00000070) -#define SDIO_DataBlockSize_256b ((uint32_t)0x00000080) -#define SDIO_DataBlockSize_512b ((uint32_t)0x00000090) -#define SDIO_DataBlockSize_1024b ((uint32_t)0x000000A0) -#define SDIO_DataBlockSize_2048b ((uint32_t)0x000000B0) -#define SDIO_DataBlockSize_4096b ((uint32_t)0x000000C0) -#define SDIO_DataBlockSize_8192b ((uint32_t)0x000000D0) -#define SDIO_DataBlockSize_16384b ((uint32_t)0x000000E0) -#define IS_SDIO_BLOCK_SIZE(SIZE) (((SIZE) == SDIO_DataBlockSize_1b) || \ - ((SIZE) == SDIO_DataBlockSize_2b) || \ - ((SIZE) == SDIO_DataBlockSize_4b) || \ - ((SIZE) == SDIO_DataBlockSize_8b) || \ - ((SIZE) == SDIO_DataBlockSize_16b) || \ - ((SIZE) == SDIO_DataBlockSize_32b) || \ - ((SIZE) == SDIO_DataBlockSize_64b) || \ - ((SIZE) == SDIO_DataBlockSize_128b) || \ - ((SIZE) == SDIO_DataBlockSize_256b) || \ - ((SIZE) == SDIO_DataBlockSize_512b) || \ - ((SIZE) == SDIO_DataBlockSize_1024b) || \ - ((SIZE) == SDIO_DataBlockSize_2048b) || \ - ((SIZE) == SDIO_DataBlockSize_4096b) || \ - ((SIZE) == SDIO_DataBlockSize_8192b) || \ - ((SIZE) == SDIO_DataBlockSize_16384b)) -/** - * @} - */ - -/** @defgroup SDIO_Transfer_Direction - * @{ - */ - -#define SDIO_TransferDir_ToCard ((uint32_t)0x00000000) -#define SDIO_TransferDir_ToSDIO ((uint32_t)0x00000002) -#define IS_SDIO_TRANSFER_DIR(DIR) (((DIR) == SDIO_TransferDir_ToCard) || \ - ((DIR) == SDIO_TransferDir_ToSDIO)) -/** - * @} - */ - -/** @defgroup SDIO_Transfer_Type - * @{ - */ - -#define SDIO_TransferMode_Block ((uint32_t)0x00000000) -#define SDIO_TransferMode_Stream ((uint32_t)0x00000004) -#define IS_SDIO_TRANSFER_MODE(MODE) (((MODE) == SDIO_TransferMode_Stream) || \ - ((MODE) == SDIO_TransferMode_Block)) -/** - * @} - */ - -/** @defgroup SDIO_DPSM_State - * @{ - */ - -#define SDIO_DPSM_Disable ((uint32_t)0x00000000) -#define SDIO_DPSM_Enable ((uint32_t)0x00000001) -#define IS_SDIO_DPSM(DPSM) (((DPSM) == SDIO_DPSM_Enable) || ((DPSM) == SDIO_DPSM_Disable)) -/** - * @} - */ - -/** @defgroup SDIO_Flags - * @{ - */ - -#define SDIO_FLAG_CCRCFAIL ((uint32_t)0x00000001) -#define SDIO_FLAG_DCRCFAIL ((uint32_t)0x00000002) -#define SDIO_FLAG_CTIMEOUT ((uint32_t)0x00000004) -#define SDIO_FLAG_DTIMEOUT ((uint32_t)0x00000008) -#define SDIO_FLAG_TXUNDERR ((uint32_t)0x00000010) -#define SDIO_FLAG_RXOVERR ((uint32_t)0x00000020) -#define SDIO_FLAG_CMDREND ((uint32_t)0x00000040) -#define SDIO_FLAG_CMDSENT ((uint32_t)0x00000080) -#define SDIO_FLAG_DATAEND ((uint32_t)0x00000100) -#define SDIO_FLAG_STBITERR ((uint32_t)0x00000200) -#define SDIO_FLAG_DBCKEND ((uint32_t)0x00000400) -#define SDIO_FLAG_CMDACT ((uint32_t)0x00000800) -#define SDIO_FLAG_TXACT ((uint32_t)0x00001000) -#define SDIO_FLAG_RXACT ((uint32_t)0x00002000) -#define SDIO_FLAG_TXFIFOHE ((uint32_t)0x00004000) -#define SDIO_FLAG_RXFIFOHF ((uint32_t)0x00008000) -#define SDIO_FLAG_TXFIFOF ((uint32_t)0x00010000) -#define SDIO_FLAG_RXFIFOF ((uint32_t)0x00020000) -#define SDIO_FLAG_TXFIFOE ((uint32_t)0x00040000) -#define SDIO_FLAG_RXFIFOE ((uint32_t)0x00080000) -#define SDIO_FLAG_TXDAVL ((uint32_t)0x00100000) -#define SDIO_FLAG_RXDAVL ((uint32_t)0x00200000) -#define SDIO_FLAG_SDIOIT ((uint32_t)0x00400000) -#define SDIO_FLAG_CEATAEND ((uint32_t)0x00800000) -#define IS_SDIO_FLAG(FLAG) (((FLAG) == SDIO_FLAG_CCRCFAIL) || \ - ((FLAG) == SDIO_FLAG_DCRCFAIL) || \ - ((FLAG) == SDIO_FLAG_CTIMEOUT) || \ - ((FLAG) == SDIO_FLAG_DTIMEOUT) || \ - ((FLAG) == SDIO_FLAG_TXUNDERR) || \ - ((FLAG) == SDIO_FLAG_RXOVERR) || \ - ((FLAG) == SDIO_FLAG_CMDREND) || \ - ((FLAG) == SDIO_FLAG_CMDSENT) || \ - ((FLAG) == SDIO_FLAG_DATAEND) || \ - ((FLAG) == SDIO_FLAG_STBITERR) || \ - ((FLAG) == SDIO_FLAG_DBCKEND) || \ - ((FLAG) == SDIO_FLAG_CMDACT) || \ - ((FLAG) == SDIO_FLAG_TXACT) || \ - ((FLAG) == SDIO_FLAG_RXACT) || \ - ((FLAG) == SDIO_FLAG_TXFIFOHE) || \ - ((FLAG) == SDIO_FLAG_RXFIFOHF) || \ - ((FLAG) == SDIO_FLAG_TXFIFOF) || \ - ((FLAG) == SDIO_FLAG_RXFIFOF) || \ - ((FLAG) == SDIO_FLAG_TXFIFOE) || \ - ((FLAG) == SDIO_FLAG_RXFIFOE) || \ - ((FLAG) == SDIO_FLAG_TXDAVL) || \ - ((FLAG) == SDIO_FLAG_RXDAVL) || \ - ((FLAG) == SDIO_FLAG_SDIOIT) || \ - ((FLAG) == SDIO_FLAG_CEATAEND)) - -#define IS_SDIO_CLEAR_FLAG(FLAG) ((((FLAG) & (uint32_t)0xFF3FF800) == 0x00) && ((FLAG) != (uint32_t)0x00)) - -#define IS_SDIO_GET_IT(IT) (((IT) == SDIO_IT_CCRCFAIL) || \ - ((IT) == SDIO_IT_DCRCFAIL) || \ - ((IT) == SDIO_IT_CTIMEOUT) || \ - ((IT) == SDIO_IT_DTIMEOUT) || \ - ((IT) == SDIO_IT_TXUNDERR) || \ - ((IT) == SDIO_IT_RXOVERR) || \ - ((IT) == SDIO_IT_CMDREND) || \ - ((IT) == SDIO_IT_CMDSENT) || \ - ((IT) == SDIO_IT_DATAEND) || \ - ((IT) == SDIO_IT_STBITERR) || \ - ((IT) == SDIO_IT_DBCKEND) || \ - ((IT) == SDIO_IT_CMDACT) || \ - ((IT) == SDIO_IT_TXACT) || \ - ((IT) == SDIO_IT_RXACT) || \ - ((IT) == SDIO_IT_TXFIFOHE) || \ - ((IT) == SDIO_IT_RXFIFOHF) || \ - ((IT) == SDIO_IT_TXFIFOF) || \ - ((IT) == SDIO_IT_RXFIFOF) || \ - ((IT) == SDIO_IT_TXFIFOE) || \ - ((IT) == SDIO_IT_RXFIFOE) || \ - ((IT) == SDIO_IT_TXDAVL) || \ - ((IT) == SDIO_IT_RXDAVL) || \ - ((IT) == SDIO_IT_SDIOIT) || \ - ((IT) == SDIO_IT_CEATAEND)) - -#define IS_SDIO_CLEAR_IT(IT) ((((IT) & (uint32_t)0xFF3FF800) == 0x00) && ((IT) != (uint32_t)0x00)) - -/** - * @} - */ - -/** @defgroup SDIO_Read_Wait_Mode - * @{ - */ - -#define SDIO_ReadWaitMode_CLK ((uint32_t)0x00000001) -#define SDIO_ReadWaitMode_DATA2 ((uint32_t)0x00000000) -#define IS_SDIO_READWAIT_MODE(MODE) (((MODE) == SDIO_ReadWaitMode_CLK) || \ - ((MODE) == SDIO_ReadWaitMode_DATA2)) -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup SDIO_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup SDIO_Exported_Functions - * @{ - */ - -void SDIO_DeInit(void); -void SDIO_Init(SDIO_InitTypeDef* SDIO_InitStruct); -void SDIO_StructInit(SDIO_InitTypeDef* SDIO_InitStruct); -void SDIO_ClockCmd(FunctionalState NewState); -void SDIO_SetPowerState(uint32_t SDIO_PowerState); -uint32_t SDIO_GetPowerState(void); -void SDIO_ITConfig(uint32_t SDIO_IT, FunctionalState NewState); -void SDIO_DMACmd(FunctionalState NewState); -void SDIO_SendCommand(SDIO_CmdInitTypeDef *SDIO_CmdInitStruct); -void SDIO_CmdStructInit(SDIO_CmdInitTypeDef* SDIO_CmdInitStruct); -uint8_t SDIO_GetCommandResponse(void); -uint32_t SDIO_GetResponse(uint32_t SDIO_RESP); -void SDIO_DataConfig(SDIO_DataInitTypeDef* SDIO_DataInitStruct); -void SDIO_DataStructInit(SDIO_DataInitTypeDef* SDIO_DataInitStruct); -uint32_t SDIO_GetDataCounter(void); -uint32_t SDIO_ReadData(void); -void SDIO_WriteData(uint32_t Data); -uint32_t SDIO_GetFIFOCount(void); -void SDIO_StartSDIOReadWait(FunctionalState NewState); -void SDIO_StopSDIOReadWait(FunctionalState NewState); -void SDIO_SetSDIOReadWaitMode(uint32_t SDIO_ReadWaitMode); -void SDIO_SetSDIOOperation(FunctionalState NewState); -void SDIO_SendSDIOSuspendCmd(FunctionalState NewState); -void SDIO_CommandCompletionCmd(FunctionalState NewState); -void SDIO_CEATAITCmd(FunctionalState NewState); -void SDIO_SendCEATACmd(FunctionalState NewState); -FlagStatus SDIO_GetFlagStatus(uint32_t SDIO_FLAG); -void SDIO_ClearFlag(uint32_t SDIO_FLAG); -ITStatus SDIO_GetITStatus(uint32_t SDIO_IT); -void SDIO_ClearITPendingBit(uint32_t SDIO_IT); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_SDIO_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_spi.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_spi.h deleted file mode 100644 index 6056c4c6b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_spi.h +++ /dev/null @@ -1,487 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_spi.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the SPI firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_SPI_H -#define __STM32F10x_SPI_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup SPI - * @{ - */ - -/** @defgroup SPI_Exported_Types - * @{ - */ - -/** - * @brief SPI Init structure definition - */ - -typedef struct -{ - uint16_t SPI_Direction; /*!< Specifies the SPI unidirectional or bidirectional data mode. - This parameter can be a value of @ref SPI_data_direction */ - - uint16_t SPI_Mode; /*!< Specifies the SPI operating mode. - This parameter can be a value of @ref SPI_mode */ - - uint16_t SPI_DataSize; /*!< Specifies the SPI data size. - This parameter can be a value of @ref SPI_data_size */ - - uint16_t SPI_CPOL; /*!< Specifies the serial clock steady state. - This parameter can be a value of @ref SPI_Clock_Polarity */ - - uint16_t SPI_CPHA; /*!< Specifies the clock active edge for the bit capture. - This parameter can be a value of @ref SPI_Clock_Phase */ - - uint16_t SPI_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 */ - - uint16_t SPI_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. */ - - uint16_t SPI_FirstBit; /*!< Specifies whether data transfers start from MSB or LSB bit. - This parameter can be a value of @ref SPI_MSB_LSB_transmission */ - - uint16_t SPI_CRCPolynomial; /*!< Specifies the polynomial used for the CRC calculation. */ -}SPI_InitTypeDef; - -/** - * @brief I2S Init structure definition - */ - -typedef struct -{ - - uint16_t I2S_Mode; /*!< Specifies the I2S operating mode. - This parameter can be a value of @ref I2S_Mode */ - - uint16_t I2S_Standard; /*!< Specifies the standard used for the I2S communication. - This parameter can be a value of @ref I2S_Standard */ - - uint16_t I2S_DataFormat; /*!< Specifies the data format for the I2S communication. - This parameter can be a value of @ref I2S_Data_Format */ - - uint16_t I2S_MCLKOutput; /*!< Specifies whether the I2S MCLK output is enabled or not. - This parameter can be a value of @ref I2S_MCLK_Output */ - - uint32_t I2S_AudioFreq; /*!< Specifies the frequency selected for the I2S communication. - This parameter can be a value of @ref I2S_Audio_Frequency */ - - uint16_t I2S_CPOL; /*!< Specifies the idle state of the I2S clock. - This parameter can be a value of @ref I2S_Clock_Polarity */ -}I2S_InitTypeDef; - -/** - * @} - */ - -/** @defgroup SPI_Exported_Constants - * @{ - */ - -#define IS_SPI_ALL_PERIPH(PERIPH) (((PERIPH) == SPI1) || \ - ((PERIPH) == SPI2) || \ - ((PERIPH) == SPI3)) - -#define IS_SPI_23_PERIPH(PERIPH) (((PERIPH) == SPI2) || \ - ((PERIPH) == SPI3)) - -/** @defgroup SPI_data_direction - * @{ - */ - -#define SPI_Direction_2Lines_FullDuplex ((uint16_t)0x0000) -#define SPI_Direction_2Lines_RxOnly ((uint16_t)0x0400) -#define SPI_Direction_1Line_Rx ((uint16_t)0x8000) -#define SPI_Direction_1Line_Tx ((uint16_t)0xC000) -#define IS_SPI_DIRECTION_MODE(MODE) (((MODE) == SPI_Direction_2Lines_FullDuplex) || \ - ((MODE) == SPI_Direction_2Lines_RxOnly) || \ - ((MODE) == SPI_Direction_1Line_Rx) || \ - ((MODE) == SPI_Direction_1Line_Tx)) -/** - * @} - */ - -/** @defgroup SPI_mode - * @{ - */ - -#define SPI_Mode_Master ((uint16_t)0x0104) -#define SPI_Mode_Slave ((uint16_t)0x0000) -#define IS_SPI_MODE(MODE) (((MODE) == SPI_Mode_Master) || \ - ((MODE) == SPI_Mode_Slave)) -/** - * @} - */ - -/** @defgroup SPI_data_size - * @{ - */ - -#define SPI_DataSize_16b ((uint16_t)0x0800) -#define SPI_DataSize_8b ((uint16_t)0x0000) -#define IS_SPI_DATASIZE(DATASIZE) (((DATASIZE) == SPI_DataSize_16b) || \ - ((DATASIZE) == SPI_DataSize_8b)) -/** - * @} - */ - -/** @defgroup SPI_Clock_Polarity - * @{ - */ - -#define SPI_CPOL_Low ((uint16_t)0x0000) -#define SPI_CPOL_High ((uint16_t)0x0002) -#define IS_SPI_CPOL(CPOL) (((CPOL) == SPI_CPOL_Low) || \ - ((CPOL) == SPI_CPOL_High)) -/** - * @} - */ - -/** @defgroup SPI_Clock_Phase - * @{ - */ - -#define SPI_CPHA_1Edge ((uint16_t)0x0000) -#define SPI_CPHA_2Edge ((uint16_t)0x0001) -#define IS_SPI_CPHA(CPHA) (((CPHA) == SPI_CPHA_1Edge) || \ - ((CPHA) == SPI_CPHA_2Edge)) -/** - * @} - */ - -/** @defgroup SPI_Slave_Select_management - * @{ - */ - -#define SPI_NSS_Soft ((uint16_t)0x0200) -#define SPI_NSS_Hard ((uint16_t)0x0000) -#define IS_SPI_NSS(NSS) (((NSS) == SPI_NSS_Soft) || \ - ((NSS) == SPI_NSS_Hard)) -/** - * @} - */ - -/** @defgroup SPI_BaudRate_Prescaler - * @{ - */ - -#define SPI_BaudRatePrescaler_2 ((uint16_t)0x0000) -#define SPI_BaudRatePrescaler_4 ((uint16_t)0x0008) -#define SPI_BaudRatePrescaler_8 ((uint16_t)0x0010) -#define SPI_BaudRatePrescaler_16 ((uint16_t)0x0018) -#define SPI_BaudRatePrescaler_32 ((uint16_t)0x0020) -#define SPI_BaudRatePrescaler_64 ((uint16_t)0x0028) -#define SPI_BaudRatePrescaler_128 ((uint16_t)0x0030) -#define SPI_BaudRatePrescaler_256 ((uint16_t)0x0038) -#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)) -/** - * @} - */ - -/** @defgroup SPI_MSB_LSB_transmission - * @{ - */ - -#define SPI_FirstBit_MSB ((uint16_t)0x0000) -#define SPI_FirstBit_LSB ((uint16_t)0x0080) -#define IS_SPI_FIRST_BIT(BIT) (((BIT) == SPI_FirstBit_MSB) || \ - ((BIT) == SPI_FirstBit_LSB)) -/** - * @} - */ - -/** @defgroup I2S_Mode - * @{ - */ - -#define I2S_Mode_SlaveTx ((uint16_t)0x0000) -#define I2S_Mode_SlaveRx ((uint16_t)0x0100) -#define I2S_Mode_MasterTx ((uint16_t)0x0200) -#define I2S_Mode_MasterRx ((uint16_t)0x0300) -#define IS_I2S_MODE(MODE) (((MODE) == I2S_Mode_SlaveTx) || \ - ((MODE) == I2S_Mode_SlaveRx) || \ - ((MODE) == I2S_Mode_MasterTx) || \ - ((MODE) == I2S_Mode_MasterRx) ) -/** - * @} - */ - -/** @defgroup I2S_Standard - * @{ - */ - -#define I2S_Standard_Phillips ((uint16_t)0x0000) -#define I2S_Standard_MSB ((uint16_t)0x0010) -#define I2S_Standard_LSB ((uint16_t)0x0020) -#define I2S_Standard_PCMShort ((uint16_t)0x0030) -#define I2S_Standard_PCMLong ((uint16_t)0x00B0) -#define IS_I2S_STANDARD(STANDARD) (((STANDARD) == I2S_Standard_Phillips) || \ - ((STANDARD) == I2S_Standard_MSB) || \ - ((STANDARD) == I2S_Standard_LSB) || \ - ((STANDARD) == I2S_Standard_PCMShort) || \ - ((STANDARD) == I2S_Standard_PCMLong)) -/** - * @} - */ - -/** @defgroup I2S_Data_Format - * @{ - */ - -#define I2S_DataFormat_16b ((uint16_t)0x0000) -#define I2S_DataFormat_16bextended ((uint16_t)0x0001) -#define I2S_DataFormat_24b ((uint16_t)0x0003) -#define I2S_DataFormat_32b ((uint16_t)0x0005) -#define IS_I2S_DATA_FORMAT(FORMAT) (((FORMAT) == I2S_DataFormat_16b) || \ - ((FORMAT) == I2S_DataFormat_16bextended) || \ - ((FORMAT) == I2S_DataFormat_24b) || \ - ((FORMAT) == I2S_DataFormat_32b)) -/** - * @} - */ - -/** @defgroup I2S_MCLK_Output - * @{ - */ - -#define I2S_MCLKOutput_Enable ((uint16_t)0x0200) -#define I2S_MCLKOutput_Disable ((uint16_t)0x0000) -#define IS_I2S_MCLK_OUTPUT(OUTPUT) (((OUTPUT) == I2S_MCLKOutput_Enable) || \ - ((OUTPUT) == I2S_MCLKOutput_Disable)) -/** - * @} - */ - -/** @defgroup I2S_Audio_Frequency - * @{ - */ - -#define I2S_AudioFreq_192k ((uint32_t)192000) -#define I2S_AudioFreq_96k ((uint32_t)96000) -#define I2S_AudioFreq_48k ((uint32_t)48000) -#define I2S_AudioFreq_44k ((uint32_t)44100) -#define I2S_AudioFreq_32k ((uint32_t)32000) -#define I2S_AudioFreq_22k ((uint32_t)22050) -#define I2S_AudioFreq_16k ((uint32_t)16000) -#define I2S_AudioFreq_11k ((uint32_t)11025) -#define I2S_AudioFreq_8k ((uint32_t)8000) -#define I2S_AudioFreq_Default ((uint32_t)2) - -#define IS_I2S_AUDIO_FREQ(FREQ) ((((FREQ) >= I2S_AudioFreq_8k) && \ - ((FREQ) <= I2S_AudioFreq_192k)) || \ - ((FREQ) == I2S_AudioFreq_Default)) -/** - * @} - */ - -/** @defgroup I2S_Clock_Polarity - * @{ - */ - -#define I2S_CPOL_Low ((uint16_t)0x0000) -#define I2S_CPOL_High ((uint16_t)0x0008) -#define IS_I2S_CPOL(CPOL) (((CPOL) == I2S_CPOL_Low) || \ - ((CPOL) == I2S_CPOL_High)) -/** - * @} - */ - -/** @defgroup SPI_I2S_DMA_transfer_requests - * @{ - */ - -#define SPI_I2S_DMAReq_Tx ((uint16_t)0x0002) -#define SPI_I2S_DMAReq_Rx ((uint16_t)0x0001) -#define IS_SPI_I2S_DMAREQ(DMAREQ) ((((DMAREQ) & (uint16_t)0xFFFC) == 0x00) && ((DMAREQ) != 0x00)) -/** - * @} - */ - -/** @defgroup SPI_NSS_internal_software_management - * @{ - */ - -#define SPI_NSSInternalSoft_Set ((uint16_t)0x0100) -#define SPI_NSSInternalSoft_Reset ((uint16_t)0xFEFF) -#define IS_SPI_NSS_INTERNAL(INTERNAL) (((INTERNAL) == SPI_NSSInternalSoft_Set) || \ - ((INTERNAL) == SPI_NSSInternalSoft_Reset)) -/** - * @} - */ - -/** @defgroup SPI_CRC_Transmit_Receive - * @{ - */ - -#define SPI_CRC_Tx ((uint8_t)0x00) -#define SPI_CRC_Rx ((uint8_t)0x01) -#define IS_SPI_CRC(CRC) (((CRC) == SPI_CRC_Tx) || ((CRC) == SPI_CRC_Rx)) -/** - * @} - */ - -/** @defgroup SPI_direction_transmit_receive - * @{ - */ - -#define SPI_Direction_Rx ((uint16_t)0xBFFF) -#define SPI_Direction_Tx ((uint16_t)0x4000) -#define IS_SPI_DIRECTION(DIRECTION) (((DIRECTION) == SPI_Direction_Rx) || \ - ((DIRECTION) == SPI_Direction_Tx)) -/** - * @} - */ - -/** @defgroup SPI_I2S_interrupts_definition - * @{ - */ - -#define SPI_I2S_IT_TXE ((uint8_t)0x71) -#define SPI_I2S_IT_RXNE ((uint8_t)0x60) -#define SPI_I2S_IT_ERR ((uint8_t)0x50) -#define IS_SPI_I2S_CONFIG_IT(IT) (((IT) == SPI_I2S_IT_TXE) || \ - ((IT) == SPI_I2S_IT_RXNE) || \ - ((IT) == SPI_I2S_IT_ERR)) -#define SPI_I2S_IT_OVR ((uint8_t)0x56) -#define SPI_IT_MODF ((uint8_t)0x55) -#define SPI_IT_CRCERR ((uint8_t)0x54) -#define I2S_IT_UDR ((uint8_t)0x53) -#define IS_SPI_I2S_CLEAR_IT(IT) (((IT) == SPI_IT_CRCERR)) -#define IS_SPI_I2S_GET_IT(IT) (((IT) == SPI_I2S_IT_RXNE) || ((IT) == SPI_I2S_IT_TXE) || \ - ((IT) == I2S_IT_UDR) || ((IT) == SPI_IT_CRCERR) || \ - ((IT) == SPI_IT_MODF) || ((IT) == SPI_I2S_IT_OVR)) -/** - * @} - */ - -/** @defgroup SPI_I2S_flags_definition - * @{ - */ - -#define SPI_I2S_FLAG_RXNE ((uint16_t)0x0001) -#define SPI_I2S_FLAG_TXE ((uint16_t)0x0002) -#define I2S_FLAG_CHSIDE ((uint16_t)0x0004) -#define I2S_FLAG_UDR ((uint16_t)0x0008) -#define SPI_FLAG_CRCERR ((uint16_t)0x0010) -#define SPI_FLAG_MODF ((uint16_t)0x0020) -#define SPI_I2S_FLAG_OVR ((uint16_t)0x0040) -#define SPI_I2S_FLAG_BSY ((uint16_t)0x0080) -#define IS_SPI_I2S_CLEAR_FLAG(FLAG) (((FLAG) == SPI_FLAG_CRCERR)) -#define IS_SPI_I2S_GET_FLAG(FLAG) (((FLAG) == SPI_I2S_FLAG_BSY) || ((FLAG) == SPI_I2S_FLAG_OVR) || \ - ((FLAG) == SPI_FLAG_MODF) || ((FLAG) == SPI_FLAG_CRCERR) || \ - ((FLAG) == I2S_FLAG_UDR) || ((FLAG) == I2S_FLAG_CHSIDE) || \ - ((FLAG) == SPI_I2S_FLAG_TXE) || ((FLAG) == SPI_I2S_FLAG_RXNE)) -/** - * @} - */ - -/** @defgroup SPI_CRC_polynomial - * @{ - */ - -#define IS_SPI_CRC_POLYNOMIAL(POLYNOMIAL) ((POLYNOMIAL) >= 0x1) -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup SPI_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup SPI_Exported_Functions - * @{ - */ - -void SPI_I2S_DeInit(SPI_TypeDef* SPIx); -void SPI_Init(SPI_TypeDef* SPIx, SPI_InitTypeDef* SPI_InitStruct); -void I2S_Init(SPI_TypeDef* SPIx, I2S_InitTypeDef* I2S_InitStruct); -void SPI_StructInit(SPI_InitTypeDef* SPI_InitStruct); -void I2S_StructInit(I2S_InitTypeDef* I2S_InitStruct); -void SPI_Cmd(SPI_TypeDef* SPIx, FunctionalState NewState); -void I2S_Cmd(SPI_TypeDef* SPIx, FunctionalState NewState); -void SPI_I2S_ITConfig(SPI_TypeDef* SPIx, uint8_t SPI_I2S_IT, FunctionalState NewState); -void SPI_I2S_DMACmd(SPI_TypeDef* SPIx, uint16_t SPI_I2S_DMAReq, FunctionalState NewState); -void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data); -uint16_t SPI_I2S_ReceiveData(SPI_TypeDef* SPIx); -void SPI_NSSInternalSoftwareConfig(SPI_TypeDef* SPIx, uint16_t SPI_NSSInternalSoft); -void SPI_SSOutputCmd(SPI_TypeDef* SPIx, FunctionalState NewState); -void SPI_DataSizeConfig(SPI_TypeDef* SPIx, uint16_t SPI_DataSize); -void SPI_TransmitCRC(SPI_TypeDef* SPIx); -void SPI_CalculateCRC(SPI_TypeDef* SPIx, FunctionalState NewState); -uint16_t SPI_GetCRC(SPI_TypeDef* SPIx, uint8_t SPI_CRC); -uint16_t SPI_GetCRCPolynomial(SPI_TypeDef* SPIx); -void SPI_BiDirectionalLineConfig(SPI_TypeDef* SPIx, uint16_t SPI_Direction); -FlagStatus SPI_I2S_GetFlagStatus(SPI_TypeDef* SPIx, uint16_t SPI_I2S_FLAG); -void SPI_I2S_ClearFlag(SPI_TypeDef* SPIx, uint16_t SPI_I2S_FLAG); -ITStatus SPI_I2S_GetITStatus(SPI_TypeDef* SPIx, uint8_t SPI_I2S_IT); -void SPI_I2S_ClearITPendingBit(SPI_TypeDef* SPIx, uint8_t SPI_I2S_IT); - -#ifdef __cplusplus -} -#endif - -#endif /*__STM32F10x_SPI_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_tim.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_tim.h deleted file mode 100644 index cd7ac3e9c..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_tim.h +++ /dev/null @@ -1,1164 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_tim.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the TIM firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_TIM_H -#define __STM32F10x_TIM_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup TIM - * @{ - */ - -/** @defgroup TIM_Exported_Types - * @{ - */ - -/** - * @brief TIM Time Base Init structure definition - * @note This structure is used with all TIMx except for TIM6 and TIM7. - */ - -typedef struct -{ - uint16_t TIM_Prescaler; /*!< Specifies the prescaler value used to divide the TIM clock. - This parameter can be a number between 0x0000 and 0xFFFF */ - - uint16_t TIM_CounterMode; /*!< Specifies the counter mode. - This parameter can be a value of @ref TIM_Counter_Mode */ - - uint16_t TIM_Period; /*!< Specifies the period value to be loaded into the active - Auto-Reload Register at the next update event. - This parameter must be a number between 0x0000 and 0xFFFF. */ - - uint16_t TIM_ClockDivision; /*!< Specifies the clock division. - This parameter can be a value of @ref TIM_Clock_Division_CKD */ - - uint8_t TIM_RepetitionCounter; /*!< Specifies the repetition counter value. Each time the RCR downcounter - 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 0x00 and 0xFF. - @note This parameter is valid only for TIM1 and TIM8. */ -} TIM_TimeBaseInitTypeDef; - -/** - * @brief TIM Output Compare Init structure definition - */ - -typedef struct -{ - uint16_t TIM_OCMode; /*!< Specifies the TIM mode. - This parameter can be a value of @ref TIM_Output_Compare_and_PWM_modes */ - - uint16_t TIM_OutputState; /*!< Specifies the TIM Output Compare state. - This parameter can be a value of @ref TIM_Output_Compare_state */ - - uint16_t TIM_OutputNState; /*!< Specifies the TIM complementary Output Compare state. - This parameter can be a value of @ref TIM_Output_Compare_N_state - @note This parameter is valid only for TIM1 and TIM8. */ - - uint16_t TIM_Pulse; /*!< Specifies the pulse value to be loaded into the Capture Compare Register. - This parameter can be a number between 0x0000 and 0xFFFF */ - - uint16_t TIM_OCPolarity; /*!< Specifies the output polarity. - This parameter can be a value of @ref TIM_Output_Compare_Polarity */ - - uint16_t TIM_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. */ - - uint16_t TIM_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. */ - - uint16_t TIM_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_OCInitTypeDef; - -/** - * @brief TIM Input Capture Init structure definition - */ - -typedef struct -{ - - uint16_t TIM_Channel; /*!< Specifies the TIM channel. - This parameter can be a value of @ref TIM_Channel */ - - uint16_t TIM_ICPolarity; /*!< Specifies the active edge of the input signal. - This parameter can be a value of @ref TIM_Input_Capture_Polarity */ - - uint16_t TIM_ICSelection; /*!< Specifies the input. - This parameter can be a value of @ref TIM_Input_Capture_Selection */ - - uint16_t TIM_ICPrescaler; /*!< Specifies the Input Capture Prescaler. - This parameter can be a value of @ref TIM_Input_Capture_Prescaler */ - - uint16_t TIM_ICFilter; /*!< Specifies the input capture filter. - This parameter can be a number between 0x0 and 0xF */ -} TIM_ICInitTypeDef; - -/** - * @brief BDTR structure definition - * @note This structure is used only with TIM1 and TIM8. - */ - -typedef struct -{ - - uint16_t TIM_OSSRState; /*!< Specifies the Off-State selection used in Run mode. - This parameter can be a value of @ref OSSR_Off_State_Selection_for_Run_mode_state */ - - uint16_t TIM_OSSIState; /*!< Specifies the Off-State used in Idle state. - This parameter can be a value of @ref OSSI_Off_State_Selection_for_Idle_mode_state */ - - uint16_t TIM_LOCKLevel; /*!< Specifies the LOCK level parameters. - This parameter can be a value of @ref Lock_level */ - - uint16_t TIM_DeadTime; /*!< Specifies the delay time between the switching-off and the - switching-on of the outputs. - This parameter can be a number between 0x00 and 0xFF */ - - uint16_t TIM_Break; /*!< Specifies whether the TIM Break input is enabled or not. - This parameter can be a value of @ref Break_Input_enable_disable */ - - uint16_t TIM_BreakPolarity; /*!< Specifies the TIM Break Input pin polarity. - This parameter can be a value of @ref Break_Polarity */ - - uint16_t TIM_AutomaticOutput; /*!< Specifies whether the TIM Automatic Output feature is enabled or not. - This parameter can be a value of @ref TIM_AOE_Bit_Set_Reset */ -} TIM_BDTRInitTypeDef; - -/** @defgroup TIM_Exported_constants - * @{ - */ - -#define IS_TIM_ALL_PERIPH(PERIPH) (((PERIPH) == TIM1) || \ - ((PERIPH) == TIM2) || \ - ((PERIPH) == TIM3) || \ - ((PERIPH) == TIM4) || \ - ((PERIPH) == TIM5) || \ - ((PERIPH) == TIM6) || \ - ((PERIPH) == TIM7) || \ - ((PERIPH) == TIM8) || \ - ((PERIPH) == TIM9) || \ - ((PERIPH) == TIM10)|| \ - ((PERIPH) == TIM11)|| \ - ((PERIPH) == TIM12)|| \ - ((PERIPH) == TIM13)|| \ - ((PERIPH) == TIM14)|| \ - ((PERIPH) == TIM15)|| \ - ((PERIPH) == TIM16)|| \ - ((PERIPH) == TIM17)) - -/* LIST1: TIM 1 and 8 */ -#define IS_TIM_LIST1_PERIPH(PERIPH) (((PERIPH) == TIM1) || \ - ((PERIPH) == TIM8)) - -/* LIST2: TIM 1, 8, 15 16 and 17 */ -#define IS_TIM_LIST2_PERIPH(PERIPH) (((PERIPH) == TIM1) || \ - ((PERIPH) == TIM8) || \ - ((PERIPH) == TIM15)|| \ - ((PERIPH) == TIM16)|| \ - ((PERIPH) == TIM17)) - -/* LIST3: TIM 1, 2, 3, 4, 5 and 8 */ -#define IS_TIM_LIST3_PERIPH(PERIPH) (((PERIPH) == TIM1) || \ - ((PERIPH) == TIM2) || \ - ((PERIPH) == TIM3) || \ - ((PERIPH) == TIM4) || \ - ((PERIPH) == TIM5) || \ - ((PERIPH) == TIM8)) - -/* LIST4: TIM 1, 2, 3, 4, 5, 8, 15, 16 and 17 */ -#define IS_TIM_LIST4_PERIPH(PERIPH) (((PERIPH) == TIM1) || \ - ((PERIPH) == TIM2) || \ - ((PERIPH) == TIM3) || \ - ((PERIPH) == TIM4) || \ - ((PERIPH) == TIM5) || \ - ((PERIPH) == TIM8) || \ - ((PERIPH) == TIM15)|| \ - ((PERIPH) == TIM16)|| \ - ((PERIPH) == TIM17)) - -/* LIST5: TIM 1, 2, 3, 4, 5, 8 and 15 */ -#define IS_TIM_LIST5_PERIPH(PERIPH) (((PERIPH) == TIM1) || \ - ((PERIPH) == TIM2) || \ - ((PERIPH) == TIM3) || \ - ((PERIPH) == TIM4) || \ - ((PERIPH) == TIM5) || \ - ((PERIPH) == TIM8) || \ - ((PERIPH) == TIM15)) - -/* LIST6: TIM 1, 2, 3, 4, 5, 8, 9, 12 and 15 */ -#define IS_TIM_LIST6_PERIPH(PERIPH) (((PERIPH) == TIM1) || \ - ((PERIPH) == TIM2) || \ - ((PERIPH) == TIM3) || \ - ((PERIPH) == TIM4) || \ - ((PERIPH) == TIM5) || \ - ((PERIPH) == TIM8) || \ - ((PERIPH) == TIM9) || \ - ((PERIPH) == TIM12)|| \ - ((PERIPH) == TIM15)) - -/* LIST7: TIM 1, 2, 3, 4, 5, 6, 7, 8, 9, 12 and 15 */ -#define IS_TIM_LIST7_PERIPH(PERIPH) (((PERIPH) == TIM1) || \ - ((PERIPH) == TIM2) || \ - ((PERIPH) == TIM3) || \ - ((PERIPH) == TIM4) || \ - ((PERIPH) == TIM5) || \ - ((PERIPH) == TIM6) || \ - ((PERIPH) == TIM7) || \ - ((PERIPH) == TIM8) || \ - ((PERIPH) == TIM9) || \ - ((PERIPH) == TIM12)|| \ - ((PERIPH) == TIM15)) - -/* LIST8: TIM 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16 and 17 */ -#define IS_TIM_LIST8_PERIPH(PERIPH) (((PERIPH) == TIM1) || \ - ((PERIPH) == TIM2) || \ - ((PERIPH) == TIM3) || \ - ((PERIPH) == TIM4) || \ - ((PERIPH) == TIM5) || \ - ((PERIPH) == TIM8) || \ - ((PERIPH) == TIM9) || \ - ((PERIPH) == TIM10)|| \ - ((PERIPH) == TIM11)|| \ - ((PERIPH) == TIM12)|| \ - ((PERIPH) == TIM13)|| \ - ((PERIPH) == TIM14)|| \ - ((PERIPH) == TIM15)|| \ - ((PERIPH) == TIM16)|| \ - ((PERIPH) == TIM17)) - -/* LIST9: TIM 1, 2, 3, 4, 5, 6, 7, 8, 15, 16, and 17 */ -#define IS_TIM_LIST9_PERIPH(PERIPH) (((PERIPH) == TIM1) || \ - ((PERIPH) == TIM2) || \ - ((PERIPH) == TIM3) || \ - ((PERIPH) == TIM4) || \ - ((PERIPH) == TIM5) || \ - ((PERIPH) == TIM6) || \ - ((PERIPH) == TIM7) || \ - ((PERIPH) == TIM8) || \ - ((PERIPH) == TIM15)|| \ - ((PERIPH) == TIM16)|| \ - ((PERIPH) == TIM17)) - -/** - * @} - */ - -/** @defgroup TIM_Output_Compare_and_PWM_modes - * @{ - */ - -#define TIM_OCMode_Timing ((uint16_t)0x0000) -#define TIM_OCMode_Active ((uint16_t)0x0010) -#define TIM_OCMode_Inactive ((uint16_t)0x0020) -#define TIM_OCMode_Toggle ((uint16_t)0x0030) -#define TIM_OCMode_PWM1 ((uint16_t)0x0060) -#define TIM_OCMode_PWM2 ((uint16_t)0x0070) -#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_PWM1) || \ - ((MODE) == TIM_OCMode_PWM2)) -#define IS_TIM_OCM(MODE) (((MODE) == TIM_OCMode_Timing) || \ - ((MODE) == TIM_OCMode_Active) || \ - ((MODE) == TIM_OCMode_Inactive) || \ - ((MODE) == TIM_OCMode_Toggle)|| \ - ((MODE) == TIM_OCMode_PWM1) || \ - ((MODE) == TIM_OCMode_PWM2) || \ - ((MODE) == TIM_ForcedAction_Active) || \ - ((MODE) == TIM_ForcedAction_InActive)) -/** - * @} - */ - -/** @defgroup TIM_One_Pulse_Mode - * @{ - */ - -#define TIM_OPMode_Single ((uint16_t)0x0008) -#define TIM_OPMode_Repetitive ((uint16_t)0x0000) -#define IS_TIM_OPM_MODE(MODE) (((MODE) == TIM_OPMode_Single) || \ - ((MODE) == TIM_OPMode_Repetitive)) -/** - * @} - */ - -/** @defgroup TIM_Channel - * @{ - */ - -#define TIM_Channel_1 ((uint16_t)0x0000) -#define TIM_Channel_2 ((uint16_t)0x0004) -#define TIM_Channel_3 ((uint16_t)0x0008) -#define TIM_Channel_4 ((uint16_t)0x000C) -#define IS_TIM_CHANNEL(CHANNEL) (((CHANNEL) == TIM_Channel_1) || \ - ((CHANNEL) == TIM_Channel_2) || \ - ((CHANNEL) == TIM_Channel_3) || \ - ((CHANNEL) == TIM_Channel_4)) -#define IS_TIM_PWMI_CHANNEL(CHANNEL) (((CHANNEL) == TIM_Channel_1) || \ - ((CHANNEL) == TIM_Channel_2)) -#define IS_TIM_COMPLEMENTARY_CHANNEL(CHANNEL) (((CHANNEL) == TIM_Channel_1) || \ - ((CHANNEL) == TIM_Channel_2) || \ - ((CHANNEL) == TIM_Channel_3)) -/** - * @} - */ - -/** @defgroup TIM_Clock_Division_CKD - * @{ - */ - -#define TIM_CKD_DIV1 ((uint16_t)0x0000) -#define TIM_CKD_DIV2 ((uint16_t)0x0100) -#define TIM_CKD_DIV4 ((uint16_t)0x0200) -#define IS_TIM_CKD_DIV(DIV) (((DIV) == TIM_CKD_DIV1) || \ - ((DIV) == TIM_CKD_DIV2) || \ - ((DIV) == TIM_CKD_DIV4)) -/** - * @} - */ - -/** @defgroup TIM_Counter_Mode - * @{ - */ - -#define TIM_CounterMode_Up ((uint16_t)0x0000) -#define TIM_CounterMode_Down ((uint16_t)0x0010) -#define TIM_CounterMode_CenterAligned1 ((uint16_t)0x0020) -#define TIM_CounterMode_CenterAligned2 ((uint16_t)0x0040) -#define TIM_CounterMode_CenterAligned3 ((uint16_t)0x0060) -#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)) -/** - * @} - */ - -/** @defgroup TIM_Output_Compare_Polarity - * @{ - */ - -#define TIM_OCPolarity_High ((uint16_t)0x0000) -#define TIM_OCPolarity_Low ((uint16_t)0x0002) -#define IS_TIM_OC_POLARITY(POLARITY) (((POLARITY) == TIM_OCPolarity_High) || \ - ((POLARITY) == TIM_OCPolarity_Low)) -/** - * @} - */ - -/** @defgroup TIM_Output_Compare_N_Polarity - * @{ - */ - -#define TIM_OCNPolarity_High ((uint16_t)0x0000) -#define TIM_OCNPolarity_Low ((uint16_t)0x0008) -#define IS_TIM_OCN_POLARITY(POLARITY) (((POLARITY) == TIM_OCNPolarity_High) || \ - ((POLARITY) == TIM_OCNPolarity_Low)) -/** - * @} - */ - -/** @defgroup TIM_Output_Compare_state - * @{ - */ - -#define TIM_OutputState_Disable ((uint16_t)0x0000) -#define TIM_OutputState_Enable ((uint16_t)0x0001) -#define IS_TIM_OUTPUT_STATE(STATE) (((STATE) == TIM_OutputState_Disable) || \ - ((STATE) == TIM_OutputState_Enable)) -/** - * @} - */ - -/** @defgroup TIM_Output_Compare_N_state - * @{ - */ - -#define TIM_OutputNState_Disable ((uint16_t)0x0000) -#define TIM_OutputNState_Enable ((uint16_t)0x0004) -#define IS_TIM_OUTPUTN_STATE(STATE) (((STATE) == TIM_OutputNState_Disable) || \ - ((STATE) == TIM_OutputNState_Enable)) -/** - * @} - */ - -/** @defgroup TIM_Capture_Compare_state - * @{ - */ - -#define TIM_CCx_Enable ((uint16_t)0x0001) -#define TIM_CCx_Disable ((uint16_t)0x0000) -#define IS_TIM_CCX(CCX) (((CCX) == TIM_CCx_Enable) || \ - ((CCX) == TIM_CCx_Disable)) -/** - * @} - */ - -/** @defgroup TIM_Capture_Compare_N_state - * @{ - */ - -#define TIM_CCxN_Enable ((uint16_t)0x0004) -#define TIM_CCxN_Disable ((uint16_t)0x0000) -#define IS_TIM_CCXN(CCXN) (((CCXN) == TIM_CCxN_Enable) || \ - ((CCXN) == TIM_CCxN_Disable)) -/** - * @} - */ - -/** @defgroup Break_Input_enable_disable - * @{ - */ - -#define TIM_Break_Enable ((uint16_t)0x1000) -#define TIM_Break_Disable ((uint16_t)0x0000) -#define IS_TIM_BREAK_STATE(STATE) (((STATE) == TIM_Break_Enable) || \ - ((STATE) == TIM_Break_Disable)) -/** - * @} - */ - -/** @defgroup Break_Polarity - * @{ - */ - -#define TIM_BreakPolarity_Low ((uint16_t)0x0000) -#define TIM_BreakPolarity_High ((uint16_t)0x2000) -#define IS_TIM_BREAK_POLARITY(POLARITY) (((POLARITY) == TIM_BreakPolarity_Low) || \ - ((POLARITY) == TIM_BreakPolarity_High)) -/** - * @} - */ - -/** @defgroup TIM_AOE_Bit_Set_Reset - * @{ - */ - -#define TIM_AutomaticOutput_Enable ((uint16_t)0x4000) -#define TIM_AutomaticOutput_Disable ((uint16_t)0x0000) -#define IS_TIM_AUTOMATIC_OUTPUT_STATE(STATE) (((STATE) == TIM_AutomaticOutput_Enable) || \ - ((STATE) == TIM_AutomaticOutput_Disable)) -/** - * @} - */ - -/** @defgroup Lock_level - * @{ - */ - -#define TIM_LOCKLevel_OFF ((uint16_t)0x0000) -#define TIM_LOCKLevel_1 ((uint16_t)0x0100) -#define TIM_LOCKLevel_2 ((uint16_t)0x0200) -#define TIM_LOCKLevel_3 ((uint16_t)0x0300) -#define IS_TIM_LOCK_LEVEL(LEVEL) (((LEVEL) == TIM_LOCKLevel_OFF) || \ - ((LEVEL) == TIM_LOCKLevel_1) || \ - ((LEVEL) == TIM_LOCKLevel_2) || \ - ((LEVEL) == TIM_LOCKLevel_3)) -/** - * @} - */ - -/** @defgroup OSSI_Off_State_Selection_for_Idle_mode_state - * @{ - */ - -#define TIM_OSSIState_Enable ((uint16_t)0x0400) -#define TIM_OSSIState_Disable ((uint16_t)0x0000) -#define IS_TIM_OSSI_STATE(STATE) (((STATE) == TIM_OSSIState_Enable) || \ - ((STATE) == TIM_OSSIState_Disable)) -/** - * @} - */ - -/** @defgroup OSSR_Off_State_Selection_for_Run_mode_state - * @{ - */ - -#define TIM_OSSRState_Enable ((uint16_t)0x0800) -#define TIM_OSSRState_Disable ((uint16_t)0x0000) -#define IS_TIM_OSSR_STATE(STATE) (((STATE) == TIM_OSSRState_Enable) || \ - ((STATE) == TIM_OSSRState_Disable)) -/** - * @} - */ - -/** @defgroup TIM_Output_Compare_Idle_State - * @{ - */ - -#define TIM_OCIdleState_Set ((uint16_t)0x0100) -#define TIM_OCIdleState_Reset ((uint16_t)0x0000) -#define IS_TIM_OCIDLE_STATE(STATE) (((STATE) == TIM_OCIdleState_Set) || \ - ((STATE) == TIM_OCIdleState_Reset)) -/** - * @} - */ - -/** @defgroup TIM_Output_Compare_N_Idle_State - * @{ - */ - -#define TIM_OCNIdleState_Set ((uint16_t)0x0200) -#define TIM_OCNIdleState_Reset ((uint16_t)0x0000) -#define IS_TIM_OCNIDLE_STATE(STATE) (((STATE) == TIM_OCNIdleState_Set) || \ - ((STATE) == TIM_OCNIdleState_Reset)) -/** - * @} - */ - -/** @defgroup TIM_Input_Capture_Polarity - * @{ - */ - -#define TIM_ICPolarity_Rising ((uint16_t)0x0000) -#define TIM_ICPolarity_Falling ((uint16_t)0x0002) -#define TIM_ICPolarity_BothEdge ((uint16_t)0x000A) -#define IS_TIM_IC_POLARITY(POLARITY) (((POLARITY) == TIM_ICPolarity_Rising) || \ - ((POLARITY) == TIM_ICPolarity_Falling)) -#define IS_TIM_IC_POLARITY_LITE(POLARITY) (((POLARITY) == TIM_ICPolarity_Rising) || \ - ((POLARITY) == TIM_ICPolarity_Falling)|| \ - ((POLARITY) == TIM_ICPolarity_BothEdge)) -/** - * @} - */ - -/** @defgroup TIM_Input_Capture_Selection - * @{ - */ - -#define TIM_ICSelection_DirectTI ((uint16_t)0x0001) /*!< TIM Input 1, 2, 3 or 4 is selected to be - connected to IC1, IC2, IC3 or IC4, respectively */ -#define TIM_ICSelection_IndirectTI ((uint16_t)0x0002) /*!< TIM Input 1, 2, 3 or 4 is selected to be - connected to IC2, IC1, IC4 or IC3, respectively. */ -#define TIM_ICSelection_TRC ((uint16_t)0x0003) /*!< TIM Input 1, 2, 3 or 4 is selected to be connected to TRC. */ -#define IS_TIM_IC_SELECTION(SELECTION) (((SELECTION) == TIM_ICSelection_DirectTI) || \ - ((SELECTION) == TIM_ICSelection_IndirectTI) || \ - ((SELECTION) == TIM_ICSelection_TRC)) -/** - * @} - */ - -/** @defgroup TIM_Input_Capture_Prescaler - * @{ - */ - -#define TIM_ICPSC_DIV1 ((uint16_t)0x0000) /*!< Capture performed each time an edge is detected on the capture input. */ -#define TIM_ICPSC_DIV2 ((uint16_t)0x0004) /*!< Capture performed once every 2 events. */ -#define TIM_ICPSC_DIV4 ((uint16_t)0x0008) /*!< Capture performed once every 4 events. */ -#define TIM_ICPSC_DIV8 ((uint16_t)0x000C) /*!< Capture performed once every 8 events. */ -#define IS_TIM_IC_PRESCALER(PRESCALER) (((PRESCALER) == TIM_ICPSC_DIV1) || \ - ((PRESCALER) == TIM_ICPSC_DIV2) || \ - ((PRESCALER) == TIM_ICPSC_DIV4) || \ - ((PRESCALER) == TIM_ICPSC_DIV8)) -/** - * @} - */ - -/** @defgroup TIM_interrupt_sources - * @{ - */ - -#define TIM_IT_Update ((uint16_t)0x0001) -#define TIM_IT_CC1 ((uint16_t)0x0002) -#define TIM_IT_CC2 ((uint16_t)0x0004) -#define TIM_IT_CC3 ((uint16_t)0x0008) -#define TIM_IT_CC4 ((uint16_t)0x0010) -#define TIM_IT_COM ((uint16_t)0x0020) -#define TIM_IT_Trigger ((uint16_t)0x0040) -#define TIM_IT_Break ((uint16_t)0x0080) -#define IS_TIM_IT(IT) ((((IT) & (uint16_t)0xFF00) == 0x0000) && ((IT) != 0x0000)) - -#define IS_TIM_GET_IT(IT) (((IT) == TIM_IT_Update) || \ - ((IT) == TIM_IT_CC1) || \ - ((IT) == TIM_IT_CC2) || \ - ((IT) == TIM_IT_CC3) || \ - ((IT) == TIM_IT_CC4) || \ - ((IT) == TIM_IT_COM) || \ - ((IT) == TIM_IT_Trigger) || \ - ((IT) == TIM_IT_Break)) -/** - * @} - */ - -/** @defgroup TIM_DMA_Base_address - * @{ - */ - -#define TIM_DMABase_CR1 ((uint16_t)0x0000) -#define TIM_DMABase_CR2 ((uint16_t)0x0001) -#define TIM_DMABase_SMCR ((uint16_t)0x0002) -#define TIM_DMABase_DIER ((uint16_t)0x0003) -#define TIM_DMABase_SR ((uint16_t)0x0004) -#define TIM_DMABase_EGR ((uint16_t)0x0005) -#define TIM_DMABase_CCMR1 ((uint16_t)0x0006) -#define TIM_DMABase_CCMR2 ((uint16_t)0x0007) -#define TIM_DMABase_CCER ((uint16_t)0x0008) -#define TIM_DMABase_CNT ((uint16_t)0x0009) -#define TIM_DMABase_PSC ((uint16_t)0x000A) -#define TIM_DMABase_ARR ((uint16_t)0x000B) -#define TIM_DMABase_RCR ((uint16_t)0x000C) -#define TIM_DMABase_CCR1 ((uint16_t)0x000D) -#define TIM_DMABase_CCR2 ((uint16_t)0x000E) -#define TIM_DMABase_CCR3 ((uint16_t)0x000F) -#define TIM_DMABase_CCR4 ((uint16_t)0x0010) -#define TIM_DMABase_BDTR ((uint16_t)0x0011) -#define TIM_DMABase_DCR ((uint16_t)0x0012) -#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_DCR)) -/** - * @} - */ - -/** @defgroup TIM_DMA_Burst_Length - * @{ - */ - -#define TIM_DMABurstLength_1Transfer ((uint16_t)0x0000) -#define TIM_DMABurstLength_2Transfers ((uint16_t)0x0100) -#define TIM_DMABurstLength_3Transfers ((uint16_t)0x0200) -#define TIM_DMABurstLength_4Transfers ((uint16_t)0x0300) -#define TIM_DMABurstLength_5Transfers ((uint16_t)0x0400) -#define TIM_DMABurstLength_6Transfers ((uint16_t)0x0500) -#define TIM_DMABurstLength_7Transfers ((uint16_t)0x0600) -#define TIM_DMABurstLength_8Transfers ((uint16_t)0x0700) -#define TIM_DMABurstLength_9Transfers ((uint16_t)0x0800) -#define TIM_DMABurstLength_10Transfers ((uint16_t)0x0900) -#define TIM_DMABurstLength_11Transfers ((uint16_t)0x0A00) -#define TIM_DMABurstLength_12Transfers ((uint16_t)0x0B00) -#define TIM_DMABurstLength_13Transfers ((uint16_t)0x0C00) -#define TIM_DMABurstLength_14Transfers ((uint16_t)0x0D00) -#define TIM_DMABurstLength_15Transfers ((uint16_t)0x0E00) -#define TIM_DMABurstLength_16Transfers ((uint16_t)0x0F00) -#define TIM_DMABurstLength_17Transfers ((uint16_t)0x1000) -#define TIM_DMABurstLength_18Transfers ((uint16_t)0x1100) -#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)) -/** - * @} - */ - -/** @defgroup TIM_DMA_sources - * @{ - */ - -#define TIM_DMA_Update ((uint16_t)0x0100) -#define TIM_DMA_CC1 ((uint16_t)0x0200) -#define TIM_DMA_CC2 ((uint16_t)0x0400) -#define TIM_DMA_CC3 ((uint16_t)0x0800) -#define TIM_DMA_CC4 ((uint16_t)0x1000) -#define TIM_DMA_COM ((uint16_t)0x2000) -#define TIM_DMA_Trigger ((uint16_t)0x4000) -#define IS_TIM_DMA_SOURCE(SOURCE) ((((SOURCE) & (uint16_t)0x80FF) == 0x0000) && ((SOURCE) != 0x0000)) - -/** - * @} - */ - -/** @defgroup TIM_External_Trigger_Prescaler - * @{ - */ - -#define TIM_ExtTRGPSC_OFF ((uint16_t)0x0000) -#define TIM_ExtTRGPSC_DIV2 ((uint16_t)0x1000) -#define TIM_ExtTRGPSC_DIV4 ((uint16_t)0x2000) -#define TIM_ExtTRGPSC_DIV8 ((uint16_t)0x3000) -#define IS_TIM_EXT_PRESCALER(PRESCALER) (((PRESCALER) == TIM_ExtTRGPSC_OFF) || \ - ((PRESCALER) == TIM_ExtTRGPSC_DIV2) || \ - ((PRESCALER) == TIM_ExtTRGPSC_DIV4) || \ - ((PRESCALER) == TIM_ExtTRGPSC_DIV8)) -/** - * @} - */ - -/** @defgroup TIM_Internal_Trigger_Selection - * @{ - */ - -#define TIM_TS_ITR0 ((uint16_t)0x0000) -#define TIM_TS_ITR1 ((uint16_t)0x0010) -#define TIM_TS_ITR2 ((uint16_t)0x0020) -#define TIM_TS_ITR3 ((uint16_t)0x0030) -#define TIM_TS_TI1F_ED ((uint16_t)0x0040) -#define TIM_TS_TI1FP1 ((uint16_t)0x0050) -#define TIM_TS_TI2FP2 ((uint16_t)0x0060) -#define TIM_TS_ETRF ((uint16_t)0x0070) -#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_TRIGGER_SELECTION(SELECTION) (((SELECTION) == TIM_TS_ITR0) || \ - ((SELECTION) == TIM_TS_ITR1) || \ - ((SELECTION) == TIM_TS_ITR2) || \ - ((SELECTION) == TIM_TS_ITR3)) -/** - * @} - */ - -/** @defgroup TIM_TIx_External_Clock_Source - * @{ - */ - -#define TIM_TIxExternalCLK1Source_TI1 ((uint16_t)0x0050) -#define TIM_TIxExternalCLK1Source_TI2 ((uint16_t)0x0060) -#define TIM_TIxExternalCLK1Source_TI1ED ((uint16_t)0x0040) -#define IS_TIM_TIXCLK_SOURCE(SOURCE) (((SOURCE) == TIM_TIxExternalCLK1Source_TI1) || \ - ((SOURCE) == TIM_TIxExternalCLK1Source_TI2) || \ - ((SOURCE) == TIM_TIxExternalCLK1Source_TI1ED)) -/** - * @} - */ - -/** @defgroup TIM_External_Trigger_Polarity - * @{ - */ -#define TIM_ExtTRGPolarity_Inverted ((uint16_t)0x8000) -#define TIM_ExtTRGPolarity_NonInverted ((uint16_t)0x0000) -#define IS_TIM_EXT_POLARITY(POLARITY) (((POLARITY) == TIM_ExtTRGPolarity_Inverted) || \ - ((POLARITY) == TIM_ExtTRGPolarity_NonInverted)) -/** - * @} - */ - -/** @defgroup TIM_Prescaler_Reload_Mode - * @{ - */ - -#define TIM_PSCReloadMode_Update ((uint16_t)0x0000) -#define TIM_PSCReloadMode_Immediate ((uint16_t)0x0001) -#define IS_TIM_PRESCALER_RELOAD(RELOAD) (((RELOAD) == TIM_PSCReloadMode_Update) || \ - ((RELOAD) == TIM_PSCReloadMode_Immediate)) -/** - * @} - */ - -/** @defgroup TIM_Forced_Action - * @{ - */ - -#define TIM_ForcedAction_Active ((uint16_t)0x0050) -#define TIM_ForcedAction_InActive ((uint16_t)0x0040) -#define IS_TIM_FORCED_ACTION(ACTION) (((ACTION) == TIM_ForcedAction_Active) || \ - ((ACTION) == TIM_ForcedAction_InActive)) -/** - * @} - */ - -/** @defgroup TIM_Encoder_Mode - * @{ - */ - -#define TIM_EncoderMode_TI1 ((uint16_t)0x0001) -#define TIM_EncoderMode_TI2 ((uint16_t)0x0002) -#define TIM_EncoderMode_TI12 ((uint16_t)0x0003) -#define IS_TIM_ENCODER_MODE(MODE) (((MODE) == TIM_EncoderMode_TI1) || \ - ((MODE) == TIM_EncoderMode_TI2) || \ - ((MODE) == TIM_EncoderMode_TI12)) -/** - * @} - */ - - -/** @defgroup TIM_Event_Source - * @{ - */ - -#define TIM_EventSource_Update ((uint16_t)0x0001) -#define TIM_EventSource_CC1 ((uint16_t)0x0002) -#define TIM_EventSource_CC2 ((uint16_t)0x0004) -#define TIM_EventSource_CC3 ((uint16_t)0x0008) -#define TIM_EventSource_CC4 ((uint16_t)0x0010) -#define TIM_EventSource_COM ((uint16_t)0x0020) -#define TIM_EventSource_Trigger ((uint16_t)0x0040) -#define TIM_EventSource_Break ((uint16_t)0x0080) -#define IS_TIM_EVENT_SOURCE(SOURCE) ((((SOURCE) & (uint16_t)0xFF00) == 0x0000) && ((SOURCE) != 0x0000)) - -/** - * @} - */ - -/** @defgroup TIM_Update_Source - * @{ - */ - -#define TIM_UpdateSource_Global ((uint16_t)0x0000) /*!< Source of update is the counter overflow/underflow - or the setting of UG bit, or an update generation - through the slave mode controller. */ -#define TIM_UpdateSource_Regular ((uint16_t)0x0001) /*!< Source of update is counter overflow/underflow. */ -#define IS_TIM_UPDATE_SOURCE(SOURCE) (((SOURCE) == TIM_UpdateSource_Global) || \ - ((SOURCE) == TIM_UpdateSource_Regular)) -/** - * @} - */ - -/** @defgroup TIM_Output_Compare_Preload_State - * @{ - */ - -#define TIM_OCPreload_Enable ((uint16_t)0x0008) -#define TIM_OCPreload_Disable ((uint16_t)0x0000) -#define IS_TIM_OCPRELOAD_STATE(STATE) (((STATE) == TIM_OCPreload_Enable) || \ - ((STATE) == TIM_OCPreload_Disable)) -/** - * @} - */ - -/** @defgroup TIM_Output_Compare_Fast_State - * @{ - */ - -#define TIM_OCFast_Enable ((uint16_t)0x0004) -#define TIM_OCFast_Disable ((uint16_t)0x0000) -#define IS_TIM_OCFAST_STATE(STATE) (((STATE) == TIM_OCFast_Enable) || \ - ((STATE) == TIM_OCFast_Disable)) - -/** - * @} - */ - -/** @defgroup TIM_Output_Compare_Clear_State - * @{ - */ - -#define TIM_OCClear_Enable ((uint16_t)0x0080) -#define TIM_OCClear_Disable ((uint16_t)0x0000) -#define IS_TIM_OCCLEAR_STATE(STATE) (((STATE) == TIM_OCClear_Enable) || \ - ((STATE) == TIM_OCClear_Disable)) -/** - * @} - */ - -/** @defgroup TIM_Trigger_Output_Source - * @{ - */ - -#define TIM_TRGOSource_Reset ((uint16_t)0x0000) -#define TIM_TRGOSource_Enable ((uint16_t)0x0010) -#define TIM_TRGOSource_Update ((uint16_t)0x0020) -#define TIM_TRGOSource_OC1 ((uint16_t)0x0030) -#define TIM_TRGOSource_OC1Ref ((uint16_t)0x0040) -#define TIM_TRGOSource_OC2Ref ((uint16_t)0x0050) -#define TIM_TRGOSource_OC3Ref ((uint16_t)0x0060) -#define TIM_TRGOSource_OC4Ref ((uint16_t)0x0070) -#define IS_TIM_TRGO_SOURCE(SOURCE) (((SOURCE) == TIM_TRGOSource_Reset) || \ - ((SOURCE) == TIM_TRGOSource_Enable) || \ - ((SOURCE) == TIM_TRGOSource_Update) || \ - ((SOURCE) == TIM_TRGOSource_OC1) || \ - ((SOURCE) == TIM_TRGOSource_OC1Ref) || \ - ((SOURCE) == TIM_TRGOSource_OC2Ref) || \ - ((SOURCE) == TIM_TRGOSource_OC3Ref) || \ - ((SOURCE) == TIM_TRGOSource_OC4Ref)) -/** - * @} - */ - -/** @defgroup TIM_Slave_Mode - * @{ - */ - -#define TIM_SlaveMode_Reset ((uint16_t)0x0004) -#define TIM_SlaveMode_Gated ((uint16_t)0x0005) -#define TIM_SlaveMode_Trigger ((uint16_t)0x0006) -#define TIM_SlaveMode_External1 ((uint16_t)0x0007) -#define IS_TIM_SLAVE_MODE(MODE) (((MODE) == TIM_SlaveMode_Reset) || \ - ((MODE) == TIM_SlaveMode_Gated) || \ - ((MODE) == TIM_SlaveMode_Trigger) || \ - ((MODE) == TIM_SlaveMode_External1)) -/** - * @} - */ - -/** @defgroup TIM_Master_Slave_Mode - * @{ - */ - -#define TIM_MasterSlaveMode_Enable ((uint16_t)0x0080) -#define TIM_MasterSlaveMode_Disable ((uint16_t)0x0000) -#define IS_TIM_MSM_STATE(STATE) (((STATE) == TIM_MasterSlaveMode_Enable) || \ - ((STATE) == TIM_MasterSlaveMode_Disable)) -/** - * @} - */ - -/** @defgroup TIM_Flags - * @{ - */ - -#define TIM_FLAG_Update ((uint16_t)0x0001) -#define TIM_FLAG_CC1 ((uint16_t)0x0002) -#define TIM_FLAG_CC2 ((uint16_t)0x0004) -#define TIM_FLAG_CC3 ((uint16_t)0x0008) -#define TIM_FLAG_CC4 ((uint16_t)0x0010) -#define TIM_FLAG_COM ((uint16_t)0x0020) -#define TIM_FLAG_Trigger ((uint16_t)0x0040) -#define TIM_FLAG_Break ((uint16_t)0x0080) -#define TIM_FLAG_CC1OF ((uint16_t)0x0200) -#define TIM_FLAG_CC2OF ((uint16_t)0x0400) -#define TIM_FLAG_CC3OF ((uint16_t)0x0800) -#define TIM_FLAG_CC4OF ((uint16_t)0x1000) -#define IS_TIM_GET_FLAG(FLAG) (((FLAG) == TIM_FLAG_Update) || \ - ((FLAG) == TIM_FLAG_CC1) || \ - ((FLAG) == TIM_FLAG_CC2) || \ - ((FLAG) == TIM_FLAG_CC3) || \ - ((FLAG) == TIM_FLAG_CC4) || \ - ((FLAG) == TIM_FLAG_COM) || \ - ((FLAG) == TIM_FLAG_Trigger) || \ - ((FLAG) == TIM_FLAG_Break) || \ - ((FLAG) == TIM_FLAG_CC1OF) || \ - ((FLAG) == TIM_FLAG_CC2OF) || \ - ((FLAG) == TIM_FLAG_CC3OF) || \ - ((FLAG) == TIM_FLAG_CC4OF)) - - -#define IS_TIM_CLEAR_FLAG(TIM_FLAG) ((((TIM_FLAG) & (uint16_t)0xE100) == 0x0000) && ((TIM_FLAG) != 0x0000)) -/** - * @} - */ - -/** @defgroup TIM_Input_Capture_Filer_Value - * @{ - */ - -#define IS_TIM_IC_FILTER(ICFILTER) ((ICFILTER) <= 0xF) -/** - * @} - */ - -/** @defgroup TIM_External_Trigger_Filter - * @{ - */ - -#define IS_TIM_EXT_FILTER(EXTFILTER) ((EXTFILTER) <= 0xF) -/** - * @} - */ - -/** @defgroup TIM_Legacy - * @{ - */ - -#define TIM_DMABurstLength_1Byte TIM_DMABurstLength_1Transfer -#define TIM_DMABurstLength_2Bytes TIM_DMABurstLength_2Transfers -#define TIM_DMABurstLength_3Bytes TIM_DMABurstLength_3Transfers -#define TIM_DMABurstLength_4Bytes TIM_DMABurstLength_4Transfers -#define TIM_DMABurstLength_5Bytes TIM_DMABurstLength_5Transfers -#define TIM_DMABurstLength_6Bytes TIM_DMABurstLength_6Transfers -#define TIM_DMABurstLength_7Bytes TIM_DMABurstLength_7Transfers -#define TIM_DMABurstLength_8Bytes TIM_DMABurstLength_8Transfers -#define TIM_DMABurstLength_9Bytes TIM_DMABurstLength_9Transfers -#define TIM_DMABurstLength_10Bytes TIM_DMABurstLength_10Transfers -#define TIM_DMABurstLength_11Bytes TIM_DMABurstLength_11Transfers -#define TIM_DMABurstLength_12Bytes TIM_DMABurstLength_12Transfers -#define TIM_DMABurstLength_13Bytes TIM_DMABurstLength_13Transfers -#define TIM_DMABurstLength_14Bytes TIM_DMABurstLength_14Transfers -#define TIM_DMABurstLength_15Bytes TIM_DMABurstLength_15Transfers -#define TIM_DMABurstLength_16Bytes TIM_DMABurstLength_16Transfers -#define TIM_DMABurstLength_17Bytes TIM_DMABurstLength_17Transfers -#define TIM_DMABurstLength_18Bytes TIM_DMABurstLength_18Transfers -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup TIM_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup TIM_Exported_Functions - * @{ - */ - -void TIM_DeInit(TIM_TypeDef* TIMx); -void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct); -void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); -void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); -void TIM_OC3Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); -void TIM_OC4Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); -void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct); -void TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct); -void TIM_BDTRConfig(TIM_TypeDef* TIMx, TIM_BDTRInitTypeDef *TIM_BDTRInitStruct); -void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct); -void TIM_OCStructInit(TIM_OCInitTypeDef* TIM_OCInitStruct); -void TIM_ICStructInit(TIM_ICInitTypeDef* TIM_ICInitStruct); -void TIM_BDTRStructInit(TIM_BDTRInitTypeDef* TIM_BDTRInitStruct); -void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState); -void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState); -void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState); -void TIM_GenerateEvent(TIM_TypeDef* TIMx, uint16_t TIM_EventSource); -void TIM_DMAConfig(TIM_TypeDef* TIMx, uint16_t TIM_DMABase, uint16_t TIM_DMABurstLength); -void TIM_DMACmd(TIM_TypeDef* TIMx, uint16_t TIM_DMASource, FunctionalState NewState); -void TIM_InternalClockConfig(TIM_TypeDef* TIMx); -void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource); -void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_TIxExternalCLKSource, - uint16_t TIM_ICPolarity, uint16_t ICFilter); -void TIM_ETRClockMode1Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, - uint16_t ExtTRGFilter); -void TIM_ETRClockMode2Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, - uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter); -void TIM_ETRConfig(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, - uint16_t ExtTRGFilter); -void TIM_PrescalerConfig(TIM_TypeDef* TIMx, uint16_t Prescaler, uint16_t TIM_PSCReloadMode); -void TIM_CounterModeConfig(TIM_TypeDef* TIMx, uint16_t TIM_CounterMode); -void TIM_SelectInputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource); -void TIM_EncoderInterfaceConfig(TIM_TypeDef* TIMx, uint16_t TIM_EncoderMode, - uint16_t TIM_IC1Polarity, uint16_t TIM_IC2Polarity); -void TIM_ForcedOC1Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); -void TIM_ForcedOC2Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); -void TIM_ForcedOC3Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); -void TIM_ForcedOC4Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); -void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState NewState); -void TIM_SelectCOM(TIM_TypeDef* TIMx, FunctionalState NewState); -void TIM_SelectCCDMA(TIM_TypeDef* TIMx, FunctionalState NewState); -void TIM_CCPreloadControl(TIM_TypeDef* TIMx, FunctionalState NewState); -void TIM_OC1PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); -void TIM_OC2PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); -void TIM_OC3PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); -void TIM_OC4PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); -void TIM_OC1FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); -void TIM_OC2FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); -void TIM_OC3FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); -void TIM_OC4FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); -void TIM_ClearOC1Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); -void TIM_ClearOC2Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); -void TIM_ClearOC3Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); -void TIM_ClearOC4Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); -void TIM_OC1PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); -void TIM_OC1NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity); -void TIM_OC2PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); -void TIM_OC2NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity); -void TIM_OC3PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); -void TIM_OC3NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity); -void TIM_OC4PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); -void TIM_CCxCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCx); -void TIM_CCxNCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCxN); -void TIM_SelectOCxM(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_OCMode); -void TIM_UpdateDisableConfig(TIM_TypeDef* TIMx, FunctionalState NewState); -void TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource); -void TIM_SelectHallSensor(TIM_TypeDef* TIMx, FunctionalState NewState); -void TIM_SelectOnePulseMode(TIM_TypeDef* TIMx, uint16_t TIM_OPMode); -void TIM_SelectOutputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_TRGOSource); -void TIM_SelectSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_SlaveMode); -void TIM_SelectMasterSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_MasterSlaveMode); -void TIM_SetCounter(TIM_TypeDef* TIMx, uint16_t Counter); -void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint16_t Autoreload); -void TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1); -void TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2); -void TIM_SetCompare3(TIM_TypeDef* TIMx, uint16_t Compare3); -void TIM_SetCompare4(TIM_TypeDef* TIMx, uint16_t Compare4); -void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC); -void TIM_SetIC2Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC); -void TIM_SetIC3Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC); -void TIM_SetIC4Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC); -void TIM_SetClockDivision(TIM_TypeDef* TIMx, uint16_t TIM_CKD); -uint16_t TIM_GetCapture1(TIM_TypeDef* TIMx); -uint16_t TIM_GetCapture2(TIM_TypeDef* TIMx); -uint16_t TIM_GetCapture3(TIM_TypeDef* TIMx); -uint16_t TIM_GetCapture4(TIM_TypeDef* TIMx); -uint16_t TIM_GetCounter(TIM_TypeDef* TIMx); -uint16_t TIM_GetPrescaler(TIM_TypeDef* TIMx); -FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, uint16_t TIM_FLAG); -void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG); -ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT); -void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT); - -#ifdef __cplusplus -} -#endif - -#endif /*__STM32F10x_TIM_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_usart.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_usart.h deleted file mode 100644 index 61ae249a4..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_usart.h +++ /dev/null @@ -1,412 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_usart.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the USART - * firmware library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_USART_H -#define __STM32F10x_USART_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup USART - * @{ - */ - -/** @defgroup USART_Exported_Types - * @{ - */ - -/** - * @brief USART Init Structure definition - */ - -typedef struct -{ - uint32_t USART_BaudRate; /*!< This member configures the USART communication baud rate. - The baud rate is computed using the following formula: - - IntegerDivider = ((PCLKx) / (16 * (USART_InitStruct->USART_BaudRate))) - - FractionalDivider = ((IntegerDivider - ((u32) IntegerDivider)) * 16) + 0.5 */ - - uint16_t USART_WordLength; /*!< Specifies the number of data bits transmitted or received in a frame. - This parameter can be a value of @ref USART_Word_Length */ - - uint16_t USART_StopBits; /*!< Specifies the number of stop bits transmitted. - This parameter can be a value of @ref USART_Stop_Bits */ - - uint16_t USART_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). */ - - uint16_t USART_Mode; /*!< Specifies wether the Receive or Transmit mode is enabled or disabled. - This parameter can be a value of @ref USART_Mode */ - - uint16_t USART_HardwareFlowControl; /*!< Specifies wether the hardware flow control mode is enabled - or disabled. - This parameter can be a value of @ref USART_Hardware_Flow_Control */ -} USART_InitTypeDef; - -/** - * @brief USART Clock Init Structure definition - */ - -typedef struct -{ - - uint16_t USART_Clock; /*!< Specifies whether the USART clock is enabled or disabled. - This parameter can be a value of @ref USART_Clock */ - - uint16_t USART_CPOL; /*!< Specifies the steady state value of the serial clock. - This parameter can be a value of @ref USART_Clock_Polarity */ - - uint16_t USART_CPHA; /*!< Specifies the clock transition on which the bit capture is made. - This parameter can be a value of @ref USART_Clock_Phase */ - - uint16_t USART_LastBit; /*!< 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 */ -} USART_ClockInitTypeDef; - -/** - * @} - */ - -/** @defgroup USART_Exported_Constants - * @{ - */ - -#define IS_USART_ALL_PERIPH(PERIPH) (((PERIPH) == USART1) || \ - ((PERIPH) == USART2) || \ - ((PERIPH) == USART3) || \ - ((PERIPH) == UART4) || \ - ((PERIPH) == UART5)) - -#define IS_USART_123_PERIPH(PERIPH) (((PERIPH) == USART1) || \ - ((PERIPH) == USART2) || \ - ((PERIPH) == USART3)) - -#define IS_USART_1234_PERIPH(PERIPH) (((PERIPH) == USART1) || \ - ((PERIPH) == USART2) || \ - ((PERIPH) == USART3) || \ - ((PERIPH) == UART4)) -/** @defgroup USART_Word_Length - * @{ - */ - -#define USART_WordLength_8b ((uint16_t)0x0000) -#define USART_WordLength_9b ((uint16_t)0x1000) - -#define IS_USART_WORD_LENGTH(LENGTH) (((LENGTH) == USART_WordLength_8b) || \ - ((LENGTH) == USART_WordLength_9b)) -/** - * @} - */ - -/** @defgroup USART_Stop_Bits - * @{ - */ - -#define USART_StopBits_1 ((uint16_t)0x0000) -#define USART_StopBits_0_5 ((uint16_t)0x1000) -#define USART_StopBits_2 ((uint16_t)0x2000) -#define USART_StopBits_1_5 ((uint16_t)0x3000) -#define IS_USART_STOPBITS(STOPBITS) (((STOPBITS) == USART_StopBits_1) || \ - ((STOPBITS) == USART_StopBits_0_5) || \ - ((STOPBITS) == USART_StopBits_2) || \ - ((STOPBITS) == USART_StopBits_1_5)) -/** - * @} - */ - -/** @defgroup USART_Parity - * @{ - */ - -#define USART_Parity_No ((uint16_t)0x0000) -#define USART_Parity_Even ((uint16_t)0x0400) -#define USART_Parity_Odd ((uint16_t)0x0600) -#define IS_USART_PARITY(PARITY) (((PARITY) == USART_Parity_No) || \ - ((PARITY) == USART_Parity_Even) || \ - ((PARITY) == USART_Parity_Odd)) -/** - * @} - */ - -/** @defgroup USART_Mode - * @{ - */ - -#define USART_Mode_Rx ((uint16_t)0x0004) -#define USART_Mode_Tx ((uint16_t)0x0008) -#define IS_USART_MODE(MODE) ((((MODE) & (uint16_t)0xFFF3) == 0x00) && ((MODE) != (uint16_t)0x00)) -/** - * @} - */ - -/** @defgroup USART_Hardware_Flow_Control - * @{ - */ -#define USART_HardwareFlowControl_None ((uint16_t)0x0000) -#define USART_HardwareFlowControl_RTS ((uint16_t)0x0100) -#define USART_HardwareFlowControl_CTS ((uint16_t)0x0200) -#define USART_HardwareFlowControl_RTS_CTS ((uint16_t)0x0300) -#define IS_USART_HARDWARE_FLOW_CONTROL(CONTROL)\ - (((CONTROL) == USART_HardwareFlowControl_None) || \ - ((CONTROL) == USART_HardwareFlowControl_RTS) || \ - ((CONTROL) == USART_HardwareFlowControl_CTS) || \ - ((CONTROL) == USART_HardwareFlowControl_RTS_CTS)) -/** - * @} - */ - -/** @defgroup USART_Clock - * @{ - */ -#define USART_Clock_Disable ((uint16_t)0x0000) -#define USART_Clock_Enable ((uint16_t)0x0800) -#define IS_USART_CLOCK(CLOCK) (((CLOCK) == USART_Clock_Disable) || \ - ((CLOCK) == USART_Clock_Enable)) -/** - * @} - */ - -/** @defgroup USART_Clock_Polarity - * @{ - */ - -#define USART_CPOL_Low ((uint16_t)0x0000) -#define USART_CPOL_High ((uint16_t)0x0400) -#define IS_USART_CPOL(CPOL) (((CPOL) == USART_CPOL_Low) || ((CPOL) == USART_CPOL_High)) - -/** - * @} - */ - -/** @defgroup USART_Clock_Phase - * @{ - */ - -#define USART_CPHA_1Edge ((uint16_t)0x0000) -#define USART_CPHA_2Edge ((uint16_t)0x0200) -#define IS_USART_CPHA(CPHA) (((CPHA) == USART_CPHA_1Edge) || ((CPHA) == USART_CPHA_2Edge)) - -/** - * @} - */ - -/** @defgroup USART_Last_Bit - * @{ - */ - -#define USART_LastBit_Disable ((uint16_t)0x0000) -#define USART_LastBit_Enable ((uint16_t)0x0100) -#define IS_USART_LASTBIT(LASTBIT) (((LASTBIT) == USART_LastBit_Disable) || \ - ((LASTBIT) == USART_LastBit_Enable)) -/** - * @} - */ - -/** @defgroup USART_Interrupt_definition - * @{ - */ - -#define USART_IT_PE ((uint16_t)0x0028) -#define USART_IT_TXE ((uint16_t)0x0727) -#define USART_IT_TC ((uint16_t)0x0626) -#define USART_IT_RXNE ((uint16_t)0x0525) -#define USART_IT_IDLE ((uint16_t)0x0424) -#define USART_IT_LBD ((uint16_t)0x0846) -#define USART_IT_CTS ((uint16_t)0x096A) -#define USART_IT_ERR ((uint16_t)0x0060) -#define USART_IT_ORE ((uint16_t)0x0360) -#define USART_IT_NE ((uint16_t)0x0260) -#define USART_IT_FE ((uint16_t)0x0160) -#define IS_USART_CONFIG_IT(IT) (((IT) == USART_IT_PE) || ((IT) == USART_IT_TXE) || \ - ((IT) == USART_IT_TC) || ((IT) == USART_IT_RXNE) || \ - ((IT) == USART_IT_IDLE) || ((IT) == USART_IT_LBD) || \ - ((IT) == USART_IT_CTS) || ((IT) == USART_IT_ERR)) -#define IS_USART_GET_IT(IT) (((IT) == USART_IT_PE) || ((IT) == USART_IT_TXE) || \ - ((IT) == USART_IT_TC) || ((IT) == USART_IT_RXNE) || \ - ((IT) == USART_IT_IDLE) || ((IT) == USART_IT_LBD) || \ - ((IT) == USART_IT_CTS) || ((IT) == USART_IT_ORE) || \ - ((IT) == USART_IT_NE) || ((IT) == USART_IT_FE)) -#define IS_USART_CLEAR_IT(IT) (((IT) == USART_IT_TC) || ((IT) == USART_IT_RXNE) || \ - ((IT) == USART_IT_LBD) || ((IT) == USART_IT_CTS)) -/** - * @} - */ - -/** @defgroup USART_DMA_Requests - * @{ - */ - -#define USART_DMAReq_Tx ((uint16_t)0x0080) -#define USART_DMAReq_Rx ((uint16_t)0x0040) -#define IS_USART_DMAREQ(DMAREQ) ((((DMAREQ) & (uint16_t)0xFF3F) == 0x00) && ((DMAREQ) != (uint16_t)0x00)) - -/** - * @} - */ - -/** @defgroup USART_WakeUp_methods - * @{ - */ - -#define USART_WakeUp_IdleLine ((uint16_t)0x0000) -#define USART_WakeUp_AddressMark ((uint16_t)0x0800) -#define IS_USART_WAKEUP(WAKEUP) (((WAKEUP) == USART_WakeUp_IdleLine) || \ - ((WAKEUP) == USART_WakeUp_AddressMark)) -/** - * @} - */ - -/** @defgroup USART_LIN_Break_Detection_Length - * @{ - */ - -#define USART_LINBreakDetectLength_10b ((uint16_t)0x0000) -#define USART_LINBreakDetectLength_11b ((uint16_t)0x0020) -#define IS_USART_LIN_BREAK_DETECT_LENGTH(LENGTH) \ - (((LENGTH) == USART_LINBreakDetectLength_10b) || \ - ((LENGTH) == USART_LINBreakDetectLength_11b)) -/** - * @} - */ - -/** @defgroup USART_IrDA_Low_Power - * @{ - */ - -#define USART_IrDAMode_LowPower ((uint16_t)0x0004) -#define USART_IrDAMode_Normal ((uint16_t)0x0000) -#define IS_USART_IRDA_MODE(MODE) (((MODE) == USART_IrDAMode_LowPower) || \ - ((MODE) == USART_IrDAMode_Normal)) -/** - * @} - */ - -/** @defgroup USART_Flags - * @{ - */ - -#define USART_FLAG_CTS ((uint16_t)0x0200) -#define USART_FLAG_LBD ((uint16_t)0x0100) -#define USART_FLAG_TXE ((uint16_t)0x0080) -#define USART_FLAG_TC ((uint16_t)0x0040) -#define USART_FLAG_RXNE ((uint16_t)0x0020) -#define USART_FLAG_IDLE ((uint16_t)0x0010) -#define USART_FLAG_ORE ((uint16_t)0x0008) -#define USART_FLAG_NE ((uint16_t)0x0004) -#define USART_FLAG_FE ((uint16_t)0x0002) -#define USART_FLAG_PE ((uint16_t)0x0001) -#define IS_USART_FLAG(FLAG) (((FLAG) == USART_FLAG_PE) || ((FLAG) == USART_FLAG_TXE) || \ - ((FLAG) == USART_FLAG_TC) || ((FLAG) == USART_FLAG_RXNE) || \ - ((FLAG) == USART_FLAG_IDLE) || ((FLAG) == USART_FLAG_LBD) || \ - ((FLAG) == USART_FLAG_CTS) || ((FLAG) == USART_FLAG_ORE) || \ - ((FLAG) == USART_FLAG_NE) || ((FLAG) == USART_FLAG_FE)) - -#define IS_USART_CLEAR_FLAG(FLAG) ((((FLAG) & (uint16_t)0xFC9F) == 0x00) && ((FLAG) != (uint16_t)0x00)) -#define IS_USART_PERIPH_FLAG(PERIPH, USART_FLAG) ((((*(uint32_t*)&(PERIPH)) != UART4_BASE) &&\ - ((*(uint32_t*)&(PERIPH)) != UART5_BASE)) \ - || ((USART_FLAG) != USART_FLAG_CTS)) -#define IS_USART_BAUDRATE(BAUDRATE) (((BAUDRATE) > 0) && ((BAUDRATE) < 0x0044AA21)) -#define IS_USART_ADDRESS(ADDRESS) ((ADDRESS) <= 0xF) -#define IS_USART_DATA(DATA) ((DATA) <= 0x1FF) - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup USART_Exported_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup USART_Exported_Functions - * @{ - */ - -void USART_DeInit(USART_TypeDef* USARTx); -void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct); -void USART_StructInit(USART_InitTypeDef* USART_InitStruct); -void USART_ClockInit(USART_TypeDef* USARTx, USART_ClockInitTypeDef* USART_ClockInitStruct); -void USART_ClockStructInit(USART_ClockInitTypeDef* USART_ClockInitStruct); -void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState); -void USART_ITConfig(USART_TypeDef* USARTx, uint16_t USART_IT, FunctionalState NewState); -void USART_DMACmd(USART_TypeDef* USARTx, uint16_t USART_DMAReq, FunctionalState NewState); -void USART_SetAddress(USART_TypeDef* USARTx, uint8_t USART_Address); -void USART_WakeUpConfig(USART_TypeDef* USARTx, uint16_t USART_WakeUp); -void USART_ReceiverWakeUpCmd(USART_TypeDef* USARTx, FunctionalState NewState); -void USART_LINBreakDetectLengthConfig(USART_TypeDef* USARTx, uint16_t USART_LINBreakDetectLength); -void USART_LINCmd(USART_TypeDef* USARTx, FunctionalState NewState); -void USART_SendData(USART_TypeDef* USARTx, uint16_t Data); -uint16_t USART_ReceiveData(USART_TypeDef* USARTx); -void USART_SendBreak(USART_TypeDef* USARTx); -void USART_SetGuardTime(USART_TypeDef* USARTx, uint8_t USART_GuardTime); -void USART_SetPrescaler(USART_TypeDef* USARTx, uint8_t USART_Prescaler); -void USART_SmartCardCmd(USART_TypeDef* USARTx, FunctionalState NewState); -void USART_SmartCardNACKCmd(USART_TypeDef* USARTx, FunctionalState NewState); -void USART_HalfDuplexCmd(USART_TypeDef* USARTx, FunctionalState NewState); -void USART_OverSampling8Cmd(USART_TypeDef* USARTx, FunctionalState NewState); -void USART_OneBitMethodCmd(USART_TypeDef* USARTx, FunctionalState NewState); -void USART_IrDAConfig(USART_TypeDef* USARTx, uint16_t USART_IrDAMode); -void USART_IrDACmd(USART_TypeDef* USARTx, FunctionalState NewState); -FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG); -void USART_ClearFlag(USART_TypeDef* USARTx, uint16_t USART_FLAG); -ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT); -void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_USART_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_wwdg.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_wwdg.h deleted file mode 100644 index cd573da44..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_wwdg.h +++ /dev/null @@ -1,115 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_wwdg.h - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file contains all the functions prototypes for the WWDG firmware - * library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F10x_WWDG_H -#define __STM32F10x_WWDG_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @addtogroup WWDG - * @{ - */ - -/** @defgroup WWDG_Exported_Types - * @{ - */ - -/** - * @} - */ - -/** @defgroup WWDG_Exported_Constants - * @{ - */ - -/** @defgroup WWDG_Prescaler - * @{ - */ - -#define WWDG_Prescaler_1 ((uint32_t)0x00000000) -#define WWDG_Prescaler_2 ((uint32_t)0x00000080) -#define WWDG_Prescaler_4 ((uint32_t)0x00000100) -#define WWDG_Prescaler_8 ((uint32_t)0x00000180) -#define IS_WWDG_PRESCALER(PRESCALER) (((PRESCALER) == WWDG_Prescaler_1) || \ - ((PRESCALER) == WWDG_Prescaler_2) || \ - ((PRESCALER) == WWDG_Prescaler_4) || \ - ((PRESCALER) == WWDG_Prescaler_8)) -#define IS_WWDG_WINDOW_VALUE(VALUE) ((VALUE) <= 0x7F) -#define IS_WWDG_COUNTER(COUNTER) (((COUNTER) >= 0x40) && ((COUNTER) <= 0x7F)) - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup WWDG_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup WWDG_Exported_Functions - * @{ - */ - -void WWDG_DeInit(void); -void WWDG_SetPrescaler(uint32_t WWDG_Prescaler); -void WWDG_SetWindowValue(uint8_t WindowValue); -void WWDG_EnableIT(void); -void WWDG_SetCounter(uint8_t Counter); -void WWDG_Enable(uint8_t Counter); -FlagStatus WWDG_GetFlagStatus(void); -void WWDG_ClearFlag(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F10x_WWDG_H */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c deleted file mode 100644 index ec9165f71..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c +++ /dev/null @@ -1,225 +0,0 @@ -/** - ****************************************************************************** - * @file misc.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the miscellaneous firmware functions (add-on - * to CMSIS functions). - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "misc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup MISC - * @brief MISC driver modules - * @{ - */ - -/** @defgroup MISC_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup MISC_Private_Defines - * @{ - */ - -#define AIRCR_VECTKEY_MASK ((uint32_t)0x05FA0000) -/** - * @} - */ - -/** @defgroup MISC_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup MISC_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup MISC_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup MISC_Private_Functions - * @{ - */ - -/** - * @brief Configures the priority grouping: pre-emption priority and subpriority. - * @param NVIC_PriorityGroup: specifies the priority grouping bits length. - * This parameter can be one of the following values: - * @arg NVIC_PriorityGroup_0: 0 bits for pre-emption priority - * 4 bits for subpriority - * @arg NVIC_PriorityGroup_1: 1 bits for pre-emption priority - * 3 bits for subpriority - * @arg NVIC_PriorityGroup_2: 2 bits for pre-emption priority - * 2 bits for subpriority - * @arg NVIC_PriorityGroup_3: 3 bits for pre-emption priority - * 1 bits for subpriority - * @arg NVIC_PriorityGroup_4: 4 bits for pre-emption priority - * 0 bits for subpriority - * @retval None - */ -void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup) -{ - /* Check the parameters */ - assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup)); - - /* Set the PRIGROUP[10:8] bits according to NVIC_PriorityGroup value */ - SCB->AIRCR = AIRCR_VECTKEY_MASK | NVIC_PriorityGroup; -} - -/** - * @brief Initializes the NVIC peripheral according to the specified - * parameters in the NVIC_InitStruct. - * @param NVIC_InitStruct: pointer to a NVIC_InitTypeDef structure that contains - * the configuration information for the specified NVIC peripheral. - * @retval None - */ -void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct) -{ - uint32_t tmppriority = 0x00, tmppre = 0x00, tmpsub = 0x0F; - - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NVIC_InitStruct->NVIC_IRQChannelCmd)); - assert_param(IS_NVIC_PREEMPTION_PRIORITY(NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority)); - assert_param(IS_NVIC_SUB_PRIORITY(NVIC_InitStruct->NVIC_IRQChannelSubPriority)); - - if (NVIC_InitStruct->NVIC_IRQChannelCmd != DISABLE) - { - /* Compute the Corresponding IRQ Priority --------------------------------*/ - tmppriority = (0x700 - ((SCB->AIRCR) & (uint32_t)0x700))>> 0x08; - tmppre = (0x4 - tmppriority); - tmpsub = tmpsub >> tmppriority; - - tmppriority = (uint32_t)NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << tmppre; - tmppriority |= NVIC_InitStruct->NVIC_IRQChannelSubPriority & tmpsub; - tmppriority = tmppriority << 0x04; - - NVIC->IP[NVIC_InitStruct->NVIC_IRQChannel] = tmppriority; - - /* Enable the Selected IRQ Channels --------------------------------------*/ - NVIC->ISER[NVIC_InitStruct->NVIC_IRQChannel >> 0x05] = - (uint32_t)0x01 << (NVIC_InitStruct->NVIC_IRQChannel & (uint8_t)0x1F); - } - else - { - /* Disable the Selected IRQ Channels -------------------------------------*/ - NVIC->ICER[NVIC_InitStruct->NVIC_IRQChannel >> 0x05] = - (uint32_t)0x01 << (NVIC_InitStruct->NVIC_IRQChannel & (uint8_t)0x1F); - } -} - -/** - * @brief Sets the vector table location and Offset. - * @param NVIC_VectTab: specifies if the vector table is in RAM or FLASH memory. - * This parameter can be one of the following values: - * @arg NVIC_VectTab_RAM - * @arg NVIC_VectTab_FLASH - * @param Offset: Vector Table base offset field. This value must be a multiple - * of 0x200. - * @retval None - */ -void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset) -{ - /* Check the parameters */ - assert_param(IS_NVIC_VECTTAB(NVIC_VectTab)); - assert_param(IS_NVIC_OFFSET(Offset)); - - SCB->VTOR = NVIC_VectTab | (Offset & (uint32_t)0x1FFFFF80); -} - -/** - * @brief Selects the condition for the system to enter low power mode. - * @param LowPowerMode: Specifies the new mode for the system to enter low power mode. - * This parameter can be one of the following values: - * @arg NVIC_LP_SEVONPEND - * @arg NVIC_LP_SLEEPDEEP - * @arg NVIC_LP_SLEEPONEXIT - * @param NewState: new state of LP condition. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_NVIC_LP(LowPowerMode)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - SCB->SCR |= LowPowerMode; - } - else - { - SCB->SCR &= (uint32_t)(~(uint32_t)LowPowerMode); - } -} - -/** - * @brief Configures the SysTick clock source. - * @param SysTick_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 SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource) -{ - /* Check the parameters */ - assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource)); - if (SysTick_CLKSource == SysTick_CLKSource_HCLK) - { - SysTick->CTRL |= SysTick_CLKSource_HCLK; - } - else - { - SysTick->CTRL &= SysTick_CLKSource_HCLK_Div8; - } -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c deleted file mode 100644 index 916a096d4..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c +++ /dev/null @@ -1,1307 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_adc.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the ADC firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_adc.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup ADC - * @brief ADC driver modules - * @{ - */ - -/** @defgroup ADC_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup ADC_Private_Defines - * @{ - */ - -/* ADC DISCNUM mask */ -#define CR1_DISCNUM_Reset ((uint32_t)0xFFFF1FFF) - -/* ADC DISCEN mask */ -#define CR1_DISCEN_Set ((uint32_t)0x00000800) -#define CR1_DISCEN_Reset ((uint32_t)0xFFFFF7FF) - -/* ADC JAUTO mask */ -#define CR1_JAUTO_Set ((uint32_t)0x00000400) -#define CR1_JAUTO_Reset ((uint32_t)0xFFFFFBFF) - -/* ADC JDISCEN mask */ -#define CR1_JDISCEN_Set ((uint32_t)0x00001000) -#define CR1_JDISCEN_Reset ((uint32_t)0xFFFFEFFF) - -/* ADC AWDCH mask */ -#define CR1_AWDCH_Reset ((uint32_t)0xFFFFFFE0) - -/* ADC Analog watchdog enable mode mask */ -#define CR1_AWDMode_Reset ((uint32_t)0xFF3FFDFF) - -/* CR1 register Mask */ -#define CR1_CLEAR_Mask ((uint32_t)0xFFF0FEFF) - -/* ADC ADON mask */ -#define CR2_ADON_Set ((uint32_t)0x00000001) -#define CR2_ADON_Reset ((uint32_t)0xFFFFFFFE) - -/* ADC DMA mask */ -#define CR2_DMA_Set ((uint32_t)0x00000100) -#define CR2_DMA_Reset ((uint32_t)0xFFFFFEFF) - -/* ADC RSTCAL mask */ -#define CR2_RSTCAL_Set ((uint32_t)0x00000008) - -/* ADC CAL mask */ -#define CR2_CAL_Set ((uint32_t)0x00000004) - -/* ADC SWSTART mask */ -#define CR2_SWSTART_Set ((uint32_t)0x00400000) - -/* ADC EXTTRIG mask */ -#define CR2_EXTTRIG_Set ((uint32_t)0x00100000) -#define CR2_EXTTRIG_Reset ((uint32_t)0xFFEFFFFF) - -/* ADC Software start mask */ -#define CR2_EXTTRIG_SWSTART_Set ((uint32_t)0x00500000) -#define CR2_EXTTRIG_SWSTART_Reset ((uint32_t)0xFFAFFFFF) - -/* ADC JEXTSEL mask */ -#define CR2_JEXTSEL_Reset ((uint32_t)0xFFFF8FFF) - -/* ADC JEXTTRIG mask */ -#define CR2_JEXTTRIG_Set ((uint32_t)0x00008000) -#define CR2_JEXTTRIG_Reset ((uint32_t)0xFFFF7FFF) - -/* ADC JSWSTART mask */ -#define CR2_JSWSTART_Set ((uint32_t)0x00200000) - -/* ADC injected software start mask */ -#define CR2_JEXTTRIG_JSWSTART_Set ((uint32_t)0x00208000) -#define CR2_JEXTTRIG_JSWSTART_Reset ((uint32_t)0xFFDF7FFF) - -/* ADC TSPD mask */ -#define CR2_TSVREFE_Set ((uint32_t)0x00800000) -#define CR2_TSVREFE_Reset ((uint32_t)0xFF7FFFFF) - -/* CR2 register Mask */ -#define CR2_CLEAR_Mask ((uint32_t)0xFFF1F7FD) - -/* ADC SQx mask */ -#define SQR3_SQ_Set ((uint32_t)0x0000001F) -#define SQR2_SQ_Set ((uint32_t)0x0000001F) -#define SQR1_SQ_Set ((uint32_t)0x0000001F) - -/* SQR1 register Mask */ -#define SQR1_CLEAR_Mask ((uint32_t)0xFF0FFFFF) - -/* ADC JSQx mask */ -#define JSQR_JSQ_Set ((uint32_t)0x0000001F) - -/* ADC JL mask */ -#define JSQR_JL_Set ((uint32_t)0x00300000) -#define JSQR_JL_Reset ((uint32_t)0xFFCFFFFF) - -/* ADC SMPx mask */ -#define SMPR1_SMP_Set ((uint32_t)0x00000007) -#define SMPR2_SMP_Set ((uint32_t)0x00000007) - -/* ADC JDRx registers offset */ -#define JDR_Offset ((uint8_t)0x28) - -/* ADC1 DR register base address */ -#define DR_ADDRESS ((uint32_t)0x4001244C) - -/** - * @} - */ - -/** @defgroup ADC_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup ADC_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup ADC_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup ADC_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the ADCx peripheral registers to their default reset values. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval None - */ -void ADC_DeInit(ADC_TypeDef* ADCx) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - - if (ADCx == ADC1) - { - /* Enable ADC1 reset state */ - RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1, ENABLE); - /* Release ADC1 from reset state */ - RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1, DISABLE); - } - else if (ADCx == ADC2) - { - /* Enable ADC2 reset state */ - RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC2, ENABLE); - /* Release ADC2 from reset state */ - RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC2, DISABLE); - } - else - { - if (ADCx == ADC3) - { - /* Enable ADC3 reset state */ - RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC3, ENABLE); - /* Release ADC3 from reset state */ - RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC3, DISABLE); - } - } -} - -/** - * @brief Initializes the ADCx peripheral according to the specified parameters - * in the ADC_InitStruct. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_InitStruct: pointer to an ADC_InitTypeDef structure that contains - * the configuration information for the specified ADC peripheral. - * @retval None - */ -void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct) -{ - uint32_t tmpreg1 = 0; - uint8_t tmpreg2 = 0; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_MODE(ADC_InitStruct->ADC_Mode)); - assert_param(IS_FUNCTIONAL_STATE(ADC_InitStruct->ADC_ScanConvMode)); - assert_param(IS_FUNCTIONAL_STATE(ADC_InitStruct->ADC_ContinuousConvMode)); - assert_param(IS_ADC_EXT_TRIG(ADC_InitStruct->ADC_ExternalTrigConv)); - assert_param(IS_ADC_DATA_ALIGN(ADC_InitStruct->ADC_DataAlign)); - assert_param(IS_ADC_REGULAR_LENGTH(ADC_InitStruct->ADC_NbrOfChannel)); - - /*---------------------------- ADCx CR1 Configuration -----------------*/ - /* Get the ADCx CR1 value */ - tmpreg1 = ADCx->CR1; - /* Clear DUALMOD and SCAN bits */ - tmpreg1 &= CR1_CLEAR_Mask; - /* Configure ADCx: Dual mode and scan conversion mode */ - /* Set DUALMOD bits according to ADC_Mode value */ - /* Set SCAN bit according to ADC_ScanConvMode value */ - tmpreg1 |= (uint32_t)(ADC_InitStruct->ADC_Mode | ((uint32_t)ADC_InitStruct->ADC_ScanConvMode << 8)); - /* Write to ADCx CR1 */ - ADCx->CR1 = tmpreg1; - - /*---------------------------- ADCx CR2 Configuration -----------------*/ - /* Get the ADCx CR2 value */ - tmpreg1 = ADCx->CR2; - /* Clear CONT, ALIGN and EXTSEL bits */ - tmpreg1 &= CR2_CLEAR_Mask; - /* Configure ADCx: external trigger event and continuous conversion mode */ - /* Set ALIGN bit according to ADC_DataAlign value */ - /* Set EXTSEL bits according to ADC_ExternalTrigConv value */ - /* Set CONT bit according to ADC_ContinuousConvMode value */ - tmpreg1 |= (uint32_t)(ADC_InitStruct->ADC_DataAlign | ADC_InitStruct->ADC_ExternalTrigConv | - ((uint32_t)ADC_InitStruct->ADC_ContinuousConvMode << 1)); - /* Write to ADCx CR2 */ - ADCx->CR2 = tmpreg1; - - /*---------------------------- ADCx SQR1 Configuration -----------------*/ - /* Get the ADCx SQR1 value */ - tmpreg1 = ADCx->SQR1; - /* Clear L bits */ - tmpreg1 &= SQR1_CLEAR_Mask; - /* Configure ADCx: regular channel sequence length */ - /* Set L bits according to ADC_NbrOfChannel value */ - tmpreg2 |= (uint8_t) (ADC_InitStruct->ADC_NbrOfChannel - (uint8_t)1); - tmpreg1 |= (uint32_t)tmpreg2 << 20; - /* Write to ADCx SQR1 */ - ADCx->SQR1 = tmpreg1; -} - -/** - * @brief Fills each ADC_InitStruct member with its default value. - * @param ADC_InitStruct : pointer to an ADC_InitTypeDef structure which will be initialized. - * @retval None - */ -void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct) -{ - /* Reset ADC init structure parameters values */ - /* Initialize the ADC_Mode member */ - ADC_InitStruct->ADC_Mode = ADC_Mode_Independent; - /* initialize the ADC_ScanConvMode member */ - ADC_InitStruct->ADC_ScanConvMode = DISABLE; - /* Initialize the ADC_ContinuousConvMode member */ - ADC_InitStruct->ADC_ContinuousConvMode = DISABLE; - /* Initialize the ADC_ExternalTrigConv member */ - ADC_InitStruct->ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1; - /* Initialize the ADC_DataAlign member */ - ADC_InitStruct->ADC_DataAlign = ADC_DataAlign_Right; - /* Initialize the ADC_NbrOfChannel member */ - ADC_InitStruct->ADC_NbrOfChannel = 1; -} - -/** - * @brief Enables or disables the specified ADC peripheral. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param NewState: new state of the ADCx peripheral. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Set the ADON bit to wake up the ADC from power down mode */ - ADCx->CR2 |= CR2_ADON_Set; - } - else - { - /* Disable the selected ADC peripheral */ - ADCx->CR2 &= CR2_ADON_Reset; - } -} - -/** - * @brief Enables or disables the specified ADC DMA request. - * @param ADCx: where x can be 1 or 3 to select the ADC peripheral. - * Note: ADC2 hasn't a DMA capability. - * @param NewState: new state of the selected ADC DMA transfer. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_DMACmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_ADC_DMA_PERIPH(ADCx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected ADC DMA request */ - ADCx->CR2 |= CR2_DMA_Set; - } - else - { - /* Disable the selected ADC DMA request */ - ADCx->CR2 &= CR2_DMA_Reset; - } -} - -/** - * @brief Enables or disables the specified ADC interrupts. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_IT: specifies the ADC interrupt sources to be enabled or disabled. - * This parameter can be any combination of the following values: - * @arg ADC_IT_EOC: End of conversion interrupt mask - * @arg ADC_IT_AWD: Analog watchdog interrupt mask - * @arg ADC_IT_JEOC: End of injected conversion interrupt mask - * @param NewState: new state of the specified ADC interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_ITConfig(ADC_TypeDef* ADCx, uint16_t ADC_IT, FunctionalState NewState) -{ - uint8_t itmask = 0; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - assert_param(IS_ADC_IT(ADC_IT)); - /* Get the ADC IT index */ - itmask = (uint8_t)ADC_IT; - if (NewState != DISABLE) - { - /* Enable the selected ADC interrupts */ - ADCx->CR1 |= itmask; - } - else - { - /* Disable the selected ADC interrupts */ - ADCx->CR1 &= (~(uint32_t)itmask); - } -} - -/** - * @brief Resets the selected ADC calibration registers. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval None - */ -void ADC_ResetCalibration(ADC_TypeDef* ADCx) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - /* Resets the selected ADC calibration registers */ - ADCx->CR2 |= CR2_RSTCAL_Set; -} - -/** - * @brief Gets the selected ADC reset calibration registers status. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval The new state of ADC reset calibration registers (SET or RESET). - */ -FlagStatus ADC_GetResetCalibrationStatus(ADC_TypeDef* ADCx) -{ - FlagStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - /* Check the status of RSTCAL bit */ - if ((ADCx->CR2 & CR2_RSTCAL_Set) != (uint32_t)RESET) - { - /* RSTCAL bit is set */ - bitstatus = SET; - } - else - { - /* RSTCAL bit is reset */ - bitstatus = RESET; - } - /* Return the RSTCAL bit status */ - return bitstatus; -} - -/** - * @brief Starts the selected ADC calibration process. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval None - */ -void ADC_StartCalibration(ADC_TypeDef* ADCx) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - /* Enable the selected ADC calibration process */ - ADCx->CR2 |= CR2_CAL_Set; -} - -/** - * @brief Gets the selected ADC calibration status. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval The new state of ADC calibration (SET or RESET). - */ -FlagStatus ADC_GetCalibrationStatus(ADC_TypeDef* ADCx) -{ - FlagStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - /* Check the status of CAL bit */ - if ((ADCx->CR2 & CR2_CAL_Set) != (uint32_t)RESET) - { - /* CAL bit is set: calibration on going */ - bitstatus = SET; - } - else - { - /* CAL bit is reset: end of calibration */ - bitstatus = RESET; - } - /* Return the CAL bit status */ - return bitstatus; -} - -/** - * @brief Enables or disables the selected ADC software start conversion . - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param NewState: new state of the selected ADC software start conversion. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected ADC conversion on external event and start the selected - ADC conversion */ - ADCx->CR2 |= CR2_EXTTRIG_SWSTART_Set; - } - else - { - /* Disable the selected ADC conversion on external event and stop the selected - ADC conversion */ - ADCx->CR2 &= CR2_EXTTRIG_SWSTART_Reset; - } -} - -/** - * @brief Gets the selected ADC Software start conversion Status. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval The new state of ADC software start conversion (SET or RESET). - */ -FlagStatus ADC_GetSoftwareStartConvStatus(ADC_TypeDef* ADCx) -{ - FlagStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - /* Check the status of SWSTART bit */ - if ((ADCx->CR2 & CR2_SWSTART_Set) != (uint32_t)RESET) - { - /* SWSTART bit is set */ - bitstatus = SET; - } - else - { - /* SWSTART bit is reset */ - bitstatus = RESET; - } - /* Return the SWSTART bit status */ - return bitstatus; -} - -/** - * @brief Configures the discontinuous mode for the selected ADC regular - * group channel. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param Number: specifies the discontinuous mode regular channel - * count value. This number must be between 1 and 8. - * @retval None - */ -void ADC_DiscModeChannelCountConfig(ADC_TypeDef* ADCx, uint8_t Number) -{ - uint32_t tmpreg1 = 0; - uint32_t tmpreg2 = 0; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_REGULAR_DISC_NUMBER(Number)); - /* Get the old register value */ - tmpreg1 = ADCx->CR1; - /* Clear the old discontinuous mode channel count */ - tmpreg1 &= CR1_DISCNUM_Reset; - /* Set the discontinuous mode channel count */ - tmpreg2 = Number - 1; - tmpreg1 |= tmpreg2 << 13; - /* Store the new register value */ - ADCx->CR1 = tmpreg1; -} - -/** - * @brief Enables or disables the discontinuous mode on regular group - * channel for the specified ADC - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param NewState: new state of the selected ADC discontinuous mode - * on regular group channel. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_DiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected ADC regular discontinuous mode */ - ADCx->CR1 |= CR1_DISCEN_Set; - } - else - { - /* Disable the selected ADC regular discontinuous mode */ - ADCx->CR1 &= CR1_DISCEN_Reset; - } -} - -/** - * @brief Configures for the selected ADC regular channel its corresponding - * rank in the sequencer and its sample time. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_Channel: the ADC channel to configure. - * This parameter can be one of the following values: - * @arg ADC_Channel_0: ADC Channel0 selected - * @arg ADC_Channel_1: ADC Channel1 selected - * @arg ADC_Channel_2: ADC Channel2 selected - * @arg ADC_Channel_3: ADC Channel3 selected - * @arg ADC_Channel_4: ADC Channel4 selected - * @arg ADC_Channel_5: ADC Channel5 selected - * @arg ADC_Channel_6: ADC Channel6 selected - * @arg ADC_Channel_7: ADC Channel7 selected - * @arg ADC_Channel_8: ADC Channel8 selected - * @arg ADC_Channel_9: ADC Channel9 selected - * @arg ADC_Channel_10: ADC Channel10 selected - * @arg ADC_Channel_11: ADC Channel11 selected - * @arg ADC_Channel_12: ADC Channel12 selected - * @arg ADC_Channel_13: ADC Channel13 selected - * @arg ADC_Channel_14: ADC Channel14 selected - * @arg ADC_Channel_15: ADC Channel15 selected - * @arg ADC_Channel_16: ADC Channel16 selected - * @arg ADC_Channel_17: ADC Channel17 selected - * @param Rank: The rank in the regular group sequencer. This parameter must be between 1 to 16. - * @param ADC_SampleTime: The sample time value to be set for the selected channel. - * This parameter can be one of the following values: - * @arg ADC_SampleTime_1Cycles5: Sample time equal to 1.5 cycles - * @arg ADC_SampleTime_7Cycles5: Sample time equal to 7.5 cycles - * @arg ADC_SampleTime_13Cycles5: Sample time equal to 13.5 cycles - * @arg ADC_SampleTime_28Cycles5: Sample time equal to 28.5 cycles - * @arg ADC_SampleTime_41Cycles5: Sample time equal to 41.5 cycles - * @arg ADC_SampleTime_55Cycles5: Sample time equal to 55.5 cycles - * @arg ADC_SampleTime_71Cycles5: Sample time equal to 71.5 cycles - * @arg ADC_SampleTime_239Cycles5: Sample time equal to 239.5 cycles - * @retval None - */ -void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime) -{ - uint32_t tmpreg1 = 0, tmpreg2 = 0; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_CHANNEL(ADC_Channel)); - assert_param(IS_ADC_REGULAR_RANK(Rank)); - assert_param(IS_ADC_SAMPLE_TIME(ADC_SampleTime)); - /* if ADC_Channel_10 ... ADC_Channel_17 is selected */ - if (ADC_Channel > ADC_Channel_9) - { - /* Get the old register value */ - tmpreg1 = ADCx->SMPR1; - /* Calculate the mask to clear */ - tmpreg2 = SMPR1_SMP_Set << (3 * (ADC_Channel - 10)); - /* Clear the old channel sample time */ - tmpreg1 &= ~tmpreg2; - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_SampleTime << (3 * (ADC_Channel - 10)); - /* Set the new channel sample time */ - tmpreg1 |= tmpreg2; - /* Store the new register value */ - ADCx->SMPR1 = tmpreg1; - } - else /* ADC_Channel include in ADC_Channel_[0..9] */ - { - /* Get the old register value */ - tmpreg1 = ADCx->SMPR2; - /* Calculate the mask to clear */ - tmpreg2 = SMPR2_SMP_Set << (3 * ADC_Channel); - /* Clear the old channel sample time */ - tmpreg1 &= ~tmpreg2; - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_SampleTime << (3 * ADC_Channel); - /* Set the new channel sample time */ - tmpreg1 |= tmpreg2; - /* Store the new register value */ - ADCx->SMPR2 = tmpreg1; - } - /* For Rank 1 to 6 */ - if (Rank < 7) - { - /* Get the old register value */ - tmpreg1 = ADCx->SQR3; - /* Calculate the mask to clear */ - tmpreg2 = SQR3_SQ_Set << (5 * (Rank - 1)); - /* Clear the old SQx bits for the selected rank */ - tmpreg1 &= ~tmpreg2; - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_Channel << (5 * (Rank - 1)); - /* Set the SQx bits for the selected rank */ - tmpreg1 |= tmpreg2; - /* Store the new register value */ - ADCx->SQR3 = tmpreg1; - } - /* For Rank 7 to 12 */ - else if (Rank < 13) - { - /* Get the old register value */ - tmpreg1 = ADCx->SQR2; - /* Calculate the mask to clear */ - tmpreg2 = SQR2_SQ_Set << (5 * (Rank - 7)); - /* Clear the old SQx bits for the selected rank */ - tmpreg1 &= ~tmpreg2; - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_Channel << (5 * (Rank - 7)); - /* Set the SQx bits for the selected rank */ - tmpreg1 |= tmpreg2; - /* Store the new register value */ - ADCx->SQR2 = tmpreg1; - } - /* For Rank 13 to 16 */ - else - { - /* Get the old register value */ - tmpreg1 = ADCx->SQR1; - /* Calculate the mask to clear */ - tmpreg2 = SQR1_SQ_Set << (5 * (Rank - 13)); - /* Clear the old SQx bits for the selected rank */ - tmpreg1 &= ~tmpreg2; - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_Channel << (5 * (Rank - 13)); - /* Set the SQx bits for the selected rank */ - tmpreg1 |= tmpreg2; - /* Store the new register value */ - ADCx->SQR1 = tmpreg1; - } -} - -/** - * @brief Enables or disables the ADCx conversion through external trigger. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param NewState: new state of the selected ADC external trigger start of conversion. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_ExternalTrigConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected ADC conversion on external event */ - ADCx->CR2 |= CR2_EXTTRIG_Set; - } - else - { - /* Disable the selected ADC conversion on external event */ - ADCx->CR2 &= CR2_EXTTRIG_Reset; - } -} - -/** - * @brief Returns the last ADCx conversion result data for regular channel. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval The Data conversion value. - */ -uint16_t ADC_GetConversionValue(ADC_TypeDef* ADCx) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - /* Return the selected ADC conversion value */ - return (uint16_t) ADCx->DR; -} - -/** - * @brief Returns the last ADC1 and ADC2 conversion result data in dual mode. - * @retval The Data conversion value. - */ -uint32_t ADC_GetDualModeConversionValue(void) -{ - /* Return the dual mode conversion value */ - return (*(__IO uint32_t *) DR_ADDRESS); -} - -/** - * @brief Enables or disables the selected ADC automatic injected group - * conversion after regular one. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param NewState: new state of the selected ADC auto injected conversion - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_AutoInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected ADC automatic injected group conversion */ - ADCx->CR1 |= CR1_JAUTO_Set; - } - else - { - /* Disable the selected ADC automatic injected group conversion */ - ADCx->CR1 &= CR1_JAUTO_Reset; - } -} - -/** - * @brief Enables or disables the discontinuous mode for injected group - * channel for the specified ADC - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param NewState: new state of the selected ADC discontinuous mode - * on injected group channel. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_InjectedDiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected ADC injected discontinuous mode */ - ADCx->CR1 |= CR1_JDISCEN_Set; - } - else - { - /* Disable the selected ADC injected discontinuous mode */ - ADCx->CR1 &= CR1_JDISCEN_Reset; - } -} - -/** - * @brief Configures the ADCx external trigger for injected channels conversion. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_ExternalTrigInjecConv: specifies the ADC trigger to start injected conversion. - * This parameter can be one of the following values: - * @arg ADC_ExternalTrigInjecConv_T1_TRGO: Timer1 TRGO event selected (for ADC1, ADC2 and ADC3) - * @arg ADC_ExternalTrigInjecConv_T1_CC4: Timer1 capture compare4 selected (for ADC1, ADC2 and ADC3) - * @arg ADC_ExternalTrigInjecConv_T2_TRGO: Timer2 TRGO event selected (for ADC1 and ADC2) - * @arg ADC_ExternalTrigInjecConv_T2_CC1: Timer2 capture compare1 selected (for ADC1 and ADC2) - * @arg ADC_ExternalTrigInjecConv_T3_CC4: Timer3 capture compare4 selected (for ADC1 and ADC2) - * @arg ADC_ExternalTrigInjecConv_T4_TRGO: Timer4 TRGO event selected (for ADC1 and ADC2) - * @arg ADC_ExternalTrigInjecConv_Ext_IT15_TIM8_CC4: External interrupt line 15 or Timer8 - * capture compare4 event selected (for ADC1 and ADC2) - * @arg ADC_ExternalTrigInjecConv_T4_CC3: Timer4 capture compare3 selected (for ADC3 only) - * @arg ADC_ExternalTrigInjecConv_T8_CC2: Timer8 capture compare2 selected (for ADC3 only) - * @arg ADC_ExternalTrigInjecConv_T8_CC4: Timer8 capture compare4 selected (for ADC3 only) - * @arg ADC_ExternalTrigInjecConv_T5_TRGO: Timer5 TRGO event selected (for ADC3 only) - * @arg ADC_ExternalTrigInjecConv_T5_CC4: Timer5 capture compare4 selected (for ADC3 only) - * @arg ADC_ExternalTrigInjecConv_None: Injected conversion started by software and not - * by external trigger (for ADC1, ADC2 and ADC3) - * @retval None - */ -void ADC_ExternalTrigInjectedConvConfig(ADC_TypeDef* ADCx, uint32_t ADC_ExternalTrigInjecConv) -{ - uint32_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_EXT_INJEC_TRIG(ADC_ExternalTrigInjecConv)); - /* Get the old register value */ - tmpreg = ADCx->CR2; - /* Clear the old external event selection for injected group */ - tmpreg &= CR2_JEXTSEL_Reset; - /* Set the external event selection for injected group */ - tmpreg |= ADC_ExternalTrigInjecConv; - /* Store the new register value */ - ADCx->CR2 = tmpreg; -} - -/** - * @brief Enables or disables the ADCx injected channels conversion through - * external trigger - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param NewState: new state of the selected ADC external trigger start of - * injected conversion. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_ExternalTrigInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected ADC external event selection for injected group */ - ADCx->CR2 |= CR2_JEXTTRIG_Set; - } - else - { - /* Disable the selected ADC external event selection for injected group */ - ADCx->CR2 &= CR2_JEXTTRIG_Reset; - } -} - -/** - * @brief Enables or disables the selected ADC start of the injected - * channels conversion. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param NewState: new state of the selected ADC software start injected conversion. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_SoftwareStartInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected ADC conversion for injected group on external event and start the selected - ADC injected conversion */ - ADCx->CR2 |= CR2_JEXTTRIG_JSWSTART_Set; - } - else - { - /* Disable the selected ADC conversion on external event for injected group and stop the selected - ADC injected conversion */ - ADCx->CR2 &= CR2_JEXTTRIG_JSWSTART_Reset; - } -} - -/** - * @brief Gets the selected ADC Software start injected conversion Status. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval The new state of ADC software start injected conversion (SET or RESET). - */ -FlagStatus ADC_GetSoftwareStartInjectedConvCmdStatus(ADC_TypeDef* ADCx) -{ - FlagStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - /* Check the status of JSWSTART bit */ - if ((ADCx->CR2 & CR2_JSWSTART_Set) != (uint32_t)RESET) - { - /* JSWSTART bit is set */ - bitstatus = SET; - } - else - { - /* JSWSTART bit is reset */ - bitstatus = RESET; - } - /* Return the JSWSTART bit status */ - return bitstatus; -} - -/** - * @brief Configures for the selected ADC injected channel its corresponding - * rank in the sequencer and its sample time. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_Channel: the ADC channel to configure. - * This parameter can be one of the following values: - * @arg ADC_Channel_0: ADC Channel0 selected - * @arg ADC_Channel_1: ADC Channel1 selected - * @arg ADC_Channel_2: ADC Channel2 selected - * @arg ADC_Channel_3: ADC Channel3 selected - * @arg ADC_Channel_4: ADC Channel4 selected - * @arg ADC_Channel_5: ADC Channel5 selected - * @arg ADC_Channel_6: ADC Channel6 selected - * @arg ADC_Channel_7: ADC Channel7 selected - * @arg ADC_Channel_8: ADC Channel8 selected - * @arg ADC_Channel_9: ADC Channel9 selected - * @arg ADC_Channel_10: ADC Channel10 selected - * @arg ADC_Channel_11: ADC Channel11 selected - * @arg ADC_Channel_12: ADC Channel12 selected - * @arg ADC_Channel_13: ADC Channel13 selected - * @arg ADC_Channel_14: ADC Channel14 selected - * @arg ADC_Channel_15: ADC Channel15 selected - * @arg ADC_Channel_16: ADC Channel16 selected - * @arg ADC_Channel_17: ADC Channel17 selected - * @param Rank: The rank in the injected group sequencer. This parameter must be between 1 and 4. - * @param ADC_SampleTime: The sample time value to be set for the selected channel. - * This parameter can be one of the following values: - * @arg ADC_SampleTime_1Cycles5: Sample time equal to 1.5 cycles - * @arg ADC_SampleTime_7Cycles5: Sample time equal to 7.5 cycles - * @arg ADC_SampleTime_13Cycles5: Sample time equal to 13.5 cycles - * @arg ADC_SampleTime_28Cycles5: Sample time equal to 28.5 cycles - * @arg ADC_SampleTime_41Cycles5: Sample time equal to 41.5 cycles - * @arg ADC_SampleTime_55Cycles5: Sample time equal to 55.5 cycles - * @arg ADC_SampleTime_71Cycles5: Sample time equal to 71.5 cycles - * @arg ADC_SampleTime_239Cycles5: Sample time equal to 239.5 cycles - * @retval None - */ -void ADC_InjectedChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime) -{ - uint32_t tmpreg1 = 0, tmpreg2 = 0, tmpreg3 = 0; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_CHANNEL(ADC_Channel)); - assert_param(IS_ADC_INJECTED_RANK(Rank)); - assert_param(IS_ADC_SAMPLE_TIME(ADC_SampleTime)); - /* if ADC_Channel_10 ... ADC_Channel_17 is selected */ - if (ADC_Channel > ADC_Channel_9) - { - /* Get the old register value */ - tmpreg1 = ADCx->SMPR1; - /* Calculate the mask to clear */ - tmpreg2 = SMPR1_SMP_Set << (3*(ADC_Channel - 10)); - /* Clear the old channel sample time */ - tmpreg1 &= ~tmpreg2; - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_SampleTime << (3*(ADC_Channel - 10)); - /* Set the new channel sample time */ - tmpreg1 |= tmpreg2; - /* Store the new register value */ - ADCx->SMPR1 = tmpreg1; - } - else /* ADC_Channel include in ADC_Channel_[0..9] */ - { - /* Get the old register value */ - tmpreg1 = ADCx->SMPR2; - /* Calculate the mask to clear */ - tmpreg2 = SMPR2_SMP_Set << (3 * ADC_Channel); - /* Clear the old channel sample time */ - tmpreg1 &= ~tmpreg2; - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_SampleTime << (3 * ADC_Channel); - /* Set the new channel sample time */ - tmpreg1 |= tmpreg2; - /* Store the new register value */ - ADCx->SMPR2 = tmpreg1; - } - /* Rank configuration */ - /* Get the old register value */ - tmpreg1 = ADCx->JSQR; - /* Get JL value: Number = JL+1 */ - tmpreg3 = (tmpreg1 & JSQR_JL_Set)>> 20; - /* Calculate the mask to clear: ((Rank-1)+(4-JL-1)) */ - tmpreg2 = JSQR_JSQ_Set << (5 * (uint8_t)((Rank + 3) - (tmpreg3 + 1))); - /* Clear the old JSQx bits for the selected rank */ - tmpreg1 &= ~tmpreg2; - /* Calculate the mask to set: ((Rank-1)+(4-JL-1)) */ - tmpreg2 = (uint32_t)ADC_Channel << (5 * (uint8_t)((Rank + 3) - (tmpreg3 + 1))); - /* Set the JSQx bits for the selected rank */ - tmpreg1 |= tmpreg2; - /* Store the new register value */ - ADCx->JSQR = tmpreg1; -} - -/** - * @brief Configures the sequencer length for injected channels - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param Length: The sequencer length. - * This parameter must be a number between 1 to 4. - * @retval None - */ -void ADC_InjectedSequencerLengthConfig(ADC_TypeDef* ADCx, uint8_t Length) -{ - uint32_t tmpreg1 = 0; - uint32_t tmpreg2 = 0; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_INJECTED_LENGTH(Length)); - - /* Get the old register value */ - tmpreg1 = ADCx->JSQR; - /* Clear the old injected sequnence lenght JL bits */ - tmpreg1 &= JSQR_JL_Reset; - /* Set the injected sequnence lenght JL bits */ - tmpreg2 = Length - 1; - tmpreg1 |= tmpreg2 << 20; - /* Store the new register value */ - ADCx->JSQR = tmpreg1; -} - -/** - * @brief Set the injected channels conversion value offset - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_InjectedChannel: the ADC injected channel to set its offset. - * This parameter can be one of the following values: - * @arg ADC_InjectedChannel_1: Injected Channel1 selected - * @arg ADC_InjectedChannel_2: Injected Channel2 selected - * @arg ADC_InjectedChannel_3: Injected Channel3 selected - * @arg ADC_InjectedChannel_4: Injected Channel4 selected - * @param Offset: the offset value for the selected ADC injected channel - * This parameter must be a 12bit value. - * @retval None - */ -void ADC_SetInjectedOffset(ADC_TypeDef* ADCx, uint8_t ADC_InjectedChannel, uint16_t Offset) -{ - __IO uint32_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_INJECTED_CHANNEL(ADC_InjectedChannel)); - assert_param(IS_ADC_OFFSET(Offset)); - - tmp = (uint32_t)ADCx; - tmp += ADC_InjectedChannel; - - /* Set the selected injected channel data offset */ - *(__IO uint32_t *) tmp = (uint32_t)Offset; -} - -/** - * @brief Returns the ADC injected channel conversion result - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_InjectedChannel: the converted ADC injected channel. - * This parameter can be one of the following values: - * @arg ADC_InjectedChannel_1: Injected Channel1 selected - * @arg ADC_InjectedChannel_2: Injected Channel2 selected - * @arg ADC_InjectedChannel_3: Injected Channel3 selected - * @arg ADC_InjectedChannel_4: Injected Channel4 selected - * @retval The Data conversion value. - */ -uint16_t ADC_GetInjectedConversionValue(ADC_TypeDef* ADCx, uint8_t ADC_InjectedChannel) -{ - __IO uint32_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_INJECTED_CHANNEL(ADC_InjectedChannel)); - - tmp = (uint32_t)ADCx; - tmp += ADC_InjectedChannel + JDR_Offset; - - /* Returns the selected injected channel conversion data value */ - return (uint16_t) (*(__IO uint32_t*) tmp); -} - -/** - * @brief Enables or disables the analog watchdog on single/all regular - * or injected channels - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_AnalogWatchdog: the ADC analog watchdog configuration. - * This parameter can be one of the following values: - * @arg ADC_AnalogWatchdog_SingleRegEnable: Analog watchdog on a single regular channel - * @arg ADC_AnalogWatchdog_SingleInjecEnable: Analog watchdog on a single injected channel - * @arg ADC_AnalogWatchdog_SingleRegOrInjecEnable: Analog watchdog on a single regular or injected channel - * @arg ADC_AnalogWatchdog_AllRegEnable: Analog watchdog on all regular channel - * @arg ADC_AnalogWatchdog_AllInjecEnable: Analog watchdog on all injected channel - * @arg ADC_AnalogWatchdog_AllRegAllInjecEnable: Analog watchdog on all regular and injected channels - * @arg ADC_AnalogWatchdog_None: No channel guarded by the analog watchdog - * @retval None - */ -void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx, uint32_t ADC_AnalogWatchdog) -{ - uint32_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_ANALOG_WATCHDOG(ADC_AnalogWatchdog)); - /* Get the old register value */ - tmpreg = ADCx->CR1; - /* Clear AWDEN, AWDENJ and AWDSGL bits */ - tmpreg &= CR1_AWDMode_Reset; - /* Set the analog watchdog enable mode */ - tmpreg |= ADC_AnalogWatchdog; - /* Store the new register value */ - ADCx->CR1 = tmpreg; -} - -/** - * @brief Configures the high and low thresholds of the analog watchdog. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param HighThreshold: the ADC analog watchdog High threshold value. - * This parameter must be a 12bit value. - * @param LowThreshold: the ADC analog watchdog Low threshold value. - * This parameter must be a 12bit value. - * @retval None - */ -void ADC_AnalogWatchdogThresholdsConfig(ADC_TypeDef* ADCx, uint16_t HighThreshold, - uint16_t LowThreshold) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_THRESHOLD(HighThreshold)); - assert_param(IS_ADC_THRESHOLD(LowThreshold)); - /* Set the ADCx high threshold */ - ADCx->HTR = HighThreshold; - /* Set the ADCx low threshold */ - ADCx->LTR = LowThreshold; -} - -/** - * @brief Configures the analog watchdog guarded single channel - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_Channel: the ADC channel to configure for the analog watchdog. - * This parameter can be one of the following values: - * @arg ADC_Channel_0: ADC Channel0 selected - * @arg ADC_Channel_1: ADC Channel1 selected - * @arg ADC_Channel_2: ADC Channel2 selected - * @arg ADC_Channel_3: ADC Channel3 selected - * @arg ADC_Channel_4: ADC Channel4 selected - * @arg ADC_Channel_5: ADC Channel5 selected - * @arg ADC_Channel_6: ADC Channel6 selected - * @arg ADC_Channel_7: ADC Channel7 selected - * @arg ADC_Channel_8: ADC Channel8 selected - * @arg ADC_Channel_9: ADC Channel9 selected - * @arg ADC_Channel_10: ADC Channel10 selected - * @arg ADC_Channel_11: ADC Channel11 selected - * @arg ADC_Channel_12: ADC Channel12 selected - * @arg ADC_Channel_13: ADC Channel13 selected - * @arg ADC_Channel_14: ADC Channel14 selected - * @arg ADC_Channel_15: ADC Channel15 selected - * @arg ADC_Channel_16: ADC Channel16 selected - * @arg ADC_Channel_17: ADC Channel17 selected - * @retval None - */ -void ADC_AnalogWatchdogSingleChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel) -{ - uint32_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_CHANNEL(ADC_Channel)); - /* Get the old register value */ - tmpreg = ADCx->CR1; - /* Clear the Analog watchdog channel select bits */ - tmpreg &= CR1_AWDCH_Reset; - /* Set the Analog watchdog channel */ - tmpreg |= ADC_Channel; - /* Store the new register value */ - ADCx->CR1 = tmpreg; -} - -/** - * @brief Enables or disables the temperature sensor and Vrefint channel. - * @param NewState: new state of the temperature sensor. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_TempSensorVrefintCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the temperature sensor and Vrefint channel*/ - ADC1->CR2 |= CR2_TSVREFE_Set; - } - else - { - /* Disable the temperature sensor and Vrefint channel*/ - ADC1->CR2 &= CR2_TSVREFE_Reset; - } -} - -/** - * @brief Checks whether the specified ADC flag is set or not. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_FLAG: specifies the flag to check. - * This parameter can be one of the following values: - * @arg ADC_FLAG_AWD: Analog watchdog flag - * @arg ADC_FLAG_EOC: End of conversion flag - * @arg ADC_FLAG_JEOC: End of injected group conversion flag - * @arg ADC_FLAG_JSTRT: Start of injected group conversion flag - * @arg ADC_FLAG_STRT: Start of regular group conversion flag - * @retval The new state of ADC_FLAG (SET or RESET). - */ -FlagStatus ADC_GetFlagStatus(ADC_TypeDef* ADCx, uint8_t ADC_FLAG) -{ - FlagStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_GET_FLAG(ADC_FLAG)); - /* Check the status of the specified ADC flag */ - if ((ADCx->SR & ADC_FLAG) != (uint8_t)RESET) - { - /* ADC_FLAG is set */ - bitstatus = SET; - } - else - { - /* ADC_FLAG is reset */ - bitstatus = RESET; - } - /* Return the ADC_FLAG status */ - return bitstatus; -} - -/** - * @brief Clears the ADCx's pending flags. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_FLAG: specifies the flag to clear. - * This parameter can be any combination of the following values: - * @arg ADC_FLAG_AWD: Analog watchdog flag - * @arg ADC_FLAG_EOC: End of conversion flag - * @arg ADC_FLAG_JEOC: End of injected group conversion flag - * @arg ADC_FLAG_JSTRT: Start of injected group conversion flag - * @arg ADC_FLAG_STRT: Start of regular group conversion flag - * @retval None - */ -void ADC_ClearFlag(ADC_TypeDef* ADCx, uint8_t ADC_FLAG) -{ - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_CLEAR_FLAG(ADC_FLAG)); - /* Clear the selected ADC flags */ - ADCx->SR = ~(uint32_t)ADC_FLAG; -} - -/** - * @brief Checks whether the specified ADC interrupt has occurred or not. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_IT: specifies the ADC interrupt source to check. - * This parameter can be one of the following values: - * @arg ADC_IT_EOC: End of conversion interrupt mask - * @arg ADC_IT_AWD: Analog watchdog interrupt mask - * @arg ADC_IT_JEOC: End of injected conversion interrupt mask - * @retval The new state of ADC_IT (SET or RESET). - */ -ITStatus ADC_GetITStatus(ADC_TypeDef* ADCx, uint16_t ADC_IT) -{ - ITStatus bitstatus = RESET; - uint32_t itmask = 0, enablestatus = 0; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_GET_IT(ADC_IT)); - /* Get the ADC IT index */ - itmask = ADC_IT >> 8; - /* Get the ADC_IT enable bit status */ - enablestatus = (ADCx->CR1 & (uint8_t)ADC_IT) ; - /* Check the status of the specified ADC interrupt */ - if (((ADCx->SR & itmask) != (uint32_t)RESET) && enablestatus) - { - /* ADC_IT is set */ - bitstatus = SET; - } - else - { - /* ADC_IT is reset */ - bitstatus = RESET; - } - /* Return the ADC_IT status */ - return bitstatus; -} - -/** - * @brief Clears the ADCx's interrupt pending bits. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @param ADC_IT: specifies the ADC interrupt pending bit to clear. - * This parameter can be any combination of the following values: - * @arg ADC_IT_EOC: End of conversion interrupt mask - * @arg ADC_IT_AWD: Analog watchdog interrupt mask - * @arg ADC_IT_JEOC: End of injected conversion interrupt mask - * @retval None - */ -void ADC_ClearITPendingBit(ADC_TypeDef* ADCx, uint16_t ADC_IT) -{ - uint8_t itmask = 0; - /* Check the parameters */ - assert_param(IS_ADC_ALL_PERIPH(ADCx)); - assert_param(IS_ADC_IT(ADC_IT)); - /* Get the ADC IT index */ - itmask = (uint8_t)(ADC_IT >> 8); - /* Clear the selected ADC interrupt pending bits */ - ADCx->SR = ~(uint32_t)itmask; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_bkp.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_bkp.c deleted file mode 100644 index 3004b9ef8..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_bkp.c +++ /dev/null @@ -1,308 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_bkp.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the BKP firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_bkp.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup BKP - * @brief BKP driver modules - * @{ - */ - -/** @defgroup BKP_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup BKP_Private_Defines - * @{ - */ - -/* ------------ BKP registers bit address in the alias region --------------- */ -#define BKP_OFFSET (BKP_BASE - PERIPH_BASE) - -/* --- CR Register ----*/ - -/* Alias word address of TPAL bit */ -#define CR_OFFSET (BKP_OFFSET + 0x30) -#define TPAL_BitNumber 0x01 -#define CR_TPAL_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (TPAL_BitNumber * 4)) - -/* Alias word address of TPE bit */ -#define TPE_BitNumber 0x00 -#define CR_TPE_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (TPE_BitNumber * 4)) - -/* --- CSR Register ---*/ - -/* Alias word address of TPIE bit */ -#define CSR_OFFSET (BKP_OFFSET + 0x34) -#define TPIE_BitNumber 0x02 -#define CSR_TPIE_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (TPIE_BitNumber * 4)) - -/* Alias word address of TIF bit */ -#define TIF_BitNumber 0x09 -#define CSR_TIF_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (TIF_BitNumber * 4)) - -/* Alias word address of TEF bit */ -#define TEF_BitNumber 0x08 -#define CSR_TEF_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (TEF_BitNumber * 4)) - -/* ---------------------- BKP registers bit mask ------------------------ */ - -/* RTCCR register bit mask */ -#define RTCCR_CAL_MASK ((uint16_t)0xFF80) -#define RTCCR_MASK ((uint16_t)0xFC7F) - -/** - * @} - */ - - -/** @defgroup BKP_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup BKP_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup BKP_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup BKP_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the BKP peripheral registers to their default reset values. - * @param None - * @retval None - */ -void BKP_DeInit(void) -{ - RCC_BackupResetCmd(ENABLE); - RCC_BackupResetCmd(DISABLE); -} - -/** - * @brief Configures the Tamper Pin active level. - * @param BKP_TamperPinLevel: specifies the Tamper Pin active level. - * This parameter can be one of the following values: - * @arg BKP_TamperPinLevel_High: Tamper pin active on high level - * @arg BKP_TamperPinLevel_Low: Tamper pin active on low level - * @retval None - */ -void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel) -{ - /* Check the parameters */ - assert_param(IS_BKP_TAMPER_PIN_LEVEL(BKP_TamperPinLevel)); - *(__IO uint32_t *) CR_TPAL_BB = BKP_TamperPinLevel; -} - -/** - * @brief Enables or disables the Tamper Pin activation. - * @param NewState: new state of the Tamper Pin activation. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void BKP_TamperPinCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CR_TPE_BB = (uint32_t)NewState; -} - -/** - * @brief Enables or disables the Tamper Pin Interrupt. - * @param NewState: new state of the Tamper Pin Interrupt. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void BKP_ITConfig(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CSR_TPIE_BB = (uint32_t)NewState; -} - -/** - * @brief Select the RTC output source to output on the Tamper pin. - * @param BKP_RTCOutputSource: specifies the RTC output source. - * This parameter can be one of the following values: - * @arg BKP_RTCOutputSource_None: no RTC output on the Tamper pin. - * @arg BKP_RTCOutputSource_CalibClock: output the RTC clock with frequency - * divided by 64 on the Tamper pin. - * @arg BKP_RTCOutputSource_Alarm: output the RTC Alarm pulse signal on - * the Tamper pin. - * @arg BKP_RTCOutputSource_Second: output the RTC Second pulse signal on - * the Tamper pin. - * @retval None - */ -void BKP_RTCOutputConfig(uint16_t BKP_RTCOutputSource) -{ - uint16_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_BKP_RTC_OUTPUT_SOURCE(BKP_RTCOutputSource)); - tmpreg = BKP->RTCCR; - /* Clear CCO, ASOE and ASOS bits */ - tmpreg &= RTCCR_MASK; - - /* Set CCO, ASOE and ASOS bits according to BKP_RTCOutputSource value */ - tmpreg |= BKP_RTCOutputSource; - /* Store the new value */ - BKP->RTCCR = tmpreg; -} - -/** - * @brief Sets RTC Clock Calibration value. - * @param CalibrationValue: specifies the RTC Clock Calibration value. - * This parameter must be a number between 0 and 0x7F. - * @retval None - */ -void BKP_SetRTCCalibrationValue(uint8_t CalibrationValue) -{ - uint16_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_BKP_CALIBRATION_VALUE(CalibrationValue)); - tmpreg = BKP->RTCCR; - /* Clear CAL[6:0] bits */ - tmpreg &= RTCCR_CAL_MASK; - /* Set CAL[6:0] bits according to CalibrationValue value */ - tmpreg |= CalibrationValue; - /* Store the new value */ - BKP->RTCCR = tmpreg; -} - -/** - * @brief Writes user data to the specified Data Backup Register. - * @param BKP_DR: specifies the Data Backup Register. - * This parameter can be BKP_DRx where x:[1, 42] - * @param Data: data to write - * @retval None - */ -void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data) -{ - __IO uint32_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_BKP_DR(BKP_DR)); - - tmp = (uint32_t)BKP_BASE; - tmp += BKP_DR; - - *(__IO uint32_t *) tmp = Data; -} - -/** - * @brief Reads data from the specified Data Backup Register. - * @param BKP_DR: specifies the Data Backup Register. - * This parameter can be BKP_DRx where x:[1, 42] - * @retval The content of the specified Data Backup Register - */ -uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR) -{ - __IO uint32_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_BKP_DR(BKP_DR)); - - tmp = (uint32_t)BKP_BASE; - tmp += BKP_DR; - - return (*(__IO uint16_t *) tmp); -} - -/** - * @brief Checks whether the Tamper Pin Event flag is set or not. - * @param None - * @retval The new state of the Tamper Pin Event flag (SET or RESET). - */ -FlagStatus BKP_GetFlagStatus(void) -{ - return (FlagStatus)(*(__IO uint32_t *) CSR_TEF_BB); -} - -/** - * @brief Clears Tamper Pin Event pending flag. - * @param None - * @retval None - */ -void BKP_ClearFlag(void) -{ - /* Set CTE bit to clear Tamper Pin Event flag */ - BKP->CSR |= BKP_CSR_CTE; -} - -/** - * @brief Checks whether the Tamper Pin Interrupt has occurred or not. - * @param None - * @retval The new state of the Tamper Pin Interrupt (SET or RESET). - */ -ITStatus BKP_GetITStatus(void) -{ - return (ITStatus)(*(__IO uint32_t *) CSR_TIF_BB); -} - -/** - * @brief Clears Tamper Pin Interrupt pending bit. - * @param None - * @retval None - */ -void BKP_ClearITPendingBit(void) -{ - /* Set CTI bit to clear Tamper Pin Interrupt pending bit */ - BKP->CSR |= BKP_CSR_CTI; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_can.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_can.c deleted file mode 100644 index 607d6924f..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_can.c +++ /dev/null @@ -1,1415 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_can.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the CAN firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_can.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup CAN - * @brief CAN driver modules - * @{ - */ - -/** @defgroup CAN_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup CAN_Private_Defines - * @{ - */ - -/* CAN Master Control Register bits */ - -#define MCR_DBF ((uint32_t)0x00010000) /* software master reset */ - -/* CAN Mailbox Transmit Request */ -#define TMIDxR_TXRQ ((uint32_t)0x00000001) /* Transmit mailbox request */ - -/* CAN Filter Master Register bits */ -#define FMR_FINIT ((uint32_t)0x00000001) /* Filter init mode */ - -/* Time out for INAK bit */ -#define INAK_TIMEOUT ((uint32_t)0x0000FFFF) -/* Time out for SLAK bit */ -#define SLAK_TIMEOUT ((uint32_t)0x0000FFFF) - - - -/* Flags in TSR register */ -#define CAN_FLAGS_TSR ((uint32_t)0x08000000) -/* Flags in RF1R register */ -#define CAN_FLAGS_RF1R ((uint32_t)0x04000000) -/* Flags in RF0R register */ -#define CAN_FLAGS_RF0R ((uint32_t)0x02000000) -/* Flags in MSR register */ -#define CAN_FLAGS_MSR ((uint32_t)0x01000000) -/* Flags in ESR register */ -#define CAN_FLAGS_ESR ((uint32_t)0x00F00000) - -/* Mailboxes definition */ -#define CAN_TXMAILBOX_0 ((uint8_t)0x00) -#define CAN_TXMAILBOX_1 ((uint8_t)0x01) -#define CAN_TXMAILBOX_2 ((uint8_t)0x02) - - - -#define CAN_MODE_MASK ((uint32_t) 0x00000003) -/** - * @} - */ - -/** @defgroup CAN_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup CAN_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup CAN_Private_FunctionPrototypes - * @{ - */ - -static ITStatus CheckITStatus(uint32_t CAN_Reg, uint32_t It_Bit); - -/** - * @} - */ - -/** @defgroup CAN_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the CAN peripheral registers to their default reset values. - * @param CANx: where x can be 1 or 2 to select the CAN peripheral. - * @retval None. - */ -void CAN_DeInit(CAN_TypeDef* CANx) -{ - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - - if (CANx == CAN1) - { - /* Enable CAN1 reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_CAN1, ENABLE); - /* Release CAN1 from reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_CAN1, DISABLE); - } - else - { - /* Enable CAN2 reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_CAN2, ENABLE); - /* Release CAN2 from reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_CAN2, DISABLE); - } -} - -/** - * @brief Initializes the CAN peripheral according to the specified - * parameters in the CAN_InitStruct. - * @param CANx: where x can be 1 or 2 to to select the CAN - * peripheral. - * @param CAN_InitStruct: pointer to a CAN_InitTypeDef structure that - * contains the configuration information for the - * CAN peripheral. - * @retval Constant indicates initialization succeed which will be - * CAN_InitStatus_Failed or CAN_InitStatus_Success. - */ -uint8_t CAN_Init(CAN_TypeDef* CANx, CAN_InitTypeDef* CAN_InitStruct) -{ - uint8_t InitStatus = CAN_InitStatus_Failed; - uint32_t wait_ack = 0x00000000; - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_FUNCTIONAL_STATE(CAN_InitStruct->CAN_TTCM)); - assert_param(IS_FUNCTIONAL_STATE(CAN_InitStruct->CAN_ABOM)); - assert_param(IS_FUNCTIONAL_STATE(CAN_InitStruct->CAN_AWUM)); - assert_param(IS_FUNCTIONAL_STATE(CAN_InitStruct->CAN_NART)); - assert_param(IS_FUNCTIONAL_STATE(CAN_InitStruct->CAN_RFLM)); - assert_param(IS_FUNCTIONAL_STATE(CAN_InitStruct->CAN_TXFP)); - assert_param(IS_CAN_MODE(CAN_InitStruct->CAN_Mode)); - assert_param(IS_CAN_SJW(CAN_InitStruct->CAN_SJW)); - assert_param(IS_CAN_BS1(CAN_InitStruct->CAN_BS1)); - assert_param(IS_CAN_BS2(CAN_InitStruct->CAN_BS2)); - assert_param(IS_CAN_PRESCALER(CAN_InitStruct->CAN_Prescaler)); - - /* Exit from sleep mode */ - CANx->MCR &= (~(uint32_t)CAN_MCR_SLEEP); - - /* Request initialisation */ - CANx->MCR |= CAN_MCR_INRQ ; - - /* Wait the acknowledge */ - while (((CANx->MSR & CAN_MSR_INAK) != CAN_MSR_INAK) && (wait_ack != INAK_TIMEOUT)) - { - wait_ack++; - } - - /* Check acknowledge */ - if ((CANx->MSR & CAN_MSR_INAK) != CAN_MSR_INAK) - { - InitStatus = CAN_InitStatus_Failed; - } - else - { - /* Set the time triggered communication mode */ - if (CAN_InitStruct->CAN_TTCM == ENABLE) - { - CANx->MCR |= CAN_MCR_TTCM; - } - else - { - CANx->MCR &= ~(uint32_t)CAN_MCR_TTCM; - } - - /* Set the automatic bus-off management */ - if (CAN_InitStruct->CAN_ABOM == ENABLE) - { - CANx->MCR |= CAN_MCR_ABOM; - } - else - { - CANx->MCR &= ~(uint32_t)CAN_MCR_ABOM; - } - - /* Set the automatic wake-up mode */ - if (CAN_InitStruct->CAN_AWUM == ENABLE) - { - CANx->MCR |= CAN_MCR_AWUM; - } - else - { - CANx->MCR &= ~(uint32_t)CAN_MCR_AWUM; - } - - /* Set the no automatic retransmission */ - if (CAN_InitStruct->CAN_NART == ENABLE) - { - CANx->MCR |= CAN_MCR_NART; - } - else - { - CANx->MCR &= ~(uint32_t)CAN_MCR_NART; - } - - /* Set the receive FIFO locked mode */ - if (CAN_InitStruct->CAN_RFLM == ENABLE) - { - CANx->MCR |= CAN_MCR_RFLM; - } - else - { - CANx->MCR &= ~(uint32_t)CAN_MCR_RFLM; - } - - /* Set the transmit FIFO priority */ - if (CAN_InitStruct->CAN_TXFP == ENABLE) - { - CANx->MCR |= CAN_MCR_TXFP; - } - else - { - CANx->MCR &= ~(uint32_t)CAN_MCR_TXFP; - } - - /* Set the bit timing register */ - CANx->BTR = (uint32_t)((uint32_t)CAN_InitStruct->CAN_Mode << 30) | \ - ((uint32_t)CAN_InitStruct->CAN_SJW << 24) | \ - ((uint32_t)CAN_InitStruct->CAN_BS1 << 16) | \ - ((uint32_t)CAN_InitStruct->CAN_BS2 << 20) | \ - ((uint32_t)CAN_InitStruct->CAN_Prescaler - 1); - - /* Request leave initialisation */ - CANx->MCR &= ~(uint32_t)CAN_MCR_INRQ; - - /* Wait the acknowledge */ - wait_ack = 0; - - while (((CANx->MSR & CAN_MSR_INAK) == CAN_MSR_INAK) && (wait_ack != INAK_TIMEOUT)) - { - wait_ack++; - } - - /* ...and check acknowledged */ - if ((CANx->MSR & CAN_MSR_INAK) == CAN_MSR_INAK) - { - InitStatus = CAN_InitStatus_Failed; - } - else - { - InitStatus = CAN_InitStatus_Success ; - } - } - - /* At this step, return the status of initialization */ - return InitStatus; -} - -/** - * @brief Initializes the CAN peripheral according to the specified - * parameters in the CAN_FilterInitStruct. - * @param CAN_FilterInitStruct: pointer to a CAN_FilterInitTypeDef - * structure that contains the configuration - * information. - * @retval None. - */ -void CAN_FilterInit(CAN_FilterInitTypeDef* CAN_FilterInitStruct) -{ - uint32_t filter_number_bit_pos = 0; - /* Check the parameters */ - assert_param(IS_CAN_FILTER_NUMBER(CAN_FilterInitStruct->CAN_FilterNumber)); - assert_param(IS_CAN_FILTER_MODE(CAN_FilterInitStruct->CAN_FilterMode)); - assert_param(IS_CAN_FILTER_SCALE(CAN_FilterInitStruct->CAN_FilterScale)); - assert_param(IS_CAN_FILTER_FIFO(CAN_FilterInitStruct->CAN_FilterFIFOAssignment)); - assert_param(IS_FUNCTIONAL_STATE(CAN_FilterInitStruct->CAN_FilterActivation)); - - filter_number_bit_pos = ((uint32_t)1) << CAN_FilterInitStruct->CAN_FilterNumber; - - /* Initialisation mode for the filter */ - CAN1->FMR |= FMR_FINIT; - - /* Filter Deactivation */ - CAN1->FA1R &= ~(uint32_t)filter_number_bit_pos; - - /* Filter Scale */ - if (CAN_FilterInitStruct->CAN_FilterScale == CAN_FilterScale_16bit) - { - /* 16-bit scale for the filter */ - CAN1->FS1R &= ~(uint32_t)filter_number_bit_pos; - - /* First 16-bit identifier and First 16-bit mask */ - /* Or First 16-bit identifier and Second 16-bit identifier */ - CAN1->sFilterRegister[CAN_FilterInitStruct->CAN_FilterNumber].FR1 = - ((0x0000FFFF & (uint32_t)CAN_FilterInitStruct->CAN_FilterMaskIdLow) << 16) | - (0x0000FFFF & (uint32_t)CAN_FilterInitStruct->CAN_FilterIdLow); - - /* Second 16-bit identifier and Second 16-bit mask */ - /* Or Third 16-bit identifier and Fourth 16-bit identifier */ - CAN1->sFilterRegister[CAN_FilterInitStruct->CAN_FilterNumber].FR2 = - ((0x0000FFFF & (uint32_t)CAN_FilterInitStruct->CAN_FilterMaskIdHigh) << 16) | - (0x0000FFFF & (uint32_t)CAN_FilterInitStruct->CAN_FilterIdHigh); - } - - if (CAN_FilterInitStruct->CAN_FilterScale == CAN_FilterScale_32bit) - { - /* 32-bit scale for the filter */ - CAN1->FS1R |= filter_number_bit_pos; - /* 32-bit identifier or First 32-bit identifier */ - CAN1->sFilterRegister[CAN_FilterInitStruct->CAN_FilterNumber].FR1 = - ((0x0000FFFF & (uint32_t)CAN_FilterInitStruct->CAN_FilterIdHigh) << 16) | - (0x0000FFFF & (uint32_t)CAN_FilterInitStruct->CAN_FilterIdLow); - /* 32-bit mask or Second 32-bit identifier */ - CAN1->sFilterRegister[CAN_FilterInitStruct->CAN_FilterNumber].FR2 = - ((0x0000FFFF & (uint32_t)CAN_FilterInitStruct->CAN_FilterMaskIdHigh) << 16) | - (0x0000FFFF & (uint32_t)CAN_FilterInitStruct->CAN_FilterMaskIdLow); - } - - /* Filter Mode */ - if (CAN_FilterInitStruct->CAN_FilterMode == CAN_FilterMode_IdMask) - { - /*Id/Mask mode for the filter*/ - CAN1->FM1R &= ~(uint32_t)filter_number_bit_pos; - } - else /* CAN_FilterInitStruct->CAN_FilterMode == CAN_FilterMode_IdList */ - { - /*Identifier list mode for the filter*/ - CAN1->FM1R |= (uint32_t)filter_number_bit_pos; - } - - /* Filter FIFO assignment */ - if (CAN_FilterInitStruct->CAN_FilterFIFOAssignment == CAN_Filter_FIFO0) - { - /* FIFO 0 assignation for the filter */ - CAN1->FFA1R &= ~(uint32_t)filter_number_bit_pos; - } - - if (CAN_FilterInitStruct->CAN_FilterFIFOAssignment == CAN_Filter_FIFO1) - { - /* FIFO 1 assignation for the filter */ - CAN1->FFA1R |= (uint32_t)filter_number_bit_pos; - } - - /* Filter activation */ - if (CAN_FilterInitStruct->CAN_FilterActivation == ENABLE) - { - CAN1->FA1R |= filter_number_bit_pos; - } - - /* Leave the initialisation mode for the filter */ - CAN1->FMR &= ~FMR_FINIT; -} - -/** - * @brief Fills each CAN_InitStruct member with its default value. - * @param CAN_InitStruct: pointer to a CAN_InitTypeDef structure which - * will be initialized. - * @retval None. - */ -void CAN_StructInit(CAN_InitTypeDef* CAN_InitStruct) -{ - /* Reset CAN init structure parameters values */ - - /* Initialize the time triggered communication mode */ - CAN_InitStruct->CAN_TTCM = DISABLE; - - /* Initialize the automatic bus-off management */ - CAN_InitStruct->CAN_ABOM = DISABLE; - - /* Initialize the automatic wake-up mode */ - CAN_InitStruct->CAN_AWUM = DISABLE; - - /* Initialize the no automatic retransmission */ - CAN_InitStruct->CAN_NART = DISABLE; - - /* Initialize the receive FIFO locked mode */ - CAN_InitStruct->CAN_RFLM = DISABLE; - - /* Initialize the transmit FIFO priority */ - CAN_InitStruct->CAN_TXFP = DISABLE; - - /* Initialize the CAN_Mode member */ - CAN_InitStruct->CAN_Mode = CAN_Mode_Normal; - - /* Initialize the CAN_SJW member */ - CAN_InitStruct->CAN_SJW = CAN_SJW_1tq; - - /* Initialize the CAN_BS1 member */ - CAN_InitStruct->CAN_BS1 = CAN_BS1_4tq; - - /* Initialize the CAN_BS2 member */ - CAN_InitStruct->CAN_BS2 = CAN_BS2_3tq; - - /* Initialize the CAN_Prescaler member */ - CAN_InitStruct->CAN_Prescaler = 1; -} - -/** - * @brief Select the start bank filter for slave CAN. - * @note This function applies only to STM32 Connectivity line devices. - * @param CAN_BankNumber: Select the start slave bank filter from 1..27. - * @retval None. - */ -void CAN_SlaveStartBank(uint8_t CAN_BankNumber) -{ - /* Check the parameters */ - assert_param(IS_CAN_BANKNUMBER(CAN_BankNumber)); - - /* Enter Initialisation mode for the filter */ - CAN1->FMR |= FMR_FINIT; - - /* Select the start slave bank */ - CAN1->FMR &= (uint32_t)0xFFFFC0F1 ; - CAN1->FMR |= (uint32_t)(CAN_BankNumber)<<8; - - /* Leave Initialisation mode for the filter */ - CAN1->FMR &= ~FMR_FINIT; -} - -/** - * @brief Enables or disables the DBG Freeze for CAN. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @param NewState: new state of the CAN peripheral. This parameter can - * be: ENABLE or DISABLE. - * @retval None. - */ -void CAN_DBGFreeze(CAN_TypeDef* CANx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable Debug Freeze */ - CANx->MCR |= MCR_DBF; - } - else - { - /* Disable Debug Freeze */ - CANx->MCR &= ~MCR_DBF; - } -} - - -/** - * @brief Enables or disabes the CAN Time TriggerOperation communication mode. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @param NewState : Mode new state , can be one of @ref FunctionalState. - * @note when enabled, Time stamp (TIME[15:0]) value is sent in the last - * two data bytes of the 8-byte message: TIME[7:0] in data byte 6 - * and TIME[15:8] in data byte 7 - * @note DLC must be programmed as 8 in order Time Stamp (2 bytes) to be - * sent over the CAN bus. - * @retval None - */ -void CAN_TTComModeCmd(CAN_TypeDef* CANx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the TTCM mode */ - CANx->MCR |= CAN_MCR_TTCM; - - /* Set TGT bits */ - CANx->sTxMailBox[0].TDTR |= ((uint32_t)CAN_TDT0R_TGT); - CANx->sTxMailBox[1].TDTR |= ((uint32_t)CAN_TDT1R_TGT); - CANx->sTxMailBox[2].TDTR |= ((uint32_t)CAN_TDT2R_TGT); - } - else - { - /* Disable the TTCM mode */ - CANx->MCR &= (uint32_t)(~(uint32_t)CAN_MCR_TTCM); - - /* Reset TGT bits */ - CANx->sTxMailBox[0].TDTR &= ((uint32_t)~CAN_TDT0R_TGT); - CANx->sTxMailBox[1].TDTR &= ((uint32_t)~CAN_TDT1R_TGT); - CANx->sTxMailBox[2].TDTR &= ((uint32_t)~CAN_TDT2R_TGT); - } -} -/** - * @brief Initiates the transmission of a message. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @param TxMessage: pointer to a structure which contains CAN Id, CAN - * DLC and CAN data. - * @retval The number of the mailbox that is used for transmission - * or CAN_TxStatus_NoMailBox if there is no empty mailbox. - */ -uint8_t CAN_Transmit(CAN_TypeDef* CANx, CanTxMsg* TxMessage) -{ - uint8_t transmit_mailbox = 0; - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_CAN_IDTYPE(TxMessage->IDE)); - assert_param(IS_CAN_RTR(TxMessage->RTR)); - assert_param(IS_CAN_DLC(TxMessage->DLC)); - - /* Select one empty transmit mailbox */ - if ((CANx->TSR&CAN_TSR_TME0) == CAN_TSR_TME0) - { - transmit_mailbox = 0; - } - else if ((CANx->TSR&CAN_TSR_TME1) == CAN_TSR_TME1) - { - transmit_mailbox = 1; - } - else if ((CANx->TSR&CAN_TSR_TME2) == CAN_TSR_TME2) - { - transmit_mailbox = 2; - } - else - { - transmit_mailbox = CAN_TxStatus_NoMailBox; - } - - if (transmit_mailbox != CAN_TxStatus_NoMailBox) - { - /* Set up the Id */ - CANx->sTxMailBox[transmit_mailbox].TIR &= TMIDxR_TXRQ; - if (TxMessage->IDE == CAN_Id_Standard) - { - assert_param(IS_CAN_STDID(TxMessage->StdId)); - CANx->sTxMailBox[transmit_mailbox].TIR |= ((TxMessage->StdId << 21) | \ - TxMessage->RTR); - } - else - { - assert_param(IS_CAN_EXTID(TxMessage->ExtId)); - CANx->sTxMailBox[transmit_mailbox].TIR |= ((TxMessage->ExtId << 3) | \ - TxMessage->IDE | \ - TxMessage->RTR); - } - - /* Set up the DLC */ - TxMessage->DLC &= (uint8_t)0x0000000F; - CANx->sTxMailBox[transmit_mailbox].TDTR &= (uint32_t)0xFFFFFFF0; - CANx->sTxMailBox[transmit_mailbox].TDTR |= TxMessage->DLC; - - /* Set up the data field */ - CANx->sTxMailBox[transmit_mailbox].TDLR = (((uint32_t)TxMessage->Data[3] << 24) | - ((uint32_t)TxMessage->Data[2] << 16) | - ((uint32_t)TxMessage->Data[1] << 8) | - ((uint32_t)TxMessage->Data[0])); - CANx->sTxMailBox[transmit_mailbox].TDHR = (((uint32_t)TxMessage->Data[7] << 24) | - ((uint32_t)TxMessage->Data[6] << 16) | - ((uint32_t)TxMessage->Data[5] << 8) | - ((uint32_t)TxMessage->Data[4])); - /* Request transmission */ - CANx->sTxMailBox[transmit_mailbox].TIR |= TMIDxR_TXRQ; - } - return transmit_mailbox; -} - -/** - * @brief Checks the transmission of a message. - * @param CANx: where x can be 1 or 2 to to select the - * CAN peripheral. - * @param TransmitMailbox: the number of the mailbox that is used for - * transmission. - * @retval CAN_TxStatus_Ok if the CAN driver transmits the message, CAN_TxStatus_Failed - * in an other case. - */ -uint8_t CAN_TransmitStatus(CAN_TypeDef* CANx, uint8_t TransmitMailbox) -{ - uint32_t state = 0; - - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_CAN_TRANSMITMAILBOX(TransmitMailbox)); - - switch (TransmitMailbox) - { - case (CAN_TXMAILBOX_0): - state = CANx->TSR & (CAN_TSR_RQCP0 | CAN_TSR_TXOK0 | CAN_TSR_TME0); - break; - case (CAN_TXMAILBOX_1): - state = CANx->TSR & (CAN_TSR_RQCP1 | CAN_TSR_TXOK1 | CAN_TSR_TME1); - break; - case (CAN_TXMAILBOX_2): - state = CANx->TSR & (CAN_TSR_RQCP2 | CAN_TSR_TXOK2 | CAN_TSR_TME2); - break; - default: - state = CAN_TxStatus_Failed; - break; - } - switch (state) - { - /* transmit pending */ - case (0x0): state = CAN_TxStatus_Pending; - break; - /* transmit failed */ - case (CAN_TSR_RQCP0 | CAN_TSR_TME0): state = CAN_TxStatus_Failed; - break; - case (CAN_TSR_RQCP1 | CAN_TSR_TME1): state = CAN_TxStatus_Failed; - break; - case (CAN_TSR_RQCP2 | CAN_TSR_TME2): state = CAN_TxStatus_Failed; - break; - /* transmit succeeded */ - case (CAN_TSR_RQCP0 | CAN_TSR_TXOK0 | CAN_TSR_TME0):state = CAN_TxStatus_Ok; - break; - case (CAN_TSR_RQCP1 | CAN_TSR_TXOK1 | CAN_TSR_TME1):state = CAN_TxStatus_Ok; - break; - case (CAN_TSR_RQCP2 | CAN_TSR_TXOK2 | CAN_TSR_TME2):state = CAN_TxStatus_Ok; - break; - default: state = CAN_TxStatus_Failed; - break; - } - return (uint8_t) state; -} - -/** - * @brief Cancels a transmit request. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @param Mailbox: Mailbox number. - * @retval None. - */ -void CAN_CancelTransmit(CAN_TypeDef* CANx, uint8_t Mailbox) -{ - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_CAN_TRANSMITMAILBOX(Mailbox)); - /* abort transmission */ - switch (Mailbox) - { - case (CAN_TXMAILBOX_0): CANx->TSR |= CAN_TSR_ABRQ0; - break; - case (CAN_TXMAILBOX_1): CANx->TSR |= CAN_TSR_ABRQ1; - break; - case (CAN_TXMAILBOX_2): CANx->TSR |= CAN_TSR_ABRQ2; - break; - default: - break; - } -} - - -/** - * @brief Receives a message. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @param FIFONumber: Receive FIFO number, CAN_FIFO0 or CAN_FIFO1. - * @param RxMessage: pointer to a structure receive message which contains - * CAN Id, CAN DLC, CAN datas and FMI number. - * @retval None. - */ -void CAN_Receive(CAN_TypeDef* CANx, uint8_t FIFONumber, CanRxMsg* RxMessage) -{ - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_CAN_FIFO(FIFONumber)); - /* Get the Id */ - RxMessage->IDE = (uint8_t)0x04 & CANx->sFIFOMailBox[FIFONumber].RIR; - if (RxMessage->IDE == CAN_Id_Standard) - { - RxMessage->StdId = (uint32_t)0x000007FF & (CANx->sFIFOMailBox[FIFONumber].RIR >> 21); - } - else - { - RxMessage->ExtId = (uint32_t)0x1FFFFFFF & (CANx->sFIFOMailBox[FIFONumber].RIR >> 3); - } - - RxMessage->RTR = (uint8_t)0x02 & CANx->sFIFOMailBox[FIFONumber].RIR; - /* Get the DLC */ - RxMessage->DLC = (uint8_t)0x0F & CANx->sFIFOMailBox[FIFONumber].RDTR; - /* Get the FMI */ - RxMessage->FMI = (uint8_t)0xFF & (CANx->sFIFOMailBox[FIFONumber].RDTR >> 8); - /* Get the data field */ - RxMessage->Data[0] = (uint8_t)0xFF & CANx->sFIFOMailBox[FIFONumber].RDLR; - RxMessage->Data[1] = (uint8_t)0xFF & (CANx->sFIFOMailBox[FIFONumber].RDLR >> 8); - RxMessage->Data[2] = (uint8_t)0xFF & (CANx->sFIFOMailBox[FIFONumber].RDLR >> 16); - RxMessage->Data[3] = (uint8_t)0xFF & (CANx->sFIFOMailBox[FIFONumber].RDLR >> 24); - RxMessage->Data[4] = (uint8_t)0xFF & CANx->sFIFOMailBox[FIFONumber].RDHR; - RxMessage->Data[5] = (uint8_t)0xFF & (CANx->sFIFOMailBox[FIFONumber].RDHR >> 8); - RxMessage->Data[6] = (uint8_t)0xFF & (CANx->sFIFOMailBox[FIFONumber].RDHR >> 16); - RxMessage->Data[7] = (uint8_t)0xFF & (CANx->sFIFOMailBox[FIFONumber].RDHR >> 24); - /* Release the FIFO */ - /* Release FIFO0 */ - if (FIFONumber == CAN_FIFO0) - { - CANx->RF0R |= CAN_RF0R_RFOM0; - } - /* Release FIFO1 */ - else /* FIFONumber == CAN_FIFO1 */ - { - CANx->RF1R |= CAN_RF1R_RFOM1; - } -} - -/** - * @brief Releases the specified FIFO. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @param FIFONumber: FIFO to release, CAN_FIFO0 or CAN_FIFO1. - * @retval None. - */ -void CAN_FIFORelease(CAN_TypeDef* CANx, uint8_t FIFONumber) -{ - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_CAN_FIFO(FIFONumber)); - /* Release FIFO0 */ - if (FIFONumber == CAN_FIFO0) - { - CANx->RF0R |= CAN_RF0R_RFOM0; - } - /* Release FIFO1 */ - else /* FIFONumber == CAN_FIFO1 */ - { - CANx->RF1R |= CAN_RF1R_RFOM1; - } -} - -/** - * @brief Returns the number of pending messages. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @param FIFONumber: Receive FIFO number, CAN_FIFO0 or CAN_FIFO1. - * @retval NbMessage : which is the number of pending message. - */ -uint8_t CAN_MessagePending(CAN_TypeDef* CANx, uint8_t FIFONumber) -{ - uint8_t message_pending=0; - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_CAN_FIFO(FIFONumber)); - if (FIFONumber == CAN_FIFO0) - { - message_pending = (uint8_t)(CANx->RF0R&(uint32_t)0x03); - } - else if (FIFONumber == CAN_FIFO1) - { - message_pending = (uint8_t)(CANx->RF1R&(uint32_t)0x03); - } - else - { - message_pending = 0; - } - return message_pending; -} - - -/** - * @brief Select the CAN Operation mode. - * @param CAN_OperatingMode : CAN Operating Mode. This parameter can be one - * of @ref CAN_OperatingMode_TypeDef enumeration. - * @retval status of the requested mode which can be - * - CAN_ModeStatus_Failed CAN failed entering the specific mode - * - CAN_ModeStatus_Success CAN Succeed entering the specific mode - - */ -uint8_t CAN_OperatingModeRequest(CAN_TypeDef* CANx, uint8_t CAN_OperatingMode) -{ - uint8_t status = CAN_ModeStatus_Failed; - - /* Timeout for INAK or also for SLAK bits*/ - uint32_t timeout = INAK_TIMEOUT; - - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_CAN_OPERATING_MODE(CAN_OperatingMode)); - - if (CAN_OperatingMode == CAN_OperatingMode_Initialization) - { - /* Request initialisation */ - CANx->MCR = (uint32_t)((CANx->MCR & (uint32_t)(~(uint32_t)CAN_MCR_SLEEP)) | CAN_MCR_INRQ); - - /* Wait the acknowledge */ - while (((CANx->MSR & CAN_MODE_MASK) != CAN_MSR_INAK) && (timeout != 0)) - { - timeout--; - } - if ((CANx->MSR & CAN_MODE_MASK) != CAN_MSR_INAK) - { - status = CAN_ModeStatus_Failed; - } - else - { - status = CAN_ModeStatus_Success; - } - } - else if (CAN_OperatingMode == CAN_OperatingMode_Normal) - { - /* Request leave initialisation and sleep mode and enter Normal mode */ - CANx->MCR &= (uint32_t)(~(CAN_MCR_SLEEP|CAN_MCR_INRQ)); - - /* Wait the acknowledge */ - while (((CANx->MSR & CAN_MODE_MASK) != 0) && (timeout!=0)) - { - timeout--; - } - if ((CANx->MSR & CAN_MODE_MASK) != 0) - { - status = CAN_ModeStatus_Failed; - } - else - { - status = CAN_ModeStatus_Success; - } - } - else if (CAN_OperatingMode == CAN_OperatingMode_Sleep) - { - /* Request Sleep mode */ - CANx->MCR = (uint32_t)((CANx->MCR & (uint32_t)(~(uint32_t)CAN_MCR_INRQ)) | CAN_MCR_SLEEP); - - /* Wait the acknowledge */ - while (((CANx->MSR & CAN_MODE_MASK) != CAN_MSR_SLAK) && (timeout!=0)) - { - timeout--; - } - if ((CANx->MSR & CAN_MODE_MASK) != CAN_MSR_SLAK) - { - status = CAN_ModeStatus_Failed; - } - else - { - status = CAN_ModeStatus_Success; - } - } - else - { - status = CAN_ModeStatus_Failed; - } - - return (uint8_t) status; -} - -/** - * @brief Enters the low power mode. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @retval status: CAN_Sleep_Ok if sleep entered, CAN_Sleep_Failed in an - * other case. - */ -uint8_t CAN_Sleep(CAN_TypeDef* CANx) -{ - uint8_t sleepstatus = CAN_Sleep_Failed; - - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - - /* Request Sleep mode */ - CANx->MCR = (((CANx->MCR) & (uint32_t)(~(uint32_t)CAN_MCR_INRQ)) | CAN_MCR_SLEEP); - - /* Sleep mode status */ - if ((CANx->MSR & (CAN_MSR_SLAK|CAN_MSR_INAK)) == CAN_MSR_SLAK) - { - /* Sleep mode not entered */ - sleepstatus = CAN_Sleep_Ok; - } - /* return sleep mode status */ - return (uint8_t)sleepstatus; -} - -/** - * @brief Wakes the CAN up. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @retval status: CAN_WakeUp_Ok if sleep mode left, CAN_WakeUp_Failed in an - * other case. - */ -uint8_t CAN_WakeUp(CAN_TypeDef* CANx) -{ - uint32_t wait_slak = SLAK_TIMEOUT; - uint8_t wakeupstatus = CAN_WakeUp_Failed; - - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - - /* Wake up request */ - CANx->MCR &= ~(uint32_t)CAN_MCR_SLEEP; - - /* Sleep mode status */ - while(((CANx->MSR & CAN_MSR_SLAK) == CAN_MSR_SLAK)&&(wait_slak!=0x00)) - { - wait_slak--; - } - if((CANx->MSR & CAN_MSR_SLAK) != CAN_MSR_SLAK) - { - /* wake up done : Sleep mode exited */ - wakeupstatus = CAN_WakeUp_Ok; - } - /* return wakeup status */ - return (uint8_t)wakeupstatus; -} - - -/** - * @brief Returns the CANx's last error code (LEC). - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @retval CAN_ErrorCode: specifies the Error code : - * - CAN_ERRORCODE_NoErr No Error - * - CAN_ERRORCODE_StuffErr Stuff Error - * - CAN_ERRORCODE_FormErr Form Error - * - CAN_ERRORCODE_ACKErr Acknowledgment Error - * - CAN_ERRORCODE_BitRecessiveErr Bit Recessive Error - * - CAN_ERRORCODE_BitDominantErr Bit Dominant Error - * - CAN_ERRORCODE_CRCErr CRC Error - * - CAN_ERRORCODE_SoftwareSetErr Software Set Error - */ - -uint8_t CAN_GetLastErrorCode(CAN_TypeDef* CANx) -{ - uint8_t errorcode=0; - - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - - /* Get the error code*/ - errorcode = (((uint8_t)CANx->ESR) & (uint8_t)CAN_ESR_LEC); - - /* Return the error code*/ - return errorcode; -} -/** - * @brief Returns the CANx Receive Error Counter (REC). - * @note In case of an error during reception, this counter is incremented - * by 1 or by 8 depending on the error condition as defined by the CAN - * standard. After every successful reception, the counter is - * decremented by 1 or reset to 120 if its value was higher than 128. - * When the counter value exceeds 127, the CAN controller enters the - * error passive state. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @retval CAN Receive Error Counter. - */ -uint8_t CAN_GetReceiveErrorCounter(CAN_TypeDef* CANx) -{ - uint8_t counter=0; - - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - - /* Get the Receive Error Counter*/ - counter = (uint8_t)((CANx->ESR & CAN_ESR_REC)>> 24); - - /* Return the Receive Error Counter*/ - return counter; -} - - -/** - * @brief Returns the LSB of the 9-bit CANx Transmit Error Counter(TEC). - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @retval LSB of the 9-bit CAN Transmit Error Counter. - */ -uint8_t CAN_GetLSBTransmitErrorCounter(CAN_TypeDef* CANx) -{ - uint8_t counter=0; - - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - - /* Get the LSB of the 9-bit CANx Transmit Error Counter(TEC) */ - counter = (uint8_t)((CANx->ESR & CAN_ESR_TEC)>> 16); - - /* Return the LSB of the 9-bit CANx Transmit Error Counter(TEC) */ - return counter; -} - - -/** - * @brief Enables or disables the specified CANx interrupts. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @param CAN_IT: specifies the CAN interrupt sources to be enabled or disabled. - * This parameter can be: - * - CAN_IT_TME, - * - CAN_IT_FMP0, - * - CAN_IT_FF0, - * - CAN_IT_FOV0, - * - CAN_IT_FMP1, - * - CAN_IT_FF1, - * - CAN_IT_FOV1, - * - CAN_IT_EWG, - * - CAN_IT_EPV, - * - CAN_IT_LEC, - * - CAN_IT_ERR, - * - CAN_IT_WKU or - * - CAN_IT_SLK. - * @param NewState: new state of the CAN interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None. - */ -void CAN_ITConfig(CAN_TypeDef* CANx, uint32_t CAN_IT, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_CAN_IT(CAN_IT)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the selected CANx interrupt */ - CANx->IER |= CAN_IT; - } - else - { - /* Disable the selected CANx interrupt */ - CANx->IER &= ~CAN_IT; - } -} -/** - * @brief Checks whether the specified CAN flag is set or not. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @param CAN_FLAG: specifies the flag to check. - * This parameter can be one of the following flags: - * - CAN_FLAG_EWG - * - CAN_FLAG_EPV - * - CAN_FLAG_BOF - * - CAN_FLAG_RQCP0 - * - CAN_FLAG_RQCP1 - * - CAN_FLAG_RQCP2 - * - CAN_FLAG_FMP1 - * - CAN_FLAG_FF1 - * - CAN_FLAG_FOV1 - * - CAN_FLAG_FMP0 - * - CAN_FLAG_FF0 - * - CAN_FLAG_FOV0 - * - CAN_FLAG_WKU - * - CAN_FLAG_SLAK - * - CAN_FLAG_LEC - * @retval The new state of CAN_FLAG (SET or RESET). - */ -FlagStatus CAN_GetFlagStatus(CAN_TypeDef* CANx, uint32_t CAN_FLAG) -{ - FlagStatus bitstatus = RESET; - - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_CAN_GET_FLAG(CAN_FLAG)); - - - if((CAN_FLAG & CAN_FLAGS_ESR) != (uint32_t)RESET) - { - /* Check the status of the specified CAN flag */ - if ((CANx->ESR & (CAN_FLAG & 0x000FFFFF)) != (uint32_t)RESET) - { - /* CAN_FLAG is set */ - bitstatus = SET; - } - else - { - /* CAN_FLAG is reset */ - bitstatus = RESET; - } - } - else if((CAN_FLAG & CAN_FLAGS_MSR) != (uint32_t)RESET) - { - /* Check the status of the specified CAN flag */ - if ((CANx->MSR & (CAN_FLAG & 0x000FFFFF)) != (uint32_t)RESET) - { - /* CAN_FLAG is set */ - bitstatus = SET; - } - else - { - /* CAN_FLAG is reset */ - bitstatus = RESET; - } - } - else if((CAN_FLAG & CAN_FLAGS_TSR) != (uint32_t)RESET) - { - /* Check the status of the specified CAN flag */ - if ((CANx->TSR & (CAN_FLAG & 0x000FFFFF)) != (uint32_t)RESET) - { - /* CAN_FLAG is set */ - bitstatus = SET; - } - else - { - /* CAN_FLAG is reset */ - bitstatus = RESET; - } - } - else if((CAN_FLAG & CAN_FLAGS_RF0R) != (uint32_t)RESET) - { - /* Check the status of the specified CAN flag */ - if ((CANx->RF0R & (CAN_FLAG & 0x000FFFFF)) != (uint32_t)RESET) - { - /* CAN_FLAG is set */ - bitstatus = SET; - } - else - { - /* CAN_FLAG is reset */ - bitstatus = RESET; - } - } - else /* If(CAN_FLAG & CAN_FLAGS_RF1R != (uint32_t)RESET) */ - { - /* Check the status of the specified CAN flag */ - if ((uint32_t)(CANx->RF1R & (CAN_FLAG & 0x000FFFFF)) != (uint32_t)RESET) - { - /* CAN_FLAG is set */ - bitstatus = SET; - } - else - { - /* CAN_FLAG is reset */ - bitstatus = RESET; - } - } - /* Return the CAN_FLAG status */ - return bitstatus; -} - -/** - * @brief Clears the CAN's pending flags. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @param CAN_FLAG: specifies the flag to clear. - * This parameter can be one of the following flags: - * - CAN_FLAG_RQCP0 - * - CAN_FLAG_RQCP1 - * - CAN_FLAG_RQCP2 - * - CAN_FLAG_FF1 - * - CAN_FLAG_FOV1 - * - CAN_FLAG_FF0 - * - CAN_FLAG_FOV0 - * - CAN_FLAG_WKU - * - CAN_FLAG_SLAK - * - CAN_FLAG_LEC - * @retval None. - */ -void CAN_ClearFlag(CAN_TypeDef* CANx, uint32_t CAN_FLAG) -{ - uint32_t flagtmp=0; - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_CAN_CLEAR_FLAG(CAN_FLAG)); - - if (CAN_FLAG == CAN_FLAG_LEC) /* ESR register */ - { - /* Clear the selected CAN flags */ - CANx->ESR = (uint32_t)RESET; - } - else /* MSR or TSR or RF0R or RF1R */ - { - flagtmp = CAN_FLAG & 0x000FFFFF; - - if ((CAN_FLAG & CAN_FLAGS_RF0R)!=(uint32_t)RESET) - { - /* Receive Flags */ - CANx->RF0R = (uint32_t)(flagtmp); - } - else if ((CAN_FLAG & CAN_FLAGS_RF1R)!=(uint32_t)RESET) - { - /* Receive Flags */ - CANx->RF1R = (uint32_t)(flagtmp); - } - else if ((CAN_FLAG & CAN_FLAGS_TSR)!=(uint32_t)RESET) - { - /* Transmit Flags */ - CANx->TSR = (uint32_t)(flagtmp); - } - else /* If((CAN_FLAG & CAN_FLAGS_MSR)!=(uint32_t)RESET) */ - { - /* Operating mode Flags */ - CANx->MSR = (uint32_t)(flagtmp); - } - } -} - -/** - * @brief Checks whether the specified CANx interrupt has occurred or not. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @param CAN_IT: specifies the CAN interrupt source to check. - * This parameter can be one of the following flags: - * - CAN_IT_TME - * - CAN_IT_FMP0 - * - CAN_IT_FF0 - * - CAN_IT_FOV0 - * - CAN_IT_FMP1 - * - CAN_IT_FF1 - * - CAN_IT_FOV1 - * - CAN_IT_WKU - * - CAN_IT_SLK - * - CAN_IT_EWG - * - CAN_IT_EPV - * - CAN_IT_BOF - * - CAN_IT_LEC - * - CAN_IT_ERR - * @retval The current state of CAN_IT (SET or RESET). - */ -ITStatus CAN_GetITStatus(CAN_TypeDef* CANx, uint32_t CAN_IT) -{ - ITStatus itstatus = RESET; - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_CAN_IT(CAN_IT)); - - /* check the enable interrupt bit */ - if((CANx->IER & CAN_IT) != RESET) - { - /* in case the Interrupt is enabled, .... */ - switch (CAN_IT) - { - case CAN_IT_TME: - /* Check CAN_TSR_RQCPx bits */ - itstatus = CheckITStatus(CANx->TSR, CAN_TSR_RQCP0|CAN_TSR_RQCP1|CAN_TSR_RQCP2); - break; - case CAN_IT_FMP0: - /* Check CAN_RF0R_FMP0 bit */ - itstatus = CheckITStatus(CANx->RF0R, CAN_RF0R_FMP0); - break; - case CAN_IT_FF0: - /* Check CAN_RF0R_FULL0 bit */ - itstatus = CheckITStatus(CANx->RF0R, CAN_RF0R_FULL0); - break; - case CAN_IT_FOV0: - /* Check CAN_RF0R_FOVR0 bit */ - itstatus = CheckITStatus(CANx->RF0R, CAN_RF0R_FOVR0); - break; - case CAN_IT_FMP1: - /* Check CAN_RF1R_FMP1 bit */ - itstatus = CheckITStatus(CANx->RF1R, CAN_RF1R_FMP1); - break; - case CAN_IT_FF1: - /* Check CAN_RF1R_FULL1 bit */ - itstatus = CheckITStatus(CANx->RF1R, CAN_RF1R_FULL1); - break; - case CAN_IT_FOV1: - /* Check CAN_RF1R_FOVR1 bit */ - itstatus = CheckITStatus(CANx->RF1R, CAN_RF1R_FOVR1); - break; - case CAN_IT_WKU: - /* Check CAN_MSR_WKUI bit */ - itstatus = CheckITStatus(CANx->MSR, CAN_MSR_WKUI); - break; - case CAN_IT_SLK: - /* Check CAN_MSR_SLAKI bit */ - itstatus = CheckITStatus(CANx->MSR, CAN_MSR_SLAKI); - break; - case CAN_IT_EWG: - /* Check CAN_ESR_EWGF bit */ - itstatus = CheckITStatus(CANx->ESR, CAN_ESR_EWGF); - break; - case CAN_IT_EPV: - /* Check CAN_ESR_EPVF bit */ - itstatus = CheckITStatus(CANx->ESR, CAN_ESR_EPVF); - break; - case CAN_IT_BOF: - /* Check CAN_ESR_BOFF bit */ - itstatus = CheckITStatus(CANx->ESR, CAN_ESR_BOFF); - break; - case CAN_IT_LEC: - /* Check CAN_ESR_LEC bit */ - itstatus = CheckITStatus(CANx->ESR, CAN_ESR_LEC); - break; - case CAN_IT_ERR: - /* Check CAN_MSR_ERRI bit */ - itstatus = CheckITStatus(CANx->MSR, CAN_MSR_ERRI); - break; - default : - /* in case of error, return RESET */ - itstatus = RESET; - break; - } - } - else - { - /* in case the Interrupt is not enabled, return RESET */ - itstatus = RESET; - } - - /* Return the CAN_IT status */ - return itstatus; -} - -/** - * @brief Clears the CANx's interrupt pending bits. - * @param CANx: where x can be 1 or 2 to to select the CAN peripheral. - * @param CAN_IT: specifies the interrupt pending bit to clear. - * - CAN_IT_TME - * - CAN_IT_FF0 - * - CAN_IT_FOV0 - * - CAN_IT_FF1 - * - CAN_IT_FOV1 - * - CAN_IT_WKU - * - CAN_IT_SLK - * - CAN_IT_EWG - * - CAN_IT_EPV - * - CAN_IT_BOF - * - CAN_IT_LEC - * - CAN_IT_ERR - * @retval None. - */ -void CAN_ClearITPendingBit(CAN_TypeDef* CANx, uint32_t CAN_IT) -{ - /* Check the parameters */ - assert_param(IS_CAN_ALL_PERIPH(CANx)); - assert_param(IS_CAN_CLEAR_IT(CAN_IT)); - - switch (CAN_IT) - { - case CAN_IT_TME: - /* Clear CAN_TSR_RQCPx (rc_w1)*/ - CANx->TSR = CAN_TSR_RQCP0|CAN_TSR_RQCP1|CAN_TSR_RQCP2; - break; - case CAN_IT_FF0: - /* Clear CAN_RF0R_FULL0 (rc_w1)*/ - CANx->RF0R = CAN_RF0R_FULL0; - break; - case CAN_IT_FOV0: - /* Clear CAN_RF0R_FOVR0 (rc_w1)*/ - CANx->RF0R = CAN_RF0R_FOVR0; - break; - case CAN_IT_FF1: - /* Clear CAN_RF1R_FULL1 (rc_w1)*/ - CANx->RF1R = CAN_RF1R_FULL1; - break; - case CAN_IT_FOV1: - /* Clear CAN_RF1R_FOVR1 (rc_w1)*/ - CANx->RF1R = CAN_RF1R_FOVR1; - break; - case CAN_IT_WKU: - /* Clear CAN_MSR_WKUI (rc_w1)*/ - CANx->MSR = CAN_MSR_WKUI; - break; - case CAN_IT_SLK: - /* Clear CAN_MSR_SLAKI (rc_w1)*/ - CANx->MSR = CAN_MSR_SLAKI; - break; - case CAN_IT_EWG: - /* Clear CAN_MSR_ERRI (rc_w1) */ - CANx->MSR = CAN_MSR_ERRI; - /* Note : the corresponding Flag is cleared by hardware depending - of the CAN Bus status*/ - break; - case CAN_IT_EPV: - /* Clear CAN_MSR_ERRI (rc_w1) */ - CANx->MSR = CAN_MSR_ERRI; - /* Note : the corresponding Flag is cleared by hardware depending - of the CAN Bus status*/ - break; - case CAN_IT_BOF: - /* Clear CAN_MSR_ERRI (rc_w1) */ - CANx->MSR = CAN_MSR_ERRI; - /* Note : the corresponding Flag is cleared by hardware depending - of the CAN Bus status*/ - break; - case CAN_IT_LEC: - /* Clear LEC bits */ - CANx->ESR = RESET; - /* Clear CAN_MSR_ERRI (rc_w1) */ - CANx->MSR = CAN_MSR_ERRI; - break; - case CAN_IT_ERR: - /*Clear LEC bits */ - CANx->ESR = RESET; - /* Clear CAN_MSR_ERRI (rc_w1) */ - CANx->MSR = CAN_MSR_ERRI; - /* Note : BOFF, EPVF and EWGF Flags are cleared by hardware depending - of the CAN Bus status*/ - break; - default : - break; - } -} - -/** - * @brief Checks whether the CAN interrupt has occurred or not. - * @param CAN_Reg: specifies the CAN interrupt register to check. - * @param It_Bit: specifies the interrupt source bit to check. - * @retval The new state of the CAN Interrupt (SET or RESET). - */ -static ITStatus CheckITStatus(uint32_t CAN_Reg, uint32_t It_Bit) -{ - ITStatus pendingbitstatus = RESET; - - if ((CAN_Reg & It_Bit) != (uint32_t)RESET) - { - /* CAN_IT is set */ - pendingbitstatus = SET; - } - else - { - /* CAN_IT is reset */ - pendingbitstatus = RESET; - } - return pendingbitstatus; -} - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_cec.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_cec.c deleted file mode 100644 index 08b501a0c..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_cec.c +++ /dev/null @@ -1,433 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_cec.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the CEC firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_cec.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup CEC - * @brief CEC driver modules - * @{ - */ - -/** @defgroup CEC_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - - -/** @defgroup CEC_Private_Defines - * @{ - */ - -/* ------------ CEC registers bit address in the alias region ----------- */ -#define CEC_OFFSET (CEC_BASE - PERIPH_BASE) - -/* --- CFGR Register ---*/ - -/* Alias word address of PE bit */ -#define CFGR_OFFSET (CEC_OFFSET + 0x00) -#define PE_BitNumber 0x00 -#define CFGR_PE_BB (PERIPH_BB_BASE + (CFGR_OFFSET * 32) + (PE_BitNumber * 4)) - -/* Alias word address of IE bit */ -#define IE_BitNumber 0x01 -#define CFGR_IE_BB (PERIPH_BB_BASE + (CFGR_OFFSET * 32) + (IE_BitNumber * 4)) - -/* --- CSR Register ---*/ - -/* Alias word address of TSOM bit */ -#define CSR_OFFSET (CEC_OFFSET + 0x10) -#define TSOM_BitNumber 0x00 -#define CSR_TSOM_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (TSOM_BitNumber * 4)) - -/* Alias word address of TEOM bit */ -#define TEOM_BitNumber 0x01 -#define CSR_TEOM_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (TEOM_BitNumber * 4)) - -#define CFGR_CLEAR_Mask (uint8_t)(0xF3) /* CFGR register Mask */ -#define FLAG_Mask ((uint32_t)0x00FFFFFF) /* CEC FLAG mask */ - -/** - * @} - */ - - -/** @defgroup CEC_Private_Macros - * @{ - */ - -/** - * @} - */ - - -/** @defgroup CEC_Private_Variables - * @{ - */ - -/** - * @} - */ - - -/** @defgroup CEC_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - - -/** @defgroup CEC_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the CEC peripheral registers to their default reset - * values. - * @param None - * @retval None - */ -void CEC_DeInit(void) -{ - /* Enable CEC reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_CEC, ENABLE); - /* Release CEC from reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_CEC, DISABLE); -} - - -/** - * @brief Initializes the CEC peripheral according to the specified - * parameters in the CEC_InitStruct. - * @param CEC_InitStruct: pointer to an CEC_InitTypeDef structure that - * contains the configuration information for the specified - * CEC peripheral. - * @retval None - */ -void CEC_Init(CEC_InitTypeDef* CEC_InitStruct) -{ - uint16_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_CEC_BIT_TIMING_ERROR_MODE(CEC_InitStruct->CEC_BitTimingMode)); - assert_param(IS_CEC_BIT_PERIOD_ERROR_MODE(CEC_InitStruct->CEC_BitPeriodMode)); - - /*---------------------------- CEC CFGR Configuration -----------------*/ - /* Get the CEC CFGR value */ - tmpreg = CEC->CFGR; - - /* Clear BTEM and BPEM bits */ - tmpreg &= CFGR_CLEAR_Mask; - - /* Configure CEC: Bit Timing Error and Bit Period Error */ - tmpreg |= (uint16_t)(CEC_InitStruct->CEC_BitTimingMode | CEC_InitStruct->CEC_BitPeriodMode); - - /* Write to CEC CFGR register*/ - CEC->CFGR = tmpreg; - -} - -/** - * @brief Enables or disables the specified CEC peripheral. - * @param NewState: new state of the CEC peripheral. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void CEC_Cmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) CFGR_PE_BB = (uint32_t)NewState; - - if(NewState == DISABLE) - { - /* Wait until the PE bit is cleared by hardware (Idle Line detected) */ - while((CEC->CFGR & CEC_CFGR_PE) != (uint32_t)RESET) - { - } - } -} - -/** - * @brief Enables or disables the CEC interrupt. - * @param NewState: new state of the CEC interrupt. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void CEC_ITConfig(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) CFGR_IE_BB = (uint32_t)NewState; -} - -/** - * @brief Defines the Own Address of the CEC device. - * @param CEC_OwnAddress: The CEC own address - * @retval None - */ -void CEC_OwnAddressConfig(uint8_t CEC_OwnAddress) -{ - /* Check the parameters */ - assert_param(IS_CEC_ADDRESS(CEC_OwnAddress)); - - /* Set the CEC own address */ - CEC->OAR = CEC_OwnAddress; -} - -/** - * @brief Sets the CEC prescaler value. - * @param CEC_Prescaler: CEC prescaler new value - * @retval None - */ -void CEC_SetPrescaler(uint16_t CEC_Prescaler) -{ - /* Check the parameters */ - assert_param(IS_CEC_PRESCALER(CEC_Prescaler)); - - /* Set the Prescaler value*/ - CEC->PRES = CEC_Prescaler; -} - -/** - * @brief Transmits single data through the CEC peripheral. - * @param Data: the data to transmit. - * @retval None - */ -void CEC_SendDataByte(uint8_t Data) -{ - /* Transmit Data */ - CEC->TXD = Data ; -} - - -/** - * @brief Returns the most recent received data by the CEC peripheral. - * @param None - * @retval The received data. - */ -uint8_t CEC_ReceiveDataByte(void) -{ - /* Receive Data */ - return (uint8_t)(CEC->RXD); -} - -/** - * @brief Starts a new message. - * @param None - * @retval None - */ -void CEC_StartOfMessage(void) -{ - /* Starts of new message */ - *(__IO uint32_t *) CSR_TSOM_BB = (uint32_t)0x1; -} - -/** - * @brief Transmits message with or without an EOM bit. - * @param NewState: new state of the CEC Tx End Of Message. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void CEC_EndOfMessageCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - /* The data byte will be transmitted with or without an EOM bit*/ - *(__IO uint32_t *) CSR_TEOM_BB = (uint32_t)NewState; -} - -/** - * @brief Gets the CEC flag status - * @param CEC_FLAG: specifies the CEC flag to check. - * This parameter can be one of the following values: - * @arg CEC_FLAG_BTE: Bit Timing Error - * @arg CEC_FLAG_BPE: Bit Period Error - * @arg CEC_FLAG_RBTFE: Rx Block Transfer Finished Error - * @arg CEC_FLAG_SBE: Start Bit Error - * @arg CEC_FLAG_ACKE: Block Acknowledge Error - * @arg CEC_FLAG_LINE: Line Error - * @arg CEC_FLAG_TBTFE: Tx Block Transfer Finished Error - * @arg CEC_FLAG_TEOM: Tx End Of Message - * @arg CEC_FLAG_TERR: Tx Error - * @arg CEC_FLAG_TBTRF: Tx Byte Transfer Request or Block Transfer Finished - * @arg CEC_FLAG_RSOM: Rx Start Of Message - * @arg CEC_FLAG_REOM: Rx End Of Message - * @arg CEC_FLAG_RERR: Rx Error - * @arg CEC_FLAG_RBTF: Rx Byte/Block Transfer Finished - * @retval The new state of CEC_FLAG (SET or RESET) - */ -FlagStatus CEC_GetFlagStatus(uint32_t CEC_FLAG) -{ - FlagStatus bitstatus = RESET; - uint32_t cecreg = 0, cecbase = 0; - - /* Check the parameters */ - assert_param(IS_CEC_GET_FLAG(CEC_FLAG)); - - /* Get the CEC peripheral base address */ - cecbase = (uint32_t)(CEC_BASE); - - /* Read flag register index */ - cecreg = CEC_FLAG >> 28; - - /* Get bit[23:0] of the flag */ - CEC_FLAG &= FLAG_Mask; - - if(cecreg != 0) - { - /* Flag in CEC ESR Register */ - CEC_FLAG = (uint32_t)(CEC_FLAG >> 16); - - /* Get the CEC ESR register address */ - cecbase += 0xC; - } - else - { - /* Get the CEC CSR register address */ - cecbase += 0x10; - } - - if(((*(__IO uint32_t *)cecbase) & CEC_FLAG) != (uint32_t)RESET) - { - /* CEC_FLAG is set */ - bitstatus = SET; - } - else - { - /* CEC_FLAG is reset */ - bitstatus = RESET; - } - - /* Return the CEC_FLAG status */ - return bitstatus; -} - -/** - * @brief Clears the CEC's pending flags. - * @param CEC_FLAG: specifies the flag to clear. - * This parameter can be any combination of the following values: - * @arg CEC_FLAG_TERR: Tx Error - * @arg CEC_FLAG_TBTRF: Tx Byte Transfer Request or Block Transfer Finished - * @arg CEC_FLAG_RSOM: Rx Start Of Message - * @arg CEC_FLAG_REOM: Rx End Of Message - * @arg CEC_FLAG_RERR: Rx Error - * @arg CEC_FLAG_RBTF: Rx Byte/Block Transfer Finished - * @retval None - */ -void CEC_ClearFlag(uint32_t CEC_FLAG) -{ - uint32_t tmp = 0x0; - - /* Check the parameters */ - assert_param(IS_CEC_CLEAR_FLAG(CEC_FLAG)); - - tmp = CEC->CSR & 0x2; - - /* Clear the selected CEC flags */ - CEC->CSR &= (uint32_t)(((~(uint32_t)CEC_FLAG) & 0xFFFFFFFC) | tmp); -} - -/** - * @brief Checks whether the specified CEC interrupt has occurred or not. - * @param CEC_IT: specifies the CEC interrupt source to check. - * This parameter can be one of the following values: - * @arg CEC_IT_TERR: Tx Error - * @arg CEC_IT_TBTF: Tx Block Transfer Finished - * @arg CEC_IT_RERR: Rx Error - * @arg CEC_IT_RBTF: Rx Block Transfer Finished - * @retval The new state of CEC_IT (SET or RESET). - */ -ITStatus CEC_GetITStatus(uint8_t CEC_IT) -{ - ITStatus bitstatus = RESET; - uint32_t enablestatus = 0; - - /* Check the parameters */ - assert_param(IS_CEC_GET_IT(CEC_IT)); - - /* Get the CEC IT enable bit status */ - enablestatus = (CEC->CFGR & (uint8_t)CEC_CFGR_IE) ; - - /* Check the status of the specified CEC interrupt */ - if (((CEC->CSR & CEC_IT) != (uint32_t)RESET) && enablestatus) - { - /* CEC_IT is set */ - bitstatus = SET; - } - else - { - /* CEC_IT is reset */ - bitstatus = RESET; - } - /* Return the CEC_IT status */ - return bitstatus; -} - -/** - * @brief Clears the CEC's interrupt pending bits. - * @param CEC_IT: specifies the CEC interrupt pending bit to clear. - * This parameter can be any combination of the following values: - * @arg CEC_IT_TERR: Tx Error - * @arg CEC_IT_TBTF: Tx Block Transfer Finished - * @arg CEC_IT_RERR: Rx Error - * @arg CEC_IT_RBTF: Rx Block Transfer Finished - * @retval None - */ -void CEC_ClearITPendingBit(uint16_t CEC_IT) -{ - uint32_t tmp = 0x0; - - /* Check the parameters */ - assert_param(IS_CEC_GET_IT(CEC_IT)); - - tmp = CEC->CSR & 0x2; - - /* Clear the selected CEC interrupt pending bits */ - CEC->CSR &= (uint32_t)(((~(uint32_t)CEC_IT) & 0xFFFFFFFC) | tmp); -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_crc.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_crc.c deleted file mode 100644 index ef0c047d8..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_crc.c +++ /dev/null @@ -1,160 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_crc.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the CRC firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_crc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup CRC - * @brief CRC driver modules - * @{ - */ - -/** @defgroup CRC_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup CRC_Private_Defines - * @{ - */ - -/** - * @} - */ - -/** @defgroup CRC_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup CRC_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup CRC_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup CRC_Private_Functions - * @{ - */ - -/** - * @brief Resets the CRC Data register (DR). - * @param None - * @retval None - */ -void CRC_ResetDR(void) -{ - /* Reset CRC generator */ - CRC->CR = CRC_CR_RESET; -} - -/** - * @brief Computes the 32-bit CRC of a given data word(32-bit). - * @param Data: data word(32-bit) to compute its CRC - * @retval 32-bit CRC - */ -uint32_t CRC_CalcCRC(uint32_t Data) -{ - CRC->DR = Data; - - return (CRC->DR); -} - -/** - * @brief Computes the 32-bit CRC of a given buffer of data word(32-bit). - * @param pBuffer: pointer to the buffer containing the data to be computed - * @param BufferLength: length of the buffer to be computed - * @retval 32-bit CRC - */ -uint32_t CRC_CalcBlockCRC(uint32_t pBuffer[], uint32_t BufferLength) -{ - uint32_t index = 0; - - for(index = 0; index < BufferLength; index++) - { - CRC->DR = pBuffer[index]; - } - return (CRC->DR); -} - -/** - * @brief Returns the current CRC value. - * @param None - * @retval 32-bit CRC - */ -uint32_t CRC_GetCRC(void) -{ - return (CRC->DR); -} - -/** - * @brief Stores a 8-bit data in the Independent Data(ID) register. - * @param IDValue: 8-bit value to be stored in the ID register - * @retval None - */ -void CRC_SetIDRegister(uint8_t IDValue) -{ - CRC->IDR = IDValue; -} - -/** - * @brief Returns the 8-bit data stored in the Independent Data(ID) register - * @param None - * @retval 8-bit value of the ID register - */ -uint8_t CRC_GetIDRegister(void) -{ - return (CRC->IDR); -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c deleted file mode 100644 index 025b8e283..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c +++ /dev/null @@ -1,571 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_dac.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the DAC firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_dac.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup DAC - * @brief DAC driver modules - * @{ - */ - -/** @defgroup DAC_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup DAC_Private_Defines - * @{ - */ - -/* CR register Mask */ -#define CR_CLEAR_MASK ((uint32_t)0x00000FFE) - -/* DAC Dual Channels SWTRIG masks */ -#define DUAL_SWTRIG_SET ((uint32_t)0x00000003) -#define DUAL_SWTRIG_RESET ((uint32_t)0xFFFFFFFC) - -/* DHR registers offsets */ -#define DHR12R1_OFFSET ((uint32_t)0x00000008) -#define DHR12R2_OFFSET ((uint32_t)0x00000014) -#define DHR12RD_OFFSET ((uint32_t)0x00000020) - -/* DOR register offset */ -#define DOR_OFFSET ((uint32_t)0x0000002C) -/** - * @} - */ - -/** @defgroup DAC_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup DAC_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup DAC_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup DAC_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the DAC peripheral registers to their default reset values. - * @param None - * @retval None - */ -void DAC_DeInit(void) -{ - /* Enable DAC reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_DAC, ENABLE); - /* Release DAC from reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_DAC, DISABLE); -} - -/** - * @brief Initializes the DAC peripheral according to the specified - * parameters in the DAC_InitStruct. - * @param DAC_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 DAC_InitStruct: pointer to a DAC_InitTypeDef structure that - * contains the configuration information for the specified DAC channel. - * @retval None - */ -void DAC_Init(uint32_t DAC_Channel, DAC_InitTypeDef* DAC_InitStruct) -{ - uint32_t tmpreg1 = 0, tmpreg2 = 0; - /* Check the DAC parameters */ - assert_param(IS_DAC_TRIGGER(DAC_InitStruct->DAC_Trigger)); - assert_param(IS_DAC_GENERATE_WAVE(DAC_InitStruct->DAC_WaveGeneration)); - assert_param(IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(DAC_InitStruct->DAC_LFSRUnmask_TriangleAmplitude)); - assert_param(IS_DAC_OUTPUT_BUFFER_STATE(DAC_InitStruct->DAC_OutputBuffer)); -/*---------------------------- DAC CR Configuration --------------------------*/ - /* Get the DAC CR value */ - tmpreg1 = DAC->CR; - /* Clear BOFFx, TENx, TSELx, WAVEx and MAMPx bits */ - tmpreg1 &= ~(CR_CLEAR_MASK << DAC_Channel); - /* Configure for the selected DAC channel: buffer output, trigger, wave generation, - mask/amplitude for wave generation */ - /* Set TSELx and TENx bits according to DAC_Trigger value */ - /* Set WAVEx bits according to DAC_WaveGeneration value */ - /* Set MAMPx bits according to DAC_LFSRUnmask_TriangleAmplitude value */ - /* Set BOFFx bit according to DAC_OutputBuffer value */ - tmpreg2 = (DAC_InitStruct->DAC_Trigger | DAC_InitStruct->DAC_WaveGeneration | - DAC_InitStruct->DAC_LFSRUnmask_TriangleAmplitude | DAC_InitStruct->DAC_OutputBuffer); - /* Calculate CR register value depending on DAC_Channel */ - tmpreg1 |= tmpreg2 << DAC_Channel; - /* Write to DAC CR */ - DAC->CR = tmpreg1; -} - -/** - * @brief Fills each DAC_InitStruct member with its default value. - * @param DAC_InitStruct : pointer to a DAC_InitTypeDef structure which will - * be initialized. - * @retval None - */ -void DAC_StructInit(DAC_InitTypeDef* DAC_InitStruct) -{ -/*--------------- Reset DAC init structure parameters values -----------------*/ - /* Initialize the DAC_Trigger member */ - DAC_InitStruct->DAC_Trigger = DAC_Trigger_None; - /* Initialize the DAC_WaveGeneration member */ - DAC_InitStruct->DAC_WaveGeneration = DAC_WaveGeneration_None; - /* Initialize the DAC_LFSRUnmask_TriangleAmplitude member */ - DAC_InitStruct->DAC_LFSRUnmask_TriangleAmplitude = DAC_LFSRUnmask_Bit0; - /* Initialize the DAC_OutputBuffer member */ - DAC_InitStruct->DAC_OutputBuffer = DAC_OutputBuffer_Enable; -} - -/** - * @brief Enables or disables the specified DAC channel. - * @param DAC_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 NewState: new state of the DAC channel. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void DAC_Cmd(uint32_t DAC_Channel, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_DAC_CHANNEL(DAC_Channel)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected DAC channel */ - DAC->CR |= (DAC_CR_EN1 << DAC_Channel); - } - else - { - /* Disable the selected DAC channel */ - DAC->CR &= ~(DAC_CR_EN1 << DAC_Channel); - } -} -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) -/** - * @brief Enables or disables the specified DAC interrupts. - * @param DAC_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 DAC_IT: specifies the DAC interrupt sources to be enabled or disabled. - * This parameter can be the following values: - * @arg DAC_IT_DMAUDR: DMA underrun interrupt mask - * @param NewState: new state of the specified DAC interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void DAC_ITConfig(uint32_t DAC_Channel, uint32_t DAC_IT, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_DAC_CHANNEL(DAC_Channel)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - assert_param(IS_DAC_IT(DAC_IT)); - - if (NewState != DISABLE) - { - /* Enable the selected DAC interrupts */ - DAC->CR |= (DAC_IT << DAC_Channel); - } - else - { - /* Disable the selected DAC interrupts */ - DAC->CR &= (~(uint32_t)(DAC_IT << DAC_Channel)); - } -} -#endif - -/** - * @brief Enables or disables the specified DAC channel DMA request. - * @param DAC_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 NewState: new state of the selected DAC channel DMA request. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void DAC_DMACmd(uint32_t DAC_Channel, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_DAC_CHANNEL(DAC_Channel)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected DAC channel DMA request */ - DAC->CR |= (DAC_CR_DMAEN1 << DAC_Channel); - } - else - { - /* Disable the selected DAC channel DMA request */ - DAC->CR &= ~(DAC_CR_DMAEN1 << DAC_Channel); - } -} - -/** - * @brief Enables or disables the selected DAC channel software trigger. - * @param DAC_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 NewState: new state of the selected DAC channel software trigger. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void DAC_SoftwareTriggerCmd(uint32_t DAC_Channel, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_DAC_CHANNEL(DAC_Channel)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable software trigger for the selected DAC channel */ - DAC->SWTRIGR |= (uint32_t)DAC_SWTRIGR_SWTRIG1 << (DAC_Channel >> 4); - } - else - { - /* Disable software trigger for the selected DAC channel */ - DAC->SWTRIGR &= ~((uint32_t)DAC_SWTRIGR_SWTRIG1 << (DAC_Channel >> 4)); - } -} - -/** - * @brief Enables or disables simultaneously the two DAC channels software - * triggers. - * @param NewState: new state of the DAC channels software triggers. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void DAC_DualSoftwareTriggerCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable software trigger for both DAC channels */ - DAC->SWTRIGR |= DUAL_SWTRIG_SET ; - } - else - { - /* Disable software trigger for both DAC channels */ - DAC->SWTRIGR &= DUAL_SWTRIG_RESET; - } -} - -/** - * @brief Enables or disables the selected DAC channel wave generation. - * @param DAC_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 DAC_Wave: Specifies the wave type to enable or disable. - * This parameter can be one of the following values: - * @arg DAC_Wave_Noise: noise wave generation - * @arg DAC_Wave_Triangle: triangle wave generation - * @param NewState: new state of the selected DAC channel wave generation. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void DAC_WaveGenerationCmd(uint32_t DAC_Channel, uint32_t DAC_Wave, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_DAC_CHANNEL(DAC_Channel)); - assert_param(IS_DAC_WAVE(DAC_Wave)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected wave generation for the selected DAC channel */ - DAC->CR |= DAC_Wave << DAC_Channel; - } - else - { - /* Disable the selected wave generation for the selected DAC channel */ - DAC->CR &= ~(DAC_Wave << DAC_Channel); - } -} - -/** - * @brief Set the specified data holding register value for DAC channel1. - * @param DAC_Align: Specifies the data alignment for DAC channel1. - * 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 None - */ -void DAC_SetChannel1Data(uint32_t DAC_Align, uint16_t Data) -{ - __IO uint32_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_DAC_ALIGN(DAC_Align)); - assert_param(IS_DAC_DATA(Data)); - - tmp = (uint32_t)DAC_BASE; - tmp += DHR12R1_OFFSET + DAC_Align; - - /* Set the DAC channel1 selected data holding register */ - *(__IO uint32_t *) tmp = Data; -} - -/** - * @brief Set the specified data holding register value for DAC channel2. - * @param DAC_Align: Specifies the data alignment for DAC channel2. - * 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 None - */ -void DAC_SetChannel2Data(uint32_t DAC_Align, uint16_t Data) -{ - __IO uint32_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_DAC_ALIGN(DAC_Align)); - assert_param(IS_DAC_DATA(Data)); - - tmp = (uint32_t)DAC_BASE; - tmp += DHR12R2_OFFSET + DAC_Align; - - /* Set the DAC channel2 selected data holding register */ - *(__IO uint32_t *)tmp = Data; -} - -/** - * @brief Set the specified data holding register value for dual channel - * DAC. - * @param DAC_Align: Specifies the data alignment for dual channel DAC. - * 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 Data2: Data for DAC Channel2 to be loaded in the selected data - * holding register. - * @param Data1: Data for DAC Channel1 to be loaded in the selected data - * holding register. - * @retval None - */ -void DAC_SetDualChannelData(uint32_t DAC_Align, uint16_t Data2, uint16_t Data1) -{ - uint32_t data = 0, tmp = 0; - - /* Check the parameters */ - assert_param(IS_DAC_ALIGN(DAC_Align)); - assert_param(IS_DAC_DATA(Data1)); - assert_param(IS_DAC_DATA(Data2)); - - /* Calculate and set dual DAC data holding register value */ - if (DAC_Align == DAC_Align_8b_R) - { - data = ((uint32_t)Data2 << 8) | Data1; - } - else - { - data = ((uint32_t)Data2 << 16) | Data1; - } - - tmp = (uint32_t)DAC_BASE; - tmp += DHR12RD_OFFSET + DAC_Align; - - /* Set the dual DAC selected data holding register */ - *(__IO uint32_t *)tmp = data; -} - -/** - * @brief Returns the last data output value of the selected DAC channel. - * @param DAC_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. - */ -uint16_t DAC_GetDataOutputValue(uint32_t DAC_Channel) -{ - __IO uint32_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_DAC_CHANNEL(DAC_Channel)); - - tmp = (uint32_t) DAC_BASE ; - tmp += DOR_OFFSET + ((uint32_t)DAC_Channel >> 2); - - /* Returns the DAC channel data output register value */ - return (uint16_t) (*(__IO uint32_t*) tmp); -} - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) -/** - * @brief Checks whether the specified DAC flag is set or not. - * @param DAC_Channel: thee 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 DAC_FLAG: specifies the flag to check. - * This parameter can be only of the following value: - * @arg DAC_FLAG_DMAUDR: DMA underrun flag - * @retval The new state of DAC_FLAG (SET or RESET). - */ -FlagStatus DAC_GetFlagStatus(uint32_t DAC_Channel, uint32_t DAC_FLAG) -{ - FlagStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_DAC_CHANNEL(DAC_Channel)); - assert_param(IS_DAC_FLAG(DAC_FLAG)); - - /* Check the status of the specified DAC flag */ - if ((DAC->SR & (DAC_FLAG << DAC_Channel)) != (uint8_t)RESET) - { - /* DAC_FLAG is set */ - bitstatus = SET; - } - else - { - /* DAC_FLAG is reset */ - bitstatus = RESET; - } - /* Return the DAC_FLAG status */ - return bitstatus; -} - -/** - * @brief Clears the DAC channelx's pending flags. - * @param DAC_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 DAC_FLAG: specifies the flag to clear. - * This parameter can be of the following value: - * @arg DAC_FLAG_DMAUDR: DMA underrun flag - * @retval None - */ -void DAC_ClearFlag(uint32_t DAC_Channel, uint32_t DAC_FLAG) -{ - /* Check the parameters */ - assert_param(IS_DAC_CHANNEL(DAC_Channel)); - assert_param(IS_DAC_FLAG(DAC_FLAG)); - - /* Clear the selected DAC flags */ - DAC->SR = (DAC_FLAG << DAC_Channel); -} - -/** - * @brief Checks whether the specified DAC interrupt has occurred or not. - * @param DAC_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 DAC_IT: specifies the DAC interrupt source to check. - * This parameter can be the following values: - * @arg DAC_IT_DMAUDR: DMA underrun interrupt mask - * @retval The new state of DAC_IT (SET or RESET). - */ -ITStatus DAC_GetITStatus(uint32_t DAC_Channel, uint32_t DAC_IT) -{ - ITStatus bitstatus = RESET; - uint32_t enablestatus = 0; - - /* Check the parameters */ - assert_param(IS_DAC_CHANNEL(DAC_Channel)); - assert_param(IS_DAC_IT(DAC_IT)); - - /* Get the DAC_IT enable bit status */ - enablestatus = (DAC->CR & (DAC_IT << DAC_Channel)) ; - - /* Check the status of the specified DAC interrupt */ - if (((DAC->SR & (DAC_IT << DAC_Channel)) != (uint32_t)RESET) && enablestatus) - { - /* DAC_IT is set */ - bitstatus = SET; - } - else - { - /* DAC_IT is reset */ - bitstatus = RESET; - } - /* Return the DAC_IT status */ - return bitstatus; -} - -/** - * @brief Clears the DAC channelx's interrupt pending bits. - * @param DAC_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 DAC_IT: specifies the DAC interrupt pending bit to clear. - * This parameter can be the following values: - * @arg DAC_IT_DMAUDR: DMA underrun interrupt mask - * @retval None - */ -void DAC_ClearITPendingBit(uint32_t DAC_Channel, uint32_t DAC_IT) -{ - /* Check the parameters */ - assert_param(IS_DAC_CHANNEL(DAC_Channel)); - assert_param(IS_DAC_IT(DAC_IT)); - - /* Clear the selected DAC interrupt pending bits */ - DAC->SR = (DAC_IT << DAC_Channel); -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dbgmcu.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dbgmcu.c deleted file mode 100644 index d34307b05..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dbgmcu.c +++ /dev/null @@ -1,162 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_dbgmcu.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the DBGMCU firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_dbgmcu.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup DBGMCU - * @brief DBGMCU driver modules - * @{ - */ - -/** @defgroup DBGMCU_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup DBGMCU_Private_Defines - * @{ - */ - -#define IDCODE_DEVID_MASK ((uint32_t)0x00000FFF) -/** - * @} - */ - -/** @defgroup DBGMCU_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup DBGMCU_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup DBGMCU_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup DBGMCU_Private_Functions - * @{ - */ - -/** - * @brief Returns the device revision identifier. - * @param None - * @retval Device revision identifier - */ -uint32_t DBGMCU_GetREVID(void) -{ - return(DBGMCU->IDCODE >> 16); -} - -/** - * @brief Returns the device identifier. - * @param None - * @retval Device identifier - */ -uint32_t DBGMCU_GetDEVID(void) -{ - return(DBGMCU->IDCODE & IDCODE_DEVID_MASK); -} - -/** - * @brief Configures the specified peripheral and low power mode behavior - * when the MCU under Debug mode. - * @param DBGMCU_Periph: specifies the peripheral and low power mode. - * This parameter can be any combination of the following values: - * @arg DBGMCU_SLEEP: Keep debugger connection during SLEEP mode - * @arg DBGMCU_STOP: Keep debugger connection during STOP mode - * @arg DBGMCU_STANDBY: Keep debugger connection during STANDBY mode - * @arg DBGMCU_IWDG_STOP: Debug IWDG stopped when Core is halted - * @arg DBGMCU_WWDG_STOP: Debug WWDG stopped when Core is halted - * @arg DBGMCU_TIM1_STOP: TIM1 counter stopped when Core is halted - * @arg DBGMCU_TIM2_STOP: TIM2 counter stopped when Core is halted - * @arg DBGMCU_TIM3_STOP: TIM3 counter stopped when Core is halted - * @arg DBGMCU_TIM4_STOP: TIM4 counter stopped when Core is halted - * @arg DBGMCU_CAN1_STOP: Debug CAN2 stopped when Core is halted - * @arg DBGMCU_I2C1_SMBUS_TIMEOUT: I2C1 SMBUS timeout mode stopped when Core is halted - * @arg DBGMCU_I2C2_SMBUS_TIMEOUT: I2C2 SMBUS timeout mode stopped when Core is halted - * @arg DBGMCU_TIM5_STOP: TIM5 counter stopped when Core is halted - * @arg DBGMCU_TIM6_STOP: TIM6 counter stopped when Core is halted - * @arg DBGMCU_TIM7_STOP: TIM7 counter stopped when Core is halted - * @arg DBGMCU_TIM8_STOP: TIM8 counter stopped when Core is halted - * @arg DBGMCU_CAN2_STOP: Debug CAN2 stopped when Core is halted - * @arg DBGMCU_TIM15_STOP: TIM15 counter stopped when Core is halted - * @arg DBGMCU_TIM16_STOP: TIM16 counter stopped when Core is halted - * @arg DBGMCU_TIM17_STOP: TIM17 counter stopped when Core is halted - * @arg DBGMCU_TIM9_STOP: TIM9 counter stopped when Core is halted - * @arg DBGMCU_TIM10_STOP: TIM10 counter stopped when Core is halted - * @arg DBGMCU_TIM11_STOP: TIM11 counter stopped when Core is halted - * @arg DBGMCU_TIM12_STOP: TIM12 counter stopped when Core is halted - * @arg DBGMCU_TIM13_STOP: TIM13 counter stopped when Core is halted - * @arg DBGMCU_TIM14_STOP: TIM14 counter stopped when Core is halted - * @param NewState: new state of the specified peripheral in Debug mode. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void DBGMCU_Config(uint32_t DBGMCU_Periph, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_DBGMCU_PERIPH(DBGMCU_Periph)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - DBGMCU->CR |= DBGMCU_Periph; - } - else - { - DBGMCU->CR &= ~DBGMCU_Periph; - } -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c deleted file mode 100644 index 0c86f9018..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c +++ /dev/null @@ -1,714 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_dma.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the DMA firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_dma.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup DMA - * @brief DMA driver modules - * @{ - */ - -/** @defgroup DMA_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - -/** @defgroup DMA_Private_Defines - * @{ - */ - - -/* DMA1 Channelx interrupt pending bit masks */ -#define DMA1_Channel1_IT_Mask ((uint32_t)(DMA_ISR_GIF1 | DMA_ISR_TCIF1 | DMA_ISR_HTIF1 | DMA_ISR_TEIF1)) -#define DMA1_Channel2_IT_Mask ((uint32_t)(DMA_ISR_GIF2 | DMA_ISR_TCIF2 | DMA_ISR_HTIF2 | DMA_ISR_TEIF2)) -#define DMA1_Channel3_IT_Mask ((uint32_t)(DMA_ISR_GIF3 | DMA_ISR_TCIF3 | DMA_ISR_HTIF3 | DMA_ISR_TEIF3)) -#define DMA1_Channel4_IT_Mask ((uint32_t)(DMA_ISR_GIF4 | DMA_ISR_TCIF4 | DMA_ISR_HTIF4 | DMA_ISR_TEIF4)) -#define DMA1_Channel5_IT_Mask ((uint32_t)(DMA_ISR_GIF5 | DMA_ISR_TCIF5 | DMA_ISR_HTIF5 | DMA_ISR_TEIF5)) -#define DMA1_Channel6_IT_Mask ((uint32_t)(DMA_ISR_GIF6 | DMA_ISR_TCIF6 | DMA_ISR_HTIF6 | DMA_ISR_TEIF6)) -#define DMA1_Channel7_IT_Mask ((uint32_t)(DMA_ISR_GIF7 | DMA_ISR_TCIF7 | DMA_ISR_HTIF7 | DMA_ISR_TEIF7)) - -/* DMA2 Channelx interrupt pending bit masks */ -#define DMA2_Channel1_IT_Mask ((uint32_t)(DMA_ISR_GIF1 | DMA_ISR_TCIF1 | DMA_ISR_HTIF1 | DMA_ISR_TEIF1)) -#define DMA2_Channel2_IT_Mask ((uint32_t)(DMA_ISR_GIF2 | DMA_ISR_TCIF2 | DMA_ISR_HTIF2 | DMA_ISR_TEIF2)) -#define DMA2_Channel3_IT_Mask ((uint32_t)(DMA_ISR_GIF3 | DMA_ISR_TCIF3 | DMA_ISR_HTIF3 | DMA_ISR_TEIF3)) -#define DMA2_Channel4_IT_Mask ((uint32_t)(DMA_ISR_GIF4 | DMA_ISR_TCIF4 | DMA_ISR_HTIF4 | DMA_ISR_TEIF4)) -#define DMA2_Channel5_IT_Mask ((uint32_t)(DMA_ISR_GIF5 | DMA_ISR_TCIF5 | DMA_ISR_HTIF5 | DMA_ISR_TEIF5)) - -/* DMA2 FLAG mask */ -#define FLAG_Mask ((uint32_t)0x10000000) - -/* DMA registers Masks */ -#define CCR_CLEAR_Mask ((uint32_t)0xFFFF800F) - -/** - * @} - */ - -/** @defgroup DMA_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup DMA_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup DMA_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup DMA_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the DMAy Channelx registers to their default reset - * values. - * @param DMAy_Channelx: where y can be 1 or 2 to select the DMA and - * x can be 1 to 7 for DMA1 and 1 to 5 for DMA2 to select the DMA Channel. - * @retval None - */ -void DMA_DeInit(DMA_Channel_TypeDef* DMAy_Channelx) -{ - /* Check the parameters */ - assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx)); - - /* Disable the selected DMAy Channelx */ - DMAy_Channelx->CCR &= (uint16_t)(~DMA_CCR1_EN); - - /* Reset DMAy Channelx control register */ - DMAy_Channelx->CCR = 0; - - /* Reset DMAy Channelx remaining bytes register */ - DMAy_Channelx->CNDTR = 0; - - /* Reset DMAy Channelx peripheral address register */ - DMAy_Channelx->CPAR = 0; - - /* Reset DMAy Channelx memory address register */ - DMAy_Channelx->CMAR = 0; - - if (DMAy_Channelx == DMA1_Channel1) - { - /* Reset interrupt pending bits for DMA1 Channel1 */ - DMA1->IFCR |= DMA1_Channel1_IT_Mask; - } - else if (DMAy_Channelx == DMA1_Channel2) - { - /* Reset interrupt pending bits for DMA1 Channel2 */ - DMA1->IFCR |= DMA1_Channel2_IT_Mask; - } - else if (DMAy_Channelx == DMA1_Channel3) - { - /* Reset interrupt pending bits for DMA1 Channel3 */ - DMA1->IFCR |= DMA1_Channel3_IT_Mask; - } - else if (DMAy_Channelx == DMA1_Channel4) - { - /* Reset interrupt pending bits for DMA1 Channel4 */ - DMA1->IFCR |= DMA1_Channel4_IT_Mask; - } - else if (DMAy_Channelx == DMA1_Channel5) - { - /* Reset interrupt pending bits for DMA1 Channel5 */ - DMA1->IFCR |= DMA1_Channel5_IT_Mask; - } - else if (DMAy_Channelx == DMA1_Channel6) - { - /* Reset interrupt pending bits for DMA1 Channel6 */ - DMA1->IFCR |= DMA1_Channel6_IT_Mask; - } - else if (DMAy_Channelx == DMA1_Channel7) - { - /* Reset interrupt pending bits for DMA1 Channel7 */ - DMA1->IFCR |= DMA1_Channel7_IT_Mask; - } - else if (DMAy_Channelx == DMA2_Channel1) - { - /* Reset interrupt pending bits for DMA2 Channel1 */ - DMA2->IFCR |= DMA2_Channel1_IT_Mask; - } - else if (DMAy_Channelx == DMA2_Channel2) - { - /* Reset interrupt pending bits for DMA2 Channel2 */ - DMA2->IFCR |= DMA2_Channel2_IT_Mask; - } - else if (DMAy_Channelx == DMA2_Channel3) - { - /* Reset interrupt pending bits for DMA2 Channel3 */ - DMA2->IFCR |= DMA2_Channel3_IT_Mask; - } - else if (DMAy_Channelx == DMA2_Channel4) - { - /* Reset interrupt pending bits for DMA2 Channel4 */ - DMA2->IFCR |= DMA2_Channel4_IT_Mask; - } - else - { - if (DMAy_Channelx == DMA2_Channel5) - { - /* Reset interrupt pending bits for DMA2 Channel5 */ - DMA2->IFCR |= DMA2_Channel5_IT_Mask; - } - } -} - -/** - * @brief Initializes the DMAy Channelx according to the specified - * parameters in the DMA_InitStruct. - * @param DMAy_Channelx: where y can be 1 or 2 to select the DMA and - * x can be 1 to 7 for DMA1 and 1 to 5 for DMA2 to select the DMA Channel. - * @param DMA_InitStruct: pointer to a DMA_InitTypeDef structure that - * contains the configuration information for the specified DMA Channel. - * @retval None - */ -void DMA_Init(DMA_Channel_TypeDef* DMAy_Channelx, DMA_InitTypeDef* DMA_InitStruct) -{ - uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx)); - assert_param(IS_DMA_DIR(DMA_InitStruct->DMA_DIR)); - assert_param(IS_DMA_BUFFER_SIZE(DMA_InitStruct->DMA_BufferSize)); - assert_param(IS_DMA_PERIPHERAL_INC_STATE(DMA_InitStruct->DMA_PeripheralInc)); - assert_param(IS_DMA_MEMORY_INC_STATE(DMA_InitStruct->DMA_MemoryInc)); - assert_param(IS_DMA_PERIPHERAL_DATA_SIZE(DMA_InitStruct->DMA_PeripheralDataSize)); - assert_param(IS_DMA_MEMORY_DATA_SIZE(DMA_InitStruct->DMA_MemoryDataSize)); - assert_param(IS_DMA_MODE(DMA_InitStruct->DMA_Mode)); - assert_param(IS_DMA_PRIORITY(DMA_InitStruct->DMA_Priority)); - assert_param(IS_DMA_M2M_STATE(DMA_InitStruct->DMA_M2M)); - -/*--------------------------- DMAy Channelx CCR Configuration -----------------*/ - /* Get the DMAy_Channelx CCR value */ - tmpreg = DMAy_Channelx->CCR; - /* Clear MEM2MEM, PL, MSIZE, PSIZE, MINC, PINC, CIRC and DIR bits */ - tmpreg &= CCR_CLEAR_Mask; - /* Configure DMAy Channelx: data transfer, data size, priority level and mode */ - /* Set DIR bit according to DMA_DIR value */ - /* Set CIRC bit according to DMA_Mode value */ - /* Set PINC bit according to DMA_PeripheralInc value */ - /* Set MINC bit according to DMA_MemoryInc value */ - /* Set PSIZE bits according to DMA_PeripheralDataSize value */ - /* Set MSIZE bits according to DMA_MemoryDataSize value */ - /* Set PL bits according to DMA_Priority value */ - /* Set the MEM2MEM bit according to DMA_M2M value */ - tmpreg |= DMA_InitStruct->DMA_DIR | DMA_InitStruct->DMA_Mode | - DMA_InitStruct->DMA_PeripheralInc | DMA_InitStruct->DMA_MemoryInc | - DMA_InitStruct->DMA_PeripheralDataSize | DMA_InitStruct->DMA_MemoryDataSize | - DMA_InitStruct->DMA_Priority | DMA_InitStruct->DMA_M2M; - - /* Write to DMAy Channelx CCR */ - DMAy_Channelx->CCR = tmpreg; - -/*--------------------------- DMAy Channelx CNDTR Configuration ---------------*/ - /* Write to DMAy Channelx CNDTR */ - DMAy_Channelx->CNDTR = DMA_InitStruct->DMA_BufferSize; - -/*--------------------------- DMAy Channelx CPAR Configuration ----------------*/ - /* Write to DMAy Channelx CPAR */ - DMAy_Channelx->CPAR = DMA_InitStruct->DMA_PeripheralBaseAddr; - -/*--------------------------- DMAy Channelx CMAR Configuration ----------------*/ - /* Write to DMAy Channelx CMAR */ - DMAy_Channelx->CMAR = DMA_InitStruct->DMA_MemoryBaseAddr; -} - -/** - * @brief Fills each DMA_InitStruct member with its default value. - * @param DMA_InitStruct : pointer to a DMA_InitTypeDef structure which will - * be initialized. - * @retval None - */ -void DMA_StructInit(DMA_InitTypeDef* DMA_InitStruct) -{ -/*-------------- Reset DMA init structure parameters values ------------------*/ - /* Initialize the DMA_PeripheralBaseAddr member */ - DMA_InitStruct->DMA_PeripheralBaseAddr = 0; - /* Initialize the DMA_MemoryBaseAddr member */ - DMA_InitStruct->DMA_MemoryBaseAddr = 0; - /* Initialize the DMA_DIR member */ - DMA_InitStruct->DMA_DIR = DMA_DIR_PeripheralSRC; - /* Initialize the DMA_BufferSize member */ - DMA_InitStruct->DMA_BufferSize = 0; - /* Initialize the DMA_PeripheralInc member */ - DMA_InitStruct->DMA_PeripheralInc = DMA_PeripheralInc_Disable; - /* Initialize the DMA_MemoryInc member */ - DMA_InitStruct->DMA_MemoryInc = DMA_MemoryInc_Disable; - /* Initialize the DMA_PeripheralDataSize member */ - DMA_InitStruct->DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; - /* Initialize the DMA_MemoryDataSize member */ - DMA_InitStruct->DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; - /* Initialize the DMA_Mode member */ - DMA_InitStruct->DMA_Mode = DMA_Mode_Normal; - /* Initialize the DMA_Priority member */ - DMA_InitStruct->DMA_Priority = DMA_Priority_Low; - /* Initialize the DMA_M2M member */ - DMA_InitStruct->DMA_M2M = DMA_M2M_Disable; -} - -/** - * @brief Enables or disables the specified DMAy Channelx. - * @param DMAy_Channelx: where y can be 1 or 2 to select the DMA and - * x can be 1 to 7 for DMA1 and 1 to 5 for DMA2 to select the DMA Channel. - * @param NewState: new state of the DMAy Channelx. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void DMA_Cmd(DMA_Channel_TypeDef* DMAy_Channelx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the selected DMAy Channelx */ - DMAy_Channelx->CCR |= DMA_CCR1_EN; - } - else - { - /* Disable the selected DMAy Channelx */ - DMAy_Channelx->CCR &= (uint16_t)(~DMA_CCR1_EN); - } -} - -/** - * @brief Enables or disables the specified DMAy Channelx interrupts. - * @param DMAy_Channelx: where y can be 1 or 2 to select the DMA and - * x can be 1 to 7 for DMA1 and 1 to 5 for DMA2 to select the DMA Channel. - * @param DMA_IT: specifies the DMA interrupts sources to be enabled - * or disabled. - * This parameter can be any combination of the following values: - * @arg DMA_IT_TC: Transfer complete interrupt mask - * @arg DMA_IT_HT: Half transfer interrupt mask - * @arg DMA_IT_TE: Transfer error interrupt mask - * @param NewState: new state of the specified DMA interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void DMA_ITConfig(DMA_Channel_TypeDef* DMAy_Channelx, uint32_t DMA_IT, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx)); - assert_param(IS_DMA_CONFIG_IT(DMA_IT)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected DMA interrupts */ - DMAy_Channelx->CCR |= DMA_IT; - } - else - { - /* Disable the selected DMA interrupts */ - DMAy_Channelx->CCR &= ~DMA_IT; - } -} - -/** - * @brief Sets the number of data units in the current DMAy Channelx transfer. - * @param DMAy_Channelx: where y can be 1 or 2 to select the DMA and - * x can be 1 to 7 for DMA1 and 1 to 5 for DMA2 to select the DMA Channel. - * @param DataNumber: The number of data units in the current DMAy Channelx - * transfer. - * @note This function can only be used when the DMAy_Channelx is disabled. - * @retval None. - */ -void DMA_SetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx, uint16_t DataNumber) -{ - /* Check the parameters */ - assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx)); - -/*--------------------------- DMAy Channelx CNDTR Configuration ---------------*/ - /* Write to DMAy Channelx CNDTR */ - DMAy_Channelx->CNDTR = DataNumber; -} - -/** - * @brief Returns the number of remaining data units in the current - * DMAy Channelx transfer. - * @param DMAy_Channelx: where y can be 1 or 2 to select the DMA and - * x can be 1 to 7 for DMA1 and 1 to 5 for DMA2 to select the DMA Channel. - * @retval The number of remaining data units in the current DMAy Channelx - * transfer. - */ -uint16_t DMA_GetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx) -{ - /* Check the parameters */ - assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx)); - /* Return the number of remaining data units for DMAy Channelx */ - return ((uint16_t)(DMAy_Channelx->CNDTR)); -} - -/** - * @brief Checks whether the specified DMAy Channelx flag is set or not. - * @param DMAy_FLAG: specifies the flag to check. - * This parameter can be one of the following values: - * @arg DMA1_FLAG_GL1: DMA1 Channel1 global flag. - * @arg DMA1_FLAG_TC1: DMA1 Channel1 transfer complete flag. - * @arg DMA1_FLAG_HT1: DMA1 Channel1 half transfer flag. - * @arg DMA1_FLAG_TE1: DMA1 Channel1 transfer error flag. - * @arg DMA1_FLAG_GL2: DMA1 Channel2 global flag. - * @arg DMA1_FLAG_TC2: DMA1 Channel2 transfer complete flag. - * @arg DMA1_FLAG_HT2: DMA1 Channel2 half transfer flag. - * @arg DMA1_FLAG_TE2: DMA1 Channel2 transfer error flag. - * @arg DMA1_FLAG_GL3: DMA1 Channel3 global flag. - * @arg DMA1_FLAG_TC3: DMA1 Channel3 transfer complete flag. - * @arg DMA1_FLAG_HT3: DMA1 Channel3 half transfer flag. - * @arg DMA1_FLAG_TE3: DMA1 Channel3 transfer error flag. - * @arg DMA1_FLAG_GL4: DMA1 Channel4 global flag. - * @arg DMA1_FLAG_TC4: DMA1 Channel4 transfer complete flag. - * @arg DMA1_FLAG_HT4: DMA1 Channel4 half transfer flag. - * @arg DMA1_FLAG_TE4: DMA1 Channel4 transfer error flag. - * @arg DMA1_FLAG_GL5: DMA1 Channel5 global flag. - * @arg DMA1_FLAG_TC5: DMA1 Channel5 transfer complete flag. - * @arg DMA1_FLAG_HT5: DMA1 Channel5 half transfer flag. - * @arg DMA1_FLAG_TE5: DMA1 Channel5 transfer error flag. - * @arg DMA1_FLAG_GL6: DMA1 Channel6 global flag. - * @arg DMA1_FLAG_TC6: DMA1 Channel6 transfer complete flag. - * @arg DMA1_FLAG_HT6: DMA1 Channel6 half transfer flag. - * @arg DMA1_FLAG_TE6: DMA1 Channel6 transfer error flag. - * @arg DMA1_FLAG_GL7: DMA1 Channel7 global flag. - * @arg DMA1_FLAG_TC7: DMA1 Channel7 transfer complete flag. - * @arg DMA1_FLAG_HT7: DMA1 Channel7 half transfer flag. - * @arg DMA1_FLAG_TE7: DMA1 Channel7 transfer error flag. - * @arg DMA2_FLAG_GL1: DMA2 Channel1 global flag. - * @arg DMA2_FLAG_TC1: DMA2 Channel1 transfer complete flag. - * @arg DMA2_FLAG_HT1: DMA2 Channel1 half transfer flag. - * @arg DMA2_FLAG_TE1: DMA2 Channel1 transfer error flag. - * @arg DMA2_FLAG_GL2: DMA2 Channel2 global flag. - * @arg DMA2_FLAG_TC2: DMA2 Channel2 transfer complete flag. - * @arg DMA2_FLAG_HT2: DMA2 Channel2 half transfer flag. - * @arg DMA2_FLAG_TE2: DMA2 Channel2 transfer error flag. - * @arg DMA2_FLAG_GL3: DMA2 Channel3 global flag. - * @arg DMA2_FLAG_TC3: DMA2 Channel3 transfer complete flag. - * @arg DMA2_FLAG_HT3: DMA2 Channel3 half transfer flag. - * @arg DMA2_FLAG_TE3: DMA2 Channel3 transfer error flag. - * @arg DMA2_FLAG_GL4: DMA2 Channel4 global flag. - * @arg DMA2_FLAG_TC4: DMA2 Channel4 transfer complete flag. - * @arg DMA2_FLAG_HT4: DMA2 Channel4 half transfer flag. - * @arg DMA2_FLAG_TE4: DMA2 Channel4 transfer error flag. - * @arg DMA2_FLAG_GL5: DMA2 Channel5 global flag. - * @arg DMA2_FLAG_TC5: DMA2 Channel5 transfer complete flag. - * @arg DMA2_FLAG_HT5: DMA2 Channel5 half transfer flag. - * @arg DMA2_FLAG_TE5: DMA2 Channel5 transfer error flag. - * @retval The new state of DMAy_FLAG (SET or RESET). - */ -FlagStatus DMA_GetFlagStatus(uint32_t DMAy_FLAG) -{ - FlagStatus bitstatus = RESET; - uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_DMA_GET_FLAG(DMAy_FLAG)); - - /* Calculate the used DMAy */ - if ((DMAy_FLAG & FLAG_Mask) != (uint32_t)RESET) - { - /* Get DMA2 ISR register value */ - tmpreg = DMA2->ISR ; - } - else - { - /* Get DMA1 ISR register value */ - tmpreg = DMA1->ISR ; - } - - /* Check the status of the specified DMAy flag */ - if ((tmpreg & DMAy_FLAG) != (uint32_t)RESET) - { - /* DMAy_FLAG is set */ - bitstatus = SET; - } - else - { - /* DMAy_FLAG is reset */ - bitstatus = RESET; - } - - /* Return the DMAy_FLAG status */ - return bitstatus; -} - -/** - * @brief Clears the DMAy Channelx's pending flags. - * @param DMAy_FLAG: specifies the flag to clear. - * This parameter can be any combination (for the same DMA) of the following values: - * @arg DMA1_FLAG_GL1: DMA1 Channel1 global flag. - * @arg DMA1_FLAG_TC1: DMA1 Channel1 transfer complete flag. - * @arg DMA1_FLAG_HT1: DMA1 Channel1 half transfer flag. - * @arg DMA1_FLAG_TE1: DMA1 Channel1 transfer error flag. - * @arg DMA1_FLAG_GL2: DMA1 Channel2 global flag. - * @arg DMA1_FLAG_TC2: DMA1 Channel2 transfer complete flag. - * @arg DMA1_FLAG_HT2: DMA1 Channel2 half transfer flag. - * @arg DMA1_FLAG_TE2: DMA1 Channel2 transfer error flag. - * @arg DMA1_FLAG_GL3: DMA1 Channel3 global flag. - * @arg DMA1_FLAG_TC3: DMA1 Channel3 transfer complete flag. - * @arg DMA1_FLAG_HT3: DMA1 Channel3 half transfer flag. - * @arg DMA1_FLAG_TE3: DMA1 Channel3 transfer error flag. - * @arg DMA1_FLAG_GL4: DMA1 Channel4 global flag. - * @arg DMA1_FLAG_TC4: DMA1 Channel4 transfer complete flag. - * @arg DMA1_FLAG_HT4: DMA1 Channel4 half transfer flag. - * @arg DMA1_FLAG_TE4: DMA1 Channel4 transfer error flag. - * @arg DMA1_FLAG_GL5: DMA1 Channel5 global flag. - * @arg DMA1_FLAG_TC5: DMA1 Channel5 transfer complete flag. - * @arg DMA1_FLAG_HT5: DMA1 Channel5 half transfer flag. - * @arg DMA1_FLAG_TE5: DMA1 Channel5 transfer error flag. - * @arg DMA1_FLAG_GL6: DMA1 Channel6 global flag. - * @arg DMA1_FLAG_TC6: DMA1 Channel6 transfer complete flag. - * @arg DMA1_FLAG_HT6: DMA1 Channel6 half transfer flag. - * @arg DMA1_FLAG_TE6: DMA1 Channel6 transfer error flag. - * @arg DMA1_FLAG_GL7: DMA1 Channel7 global flag. - * @arg DMA1_FLAG_TC7: DMA1 Channel7 transfer complete flag. - * @arg DMA1_FLAG_HT7: DMA1 Channel7 half transfer flag. - * @arg DMA1_FLAG_TE7: DMA1 Channel7 transfer error flag. - * @arg DMA2_FLAG_GL1: DMA2 Channel1 global flag. - * @arg DMA2_FLAG_TC1: DMA2 Channel1 transfer complete flag. - * @arg DMA2_FLAG_HT1: DMA2 Channel1 half transfer flag. - * @arg DMA2_FLAG_TE1: DMA2 Channel1 transfer error flag. - * @arg DMA2_FLAG_GL2: DMA2 Channel2 global flag. - * @arg DMA2_FLAG_TC2: DMA2 Channel2 transfer complete flag. - * @arg DMA2_FLAG_HT2: DMA2 Channel2 half transfer flag. - * @arg DMA2_FLAG_TE2: DMA2 Channel2 transfer error flag. - * @arg DMA2_FLAG_GL3: DMA2 Channel3 global flag. - * @arg DMA2_FLAG_TC3: DMA2 Channel3 transfer complete flag. - * @arg DMA2_FLAG_HT3: DMA2 Channel3 half transfer flag. - * @arg DMA2_FLAG_TE3: DMA2 Channel3 transfer error flag. - * @arg DMA2_FLAG_GL4: DMA2 Channel4 global flag. - * @arg DMA2_FLAG_TC4: DMA2 Channel4 transfer complete flag. - * @arg DMA2_FLAG_HT4: DMA2 Channel4 half transfer flag. - * @arg DMA2_FLAG_TE4: DMA2 Channel4 transfer error flag. - * @arg DMA2_FLAG_GL5: DMA2 Channel5 global flag. - * @arg DMA2_FLAG_TC5: DMA2 Channel5 transfer complete flag. - * @arg DMA2_FLAG_HT5: DMA2 Channel5 half transfer flag. - * @arg DMA2_FLAG_TE5: DMA2 Channel5 transfer error flag. - * @retval None - */ -void DMA_ClearFlag(uint32_t DMAy_FLAG) -{ - /* Check the parameters */ - assert_param(IS_DMA_CLEAR_FLAG(DMAy_FLAG)); - - /* Calculate the used DMAy */ - if ((DMAy_FLAG & FLAG_Mask) != (uint32_t)RESET) - { - /* Clear the selected DMAy flags */ - DMA2->IFCR = DMAy_FLAG; - } - else - { - /* Clear the selected DMAy flags */ - DMA1->IFCR = DMAy_FLAG; - } -} - -/** - * @brief Checks whether the specified DMAy Channelx interrupt has occurred or not. - * @param DMAy_IT: specifies the DMAy interrupt source to check. - * This parameter can be one of the following values: - * @arg DMA1_IT_GL1: DMA1 Channel1 global interrupt. - * @arg DMA1_IT_TC1: DMA1 Channel1 transfer complete interrupt. - * @arg DMA1_IT_HT1: DMA1 Channel1 half transfer interrupt. - * @arg DMA1_IT_TE1: DMA1 Channel1 transfer error interrupt. - * @arg DMA1_IT_GL2: DMA1 Channel2 global interrupt. - * @arg DMA1_IT_TC2: DMA1 Channel2 transfer complete interrupt. - * @arg DMA1_IT_HT2: DMA1 Channel2 half transfer interrupt. - * @arg DMA1_IT_TE2: DMA1 Channel2 transfer error interrupt. - * @arg DMA1_IT_GL3: DMA1 Channel3 global interrupt. - * @arg DMA1_IT_TC3: DMA1 Channel3 transfer complete interrupt. - * @arg DMA1_IT_HT3: DMA1 Channel3 half transfer interrupt. - * @arg DMA1_IT_TE3: DMA1 Channel3 transfer error interrupt. - * @arg DMA1_IT_GL4: DMA1 Channel4 global interrupt. - * @arg DMA1_IT_TC4: DMA1 Channel4 transfer complete interrupt. - * @arg DMA1_IT_HT4: DMA1 Channel4 half transfer interrupt. - * @arg DMA1_IT_TE4: DMA1 Channel4 transfer error interrupt. - * @arg DMA1_IT_GL5: DMA1 Channel5 global interrupt. - * @arg DMA1_IT_TC5: DMA1 Channel5 transfer complete interrupt. - * @arg DMA1_IT_HT5: DMA1 Channel5 half transfer interrupt. - * @arg DMA1_IT_TE5: DMA1 Channel5 transfer error interrupt. - * @arg DMA1_IT_GL6: DMA1 Channel6 global interrupt. - * @arg DMA1_IT_TC6: DMA1 Channel6 transfer complete interrupt. - * @arg DMA1_IT_HT6: DMA1 Channel6 half transfer interrupt. - * @arg DMA1_IT_TE6: DMA1 Channel6 transfer error interrupt. - * @arg DMA1_IT_GL7: DMA1 Channel7 global interrupt. - * @arg DMA1_IT_TC7: DMA1 Channel7 transfer complete interrupt. - * @arg DMA1_IT_HT7: DMA1 Channel7 half transfer interrupt. - * @arg DMA1_IT_TE7: DMA1 Channel7 transfer error interrupt. - * @arg DMA2_IT_GL1: DMA2 Channel1 global interrupt. - * @arg DMA2_IT_TC1: DMA2 Channel1 transfer complete interrupt. - * @arg DMA2_IT_HT1: DMA2 Channel1 half transfer interrupt. - * @arg DMA2_IT_TE1: DMA2 Channel1 transfer error interrupt. - * @arg DMA2_IT_GL2: DMA2 Channel2 global interrupt. - * @arg DMA2_IT_TC2: DMA2 Channel2 transfer complete interrupt. - * @arg DMA2_IT_HT2: DMA2 Channel2 half transfer interrupt. - * @arg DMA2_IT_TE2: DMA2 Channel2 transfer error interrupt. - * @arg DMA2_IT_GL3: DMA2 Channel3 global interrupt. - * @arg DMA2_IT_TC3: DMA2 Channel3 transfer complete interrupt. - * @arg DMA2_IT_HT3: DMA2 Channel3 half transfer interrupt. - * @arg DMA2_IT_TE3: DMA2 Channel3 transfer error interrupt. - * @arg DMA2_IT_GL4: DMA2 Channel4 global interrupt. - * @arg DMA2_IT_TC4: DMA2 Channel4 transfer complete interrupt. - * @arg DMA2_IT_HT4: DMA2 Channel4 half transfer interrupt. - * @arg DMA2_IT_TE4: DMA2 Channel4 transfer error interrupt. - * @arg DMA2_IT_GL5: DMA2 Channel5 global interrupt. - * @arg DMA2_IT_TC5: DMA2 Channel5 transfer complete interrupt. - * @arg DMA2_IT_HT5: DMA2 Channel5 half transfer interrupt. - * @arg DMA2_IT_TE5: DMA2 Channel5 transfer error interrupt. - * @retval The new state of DMAy_IT (SET or RESET). - */ -ITStatus DMA_GetITStatus(uint32_t DMAy_IT) -{ - ITStatus bitstatus = RESET; - uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_DMA_GET_IT(DMAy_IT)); - - /* Calculate the used DMA */ - if ((DMAy_IT & FLAG_Mask) != (uint32_t)RESET) - { - /* Get DMA2 ISR register value */ - tmpreg = DMA2->ISR; - } - else - { - /* Get DMA1 ISR register value */ - tmpreg = DMA1->ISR; - } - - /* Check the status of the specified DMAy interrupt */ - if ((tmpreg & DMAy_IT) != (uint32_t)RESET) - { - /* DMAy_IT is set */ - bitstatus = SET; - } - else - { - /* DMAy_IT is reset */ - bitstatus = RESET; - } - /* Return the DMA_IT status */ - return bitstatus; -} - -/** - * @brief Clears the DMAy Channelx's interrupt pending bits. - * @param DMAy_IT: specifies the DMAy interrupt pending bit to clear. - * This parameter can be any combination (for the same DMA) of the following values: - * @arg DMA1_IT_GL1: DMA1 Channel1 global interrupt. - * @arg DMA1_IT_TC1: DMA1 Channel1 transfer complete interrupt. - * @arg DMA1_IT_HT1: DMA1 Channel1 half transfer interrupt. - * @arg DMA1_IT_TE1: DMA1 Channel1 transfer error interrupt. - * @arg DMA1_IT_GL2: DMA1 Channel2 global interrupt. - * @arg DMA1_IT_TC2: DMA1 Channel2 transfer complete interrupt. - * @arg DMA1_IT_HT2: DMA1 Channel2 half transfer interrupt. - * @arg DMA1_IT_TE2: DMA1 Channel2 transfer error interrupt. - * @arg DMA1_IT_GL3: DMA1 Channel3 global interrupt. - * @arg DMA1_IT_TC3: DMA1 Channel3 transfer complete interrupt. - * @arg DMA1_IT_HT3: DMA1 Channel3 half transfer interrupt. - * @arg DMA1_IT_TE3: DMA1 Channel3 transfer error interrupt. - * @arg DMA1_IT_GL4: DMA1 Channel4 global interrupt. - * @arg DMA1_IT_TC4: DMA1 Channel4 transfer complete interrupt. - * @arg DMA1_IT_HT4: DMA1 Channel4 half transfer interrupt. - * @arg DMA1_IT_TE4: DMA1 Channel4 transfer error interrupt. - * @arg DMA1_IT_GL5: DMA1 Channel5 global interrupt. - * @arg DMA1_IT_TC5: DMA1 Channel5 transfer complete interrupt. - * @arg DMA1_IT_HT5: DMA1 Channel5 half transfer interrupt. - * @arg DMA1_IT_TE5: DMA1 Channel5 transfer error interrupt. - * @arg DMA1_IT_GL6: DMA1 Channel6 global interrupt. - * @arg DMA1_IT_TC6: DMA1 Channel6 transfer complete interrupt. - * @arg DMA1_IT_HT6: DMA1 Channel6 half transfer interrupt. - * @arg DMA1_IT_TE6: DMA1 Channel6 transfer error interrupt. - * @arg DMA1_IT_GL7: DMA1 Channel7 global interrupt. - * @arg DMA1_IT_TC7: DMA1 Channel7 transfer complete interrupt. - * @arg DMA1_IT_HT7: DMA1 Channel7 half transfer interrupt. - * @arg DMA1_IT_TE7: DMA1 Channel7 transfer error interrupt. - * @arg DMA2_IT_GL1: DMA2 Channel1 global interrupt. - * @arg DMA2_IT_TC1: DMA2 Channel1 transfer complete interrupt. - * @arg DMA2_IT_HT1: DMA2 Channel1 half transfer interrupt. - * @arg DMA2_IT_TE1: DMA2 Channel1 transfer error interrupt. - * @arg DMA2_IT_GL2: DMA2 Channel2 global interrupt. - * @arg DMA2_IT_TC2: DMA2 Channel2 transfer complete interrupt. - * @arg DMA2_IT_HT2: DMA2 Channel2 half transfer interrupt. - * @arg DMA2_IT_TE2: DMA2 Channel2 transfer error interrupt. - * @arg DMA2_IT_GL3: DMA2 Channel3 global interrupt. - * @arg DMA2_IT_TC3: DMA2 Channel3 transfer complete interrupt. - * @arg DMA2_IT_HT3: DMA2 Channel3 half transfer interrupt. - * @arg DMA2_IT_TE3: DMA2 Channel3 transfer error interrupt. - * @arg DMA2_IT_GL4: DMA2 Channel4 global interrupt. - * @arg DMA2_IT_TC4: DMA2 Channel4 transfer complete interrupt. - * @arg DMA2_IT_HT4: DMA2 Channel4 half transfer interrupt. - * @arg DMA2_IT_TE4: DMA2 Channel4 transfer error interrupt. - * @arg DMA2_IT_GL5: DMA2 Channel5 global interrupt. - * @arg DMA2_IT_TC5: DMA2 Channel5 transfer complete interrupt. - * @arg DMA2_IT_HT5: DMA2 Channel5 half transfer interrupt. - * @arg DMA2_IT_TE5: DMA2 Channel5 transfer error interrupt. - * @retval None - */ -void DMA_ClearITPendingBit(uint32_t DMAy_IT) -{ - /* Check the parameters */ - assert_param(IS_DMA_CLEAR_IT(DMAy_IT)); - - /* Calculate the used DMAy */ - if ((DMAy_IT & FLAG_Mask) != (uint32_t)RESET) - { - /* Clear the selected DMAy interrupt pending bits */ - DMA2->IFCR = DMAy_IT; - } - else - { - /* Clear the selected DMAy interrupt pending bits */ - DMA1->IFCR = DMAy_IT; - } -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c deleted file mode 100644 index ab7346276..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c +++ /dev/null @@ -1,269 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_exti.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the EXTI firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_exti.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup EXTI - * @brief EXTI driver modules - * @{ - */ - -/** @defgroup EXTI_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup EXTI_Private_Defines - * @{ - */ - -#define EXTI_LINENONE ((uint32_t)0x00000) /* No interrupt selected */ - -/** - * @} - */ - -/** @defgroup EXTI_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup EXTI_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup EXTI_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup EXTI_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the EXTI peripheral registers to their default reset values. - * @param None - * @retval None - */ -void EXTI_DeInit(void) -{ - EXTI->IMR = 0x00000000; - EXTI->EMR = 0x00000000; - EXTI->RTSR = 0x00000000; - EXTI->FTSR = 0x00000000; - EXTI->PR = 0x000FFFFF; -} - -/** - * @brief Initializes the EXTI peripheral according to the specified - * parameters in the EXTI_InitStruct. - * @param EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure - * that contains the configuration information for the EXTI peripheral. - * @retval None - */ -void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct) -{ - uint32_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_EXTI_MODE(EXTI_InitStruct->EXTI_Mode)); - assert_param(IS_EXTI_TRIGGER(EXTI_InitStruct->EXTI_Trigger)); - assert_param(IS_EXTI_LINE(EXTI_InitStruct->EXTI_Line)); - assert_param(IS_FUNCTIONAL_STATE(EXTI_InitStruct->EXTI_LineCmd)); - - tmp = (uint32_t)EXTI_BASE; - - if (EXTI_InitStruct->EXTI_LineCmd != DISABLE) - { - /* Clear EXTI line configuration */ - EXTI->IMR &= ~EXTI_InitStruct->EXTI_Line; - EXTI->EMR &= ~EXTI_InitStruct->EXTI_Line; - - tmp += EXTI_InitStruct->EXTI_Mode; - - *(__IO uint32_t *) tmp |= EXTI_InitStruct->EXTI_Line; - - /* Clear Rising Falling edge configuration */ - EXTI->RTSR &= ~EXTI_InitStruct->EXTI_Line; - EXTI->FTSR &= ~EXTI_InitStruct->EXTI_Line; - - /* Select the trigger for the selected external interrupts */ - if (EXTI_InitStruct->EXTI_Trigger == EXTI_Trigger_Rising_Falling) - { - /* Rising Falling edge */ - EXTI->RTSR |= EXTI_InitStruct->EXTI_Line; - EXTI->FTSR |= EXTI_InitStruct->EXTI_Line; - } - else - { - tmp = (uint32_t)EXTI_BASE; - tmp += EXTI_InitStruct->EXTI_Trigger; - - *(__IO uint32_t *) tmp |= EXTI_InitStruct->EXTI_Line; - } - } - else - { - tmp += EXTI_InitStruct->EXTI_Mode; - - /* Disable the selected external lines */ - *(__IO uint32_t *) tmp &= ~EXTI_InitStruct->EXTI_Line; - } -} - -/** - * @brief Fills each EXTI_InitStruct member with its reset value. - * @param EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure which will - * be initialized. - * @retval None - */ -void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct) -{ - EXTI_InitStruct->EXTI_Line = EXTI_LINENONE; - EXTI_InitStruct->EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStruct->EXTI_Trigger = EXTI_Trigger_Falling; - EXTI_InitStruct->EXTI_LineCmd = DISABLE; -} - -/** - * @brief Generates a Software interrupt. - * @param EXTI_Line: specifies the EXTI lines to be enabled or disabled. - * This parameter can be any combination of EXTI_Linex where x can be (0..19). - * @retval None - */ -void EXTI_GenerateSWInterrupt(uint32_t EXTI_Line) -{ - /* Check the parameters */ - assert_param(IS_EXTI_LINE(EXTI_Line)); - - EXTI->SWIER |= EXTI_Line; -} - -/** - * @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: - * @arg EXTI_Linex: External interrupt line x where x(0..19) - * @retval The new state of EXTI_Line (SET or RESET). - */ -FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line) -{ - FlagStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_GET_EXTI_LINE(EXTI_Line)); - - if ((EXTI->PR & EXTI_Line) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - return bitstatus; -} - -/** - * @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 EXTI_Linex where x can be (0..19). - * @retval None - */ -void EXTI_ClearFlag(uint32_t EXTI_Line) -{ - /* Check the parameters */ - assert_param(IS_EXTI_LINE(EXTI_Line)); - - EXTI->PR = 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: - * @arg EXTI_Linex: External interrupt line x where x(0..19) - * @retval The new state of EXTI_Line (SET or RESET). - */ -ITStatus EXTI_GetITStatus(uint32_t EXTI_Line) -{ - ITStatus bitstatus = RESET; - uint32_t enablestatus = 0; - /* Check the parameters */ - assert_param(IS_GET_EXTI_LINE(EXTI_Line)); - - enablestatus = EXTI->IMR & EXTI_Line; - if (((EXTI->PR & EXTI_Line) != (uint32_t)RESET) && (enablestatus != (uint32_t)RESET)) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - return bitstatus; -} - -/** - * @brief Clears the EXTI's line pending bits. - * @param EXTI_Line: specifies the EXTI lines to clear. - * This parameter can be any combination of EXTI_Linex where x can be (0..19). - * @retval None - */ -void EXTI_ClearITPendingBit(uint32_t EXTI_Line) -{ - /* Check the parameters */ - assert_param(IS_EXTI_LINE(EXTI_Line)); - - EXTI->PR = EXTI_Line; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c deleted file mode 100644 index f6c7bf172..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c +++ /dev/null @@ -1,1684 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_flash.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the FLASH firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_flash.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup FLASH - * @brief FLASH driver modules - * @{ - */ - -/** @defgroup FLASH_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup FLASH_Private_Defines - * @{ - */ - -/* Flash Access Control Register bits */ -#define ACR_LATENCY_Mask ((uint32_t)0x00000038) -#define ACR_HLFCYA_Mask ((uint32_t)0xFFFFFFF7) -#define ACR_PRFTBE_Mask ((uint32_t)0xFFFFFFEF) - -/* Flash Access Control Register bits */ -#define ACR_PRFTBS_Mask ((uint32_t)0x00000020) - -/* Flash Control Register bits */ -#define CR_PG_Set ((uint32_t)0x00000001) -#define CR_PG_Reset ((uint32_t)0x00001FFE) -#define CR_PER_Set ((uint32_t)0x00000002) -#define CR_PER_Reset ((uint32_t)0x00001FFD) -#define CR_MER_Set ((uint32_t)0x00000004) -#define CR_MER_Reset ((uint32_t)0x00001FFB) -#define CR_OPTPG_Set ((uint32_t)0x00000010) -#define CR_OPTPG_Reset ((uint32_t)0x00001FEF) -#define CR_OPTER_Set ((uint32_t)0x00000020) -#define CR_OPTER_Reset ((uint32_t)0x00001FDF) -#define CR_STRT_Set ((uint32_t)0x00000040) -#define CR_LOCK_Set ((uint32_t)0x00000080) - -/* FLASH Mask */ -#define RDPRT_Mask ((uint32_t)0x00000002) -#define WRP0_Mask ((uint32_t)0x000000FF) -#define WRP1_Mask ((uint32_t)0x0000FF00) -#define WRP2_Mask ((uint32_t)0x00FF0000) -#define WRP3_Mask ((uint32_t)0xFF000000) -#define OB_USER_BFB2 ((uint16_t)0x0008) - -/* FLASH Keys */ -#define RDP_Key ((uint16_t)0x00A5) -#define FLASH_KEY1 ((uint32_t)0x45670123) -#define FLASH_KEY2 ((uint32_t)0xCDEF89AB) - -/* FLASH BANK address */ -#define FLASH_BANK1_END_ADDRESS ((uint32_t)0x807FFFF) - -/* Delay definition */ -#define EraseTimeout ((uint32_t)0x000B0000) -#define ProgramTimeout ((uint32_t)0x00002000) -/** - * @} - */ - -/** @defgroup FLASH_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup FLASH_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup FLASH_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup FLASH_Private_Functions - * @{ - */ - -/** -@code - - This driver provides functions to configure and program the Flash memory of all STM32F10x devices, - including the latest STM32F10x_XL density devices. - - STM32F10x_XL devices feature up to 1 Mbyte with dual bank architecture for read-while-write (RWW) capability: - - bank1: fixed size of 512 Kbytes (256 pages of 2Kbytes each) - - bank2: up to 512 Kbytes (up to 256 pages of 2Kbytes each) - While other STM32F10x devices features only one bank with memory up to 512 Kbytes. - - In version V3.3.0, some functions were updated and new ones were added to support - STM32F10x_XL devices. Thus some functions manages all devices, while other are - dedicated for XL devices only. - - The table below presents the list of available functions depending on the used STM32F10x devices. - - *************************************************** - * Legacy functions used for all STM32F10x devices * - *************************************************** - +----------------------------------------------------------------------------------------------------------------------------------+ - | Functions prototypes |STM32F10x_XL|Other STM32F10x| Comments | - | | devices | devices | | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_SetLatency | Yes | Yes | No change | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_HalfCycleAccessCmd | Yes | Yes | No change | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_PrefetchBufferCmd | Yes | Yes | No change | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_Unlock | Yes | Yes | - For STM32F10X_XL devices: unlock Bank1 and Bank2. | - | | | | - For other devices: unlock Bank1 and it is equivalent | - | | | | to FLASH_UnlockBank1 function. | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_Lock | Yes | Yes | - For STM32F10X_XL devices: lock Bank1 and Bank2. | - | | | | - For other devices: lock Bank1 and it is equivalent | - | | | | to FLASH_LockBank1 function. | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_ErasePage | Yes | Yes | - For STM32F10x_XL devices: erase a page in Bank1 and Bank2 | - | | | | - For other devices: erase a page in Bank1 | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_EraseAllPages | Yes | Yes | - For STM32F10x_XL devices: erase all pages in Bank1 and Bank2 | - | | | | - For other devices: erase all pages in Bank1 | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_EraseOptionBytes | Yes | Yes | No change | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_ProgramWord | Yes | Yes | Updated to program up to 1MByte (depending on the used device) | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_ProgramHalfWord | Yes | Yes | Updated to program up to 1MByte (depending on the used device) | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_ProgramOptionByteData | Yes | Yes | No change | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_EnableWriteProtection | Yes | Yes | No change | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_ReadOutProtection | Yes | Yes | No change | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_UserOptionByteConfig | Yes | Yes | No change | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_GetUserOptionByte | Yes | Yes | No change | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_GetWriteProtectionOptionByte | Yes | Yes | No change | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_GetReadOutProtectionStatus | Yes | Yes | No change | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_GetPrefetchBufferStatus | Yes | Yes | No change | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_ITConfig | Yes | Yes | - For STM32F10x_XL devices: enable Bank1 and Bank2's interrupts| - | | | | - For other devices: enable Bank1's interrupts | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_GetFlagStatus | Yes | Yes | - For STM32F10x_XL devices: return Bank1 and Bank2's flag status| - | | | | - For other devices: return Bank1's flag status | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_ClearFlag | Yes | Yes | - For STM32F10x_XL devices: clear Bank1 and Bank2's flag | - | | | | - For other devices: clear Bank1's flag | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_GetStatus | Yes | Yes | - Return the status of Bank1 (for all devices) | - | | | | equivalent to FLASH_GetBank1Status function | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_WaitForLastOperation | Yes | Yes | - Wait for Bank1 last operation (for all devices) | - | | | | equivalent to: FLASH_WaitForLastBank1Operation function | - +----------------------------------------------------------------------------------------------------------------------------------+ - - ************************************************************************************************************************ - * New functions used for all STM32F10x devices to manage Bank1: * - * - These functions are mainly useful for STM32F10x_XL density devices, to have separate control for Bank1 and bank2 * - * - For other devices, these functions are optional (covered by functions listed above) * - ************************************************************************************************************************ - +----------------------------------------------------------------------------------------------------------------------------------+ - | Functions prototypes |STM32F10x_XL|Other STM32F10x| Comments | - | | devices | devices | | - |----------------------------------------------------------------------------------------------------------------------------------| - | FLASH_UnlockBank1 | Yes | Yes | - Unlock Bank1 | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_LockBank1 | Yes | Yes | - Lock Bank1 | - |----------------------------------------------------------------------------------------------------------------------------------| - | FLASH_EraseAllBank1Pages | Yes | Yes | - Erase all pages in Bank1 | - |----------------------------------------------------------------------------------------------------------------------------------| - | FLASH_GetBank1Status | Yes | Yes | - Return the status of Bank1 | - |----------------------------------------------------------------------------------------------------------------------------------| - | FLASH_WaitForLastBank1Operation | Yes | Yes | - Wait for Bank1 last operation | - +----------------------------------------------------------------------------------------------------------------------------------+ - - ***************************************************************************** - * New Functions used only with STM32F10x_XL density devices to manage Bank2 * - ***************************************************************************** - +----------------------------------------------------------------------------------------------------------------------------------+ - | Functions prototypes |STM32F10x_XL|Other STM32F10x| Comments | - | | devices | devices | | - |----------------------------------------------------------------------------------------------------------------------------------| - | FLASH_UnlockBank2 | Yes | No | - Unlock Bank2 | - |----------------------------------------------------------------------------------------------------------------------------------| - |FLASH_LockBank2 | Yes | No | - Lock Bank2 | - |----------------------------------------------------------------------------------------------------------------------------------| - | FLASH_EraseAllBank2Pages | Yes | No | - Erase all pages in Bank2 | - |----------------------------------------------------------------------------------------------------------------------------------| - | FLASH_GetBank2Status | Yes | No | - Return the status of Bank2 | - |----------------------------------------------------------------------------------------------------------------------------------| - | FLASH_WaitForLastBank2Operation | Yes | No | - Wait for Bank2 last operation | - |----------------------------------------------------------------------------------------------------------------------------------| - | FLASH_BootConfig | Yes | No | - Configure to boot from Bank1 or Bank2 | - +----------------------------------------------------------------------------------------------------------------------------------+ -@endcode -*/ - - -/** - * @brief Sets the code latency value. - * @note This function can be used for all STM32F10x devices. - * @param FLASH_Latency: specifies the FLASH Latency value. - * This parameter can be one of the following values: - * @arg FLASH_Latency_0: FLASH Zero Latency cycle - * @arg FLASH_Latency_1: FLASH One Latency cycle - * @arg FLASH_Latency_2: FLASH Two Latency cycles - * @retval None - */ -void FLASH_SetLatency(uint32_t FLASH_Latency) -{ - uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_FLASH_LATENCY(FLASH_Latency)); - - /* Read the ACR register */ - tmpreg = FLASH->ACR; - - /* Sets the Latency value */ - tmpreg &= ACR_LATENCY_Mask; - tmpreg |= FLASH_Latency; - - /* Write the ACR register */ - FLASH->ACR = tmpreg; -} - -/** - * @brief Enables or disables the Half cycle flash access. - * @note This function can be used for all STM32F10x devices. - * @param FLASH_HalfCycleAccess: specifies the FLASH Half cycle Access mode. - * This parameter can be one of the following values: - * @arg FLASH_HalfCycleAccess_Enable: FLASH Half Cycle Enable - * @arg FLASH_HalfCycleAccess_Disable: FLASH Half Cycle Disable - * @retval None - */ -void FLASH_HalfCycleAccessCmd(uint32_t FLASH_HalfCycleAccess) -{ - /* Check the parameters */ - assert_param(IS_FLASH_HALFCYCLEACCESS_STATE(FLASH_HalfCycleAccess)); - - /* Enable or disable the Half cycle access */ - FLASH->ACR &= ACR_HLFCYA_Mask; - FLASH->ACR |= FLASH_HalfCycleAccess; -} - -/** - * @brief Enables or disables the Prefetch Buffer. - * @note This function can be used for all STM32F10x devices. - * @param FLASH_PrefetchBuffer: specifies the Prefetch buffer status. - * This parameter can be one of the following values: - * @arg FLASH_PrefetchBuffer_Enable: FLASH Prefetch Buffer Enable - * @arg FLASH_PrefetchBuffer_Disable: FLASH Prefetch Buffer Disable - * @retval None - */ -void FLASH_PrefetchBufferCmd(uint32_t FLASH_PrefetchBuffer) -{ - /* Check the parameters */ - assert_param(IS_FLASH_PREFETCHBUFFER_STATE(FLASH_PrefetchBuffer)); - - /* Enable or disable the Prefetch Buffer */ - FLASH->ACR &= ACR_PRFTBE_Mask; - FLASH->ACR |= FLASH_PrefetchBuffer; -} - -/** - * @brief Unlocks the FLASH Program Erase Controller. - * @note This function can be used for all STM32F10x devices. - * - For STM32F10X_XL devices this function unlocks Bank1 and Bank2. - * - For all other devices it unlocks Bank1 and it is equivalent - * to FLASH_UnlockBank1 function.. - * @param None - * @retval None - */ -void FLASH_Unlock(void) -{ - /* Authorize the FPEC of Bank1 Access */ - FLASH->KEYR = FLASH_KEY1; - FLASH->KEYR = FLASH_KEY2; - -#ifdef STM32F10X_XL - /* Authorize the FPEC of Bank2 Access */ - FLASH->KEYR2 = FLASH_KEY1; - FLASH->KEYR2 = FLASH_KEY2; -#endif /* STM32F10X_XL */ -} -/** - * @brief Unlocks the FLASH Bank1 Program Erase Controller. - * @note This function can be used for all STM32F10x devices. - * - For STM32F10X_XL devices this function unlocks Bank1. - * - For all other devices it unlocks Bank1 and it is - * equivalent to FLASH_Unlock function. - * @param None - * @retval None - */ -void FLASH_UnlockBank1(void) -{ - /* Authorize the FPEC of Bank1 Access */ - FLASH->KEYR = FLASH_KEY1; - FLASH->KEYR = FLASH_KEY2; -} - -#ifdef STM32F10X_XL -/** - * @brief Unlocks the FLASH Bank2 Program Erase Controller. - * @note This function can be used only for STM32F10X_XL density devices. - * @param None - * @retval None - */ -void FLASH_UnlockBank2(void) -{ - /* Authorize the FPEC of Bank2 Access */ - FLASH->KEYR2 = FLASH_KEY1; - FLASH->KEYR2 = FLASH_KEY2; - -} -#endif /* STM32F10X_XL */ - -/** - * @brief Locks the FLASH Program Erase Controller. - * @note This function can be used for all STM32F10x devices. - * - For STM32F10X_XL devices this function Locks Bank1 and Bank2. - * - For all other devices it Locks Bank1 and it is equivalent - * to FLASH_LockBank1 function. - * @param None - * @retval None - */ -void FLASH_Lock(void) -{ - /* Set the Lock Bit to lock the FPEC and the CR of Bank1 */ - FLASH->CR |= CR_LOCK_Set; - -#ifdef STM32F10X_XL - /* Set the Lock Bit to lock the FPEC and the CR of Bank2 */ - FLASH->CR2 |= CR_LOCK_Set; -#endif /* STM32F10X_XL */ -} - -/** - * @brief Locks the FLASH Bank1 Program Erase Controller. - * @note this function can be used for all STM32F10x devices. - * - For STM32F10X_XL devices this function Locks Bank1. - * - For all other devices it Locks Bank1 and it is equivalent - * to FLASH_Lock function. - * @param None - * @retval None - */ -void FLASH_LockBank1(void) -{ - /* Set the Lock Bit to lock the FPEC and the CR of Bank1 */ - FLASH->CR |= CR_LOCK_Set; -} - -#ifdef STM32F10X_XL -/** - * @brief Locks the FLASH Bank2 Program Erase Controller. - * @note This function can be used only for STM32F10X_XL density devices. - * @param None - * @retval None - */ -void FLASH_LockBank2(void) -{ - /* Set the Lock Bit to lock the FPEC and the CR of Bank2 */ - FLASH->CR2 |= CR_LOCK_Set; -} -#endif /* STM32F10X_XL */ - -/** - * @brief Erases a specified FLASH page. - * @note This function can be used for all STM32F10x devices. - * @param Page_Address: The page address to be erased. - * @retval FLASH Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_ErasePage(uint32_t Page_Address) -{ - FLASH_Status status = FLASH_COMPLETE; - /* Check the parameters */ - assert_param(IS_FLASH_ADDRESS(Page_Address)); - -#ifdef STM32F10X_XL - if(Page_Address < FLASH_BANK1_END_ADDRESS) - { - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank1Operation(EraseTimeout); - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to erase the page */ - FLASH->CR|= CR_PER_Set; - FLASH->AR = Page_Address; - FLASH->CR|= CR_STRT_Set; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank1Operation(EraseTimeout); - - /* Disable the PER Bit */ - FLASH->CR &= CR_PER_Reset; - } - } - else - { - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank2Operation(EraseTimeout); - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to erase the page */ - FLASH->CR2|= CR_PER_Set; - FLASH->AR2 = Page_Address; - FLASH->CR2|= CR_STRT_Set; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank2Operation(EraseTimeout); - - /* Disable the PER Bit */ - FLASH->CR2 &= CR_PER_Reset; - } - } -#else - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(EraseTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to erase the page */ - FLASH->CR|= CR_PER_Set; - FLASH->AR = Page_Address; - FLASH->CR|= CR_STRT_Set; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(EraseTimeout); - - /* Disable the PER Bit */ - FLASH->CR &= CR_PER_Reset; - } -#endif /* STM32F10X_XL */ - - /* Return the Erase Status */ - return status; -} - -/** - * @brief Erases all FLASH pages. - * @note This function can be used for all STM32F10x devices. - * @param None - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_EraseAllPages(void) -{ - FLASH_Status status = FLASH_COMPLETE; - -#ifdef STM32F10X_XL - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank1Operation(EraseTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to erase all pages */ - FLASH->CR |= CR_MER_Set; - FLASH->CR |= CR_STRT_Set; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank1Operation(EraseTimeout); - - /* Disable the MER Bit */ - FLASH->CR &= CR_MER_Reset; - } - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to erase all pages */ - FLASH->CR2 |= CR_MER_Set; - FLASH->CR2 |= CR_STRT_Set; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank2Operation(EraseTimeout); - - /* Disable the MER Bit */ - FLASH->CR2 &= CR_MER_Reset; - } -#else - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(EraseTimeout); - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to erase all pages */ - FLASH->CR |= CR_MER_Set; - FLASH->CR |= CR_STRT_Set; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(EraseTimeout); - - /* Disable the MER Bit */ - FLASH->CR &= CR_MER_Reset; - } -#endif /* STM32F10X_XL */ - - /* Return the Erase Status */ - return status; -} - -/** - * @brief Erases all Bank1 FLASH pages. - * @note This function can be used for all STM32F10x devices. - * - For STM32F10X_XL devices this function erases all Bank1 pages. - * - For all other devices it erases all Bank1 pages and it is equivalent - * to FLASH_EraseAllPages function. - * @param None - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_EraseAllBank1Pages(void) -{ - FLASH_Status status = FLASH_COMPLETE; - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank1Operation(EraseTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to erase all pages */ - FLASH->CR |= CR_MER_Set; - FLASH->CR |= CR_STRT_Set; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank1Operation(EraseTimeout); - - /* Disable the MER Bit */ - FLASH->CR &= CR_MER_Reset; - } - /* Return the Erase Status */ - return status; -} - -#ifdef STM32F10X_XL -/** - * @brief Erases all Bank2 FLASH pages. - * @note This function can be used only for STM32F10x_XL density devices. - * @param None - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_EraseAllBank2Pages(void) -{ - FLASH_Status status = FLASH_COMPLETE; - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank2Operation(EraseTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to erase all pages */ - FLASH->CR2 |= CR_MER_Set; - FLASH->CR2 |= CR_STRT_Set; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank2Operation(EraseTimeout); - - /* Disable the MER Bit */ - FLASH->CR2 &= CR_MER_Reset; - } - /* Return the Erase Status */ - return status; -} -#endif /* STM32F10X_XL */ - -/** - * @brief Erases the FLASH option bytes. - * @note This functions erases all option bytes except the Read protection (RDP). - * @note This function can be used for all STM32F10x devices. - * @param None - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_EraseOptionBytes(void) -{ - uint16_t rdptmp = RDP_Key; - - FLASH_Status status = FLASH_COMPLETE; - - /* Get the actual read protection Option Byte value */ - if(FLASH_GetReadOutProtectionStatus() != RESET) - { - rdptmp = 0x00; - } - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(EraseTimeout); - if(status == FLASH_COMPLETE) - { - /* Authorize the small information block programming */ - FLASH->OPTKEYR = FLASH_KEY1; - FLASH->OPTKEYR = FLASH_KEY2; - - /* if the previous operation is completed, proceed to erase the option bytes */ - FLASH->CR |= CR_OPTER_Set; - FLASH->CR |= CR_STRT_Set; - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(EraseTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the erase operation is completed, disable the OPTER Bit */ - FLASH->CR &= CR_OPTER_Reset; - - /* Enable the Option Bytes Programming operation */ - FLASH->CR |= CR_OPTPG_Set; - /* Restore the last read protection Option Byte value */ - OB->RDP = (uint16_t)rdptmp; - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - - if(status != FLASH_TIMEOUT) - { - /* if the program operation is completed, disable the OPTPG Bit */ - FLASH->CR &= CR_OPTPG_Reset; - } - } - else - { - if (status != FLASH_TIMEOUT) - { - /* Disable the OPTPG Bit */ - FLASH->CR &= CR_OPTPG_Reset; - } - } - } - /* Return the erase status */ - return status; -} - -/** - * @brief Programs a word at a specified address. - * @note This function can be used for all STM32F10x devices. - * @param Address: specifies the address to be programmed. - * @param Data: specifies the data to be programmed. - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_ProgramWord(uint32_t Address, uint32_t Data) -{ - FLASH_Status status = FLASH_COMPLETE; - __IO uint32_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_FLASH_ADDRESS(Address)); - -#ifdef STM32F10X_XL - if(Address < FLASH_BANK1_END_ADDRESS - 2) - { - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank1Operation(ProgramTimeout); - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to program the new first - half word */ - FLASH->CR |= CR_PG_Set; - - *(__IO uint16_t*)Address = (uint16_t)Data; - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to program the new second - half word */ - tmp = Address + 2; - - *(__IO uint16_t*) tmp = Data >> 16; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - - /* Disable the PG Bit */ - FLASH->CR &= CR_PG_Reset; - } - else - { - /* Disable the PG Bit */ - FLASH->CR &= CR_PG_Reset; - } - } - } - else if(Address == (FLASH_BANK1_END_ADDRESS - 1)) - { - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank1Operation(ProgramTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to program the new first - half word */ - FLASH->CR |= CR_PG_Set; - - *(__IO uint16_t*)Address = (uint16_t)Data; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank1Operation(ProgramTimeout); - - /* Disable the PG Bit */ - FLASH->CR &= CR_PG_Reset; - } - else - { - /* Disable the PG Bit */ - FLASH->CR &= CR_PG_Reset; - } - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank2Operation(ProgramTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to program the new second - half word */ - FLASH->CR2 |= CR_PG_Set; - tmp = Address + 2; - - *(__IO uint16_t*) tmp = Data >> 16; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank2Operation(ProgramTimeout); - - /* Disable the PG Bit */ - FLASH->CR2 &= CR_PG_Reset; - } - else - { - /* Disable the PG Bit */ - FLASH->CR2 &= CR_PG_Reset; - } - } - else - { - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank2Operation(ProgramTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to program the new first - half word */ - FLASH->CR2 |= CR_PG_Set; - - *(__IO uint16_t*)Address = (uint16_t)Data; - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank2Operation(ProgramTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to program the new second - half word */ - tmp = Address + 2; - - *(__IO uint16_t*) tmp = Data >> 16; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank2Operation(ProgramTimeout); - - /* Disable the PG Bit */ - FLASH->CR2 &= CR_PG_Reset; - } - else - { - /* Disable the PG Bit */ - FLASH->CR2 &= CR_PG_Reset; - } - } - } -#else - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to program the new first - half word */ - FLASH->CR |= CR_PG_Set; - - *(__IO uint16_t*)Address = (uint16_t)Data; - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to program the new second - half word */ - tmp = Address + 2; - - *(__IO uint16_t*) tmp = Data >> 16; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - - /* Disable the PG Bit */ - FLASH->CR &= CR_PG_Reset; - } - else - { - /* Disable the PG Bit */ - FLASH->CR &= CR_PG_Reset; - } - } -#endif /* STM32F10X_XL */ - - /* Return the Program Status */ - return status; -} - -/** - * @brief Programs a half word at a specified address. - * @note This function can be used for all STM32F10x devices. - * @param Address: specifies the address to be programmed. - * @param Data: specifies the data to be programmed. - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data) -{ - FLASH_Status status = FLASH_COMPLETE; - /* Check the parameters */ - assert_param(IS_FLASH_ADDRESS(Address)); - -#ifdef STM32F10X_XL - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - - if(Address < FLASH_BANK1_END_ADDRESS) - { - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to program the new data */ - FLASH->CR |= CR_PG_Set; - - *(__IO uint16_t*)Address = Data; - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank1Operation(ProgramTimeout); - - /* Disable the PG Bit */ - FLASH->CR &= CR_PG_Reset; - } - } - else - { - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to program the new data */ - FLASH->CR2 |= CR_PG_Set; - - *(__IO uint16_t*)Address = Data; - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastBank2Operation(ProgramTimeout); - - /* Disable the PG Bit */ - FLASH->CR2 &= CR_PG_Reset; - } - } -#else - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - - if(status == FLASH_COMPLETE) - { - /* if the previous operation is completed, proceed to program the new data */ - FLASH->CR |= CR_PG_Set; - - *(__IO uint16_t*)Address = Data; - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - - /* Disable the PG Bit */ - FLASH->CR &= CR_PG_Reset; - } -#endif /* STM32F10X_XL */ - - /* Return the Program Status */ - return status; -} - -/** - * @brief Programs a half word at a specified Option Byte Data address. - * @note This function can be used for all STM32F10x devices. - * @param Address: specifies the address to be programmed. - * This parameter can be 0x1FFFF804 or 0x1FFFF806. - * @param Data: specifies the data to be programmed. - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_ProgramOptionByteData(uint32_t Address, uint8_t Data) -{ - FLASH_Status status = FLASH_COMPLETE; - /* Check the parameters */ - assert_param(IS_OB_DATA_ADDRESS(Address)); - status = FLASH_WaitForLastOperation(ProgramTimeout); - - if(status == FLASH_COMPLETE) - { - /* Authorize the small information block programming */ - FLASH->OPTKEYR = FLASH_KEY1; - FLASH->OPTKEYR = FLASH_KEY2; - /* Enables the Option Bytes Programming operation */ - FLASH->CR |= CR_OPTPG_Set; - *(__IO uint16_t*)Address = Data; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - if(status != FLASH_TIMEOUT) - { - /* if the program operation is completed, disable the OPTPG Bit */ - FLASH->CR &= CR_OPTPG_Reset; - } - } - /* Return the Option Byte Data Program Status */ - return status; -} - -/** - * @brief Write protects the desired pages - * @note This function can be used for all STM32F10x devices. - * @param FLASH_Pages: specifies the address of the pages to be write protected. - * This parameter can be: - * @arg For @b STM32_Low-density_devices: value between FLASH_WRProt_Pages0to3 and FLASH_WRProt_Pages28to31 - * @arg For @b STM32_Medium-density_devices: value between FLASH_WRProt_Pages0to3 - * and FLASH_WRProt_Pages124to127 - * @arg For @b STM32_High-density_devices: value between FLASH_WRProt_Pages0to1 and - * FLASH_WRProt_Pages60to61 or FLASH_WRProt_Pages62to255 - * @arg For @b STM32_Connectivity_line_devices: value between FLASH_WRProt_Pages0to1 and - * FLASH_WRProt_Pages60to61 or FLASH_WRProt_Pages62to127 - * @arg For @b STM32_XL-density_devices: value between FLASH_WRProt_Pages0to1 and - * FLASH_WRProt_Pages60to61 or FLASH_WRProt_Pages62to511 - * @arg FLASH_WRProt_AllPages - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_EnableWriteProtection(uint32_t FLASH_Pages) -{ - uint16_t WRP0_Data = 0xFFFF, WRP1_Data = 0xFFFF, WRP2_Data = 0xFFFF, WRP3_Data = 0xFFFF; - - FLASH_Status status = FLASH_COMPLETE; - - /* Check the parameters */ - assert_param(IS_FLASH_WRPROT_PAGE(FLASH_Pages)); - - FLASH_Pages = (uint32_t)(~FLASH_Pages); - WRP0_Data = (uint16_t)(FLASH_Pages & WRP0_Mask); - WRP1_Data = (uint16_t)((FLASH_Pages & WRP1_Mask) >> 8); - WRP2_Data = (uint16_t)((FLASH_Pages & WRP2_Mask) >> 16); - WRP3_Data = (uint16_t)((FLASH_Pages & WRP3_Mask) >> 24); - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - - if(status == FLASH_COMPLETE) - { - /* Authorizes the small information block programming */ - FLASH->OPTKEYR = FLASH_KEY1; - FLASH->OPTKEYR = FLASH_KEY2; - FLASH->CR |= CR_OPTPG_Set; - if(WRP0_Data != 0xFF) - { - OB->WRP0 = WRP0_Data; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - } - if((status == FLASH_COMPLETE) && (WRP1_Data != 0xFF)) - { - OB->WRP1 = WRP1_Data; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - } - if((status == FLASH_COMPLETE) && (WRP2_Data != 0xFF)) - { - OB->WRP2 = WRP2_Data; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - } - - if((status == FLASH_COMPLETE)&& (WRP3_Data != 0xFF)) - { - OB->WRP3 = WRP3_Data; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - } - - if(status != FLASH_TIMEOUT) - { - /* if the program operation is completed, disable the OPTPG Bit */ - FLASH->CR &= CR_OPTPG_Reset; - } - } - /* Return the write protection operation Status */ - return status; -} - -/** - * @brief Enables or disables the read out protection. - * @note If the user has already programmed the other option bytes before calling - * this function, he must re-program them since this function erases all option bytes. - * @note This function can be used for all STM32F10x devices. - * @param Newstate: new state of the ReadOut Protection. - * This parameter can be: ENABLE or DISABLE. - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_ReadOutProtection(FunctionalState NewState) -{ - FLASH_Status status = FLASH_COMPLETE; - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - status = FLASH_WaitForLastOperation(EraseTimeout); - if(status == FLASH_COMPLETE) - { - /* Authorizes the small information block programming */ - FLASH->OPTKEYR = FLASH_KEY1; - FLASH->OPTKEYR = FLASH_KEY2; - FLASH->CR |= CR_OPTER_Set; - FLASH->CR |= CR_STRT_Set; - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(EraseTimeout); - if(status == FLASH_COMPLETE) - { - /* if the erase operation is completed, disable the OPTER Bit */ - FLASH->CR &= CR_OPTER_Reset; - /* Enable the Option Bytes Programming operation */ - FLASH->CR |= CR_OPTPG_Set; - if(NewState != DISABLE) - { - OB->RDP = 0x00; - } - else - { - OB->RDP = RDP_Key; - } - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(EraseTimeout); - - if(status != FLASH_TIMEOUT) - { - /* if the program operation is completed, disable the OPTPG Bit */ - FLASH->CR &= CR_OPTPG_Reset; - } - } - else - { - if(status != FLASH_TIMEOUT) - { - /* Disable the OPTER Bit */ - FLASH->CR &= CR_OPTER_Reset; - } - } - } - /* Return the protection operation Status */ - return status; -} - -/** - * @brief Programs the FLASH User Option Byte: IWDG_SW / RST_STOP / RST_STDBY. - * @note This function can be used for all STM32F10x devices. - * @param OB_IWDG: Selects the IWDG mode - * This parameter can be one of the following values: - * @arg OB_IWDG_SW: Software IWDG selected - * @arg OB_IWDG_HW: Hardware IWDG selected - * @param OB_STOP: Reset event when entering STOP mode. - * This parameter can be one of the following values: - * @arg OB_STOP_NoRST: No reset generated when entering in STOP - * @arg OB_STOP_RST: Reset generated when entering in STOP - * @param OB_STDBY: Reset event when entering Standby mode. - * This parameter can be one of the following values: - * @arg OB_STDBY_NoRST: No reset generated when entering in STANDBY - * @arg OB_STDBY_RST: Reset generated when entering in STANDBY - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_UserOptionByteConfig(uint16_t OB_IWDG, uint16_t OB_STOP, uint16_t OB_STDBY) -{ - FLASH_Status status = FLASH_COMPLETE; - - /* Check the parameters */ - assert_param(IS_OB_IWDG_SOURCE(OB_IWDG)); - assert_param(IS_OB_STOP_SOURCE(OB_STOP)); - assert_param(IS_OB_STDBY_SOURCE(OB_STDBY)); - - /* Authorize the small information block programming */ - FLASH->OPTKEYR = FLASH_KEY1; - FLASH->OPTKEYR = FLASH_KEY2; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - - if(status == FLASH_COMPLETE) - { - /* Enable the Option Bytes Programming operation */ - FLASH->CR |= CR_OPTPG_Set; - - OB->USER = OB_IWDG | (uint16_t)(OB_STOP | (uint16_t)(OB_STDBY | ((uint16_t)0xF8))); - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - if(status != FLASH_TIMEOUT) - { - /* if the program operation is completed, disable the OPTPG Bit */ - FLASH->CR &= CR_OPTPG_Reset; - } - } - /* Return the Option Byte program Status */ - return status; -} - -#ifdef STM32F10X_XL -/** - * @brief Configures to boot from Bank1 or Bank2. - * @note This function can be used only for STM32F10x_XL density devices. - * @param FLASH_BOOT: select the FLASH Bank to boot from. - * This parameter can be one of the following values: - * @arg FLASH_BOOT_Bank1: At startup, if boot pins are set in boot from user Flash - * position and this parameter is selected the device will boot from Bank1(Default). - * @arg FLASH_BOOT_Bank2: At startup, if boot pins are set in boot from user Flash - * position and this parameter is selected the device will boot from Bank2 or Bank1, - * depending on the activation of the bank. The active banks are checked in - * the following order: Bank2, followed by Bank1. - * The active bank is recognized by the value programmed at the base address - * of the respective bank (corresponding to the initial stack pointer value - * in the interrupt vector table). - * For more information, please refer to AN2606 from www.st.com. - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_BootConfig(uint16_t FLASH_BOOT) -{ - FLASH_Status status = FLASH_COMPLETE; - assert_param(IS_FLASH_BOOT(FLASH_BOOT)); - /* Authorize the small information block programming */ - FLASH->OPTKEYR = FLASH_KEY1; - FLASH->OPTKEYR = FLASH_KEY2; - - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - - if(status == FLASH_COMPLETE) - { - /* Enable the Option Bytes Programming operation */ - FLASH->CR |= CR_OPTPG_Set; - - if(FLASH_BOOT == FLASH_BOOT_Bank1) - { - OB->USER |= OB_USER_BFB2; - } - else - { - OB->USER &= (uint16_t)(~(uint16_t)(OB_USER_BFB2)); - } - /* Wait for last operation to be completed */ - status = FLASH_WaitForLastOperation(ProgramTimeout); - if(status != FLASH_TIMEOUT) - { - /* if the program operation is completed, disable the OPTPG Bit */ - FLASH->CR &= CR_OPTPG_Reset; - } - } - /* Return the Option Byte program Status */ - return status; -} -#endif /* STM32F10X_XL */ - -/** - * @brief Returns the FLASH User Option Bytes values. - * @note This function can be used for all STM32F10x devices. - * @param None - * @retval The FLASH User Option Bytes values:IWDG_SW(Bit0), RST_STOP(Bit1) - * and RST_STDBY(Bit2). - */ -uint32_t FLASH_GetUserOptionByte(void) -{ - /* Return the User Option Byte */ - return (uint32_t)(FLASH->OBR >> 2); -} - -/** - * @brief Returns the FLASH Write Protection Option Bytes Register value. - * @note This function can be used for all STM32F10x devices. - * @param None - * @retval The FLASH Write Protection Option Bytes Register value - */ -uint32_t FLASH_GetWriteProtectionOptionByte(void) -{ - /* Return the Flash write protection Register value */ - return (uint32_t)(FLASH->WRPR); -} - -/** - * @brief Checks whether the FLASH Read Out Protection Status is set or not. - * @note This function can be used for all STM32F10x devices. - * @param None - * @retval FLASH ReadOut Protection Status(SET or RESET) - */ -FlagStatus FLASH_GetReadOutProtectionStatus(void) -{ - FlagStatus readoutstatus = RESET; - if ((FLASH->OBR & RDPRT_Mask) != (uint32_t)RESET) - { - readoutstatus = SET; - } - else - { - readoutstatus = RESET; - } - return readoutstatus; -} - -/** - * @brief Checks whether the FLASH Prefetch Buffer status is set or not. - * @note This function can be used for all STM32F10x devices. - * @param None - * @retval FLASH Prefetch Buffer Status (SET or RESET). - */ -FlagStatus FLASH_GetPrefetchBufferStatus(void) -{ - FlagStatus bitstatus = RESET; - - if ((FLASH->ACR & ACR_PRFTBS_Mask) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - /* Return the new state of FLASH Prefetch Buffer Status (SET or RESET) */ - return bitstatus; -} - -/** - * @brief Enables or disables the specified FLASH interrupts. - * @note This function can be used for all STM32F10x devices. - * - For STM32F10X_XL devices, enables or disables the specified FLASH interrupts - for Bank1 and Bank2. - * - For other devices it enables or disables the specified FLASH interrupts for Bank1. - * @param FLASH_IT: specifies the FLASH interrupt sources to be enabled or disabled. - * This parameter can be any combination of the following values: - * @arg FLASH_IT_ERROR: FLASH Error Interrupt - * @arg FLASH_IT_EOP: FLASH end of operation Interrupt - * @param NewState: new state of the specified Flash interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void FLASH_ITConfig(uint32_t FLASH_IT, FunctionalState NewState) -{ -#ifdef STM32F10X_XL - /* Check the parameters */ - assert_param(IS_FLASH_IT(FLASH_IT)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if((FLASH_IT & 0x80000000) != 0x0) - { - if(NewState != DISABLE) - { - /* Enable the interrupt sources */ - FLASH->CR2 |= (FLASH_IT & 0x7FFFFFFF); - } - else - { - /* Disable the interrupt sources */ - FLASH->CR2 &= ~(uint32_t)(FLASH_IT & 0x7FFFFFFF); - } - } - else - { - if(NewState != DISABLE) - { - /* Enable the interrupt sources */ - FLASH->CR |= FLASH_IT; - } - else - { - /* Disable the interrupt sources */ - FLASH->CR &= ~(uint32_t)FLASH_IT; - } - } -#else - /* Check the parameters */ - assert_param(IS_FLASH_IT(FLASH_IT)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if(NewState != DISABLE) - { - /* Enable the interrupt sources */ - FLASH->CR |= FLASH_IT; - } - else - { - /* Disable the interrupt sources */ - FLASH->CR &= ~(uint32_t)FLASH_IT; - } -#endif /* STM32F10X_XL */ -} - -/** - * @brief Checks whether the specified FLASH flag is set or not. - * @note This function can be used for all STM32F10x devices. - * - For STM32F10X_XL devices, this function checks whether the specified - * Bank1 or Bank2 flag is set or not. - * - For other devices, it checks whether the specified Bank1 flag is - * set or not. - * @param FLASH_FLAG: specifies the FLASH flag to check. - * This parameter can be one of the following values: - * @arg FLASH_FLAG_BSY: FLASH Busy flag - * @arg FLASH_FLAG_PGERR: FLASH Program error flag - * @arg FLASH_FLAG_WRPRTERR: FLASH Write protected error flag - * @arg FLASH_FLAG_EOP: FLASH End of Operation flag - * @arg FLASH_FLAG_OPTERR: FLASH Option Byte error flag - * @retval The new state of FLASH_FLAG (SET or RESET). - */ -FlagStatus FLASH_GetFlagStatus(uint32_t FLASH_FLAG) -{ - FlagStatus bitstatus = RESET; - -#ifdef STM32F10X_XL - /* Check the parameters */ - assert_param(IS_FLASH_GET_FLAG(FLASH_FLAG)) ; - if(FLASH_FLAG == FLASH_FLAG_OPTERR) - { - if((FLASH->OBR & FLASH_FLAG_OPTERR) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - } - else - { - if((FLASH_FLAG & 0x80000000) != 0x0) - { - if((FLASH->SR2 & FLASH_FLAG) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - } - else - { - if((FLASH->SR & FLASH_FLAG) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - } - } -#else - /* Check the parameters */ - assert_param(IS_FLASH_GET_FLAG(FLASH_FLAG)) ; - if(FLASH_FLAG == FLASH_FLAG_OPTERR) - { - if((FLASH->OBR & FLASH_FLAG_OPTERR) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - } - else - { - if((FLASH->SR & FLASH_FLAG) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - } -#endif /* STM32F10X_XL */ - - /* Return the new state of FLASH_FLAG (SET or RESET) */ - return bitstatus; -} - -/** - * @brief Clears the FLASH's pending flags. - * @note This function can be used for all STM32F10x devices. - * - For STM32F10X_XL devices, this function clears Bank1 or Bank2’s pending flags - * - For other devices, it clears Bank1’s pending flags. - * @param FLASH_FLAG: specifies the FLASH flags to clear. - * This parameter can be any combination of the following values: - * @arg FLASH_FLAG_PGERR: FLASH Program error flag - * @arg FLASH_FLAG_WRPRTERR: FLASH Write protected error flag - * @arg FLASH_FLAG_EOP: FLASH End of Operation flag - * @retval None - */ -void FLASH_ClearFlag(uint32_t FLASH_FLAG) -{ -#ifdef STM32F10X_XL - /* Check the parameters */ - assert_param(IS_FLASH_CLEAR_FLAG(FLASH_FLAG)) ; - - if((FLASH_FLAG & 0x80000000) != 0x0) - { - /* Clear the flags */ - FLASH->SR2 = FLASH_FLAG; - } - else - { - /* Clear the flags */ - FLASH->SR = FLASH_FLAG; - } - -#else - /* Check the parameters */ - assert_param(IS_FLASH_CLEAR_FLAG(FLASH_FLAG)) ; - - /* Clear the flags */ - FLASH->SR = FLASH_FLAG; -#endif /* STM32F10X_XL */ -} - -/** - * @brief Returns the FLASH Status. - * @note This function can be used for all STM32F10x devices, it is equivalent - * to FLASH_GetBank1Status function. - * @param None - * @retval FLASH Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PG, - * FLASH_ERROR_WRP or FLASH_COMPLETE - */ -FLASH_Status FLASH_GetStatus(void) -{ - FLASH_Status flashstatus = FLASH_COMPLETE; - - if((FLASH->SR & FLASH_FLAG_BSY) == FLASH_FLAG_BSY) - { - flashstatus = FLASH_BUSY; - } - else - { - if((FLASH->SR & FLASH_FLAG_PGERR) != 0) - { - flashstatus = FLASH_ERROR_PG; - } - else - { - if((FLASH->SR & FLASH_FLAG_WRPRTERR) != 0 ) - { - flashstatus = FLASH_ERROR_WRP; - } - else - { - flashstatus = FLASH_COMPLETE; - } - } - } - /* Return the Flash Status */ - return flashstatus; -} - -/** - * @brief Returns the FLASH Bank1 Status. - * @note This function can be used for all STM32F10x devices, it is equivalent - * to FLASH_GetStatus function. - * @param None - * @retval FLASH Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PG, - * FLASH_ERROR_WRP or FLASH_COMPLETE - */ -FLASH_Status FLASH_GetBank1Status(void) -{ - FLASH_Status flashstatus = FLASH_COMPLETE; - - if((FLASH->SR & FLASH_FLAG_BANK1_BSY) == FLASH_FLAG_BSY) - { - flashstatus = FLASH_BUSY; - } - else - { - if((FLASH->SR & FLASH_FLAG_BANK1_PGERR) != 0) - { - flashstatus = FLASH_ERROR_PG; - } - else - { - if((FLASH->SR & FLASH_FLAG_BANK1_WRPRTERR) != 0 ) - { - flashstatus = FLASH_ERROR_WRP; - } - else - { - flashstatus = FLASH_COMPLETE; - } - } - } - /* Return the Flash Status */ - return flashstatus; -} - -#ifdef STM32F10X_XL -/** - * @brief Returns the FLASH Bank2 Status. - * @note This function can be used for STM32F10x_XL density devices. - * @param None - * @retval FLASH Status: The returned value can be: FLASH_BUSY, FLASH_ERROR_PG, - * FLASH_ERROR_WRP or FLASH_COMPLETE - */ -FLASH_Status FLASH_GetBank2Status(void) -{ - FLASH_Status flashstatus = FLASH_COMPLETE; - - if((FLASH->SR2 & (FLASH_FLAG_BANK2_BSY & 0x7FFFFFFF)) == (FLASH_FLAG_BANK2_BSY & 0x7FFFFFFF)) - { - flashstatus = FLASH_BUSY; - } - else - { - if((FLASH->SR2 & (FLASH_FLAG_BANK2_PGERR & 0x7FFFFFFF)) != 0) - { - flashstatus = FLASH_ERROR_PG; - } - else - { - if((FLASH->SR2 & (FLASH_FLAG_BANK2_WRPRTERR & 0x7FFFFFFF)) != 0 ) - { - flashstatus = FLASH_ERROR_WRP; - } - else - { - flashstatus = FLASH_COMPLETE; - } - } - } - /* Return the Flash Status */ - return flashstatus; -} -#endif /* STM32F10X_XL */ -/** - * @brief Waits for a Flash operation to complete or a TIMEOUT to occur. - * @note This function can be used for all STM32F10x devices, - * it is equivalent to FLASH_WaitForLastBank1Operation. - * - For STM32F10X_XL devices this function waits for a Bank1 Flash operation - * to complete or a TIMEOUT to occur. - * - For all other devices it waits for a Flash operation to complete - * or a TIMEOUT to occur. - * @param Timeout: FLASH programming Timeout - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_WaitForLastOperation(uint32_t Timeout) -{ - FLASH_Status status = FLASH_COMPLETE; - - /* Check for the Flash Status */ - status = FLASH_GetBank1Status(); - /* Wait for a Flash operation to complete or a TIMEOUT to occur */ - while((status == FLASH_BUSY) && (Timeout != 0x00)) - { - status = FLASH_GetBank1Status(); - Timeout--; - } - if(Timeout == 0x00 ) - { - status = FLASH_TIMEOUT; - } - /* Return the operation status */ - return status; -} - -/** - * @brief Waits for a Flash operation on Bank1 to complete or a TIMEOUT to occur. - * @note This function can be used for all STM32F10x devices, - * it is equivalent to FLASH_WaitForLastOperation. - * @param Timeout: FLASH programming Timeout - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_WaitForLastBank1Operation(uint32_t Timeout) -{ - FLASH_Status status = FLASH_COMPLETE; - - /* Check for the Flash Status */ - status = FLASH_GetBank1Status(); - /* Wait for a Flash operation to complete or a TIMEOUT to occur */ - while((status == FLASH_FLAG_BANK1_BSY) && (Timeout != 0x00)) - { - status = FLASH_GetBank1Status(); - Timeout--; - } - if(Timeout == 0x00 ) - { - status = FLASH_TIMEOUT; - } - /* Return the operation status */ - return status; -} - -#ifdef STM32F10X_XL -/** - * @brief Waits for a Flash operation on Bank2 to complete or a TIMEOUT to occur. - * @note This function can be used only for STM32F10x_XL density devices. - * @param Timeout: FLASH programming Timeout - * @retval FLASH Status: The returned value can be: FLASH_ERROR_PG, - * FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT. - */ -FLASH_Status FLASH_WaitForLastBank2Operation(uint32_t Timeout) -{ - FLASH_Status status = FLASH_COMPLETE; - - /* Check for the Flash Status */ - status = FLASH_GetBank2Status(); - /* Wait for a Flash operation to complete or a TIMEOUT to occur */ - while((status == (FLASH_FLAG_BANK2_BSY & 0x7FFFFFFF)) && (Timeout != 0x00)) - { - status = FLASH_GetBank2Status(); - Timeout--; - } - if(Timeout == 0x00 ) - { - status = FLASH_TIMEOUT; - } - /* Return the operation status */ - return status; -} -#endif /* STM32F10X_XL */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c deleted file mode 100644 index c75137cac..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c +++ /dev/null @@ -1,866 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_fsmc.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the FSMC firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_fsmc.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup FSMC - * @brief FSMC driver modules - * @{ - */ - -/** @defgroup FSMC_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - -/** @defgroup FSMC_Private_Defines - * @{ - */ - -/* --------------------- FSMC registers bit mask ---------------------------- */ - -/* FSMC BCRx Mask */ -#define BCR_MBKEN_Set ((uint32_t)0x00000001) -#define BCR_MBKEN_Reset ((uint32_t)0x000FFFFE) -#define BCR_FACCEN_Set ((uint32_t)0x00000040) - -/* FSMC PCRx Mask */ -#define PCR_PBKEN_Set ((uint32_t)0x00000004) -#define PCR_PBKEN_Reset ((uint32_t)0x000FFFFB) -#define PCR_ECCEN_Set ((uint32_t)0x00000040) -#define PCR_ECCEN_Reset ((uint32_t)0x000FFFBF) -#define PCR_MemoryType_NAND ((uint32_t)0x00000008) -/** - * @} - */ - -/** @defgroup FSMC_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup FSMC_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup FSMC_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup FSMC_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the FSMC NOR/SRAM Banks registers to their default - * reset values. - * @param FSMC_Bank: specifies the FSMC Bank to be used - * This parameter can be one of the following values: - * @arg FSMC_Bank1_NORSRAM1: FSMC Bank1 NOR/SRAM1 - * @arg FSMC_Bank1_NORSRAM2: FSMC Bank1 NOR/SRAM2 - * @arg FSMC_Bank1_NORSRAM3: FSMC Bank1 NOR/SRAM3 - * @arg FSMC_Bank1_NORSRAM4: FSMC Bank1 NOR/SRAM4 - * @retval None - */ -void FSMC_NORSRAMDeInit(uint32_t FSMC_Bank) -{ - /* Check the parameter */ - assert_param(IS_FSMC_NORSRAM_BANK(FSMC_Bank)); - - /* FSMC_Bank1_NORSRAM1 */ - if(FSMC_Bank == FSMC_Bank1_NORSRAM1) - { - FSMC_Bank1->BTCR[FSMC_Bank] = 0x000030DB; - } - /* FSMC_Bank1_NORSRAM2, FSMC_Bank1_NORSRAM3 or FSMC_Bank1_NORSRAM4 */ - else - { - FSMC_Bank1->BTCR[FSMC_Bank] = 0x000030D2; - } - FSMC_Bank1->BTCR[FSMC_Bank + 1] = 0x0FFFFFFF; - FSMC_Bank1E->BWTR[FSMC_Bank] = 0x0FFFFFFF; -} - -/** - * @brief Deinitializes the FSMC NAND Banks registers to their default reset values. - * @param FSMC_Bank: specifies the FSMC Bank to be used - * This parameter can be one of the following values: - * @arg FSMC_Bank2_NAND: FSMC Bank2 NAND - * @arg FSMC_Bank3_NAND: FSMC Bank3 NAND - * @retval None - */ -void FSMC_NANDDeInit(uint32_t FSMC_Bank) -{ - /* Check the parameter */ - assert_param(IS_FSMC_NAND_BANK(FSMC_Bank)); - - if(FSMC_Bank == FSMC_Bank2_NAND) - { - /* Set the FSMC_Bank2 registers to their reset values */ - FSMC_Bank2->PCR2 = 0x00000018; - FSMC_Bank2->SR2 = 0x00000040; - FSMC_Bank2->PMEM2 = 0xFCFCFCFC; - FSMC_Bank2->PATT2 = 0xFCFCFCFC; - } - /* FSMC_Bank3_NAND */ - else - { - /* Set the FSMC_Bank3 registers to their reset values */ - FSMC_Bank3->PCR3 = 0x00000018; - FSMC_Bank3->SR3 = 0x00000040; - FSMC_Bank3->PMEM3 = 0xFCFCFCFC; - FSMC_Bank3->PATT3 = 0xFCFCFCFC; - } -} - -/** - * @brief Deinitializes the FSMC PCCARD Bank registers to their default reset values. - * @param None - * @retval None - */ -void FSMC_PCCARDDeInit(void) -{ - /* Set the FSMC_Bank4 registers to their reset values */ - FSMC_Bank4->PCR4 = 0x00000018; - FSMC_Bank4->SR4 = 0x00000000; - FSMC_Bank4->PMEM4 = 0xFCFCFCFC; - FSMC_Bank4->PATT4 = 0xFCFCFCFC; - FSMC_Bank4->PIO4 = 0xFCFCFCFC; -} - -/** - * @brief Initializes the FSMC NOR/SRAM Banks according to the specified - * parameters in the FSMC_NORSRAMInitStruct. - * @param FSMC_NORSRAMInitStruct : pointer to a FSMC_NORSRAMInitTypeDef - * structure that contains the configuration information for - * the FSMC NOR/SRAM specified Banks. - * @retval None - */ -void FSMC_NORSRAMInit(FSMC_NORSRAMInitTypeDef* FSMC_NORSRAMInitStruct) -{ - /* Check the parameters */ - assert_param(IS_FSMC_NORSRAM_BANK(FSMC_NORSRAMInitStruct->FSMC_Bank)); - assert_param(IS_FSMC_MUX(FSMC_NORSRAMInitStruct->FSMC_DataAddressMux)); - assert_param(IS_FSMC_MEMORY(FSMC_NORSRAMInitStruct->FSMC_MemoryType)); - assert_param(IS_FSMC_MEMORY_WIDTH(FSMC_NORSRAMInitStruct->FSMC_MemoryDataWidth)); - assert_param(IS_FSMC_BURSTMODE(FSMC_NORSRAMInitStruct->FSMC_BurstAccessMode)); - assert_param(IS_FSMC_ASYNWAIT(FSMC_NORSRAMInitStruct->FSMC_AsynchronousWait)); - assert_param(IS_FSMC_WAIT_POLARITY(FSMC_NORSRAMInitStruct->FSMC_WaitSignalPolarity)); - assert_param(IS_FSMC_WRAP_MODE(FSMC_NORSRAMInitStruct->FSMC_WrapMode)); - assert_param(IS_FSMC_WAIT_SIGNAL_ACTIVE(FSMC_NORSRAMInitStruct->FSMC_WaitSignalActive)); - assert_param(IS_FSMC_WRITE_OPERATION(FSMC_NORSRAMInitStruct->FSMC_WriteOperation)); - assert_param(IS_FSMC_WAITE_SIGNAL(FSMC_NORSRAMInitStruct->FSMC_WaitSignal)); - assert_param(IS_FSMC_EXTENDED_MODE(FSMC_NORSRAMInitStruct->FSMC_ExtendedMode)); - assert_param(IS_FSMC_WRITE_BURST(FSMC_NORSRAMInitStruct->FSMC_WriteBurst)); - assert_param(IS_FSMC_ADDRESS_SETUP_TIME(FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_AddressSetupTime)); - assert_param(IS_FSMC_ADDRESS_HOLD_TIME(FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_AddressHoldTime)); - assert_param(IS_FSMC_DATASETUP_TIME(FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_DataSetupTime)); - assert_param(IS_FSMC_TURNAROUND_TIME(FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_BusTurnAroundDuration)); - assert_param(IS_FSMC_CLK_DIV(FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_CLKDivision)); - assert_param(IS_FSMC_DATA_LATENCY(FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_DataLatency)); - assert_param(IS_FSMC_ACCESS_MODE(FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_AccessMode)); - - /* Bank1 NOR/SRAM control register configuration */ - FSMC_Bank1->BTCR[FSMC_NORSRAMInitStruct->FSMC_Bank] = - (uint32_t)FSMC_NORSRAMInitStruct->FSMC_DataAddressMux | - FSMC_NORSRAMInitStruct->FSMC_MemoryType | - FSMC_NORSRAMInitStruct->FSMC_MemoryDataWidth | - FSMC_NORSRAMInitStruct->FSMC_BurstAccessMode | - FSMC_NORSRAMInitStruct->FSMC_AsynchronousWait | - FSMC_NORSRAMInitStruct->FSMC_WaitSignalPolarity | - FSMC_NORSRAMInitStruct->FSMC_WrapMode | - FSMC_NORSRAMInitStruct->FSMC_WaitSignalActive | - FSMC_NORSRAMInitStruct->FSMC_WriteOperation | - FSMC_NORSRAMInitStruct->FSMC_WaitSignal | - FSMC_NORSRAMInitStruct->FSMC_ExtendedMode | - FSMC_NORSRAMInitStruct->FSMC_WriteBurst; - - if(FSMC_NORSRAMInitStruct->FSMC_MemoryType == FSMC_MemoryType_NOR) - { - FSMC_Bank1->BTCR[FSMC_NORSRAMInitStruct->FSMC_Bank] |= (uint32_t)BCR_FACCEN_Set; - } - - /* Bank1 NOR/SRAM timing register configuration */ - FSMC_Bank1->BTCR[FSMC_NORSRAMInitStruct->FSMC_Bank+1] = - (uint32_t)FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_AddressSetupTime | - (FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_AddressHoldTime << 4) | - (FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_DataSetupTime << 8) | - (FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_BusTurnAroundDuration << 16) | - (FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_CLKDivision << 20) | - (FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_DataLatency << 24) | - FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_AccessMode; - - - /* Bank1 NOR/SRAM timing register for write configuration, if extended mode is used */ - if(FSMC_NORSRAMInitStruct->FSMC_ExtendedMode == FSMC_ExtendedMode_Enable) - { - assert_param(IS_FSMC_ADDRESS_SETUP_TIME(FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_AddressSetupTime)); - assert_param(IS_FSMC_ADDRESS_HOLD_TIME(FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_AddressHoldTime)); - assert_param(IS_FSMC_DATASETUP_TIME(FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_DataSetupTime)); - assert_param(IS_FSMC_CLK_DIV(FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_CLKDivision)); - assert_param(IS_FSMC_DATA_LATENCY(FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_DataLatency)); - assert_param(IS_FSMC_ACCESS_MODE(FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_AccessMode)); - FSMC_Bank1E->BWTR[FSMC_NORSRAMInitStruct->FSMC_Bank] = - (uint32_t)FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_AddressSetupTime | - (FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_AddressHoldTime << 4 )| - (FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_DataSetupTime << 8) | - (FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_CLKDivision << 20) | - (FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_DataLatency << 24) | - FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_AccessMode; - } - else - { - FSMC_Bank1E->BWTR[FSMC_NORSRAMInitStruct->FSMC_Bank] = 0x0FFFFFFF; - } -} - -/** - * @brief Initializes the FSMC NAND Banks according to the specified - * parameters in the FSMC_NANDInitStruct. - * @param FSMC_NANDInitStruct : pointer to a FSMC_NANDInitTypeDef - * structure that contains the configuration information for the FSMC - * NAND specified Banks. - * @retval None - */ -void FSMC_NANDInit(FSMC_NANDInitTypeDef* FSMC_NANDInitStruct) -{ - uint32_t tmppcr = 0x00000000, tmppmem = 0x00000000, tmppatt = 0x00000000; - - /* Check the parameters */ - assert_param( IS_FSMC_NAND_BANK(FSMC_NANDInitStruct->FSMC_Bank)); - assert_param( IS_FSMC_WAIT_FEATURE(FSMC_NANDInitStruct->FSMC_Waitfeature)); - assert_param( IS_FSMC_MEMORY_WIDTH(FSMC_NANDInitStruct->FSMC_MemoryDataWidth)); - assert_param( IS_FSMC_ECC_STATE(FSMC_NANDInitStruct->FSMC_ECC)); - assert_param( IS_FSMC_ECCPAGE_SIZE(FSMC_NANDInitStruct->FSMC_ECCPageSize)); - assert_param( IS_FSMC_TCLR_TIME(FSMC_NANDInitStruct->FSMC_TCLRSetupTime)); - assert_param( IS_FSMC_TAR_TIME(FSMC_NANDInitStruct->FSMC_TARSetupTime)); - assert_param(IS_FSMC_SETUP_TIME(FSMC_NANDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_SetupTime)); - assert_param(IS_FSMC_WAIT_TIME(FSMC_NANDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_WaitSetupTime)); - assert_param(IS_FSMC_HOLD_TIME(FSMC_NANDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_HoldSetupTime)); - assert_param(IS_FSMC_HIZ_TIME(FSMC_NANDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_HiZSetupTime)); - assert_param(IS_FSMC_SETUP_TIME(FSMC_NANDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_SetupTime)); - assert_param(IS_FSMC_WAIT_TIME(FSMC_NANDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_WaitSetupTime)); - assert_param(IS_FSMC_HOLD_TIME(FSMC_NANDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_HoldSetupTime)); - assert_param(IS_FSMC_HIZ_TIME(FSMC_NANDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_HiZSetupTime)); - - /* Set the tmppcr value according to FSMC_NANDInitStruct parameters */ - tmppcr = (uint32_t)FSMC_NANDInitStruct->FSMC_Waitfeature | - PCR_MemoryType_NAND | - FSMC_NANDInitStruct->FSMC_MemoryDataWidth | - FSMC_NANDInitStruct->FSMC_ECC | - FSMC_NANDInitStruct->FSMC_ECCPageSize | - (FSMC_NANDInitStruct->FSMC_TCLRSetupTime << 9 )| - (FSMC_NANDInitStruct->FSMC_TARSetupTime << 13); - - /* Set tmppmem value according to FSMC_CommonSpaceTimingStructure parameters */ - tmppmem = (uint32_t)FSMC_NANDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_SetupTime | - (FSMC_NANDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_WaitSetupTime << 8) | - (FSMC_NANDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_HoldSetupTime << 16)| - (FSMC_NANDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_HiZSetupTime << 24); - - /* Set tmppatt value according to FSMC_AttributeSpaceTimingStructure parameters */ - tmppatt = (uint32_t)FSMC_NANDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_SetupTime | - (FSMC_NANDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_WaitSetupTime << 8) | - (FSMC_NANDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_HoldSetupTime << 16)| - (FSMC_NANDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_HiZSetupTime << 24); - - if(FSMC_NANDInitStruct->FSMC_Bank == FSMC_Bank2_NAND) - { - /* FSMC_Bank2_NAND registers configuration */ - FSMC_Bank2->PCR2 = tmppcr; - FSMC_Bank2->PMEM2 = tmppmem; - FSMC_Bank2->PATT2 = tmppatt; - } - else - { - /* FSMC_Bank3_NAND registers configuration */ - FSMC_Bank3->PCR3 = tmppcr; - FSMC_Bank3->PMEM3 = tmppmem; - FSMC_Bank3->PATT3 = tmppatt; - } -} - -/** - * @brief Initializes the FSMC PCCARD Bank according to the specified - * parameters in the FSMC_PCCARDInitStruct. - * @param FSMC_PCCARDInitStruct : pointer to a FSMC_PCCARDInitTypeDef - * structure that contains the configuration information for the FSMC - * PCCARD Bank. - * @retval None - */ -void FSMC_PCCARDInit(FSMC_PCCARDInitTypeDef* FSMC_PCCARDInitStruct) -{ - /* Check the parameters */ - assert_param(IS_FSMC_WAIT_FEATURE(FSMC_PCCARDInitStruct->FSMC_Waitfeature)); - assert_param(IS_FSMC_TCLR_TIME(FSMC_PCCARDInitStruct->FSMC_TCLRSetupTime)); - assert_param(IS_FSMC_TAR_TIME(FSMC_PCCARDInitStruct->FSMC_TARSetupTime)); - - assert_param(IS_FSMC_SETUP_TIME(FSMC_PCCARDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_SetupTime)); - assert_param(IS_FSMC_WAIT_TIME(FSMC_PCCARDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_WaitSetupTime)); - assert_param(IS_FSMC_HOLD_TIME(FSMC_PCCARDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_HoldSetupTime)); - assert_param(IS_FSMC_HIZ_TIME(FSMC_PCCARDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_HiZSetupTime)); - - assert_param(IS_FSMC_SETUP_TIME(FSMC_PCCARDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_SetupTime)); - assert_param(IS_FSMC_WAIT_TIME(FSMC_PCCARDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_WaitSetupTime)); - assert_param(IS_FSMC_HOLD_TIME(FSMC_PCCARDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_HoldSetupTime)); - assert_param(IS_FSMC_HIZ_TIME(FSMC_PCCARDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_HiZSetupTime)); - assert_param(IS_FSMC_SETUP_TIME(FSMC_PCCARDInitStruct->FSMC_IOSpaceTimingStruct->FSMC_SetupTime)); - assert_param(IS_FSMC_WAIT_TIME(FSMC_PCCARDInitStruct->FSMC_IOSpaceTimingStruct->FSMC_WaitSetupTime)); - assert_param(IS_FSMC_HOLD_TIME(FSMC_PCCARDInitStruct->FSMC_IOSpaceTimingStruct->FSMC_HoldSetupTime)); - assert_param(IS_FSMC_HIZ_TIME(FSMC_PCCARDInitStruct->FSMC_IOSpaceTimingStruct->FSMC_HiZSetupTime)); - - /* Set the PCR4 register value according to FSMC_PCCARDInitStruct parameters */ - FSMC_Bank4->PCR4 = (uint32_t)FSMC_PCCARDInitStruct->FSMC_Waitfeature | - FSMC_MemoryDataWidth_16b | - (FSMC_PCCARDInitStruct->FSMC_TCLRSetupTime << 9) | - (FSMC_PCCARDInitStruct->FSMC_TARSetupTime << 13); - - /* Set PMEM4 register value according to FSMC_CommonSpaceTimingStructure parameters */ - FSMC_Bank4->PMEM4 = (uint32_t)FSMC_PCCARDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_SetupTime | - (FSMC_PCCARDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_WaitSetupTime << 8) | - (FSMC_PCCARDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_HoldSetupTime << 16)| - (FSMC_PCCARDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_HiZSetupTime << 24); - - /* Set PATT4 register value according to FSMC_AttributeSpaceTimingStructure parameters */ - FSMC_Bank4->PATT4 = (uint32_t)FSMC_PCCARDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_SetupTime | - (FSMC_PCCARDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_WaitSetupTime << 8) | - (FSMC_PCCARDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_HoldSetupTime << 16)| - (FSMC_PCCARDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_HiZSetupTime << 24); - - /* Set PIO4 register value according to FSMC_IOSpaceTimingStructure parameters */ - FSMC_Bank4->PIO4 = (uint32_t)FSMC_PCCARDInitStruct->FSMC_IOSpaceTimingStruct->FSMC_SetupTime | - (FSMC_PCCARDInitStruct->FSMC_IOSpaceTimingStruct->FSMC_WaitSetupTime << 8) | - (FSMC_PCCARDInitStruct->FSMC_IOSpaceTimingStruct->FSMC_HoldSetupTime << 16)| - (FSMC_PCCARDInitStruct->FSMC_IOSpaceTimingStruct->FSMC_HiZSetupTime << 24); -} - -/** - * @brief Fills each FSMC_NORSRAMInitStruct member with its default value. - * @param FSMC_NORSRAMInitStruct: pointer to a FSMC_NORSRAMInitTypeDef - * structure which will be initialized. - * @retval None - */ -void FSMC_NORSRAMStructInit(FSMC_NORSRAMInitTypeDef* FSMC_NORSRAMInitStruct) -{ - /* Reset NOR/SRAM Init structure parameters values */ - FSMC_NORSRAMInitStruct->FSMC_Bank = FSMC_Bank1_NORSRAM1; - FSMC_NORSRAMInitStruct->FSMC_DataAddressMux = FSMC_DataAddressMux_Enable; - FSMC_NORSRAMInitStruct->FSMC_MemoryType = FSMC_MemoryType_SRAM; - FSMC_NORSRAMInitStruct->FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b; - FSMC_NORSRAMInitStruct->FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStruct->FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStruct->FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStruct->FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStruct->FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStruct->FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStruct->FSMC_WaitSignal = FSMC_WaitSignal_Enable; - FSMC_NORSRAMInitStruct->FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStruct->FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_AddressSetupTime = 0xF; - FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_AddressHoldTime = 0xF; - FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_DataSetupTime = 0xFF; - FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_BusTurnAroundDuration = 0xF; - FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_CLKDivision = 0xF; - FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_DataLatency = 0xF; - FSMC_NORSRAMInitStruct->FSMC_ReadWriteTimingStruct->FSMC_AccessMode = FSMC_AccessMode_A; - FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_AddressSetupTime = 0xF; - FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_AddressHoldTime = 0xF; - FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_DataSetupTime = 0xFF; - FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_BusTurnAroundDuration = 0xF; - FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_CLKDivision = 0xF; - FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_DataLatency = 0xF; - FSMC_NORSRAMInitStruct->FSMC_WriteTimingStruct->FSMC_AccessMode = FSMC_AccessMode_A; -} - -/** - * @brief Fills each FSMC_NANDInitStruct member with its default value. - * @param FSMC_NANDInitStruct: pointer to a FSMC_NANDInitTypeDef - * structure which will be initialized. - * @retval None - */ -void FSMC_NANDStructInit(FSMC_NANDInitTypeDef* FSMC_NANDInitStruct) -{ - /* Reset NAND Init structure parameters values */ - FSMC_NANDInitStruct->FSMC_Bank = FSMC_Bank2_NAND; - FSMC_NANDInitStruct->FSMC_Waitfeature = FSMC_Waitfeature_Disable; - FSMC_NANDInitStruct->FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b; - FSMC_NANDInitStruct->FSMC_ECC = FSMC_ECC_Disable; - FSMC_NANDInitStruct->FSMC_ECCPageSize = FSMC_ECCPageSize_256Bytes; - FSMC_NANDInitStruct->FSMC_TCLRSetupTime = 0x0; - FSMC_NANDInitStruct->FSMC_TARSetupTime = 0x0; - FSMC_NANDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_SetupTime = 0xFC; - FSMC_NANDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_WaitSetupTime = 0xFC; - FSMC_NANDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_HoldSetupTime = 0xFC; - FSMC_NANDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_HiZSetupTime = 0xFC; - FSMC_NANDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_SetupTime = 0xFC; - FSMC_NANDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_WaitSetupTime = 0xFC; - FSMC_NANDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_HoldSetupTime = 0xFC; - FSMC_NANDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_HiZSetupTime = 0xFC; -} - -/** - * @brief Fills each FSMC_PCCARDInitStruct member with its default value. - * @param FSMC_PCCARDInitStruct: pointer to a FSMC_PCCARDInitTypeDef - * structure which will be initialized. - * @retval None - */ -void FSMC_PCCARDStructInit(FSMC_PCCARDInitTypeDef* FSMC_PCCARDInitStruct) -{ - /* Reset PCCARD Init structure parameters values */ - FSMC_PCCARDInitStruct->FSMC_Waitfeature = FSMC_Waitfeature_Disable; - FSMC_PCCARDInitStruct->FSMC_TCLRSetupTime = 0x0; - FSMC_PCCARDInitStruct->FSMC_TARSetupTime = 0x0; - FSMC_PCCARDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_SetupTime = 0xFC; - FSMC_PCCARDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_WaitSetupTime = 0xFC; - FSMC_PCCARDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_HoldSetupTime = 0xFC; - FSMC_PCCARDInitStruct->FSMC_CommonSpaceTimingStruct->FSMC_HiZSetupTime = 0xFC; - FSMC_PCCARDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_SetupTime = 0xFC; - FSMC_PCCARDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_WaitSetupTime = 0xFC; - FSMC_PCCARDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_HoldSetupTime = 0xFC; - FSMC_PCCARDInitStruct->FSMC_AttributeSpaceTimingStruct->FSMC_HiZSetupTime = 0xFC; - FSMC_PCCARDInitStruct->FSMC_IOSpaceTimingStruct->FSMC_SetupTime = 0xFC; - FSMC_PCCARDInitStruct->FSMC_IOSpaceTimingStruct->FSMC_WaitSetupTime = 0xFC; - FSMC_PCCARDInitStruct->FSMC_IOSpaceTimingStruct->FSMC_HoldSetupTime = 0xFC; - FSMC_PCCARDInitStruct->FSMC_IOSpaceTimingStruct->FSMC_HiZSetupTime = 0xFC; -} - -/** - * @brief Enables or disables the specified NOR/SRAM Memory Bank. - * @param FSMC_Bank: specifies the FSMC Bank to be used - * This parameter can be one of the following values: - * @arg FSMC_Bank1_NORSRAM1: FSMC Bank1 NOR/SRAM1 - * @arg FSMC_Bank1_NORSRAM2: FSMC Bank1 NOR/SRAM2 - * @arg FSMC_Bank1_NORSRAM3: FSMC Bank1 NOR/SRAM3 - * @arg FSMC_Bank1_NORSRAM4: FSMC Bank1 NOR/SRAM4 - * @param NewState: new state of the FSMC_Bank. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void FSMC_NORSRAMCmd(uint32_t FSMC_Bank, FunctionalState NewState) -{ - assert_param(IS_FSMC_NORSRAM_BANK(FSMC_Bank)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the selected NOR/SRAM Bank by setting the PBKEN bit in the BCRx register */ - FSMC_Bank1->BTCR[FSMC_Bank] |= BCR_MBKEN_Set; - } - else - { - /* Disable the selected NOR/SRAM Bank by clearing the PBKEN bit in the BCRx register */ - FSMC_Bank1->BTCR[FSMC_Bank] &= BCR_MBKEN_Reset; - } -} - -/** - * @brief Enables or disables the specified NAND Memory Bank. - * @param FSMC_Bank: specifies the FSMC Bank to be used - * This parameter can be one of the following values: - * @arg FSMC_Bank2_NAND: FSMC Bank2 NAND - * @arg FSMC_Bank3_NAND: FSMC Bank3 NAND - * @param NewState: new state of the FSMC_Bank. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void FSMC_NANDCmd(uint32_t FSMC_Bank, FunctionalState NewState) -{ - assert_param(IS_FSMC_NAND_BANK(FSMC_Bank)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the selected NAND Bank by setting the PBKEN bit in the PCRx register */ - if(FSMC_Bank == FSMC_Bank2_NAND) - { - FSMC_Bank2->PCR2 |= PCR_PBKEN_Set; - } - else - { - FSMC_Bank3->PCR3 |= PCR_PBKEN_Set; - } - } - else - { - /* Disable the selected NAND Bank by clearing the PBKEN bit in the PCRx register */ - if(FSMC_Bank == FSMC_Bank2_NAND) - { - FSMC_Bank2->PCR2 &= PCR_PBKEN_Reset; - } - else - { - FSMC_Bank3->PCR3 &= PCR_PBKEN_Reset; - } - } -} - -/** - * @brief Enables or disables the PCCARD Memory Bank. - * @param NewState: new state of the PCCARD Memory Bank. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void FSMC_PCCARDCmd(FunctionalState NewState) -{ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the PCCARD Bank by setting the PBKEN bit in the PCR4 register */ - FSMC_Bank4->PCR4 |= PCR_PBKEN_Set; - } - else - { - /* Disable the PCCARD Bank by clearing the PBKEN bit in the PCR4 register */ - FSMC_Bank4->PCR4 &= PCR_PBKEN_Reset; - } -} - -/** - * @brief Enables or disables the FSMC NAND ECC feature. - * @param FSMC_Bank: specifies the FSMC Bank to be used - * This parameter can be one of the following values: - * @arg FSMC_Bank2_NAND: FSMC Bank2 NAND - * @arg FSMC_Bank3_NAND: FSMC Bank3 NAND - * @param NewState: new state of the FSMC NAND ECC feature. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void FSMC_NANDECCCmd(uint32_t FSMC_Bank, FunctionalState NewState) -{ - assert_param(IS_FSMC_NAND_BANK(FSMC_Bank)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the selected NAND Bank ECC function by setting the ECCEN bit in the PCRx register */ - if(FSMC_Bank == FSMC_Bank2_NAND) - { - FSMC_Bank2->PCR2 |= PCR_ECCEN_Set; - } - else - { - FSMC_Bank3->PCR3 |= PCR_ECCEN_Set; - } - } - else - { - /* Disable the selected NAND Bank ECC function by clearing the ECCEN bit in the PCRx register */ - if(FSMC_Bank == FSMC_Bank2_NAND) - { - FSMC_Bank2->PCR2 &= PCR_ECCEN_Reset; - } - else - { - FSMC_Bank3->PCR3 &= PCR_ECCEN_Reset; - } - } -} - -/** - * @brief Returns the error correction code register value. - * @param FSMC_Bank: specifies the FSMC Bank to be used - * This parameter can be one of the following values: - * @arg FSMC_Bank2_NAND: FSMC Bank2 NAND - * @arg FSMC_Bank3_NAND: FSMC Bank3 NAND - * @retval The Error Correction Code (ECC) value. - */ -uint32_t FSMC_GetECC(uint32_t FSMC_Bank) -{ - uint32_t eccval = 0x00000000; - - if(FSMC_Bank == FSMC_Bank2_NAND) - { - /* Get the ECCR2 register value */ - eccval = FSMC_Bank2->ECCR2; - } - else - { - /* Get the ECCR3 register value */ - eccval = FSMC_Bank3->ECCR3; - } - /* Return the error correction code value */ - return(eccval); -} - -/** - * @brief Enables or disables the specified FSMC interrupts. - * @param FSMC_Bank: specifies the FSMC Bank to be used - * This parameter can be one of the following values: - * @arg FSMC_Bank2_NAND: FSMC Bank2 NAND - * @arg FSMC_Bank3_NAND: FSMC Bank3 NAND - * @arg FSMC_Bank4_PCCARD: FSMC Bank4 PCCARD - * @param FSMC_IT: specifies the FSMC interrupt sources to be enabled or disabled. - * This parameter can be any combination of the following values: - * @arg FSMC_IT_RisingEdge: Rising edge detection interrupt. - * @arg FSMC_IT_Level: Level edge detection interrupt. - * @arg FSMC_IT_FallingEdge: Falling edge detection interrupt. - * @param NewState: new state of the specified FSMC interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void FSMC_ITConfig(uint32_t FSMC_Bank, uint32_t FSMC_IT, FunctionalState NewState) -{ - assert_param(IS_FSMC_IT_BANK(FSMC_Bank)); - assert_param(IS_FSMC_IT(FSMC_IT)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the selected FSMC_Bank2 interrupts */ - if(FSMC_Bank == FSMC_Bank2_NAND) - { - FSMC_Bank2->SR2 |= FSMC_IT; - } - /* Enable the selected FSMC_Bank3 interrupts */ - else if (FSMC_Bank == FSMC_Bank3_NAND) - { - FSMC_Bank3->SR3 |= FSMC_IT; - } - /* Enable the selected FSMC_Bank4 interrupts */ - else - { - FSMC_Bank4->SR4 |= FSMC_IT; - } - } - else - { - /* Disable the selected FSMC_Bank2 interrupts */ - if(FSMC_Bank == FSMC_Bank2_NAND) - { - - FSMC_Bank2->SR2 &= (uint32_t)~FSMC_IT; - } - /* Disable the selected FSMC_Bank3 interrupts */ - else if (FSMC_Bank == FSMC_Bank3_NAND) - { - FSMC_Bank3->SR3 &= (uint32_t)~FSMC_IT; - } - /* Disable the selected FSMC_Bank4 interrupts */ - else - { - FSMC_Bank4->SR4 &= (uint32_t)~FSMC_IT; - } - } -} - -/** - * @brief Checks whether the specified FSMC flag is set or not. - * @param FSMC_Bank: specifies the FSMC Bank to be used - * This parameter can be one of the following values: - * @arg FSMC_Bank2_NAND: FSMC Bank2 NAND - * @arg FSMC_Bank3_NAND: FSMC Bank3 NAND - * @arg FSMC_Bank4_PCCARD: FSMC Bank4 PCCARD - * @param FSMC_FLAG: specifies the flag to check. - * This parameter can be one of the following values: - * @arg FSMC_FLAG_RisingEdge: Rising egde detection Flag. - * @arg FSMC_FLAG_Level: Level detection Flag. - * @arg FSMC_FLAG_FallingEdge: Falling egde detection Flag. - * @arg FSMC_FLAG_FEMPT: Fifo empty Flag. - * @retval The new state of FSMC_FLAG (SET or RESET). - */ -FlagStatus FSMC_GetFlagStatus(uint32_t FSMC_Bank, uint32_t FSMC_FLAG) -{ - FlagStatus bitstatus = RESET; - uint32_t tmpsr = 0x00000000; - - /* Check the parameters */ - assert_param(IS_FSMC_GETFLAG_BANK(FSMC_Bank)); - assert_param(IS_FSMC_GET_FLAG(FSMC_FLAG)); - - if(FSMC_Bank == FSMC_Bank2_NAND) - { - tmpsr = FSMC_Bank2->SR2; - } - else if(FSMC_Bank == FSMC_Bank3_NAND) - { - tmpsr = FSMC_Bank3->SR3; - } - /* FSMC_Bank4_PCCARD*/ - else - { - tmpsr = FSMC_Bank4->SR4; - } - - /* Get the flag status */ - if ((tmpsr & FSMC_FLAG) != (uint16_t)RESET ) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - /* Return the flag status */ - return bitstatus; -} - -/** - * @brief Clears the FSMC's pending flags. - * @param FSMC_Bank: specifies the FSMC Bank to be used - * This parameter can be one of the following values: - * @arg FSMC_Bank2_NAND: FSMC Bank2 NAND - * @arg FSMC_Bank3_NAND: FSMC Bank3 NAND - * @arg FSMC_Bank4_PCCARD: FSMC Bank4 PCCARD - * @param FSMC_FLAG: specifies the flag to clear. - * This parameter can be any combination of the following values: - * @arg FSMC_FLAG_RisingEdge: Rising egde detection Flag. - * @arg FSMC_FLAG_Level: Level detection Flag. - * @arg FSMC_FLAG_FallingEdge: Falling egde detection Flag. - * @retval None - */ -void FSMC_ClearFlag(uint32_t FSMC_Bank, uint32_t FSMC_FLAG) -{ - /* Check the parameters */ - assert_param(IS_FSMC_GETFLAG_BANK(FSMC_Bank)); - assert_param(IS_FSMC_CLEAR_FLAG(FSMC_FLAG)) ; - - if(FSMC_Bank == FSMC_Bank2_NAND) - { - FSMC_Bank2->SR2 &= ~FSMC_FLAG; - } - else if(FSMC_Bank == FSMC_Bank3_NAND) - { - FSMC_Bank3->SR3 &= ~FSMC_FLAG; - } - /* FSMC_Bank4_PCCARD*/ - else - { - FSMC_Bank4->SR4 &= ~FSMC_FLAG; - } -} - -/** - * @brief Checks whether the specified FSMC interrupt has occurred or not. - * @param FSMC_Bank: specifies the FSMC Bank to be used - * This parameter can be one of the following values: - * @arg FSMC_Bank2_NAND: FSMC Bank2 NAND - * @arg FSMC_Bank3_NAND: FSMC Bank3 NAND - * @arg FSMC_Bank4_PCCARD: FSMC Bank4 PCCARD - * @param FSMC_IT: specifies the FSMC interrupt source to check. - * This parameter can be one of the following values: - * @arg FSMC_IT_RisingEdge: Rising edge detection interrupt. - * @arg FSMC_IT_Level: Level edge detection interrupt. - * @arg FSMC_IT_FallingEdge: Falling edge detection interrupt. - * @retval The new state of FSMC_IT (SET or RESET). - */ -ITStatus FSMC_GetITStatus(uint32_t FSMC_Bank, uint32_t FSMC_IT) -{ - ITStatus bitstatus = RESET; - uint32_t tmpsr = 0x0, itstatus = 0x0, itenable = 0x0; - - /* Check the parameters */ - assert_param(IS_FSMC_IT_BANK(FSMC_Bank)); - assert_param(IS_FSMC_GET_IT(FSMC_IT)); - - if(FSMC_Bank == FSMC_Bank2_NAND) - { - tmpsr = FSMC_Bank2->SR2; - } - else if(FSMC_Bank == FSMC_Bank3_NAND) - { - tmpsr = FSMC_Bank3->SR3; - } - /* FSMC_Bank4_PCCARD*/ - else - { - tmpsr = FSMC_Bank4->SR4; - } - - itstatus = tmpsr & FSMC_IT; - - itenable = tmpsr & (FSMC_IT >> 3); - if ((itstatus != (uint32_t)RESET) && (itenable != (uint32_t)RESET)) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - return bitstatus; -} - -/** - * @brief Clears the FSMC's interrupt pending bits. - * @param FSMC_Bank: specifies the FSMC Bank to be used - * This parameter can be one of the following values: - * @arg FSMC_Bank2_NAND: FSMC Bank2 NAND - * @arg FSMC_Bank3_NAND: FSMC Bank3 NAND - * @arg FSMC_Bank4_PCCARD: FSMC Bank4 PCCARD - * @param FSMC_IT: specifies the interrupt pending bit to clear. - * This parameter can be any combination of the following values: - * @arg FSMC_IT_RisingEdge: Rising edge detection interrupt. - * @arg FSMC_IT_Level: Level edge detection interrupt. - * @arg FSMC_IT_FallingEdge: Falling edge detection interrupt. - * @retval None - */ -void FSMC_ClearITPendingBit(uint32_t FSMC_Bank, uint32_t FSMC_IT) -{ - /* Check the parameters */ - assert_param(IS_FSMC_IT_BANK(FSMC_Bank)); - assert_param(IS_FSMC_IT(FSMC_IT)); - - if(FSMC_Bank == FSMC_Bank2_NAND) - { - FSMC_Bank2->SR2 &= ~(FSMC_IT >> 3); - } - else if(FSMC_Bank == FSMC_Bank3_NAND) - { - FSMC_Bank3->SR3 &= ~(FSMC_IT >> 3); - } - /* FSMC_Bank4_PCCARD*/ - else - { - FSMC_Bank4->SR4 &= ~(FSMC_IT >> 3); - } -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c deleted file mode 100644 index 93dbcd7ca..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c +++ /dev/null @@ -1,650 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_gpio.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the GPIO firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_gpio.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup GPIO - * @brief GPIO driver modules - * @{ - */ - -/** @defgroup GPIO_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup GPIO_Private_Defines - * @{ - */ - -/* ------------ RCC registers bit address in the alias region ----------------*/ -#define AFIO_OFFSET (AFIO_BASE - PERIPH_BASE) - -/* --- EVENTCR Register -----*/ - -/* Alias word address of EVOE bit */ -#define EVCR_OFFSET (AFIO_OFFSET + 0x00) -#define EVOE_BitNumber ((uint8_t)0x07) -#define EVCR_EVOE_BB (PERIPH_BB_BASE + (EVCR_OFFSET * 32) + (EVOE_BitNumber * 4)) - - -/* --- MAPR Register ---*/ -/* Alias word address of MII_RMII_SEL bit */ -#define MAPR_OFFSET (AFIO_OFFSET + 0x04) -#define MII_RMII_SEL_BitNumber ((u8)0x17) -#define MAPR_MII_RMII_SEL_BB (PERIPH_BB_BASE + (MAPR_OFFSET * 32) + (MII_RMII_SEL_BitNumber * 4)) - - -#define EVCR_PORTPINCONFIG_MASK ((uint16_t)0xFF80) -#define LSB_MASK ((uint16_t)0xFFFF) -#define DBGAFR_POSITION_MASK ((uint32_t)0x000F0000) -#define DBGAFR_SWJCFG_MASK ((uint32_t)0xF0FFFFFF) -#define DBGAFR_LOCATION_MASK ((uint32_t)0x00200000) -#define DBGAFR_NUMBITS_MASK ((uint32_t)0x00100000) -/** - * @} - */ - -/** @defgroup GPIO_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup GPIO_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup GPIO_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup GPIO_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the GPIOx peripheral registers to their default reset values. - * @param GPIOx: where x can be (A..G) to select the GPIO peripheral. - * @retval None - */ -void GPIO_DeInit(GPIO_TypeDef* GPIOx) -{ - /* Check the parameters */ - assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - - if (GPIOx == GPIOA) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOA, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOA, DISABLE); - } - else if (GPIOx == GPIOB) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOB, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOB, DISABLE); - } - else if (GPIOx == GPIOC) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOC, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOC, DISABLE); - } - else if (GPIOx == GPIOD) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOD, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOD, DISABLE); - } - else if (GPIOx == GPIOE) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOE, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOE, DISABLE); - } - else if (GPIOx == GPIOF) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOF, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOF, DISABLE); - } - else - { - if (GPIOx == GPIOG) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOG, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOG, DISABLE); - } - } -} - -/** - * @brief Deinitializes the Alternate Functions (remap, event control - * and EXTI configuration) registers to their default reset values. - * @param None - * @retval None - */ -void GPIO_AFIODeInit(void) -{ - RCC_APB2PeriphResetCmd(RCC_APB2Periph_AFIO, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_AFIO, DISABLE); -} - -/** - * @brief Initializes the GPIOx peripheral according to the specified - * parameters in the GPIO_InitStruct. - * @param GPIOx: where x can be (A..G) to select the GPIO peripheral. - * @param GPIO_InitStruct: pointer to a GPIO_InitTypeDef structure that - * contains the configuration information for the specified GPIO peripheral. - * @retval None - */ -void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) -{ - uint32_t currentmode = 0x00, currentpin = 0x00, pinpos = 0x00, pos = 0x00; - uint32_t tmpreg = 0x00, pinmask = 0x00; - /* Check the parameters */ - assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - assert_param(IS_GPIO_MODE(GPIO_InitStruct->GPIO_Mode)); - assert_param(IS_GPIO_PIN(GPIO_InitStruct->GPIO_Pin)); - -/*---------------------------- GPIO Mode Configuration -----------------------*/ - currentmode = ((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x0F); - if ((((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x10)) != 0x00) - { - /* Check the parameters */ - assert_param(IS_GPIO_SPEED(GPIO_InitStruct->GPIO_Speed)); - /* Output mode */ - currentmode |= (uint32_t)GPIO_InitStruct->GPIO_Speed; - } -/*---------------------------- GPIO CRL Configuration ------------------------*/ - /* Configure the eight low port pins */ - if (((uint32_t)GPIO_InitStruct->GPIO_Pin & ((uint32_t)0x00FF)) != 0x00) - { - tmpreg = GPIOx->CRL; - for (pinpos = 0x00; pinpos < 0x08; pinpos++) - { - pos = ((uint32_t)0x01) << pinpos; - /* Get the port pins position */ - currentpin = (GPIO_InitStruct->GPIO_Pin) & pos; - if (currentpin == pos) - { - pos = pinpos << 2; - /* Clear the corresponding low control register bits */ - pinmask = ((uint32_t)0x0F) << pos; - tmpreg &= ~pinmask; - /* Write the mode configuration in the corresponding bits */ - tmpreg |= (currentmode << pos); - /* Reset the corresponding ODR bit */ - if (GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD) - { - GPIOx->BRR = (((uint32_t)0x01) << pinpos); - } - else - { - /* Set the corresponding ODR bit */ - if (GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU) - { - GPIOx->BSRR = (((uint32_t)0x01) << pinpos); - } - } - } - } - GPIOx->CRL = tmpreg; - } -/*---------------------------- GPIO CRH Configuration ------------------------*/ - /* Configure the eight high port pins */ - if (GPIO_InitStruct->GPIO_Pin > 0x00FF) - { - tmpreg = GPIOx->CRH; - for (pinpos = 0x00; pinpos < 0x08; pinpos++) - { - pos = (((uint32_t)0x01) << (pinpos + 0x08)); - /* Get the port pins position */ - currentpin = ((GPIO_InitStruct->GPIO_Pin) & pos); - if (currentpin == pos) - { - pos = pinpos << 2; - /* Clear the corresponding high control register bits */ - pinmask = ((uint32_t)0x0F) << pos; - tmpreg &= ~pinmask; - /* Write the mode configuration in the corresponding bits */ - tmpreg |= (currentmode << pos); - /* Reset the corresponding ODR bit */ - if (GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD) - { - GPIOx->BRR = (((uint32_t)0x01) << (pinpos + 0x08)); - } - /* Set the corresponding ODR bit */ - if (GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU) - { - GPIOx->BSRR = (((uint32_t)0x01) << (pinpos + 0x08)); - } - } - } - GPIOx->CRH = tmpreg; - } -} - -/** - * @brief Fills each GPIO_InitStruct member with its default value. - * @param GPIO_InitStruct : pointer to a GPIO_InitTypeDef structure which will - * be initialized. - * @retval None - */ -void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct) -{ - /* Reset GPIO init structure parameters values */ - GPIO_InitStruct->GPIO_Pin = GPIO_Pin_All; - GPIO_InitStruct->GPIO_Speed = GPIO_Speed_2MHz; - GPIO_InitStruct->GPIO_Mode = GPIO_Mode_IN_FLOATING; -} - -/** - * @brief Reads the specified input port pin. - * @param GPIOx: where x can be (A..G) 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. - */ -uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) -{ - uint8_t bitstatus = 0x00; - - /* Check the parameters */ - assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - assert_param(IS_GET_GPIO_PIN(GPIO_Pin)); - - if ((GPIOx->IDR & GPIO_Pin) != (uint32_t)Bit_RESET) - { - bitstatus = (uint8_t)Bit_SET; - } - else - { - bitstatus = (uint8_t)Bit_RESET; - } - return bitstatus; -} - -/** - * @brief Reads the specified GPIO input data port. - * @param GPIOx: where x can be (A..G) to select the GPIO peripheral. - * @retval GPIO input data port value. - */ -uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx) -{ - /* Check the parameters */ - assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - - return ((uint16_t)GPIOx->IDR); -} - -/** - * @brief Reads the specified output data port bit. - * @param GPIOx: where x can be (A..G) 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 output port pin value. - */ -uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) -{ - uint8_t bitstatus = 0x00; - /* Check the parameters */ - assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - assert_param(IS_GET_GPIO_PIN(GPIO_Pin)); - - if ((GPIOx->ODR & GPIO_Pin) != (uint32_t)Bit_RESET) - { - bitstatus = (uint8_t)Bit_SET; - } - else - { - bitstatus = (uint8_t)Bit_RESET; - } - return bitstatus; -} - -/** - * @brief Reads the specified GPIO output data port. - * @param GPIOx: where x can be (A..G) to select the GPIO peripheral. - * @retval GPIO output data port value. - */ -uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx) -{ - /* Check the parameters */ - assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - - return ((uint16_t)GPIOx->ODR); -} - -/** - * @brief Sets the selected data port bits. - * @param GPIOx: where x can be (A..G) to select the GPIO peripheral. - * @param GPIO_Pin: specifies the port bits to be written. - * This parameter can be any combination of GPIO_Pin_x where x can be (0..15). - * @retval None - */ -void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) -{ - /* Check the parameters */ - assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - assert_param(IS_GPIO_PIN(GPIO_Pin)); - - GPIOx->BSRR = GPIO_Pin; -} - -/** - * @brief Clears the selected data port bits. - * @param GPIOx: where x can be (A..G) to select the GPIO peripheral. - * @param GPIO_Pin: specifies the port bits to be written. - * This parameter can be any combination of GPIO_Pin_x where x can be (0..15). - * @retval None - */ -void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) -{ - /* Check the parameters */ - assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - assert_param(IS_GPIO_PIN(GPIO_Pin)); - - GPIOx->BRR = GPIO_Pin; -} - -/** - * @brief Sets or clears the selected data port bit. - * @param GPIOx: where x can be (A..G) 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 BitVal: specifies the value to be written to the selected bit. - * This parameter can be one of the BitAction enum values: - * @arg Bit_RESET: to clear the port pin - * @arg Bit_SET: to set the port pin - * @retval None - */ -void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal) -{ - /* Check the parameters */ - assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - assert_param(IS_GET_GPIO_PIN(GPIO_Pin)); - assert_param(IS_GPIO_BIT_ACTION(BitVal)); - - if (BitVal != Bit_RESET) - { - GPIOx->BSRR = GPIO_Pin; - } - else - { - GPIOx->BRR = GPIO_Pin; - } -} - -/** - * @brief Writes data to the specified GPIO data port. - * @param GPIOx: where x can be (A..G) to select the GPIO peripheral. - * @param PortVal: specifies the value to be written to the port output data register. - * @retval None - */ -void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal) -{ - /* Check the parameters */ - assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - - GPIOx->ODR = PortVal; -} - -/** - * @brief Locks GPIO Pins configuration registers. - * @param GPIOx: where x can be (A..G) to select the GPIO peripheral. - * @param GPIO_Pin: specifies the port bit to be written. - * This parameter can be any combination of GPIO_Pin_x where x can be (0..15). - * @retval None - */ -void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) -{ - uint32_t tmp = 0x00010000; - - /* Check the parameters */ - assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - assert_param(IS_GPIO_PIN(GPIO_Pin)); - - tmp |= GPIO_Pin; - /* Set LCKK bit */ - GPIOx->LCKR = tmp; - /* Reset LCKK bit */ - GPIOx->LCKR = GPIO_Pin; - /* Set LCKK bit */ - GPIOx->LCKR = tmp; - /* Read LCKK bit*/ - tmp = GPIOx->LCKR; - /* Read LCKK bit*/ - tmp = GPIOx->LCKR; -} - -/** - * @brief Selects the GPIO pin used as Event output. - * @param GPIO_PortSource: selects the GPIO port to be used as source - * for Event output. - * This parameter can be GPIO_PortSourceGPIOx where x can be (A..E). - * @param GPIO_PinSource: specifies the pin for the Event output. - * This parameter can be GPIO_PinSourcex where x can be (0..15). - * @retval None - */ -void GPIO_EventOutputConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource) -{ - uint32_t tmpreg = 0x00; - /* Check the parameters */ - assert_param(IS_GPIO_EVENTOUT_PORT_SOURCE(GPIO_PortSource)); - assert_param(IS_GPIO_PIN_SOURCE(GPIO_PinSource)); - - tmpreg = AFIO->EVCR; - /* Clear the PORT[6:4] and PIN[3:0] bits */ - tmpreg &= EVCR_PORTPINCONFIG_MASK; - tmpreg |= (uint32_t)GPIO_PortSource << 0x04; - tmpreg |= GPIO_PinSource; - AFIO->EVCR = tmpreg; -} - -/** - * @brief Enables or disables the Event Output. - * @param NewState: new state of the Event output. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void GPIO_EventOutputCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) EVCR_EVOE_BB = (uint32_t)NewState; -} - -/** - * @brief Changes the mapping of the specified pin. - * @param GPIO_Remap: selects the pin to remap. - * This parameter can be one of the following values: - * @arg GPIO_Remap_SPI1 : SPI1 Alternate Function mapping - * @arg GPIO_Remap_I2C1 : I2C1 Alternate Function mapping - * @arg GPIO_Remap_USART1 : USART1 Alternate Function mapping - * @arg GPIO_Remap_USART2 : USART2 Alternate Function mapping - * @arg GPIO_PartialRemap_USART3 : USART3 Partial Alternate Function mapping - * @arg GPIO_FullRemap_USART3 : USART3 Full Alternate Function mapping - * @arg GPIO_PartialRemap_TIM1 : TIM1 Partial Alternate Function mapping - * @arg GPIO_FullRemap_TIM1 : TIM1 Full Alternate Function mapping - * @arg GPIO_PartialRemap1_TIM2 : TIM2 Partial1 Alternate Function mapping - * @arg GPIO_PartialRemap2_TIM2 : TIM2 Partial2 Alternate Function mapping - * @arg GPIO_FullRemap_TIM2 : TIM2 Full Alternate Function mapping - * @arg GPIO_PartialRemap_TIM3 : TIM3 Partial Alternate Function mapping - * @arg GPIO_FullRemap_TIM3 : TIM3 Full Alternate Function mapping - * @arg GPIO_Remap_TIM4 : TIM4 Alternate Function mapping - * @arg GPIO_Remap1_CAN1 : CAN1 Alternate Function mapping - * @arg GPIO_Remap2_CAN1 : CAN1 Alternate Function mapping - * @arg GPIO_Remap_PD01 : PD01 Alternate Function mapping - * @arg GPIO_Remap_TIM5CH4_LSI : LSI connected to TIM5 Channel4 input capture for calibration - * @arg GPIO_Remap_ADC1_ETRGINJ : ADC1 External Trigger Injected Conversion remapping - * @arg GPIO_Remap_ADC1_ETRGREG : ADC1 External Trigger Regular Conversion remapping - * @arg GPIO_Remap_ADC2_ETRGINJ : ADC2 External Trigger Injected Conversion remapping - * @arg GPIO_Remap_ADC2_ETRGREG : ADC2 External Trigger Regular Conversion remapping - * @arg GPIO_Remap_ETH : Ethernet remapping (only for Connectivity line devices) - * @arg GPIO_Remap_CAN2 : CAN2 remapping (only for Connectivity line devices) - * @arg GPIO_Remap_SWJ_NoJTRST : Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST - * @arg GPIO_Remap_SWJ_JTAGDisable : JTAG-DP Disabled and SW-DP Enabled - * @arg GPIO_Remap_SWJ_Disable : Full SWJ Disabled (JTAG-DP + SW-DP) - * @arg GPIO_Remap_SPI3 : SPI3/I2S3 Alternate Function mapping (only for Connectivity line devices) - * When the SPI3/I2S3 is remapped using this function, the SWJ is configured - * to Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST. - * @arg GPIO_Remap_TIM2ITR1_PTP_SOF : Ethernet PTP output or USB OTG SOF (Start of Frame) connected - * to TIM2 Internal Trigger 1 for calibration (only for Connectivity line devices) - * If the GPIO_Remap_TIM2ITR1_PTP_SOF is enabled the TIM2 ITR1 is connected to - * Ethernet PTP output. When Reset TIM2 ITR1 is connected to USB OTG SOF output. - * @arg GPIO_Remap_PTP_PPS : Ethernet MAC PPS_PTS output on PB05 (only for Connectivity line devices) - * @arg GPIO_Remap_TIM15 : TIM15 Alternate Function mapping (only for Value line devices) - * @arg GPIO_Remap_TIM16 : TIM16 Alternate Function mapping (only for Value line devices) - * @arg GPIO_Remap_TIM17 : TIM17 Alternate Function mapping (only for Value line devices) - * @arg GPIO_Remap_CEC : CEC Alternate Function mapping (only for Value line devices) - * @arg GPIO_Remap_TIM1_DMA : TIM1 DMA requests mapping (only for Value line devices) - * @arg GPIO_Remap_TIM9 : TIM9 Alternate Function mapping (only for XL-density devices) - * @arg GPIO_Remap_TIM10 : TIM10 Alternate Function mapping (only for XL-density devices) - * @arg GPIO_Remap_TIM11 : TIM11 Alternate Function mapping (only for XL-density devices) - * @arg GPIO_Remap_TIM13 : TIM13 Alternate Function mapping (only for High density Value line and XL-density devices) - * @arg GPIO_Remap_TIM14 : TIM14 Alternate Function mapping (only for High density Value line and XL-density devices) - * @arg GPIO_Remap_FSMC_NADV : FSMC_NADV Alternate Function mapping (only for High density Value line and XL-density devices) - * @arg GPIO_Remap_TIM67_DAC_DMA : TIM6/TIM7 and DAC DMA requests remapping (only for High density Value line devices) - * @arg GPIO_Remap_TIM12 : TIM12 Alternate Function mapping (only for High density Value line devices) - * @arg GPIO_Remap_MISC : Miscellaneous Remap (DMA2 Channel5 Position and DAC Trigger remapping, - * only for High density Value line devices) - * @param NewState: new state of the port pin remapping. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState) -{ - uint32_t tmp = 0x00, tmp1 = 0x00, tmpreg = 0x00, tmpmask = 0x00; - - /* Check the parameters */ - assert_param(IS_GPIO_REMAP(GPIO_Remap)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if((GPIO_Remap & 0x80000000) == 0x80000000) - { - tmpreg = AFIO->MAPR2; - } - else - { - tmpreg = AFIO->MAPR; - } - - tmpmask = (GPIO_Remap & DBGAFR_POSITION_MASK) >> 0x10; - tmp = GPIO_Remap & LSB_MASK; - - if ((GPIO_Remap & (DBGAFR_LOCATION_MASK | DBGAFR_NUMBITS_MASK)) == (DBGAFR_LOCATION_MASK | DBGAFR_NUMBITS_MASK)) - { - tmpreg &= DBGAFR_SWJCFG_MASK; - AFIO->MAPR &= DBGAFR_SWJCFG_MASK; - } - else if ((GPIO_Remap & DBGAFR_NUMBITS_MASK) == DBGAFR_NUMBITS_MASK) - { - tmp1 = ((uint32_t)0x03) << tmpmask; - tmpreg &= ~tmp1; - tmpreg |= ~DBGAFR_SWJCFG_MASK; - } - else - { - tmpreg &= ~(tmp << ((GPIO_Remap >> 0x15)*0x10)); - tmpreg |= ~DBGAFR_SWJCFG_MASK; - } - - if (NewState != DISABLE) - { - tmpreg |= (tmp << ((GPIO_Remap >> 0x15)*0x10)); - } - - if((GPIO_Remap & 0x80000000) == 0x80000000) - { - AFIO->MAPR2 = tmpreg; - } - else - { - AFIO->MAPR = tmpreg; - } -} - -/** - * @brief Selects the GPIO pin used as EXTI Line. - * @param GPIO_PortSource: selects the GPIO port to be used as source for EXTI lines. - * This parameter can be GPIO_PortSourceGPIOx where x can be (A..G). - * @param GPIO_PinSource: specifies the EXTI line to be configured. - * This parameter can be GPIO_PinSourcex where x can be (0..15). - * @retval None - */ -void GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource) -{ - uint32_t tmp = 0x00; - /* Check the parameters */ - assert_param(IS_GPIO_EXTI_PORT_SOURCE(GPIO_PortSource)); - assert_param(IS_GPIO_PIN_SOURCE(GPIO_PinSource)); - - tmp = ((uint32_t)0x0F) << (0x04 * (GPIO_PinSource & (uint8_t)0x03)); - AFIO->EXTICR[GPIO_PinSource >> 0x02] &= ~tmp; - AFIO->EXTICR[GPIO_PinSource >> 0x02] |= (((uint32_t)GPIO_PortSource) << (0x04 * (GPIO_PinSource & (uint8_t)0x03))); -} - -/** - * @brief Selects the Ethernet media interface. - * @note This function applies only to STM32 Connectivity line devices. - * @param GPIO_ETH_MediaInterface: specifies the Media Interface mode. - * This parameter can be one of the following values: - * @arg GPIO_ETH_MediaInterface_MII: MII mode - * @arg GPIO_ETH_MediaInterface_RMII: RMII mode - * @retval None - */ -void GPIO_ETH_MediaInterfaceConfig(uint32_t GPIO_ETH_MediaInterface) -{ - assert_param(IS_GPIO_ETH_MEDIA_INTERFACE(GPIO_ETH_MediaInterface)); - - /* Configure MII_RMII selection bit */ - *(__IO uint32_t *) MAPR_MII_RMII_SEL_BB = GPIO_ETH_MediaInterface; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c deleted file mode 100644 index 889672683..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c +++ /dev/null @@ -1,1331 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_i2c.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the I2C firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_i2c.h" -#include "stm32f10x_rcc.h" - - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup I2C - * @brief I2C driver modules - * @{ - */ - -/** @defgroup I2C_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup I2C_Private_Defines - * @{ - */ - -/* I2C SPE mask */ -#define CR1_PE_Set ((uint16_t)0x0001) -#define CR1_PE_Reset ((uint16_t)0xFFFE) - -/* I2C START mask */ -#define CR1_START_Set ((uint16_t)0x0100) -#define CR1_START_Reset ((uint16_t)0xFEFF) - -/* I2C STOP mask */ -#define CR1_STOP_Set ((uint16_t)0x0200) -#define CR1_STOP_Reset ((uint16_t)0xFDFF) - -/* I2C ACK mask */ -#define CR1_ACK_Set ((uint16_t)0x0400) -#define CR1_ACK_Reset ((uint16_t)0xFBFF) - -/* I2C ENGC mask */ -#define CR1_ENGC_Set ((uint16_t)0x0040) -#define CR1_ENGC_Reset ((uint16_t)0xFFBF) - -/* I2C SWRST mask */ -#define CR1_SWRST_Set ((uint16_t)0x8000) -#define CR1_SWRST_Reset ((uint16_t)0x7FFF) - -/* I2C PEC mask */ -#define CR1_PEC_Set ((uint16_t)0x1000) -#define CR1_PEC_Reset ((uint16_t)0xEFFF) - -/* I2C ENPEC mask */ -#define CR1_ENPEC_Set ((uint16_t)0x0020) -#define CR1_ENPEC_Reset ((uint16_t)0xFFDF) - -/* I2C ENARP mask */ -#define CR1_ENARP_Set ((uint16_t)0x0010) -#define CR1_ENARP_Reset ((uint16_t)0xFFEF) - -/* I2C NOSTRETCH mask */ -#define CR1_NOSTRETCH_Set ((uint16_t)0x0080) -#define CR1_NOSTRETCH_Reset ((uint16_t)0xFF7F) - -/* I2C registers Masks */ -#define CR1_CLEAR_Mask ((uint16_t)0xFBF5) - -/* I2C DMAEN mask */ -#define CR2_DMAEN_Set ((uint16_t)0x0800) -#define CR2_DMAEN_Reset ((uint16_t)0xF7FF) - -/* I2C LAST mask */ -#define CR2_LAST_Set ((uint16_t)0x1000) -#define CR2_LAST_Reset ((uint16_t)0xEFFF) - -/* I2C FREQ mask */ -#define CR2_FREQ_Reset ((uint16_t)0xFFC0) - -/* I2C ADD0 mask */ -#define OAR1_ADD0_Set ((uint16_t)0x0001) -#define OAR1_ADD0_Reset ((uint16_t)0xFFFE) - -/* I2C ENDUAL mask */ -#define OAR2_ENDUAL_Set ((uint16_t)0x0001) -#define OAR2_ENDUAL_Reset ((uint16_t)0xFFFE) - -/* I2C ADD2 mask */ -#define OAR2_ADD2_Reset ((uint16_t)0xFF01) - -/* I2C F/S mask */ -#define CCR_FS_Set ((uint16_t)0x8000) - -/* I2C CCR mask */ -#define CCR_CCR_Set ((uint16_t)0x0FFF) - -/* I2C FLAG mask */ -#define FLAG_Mask ((uint32_t)0x00FFFFFF) - -/* I2C Interrupt Enable mask */ -#define ITEN_Mask ((uint32_t)0x07000000) - -/** - * @} - */ - -/** @defgroup I2C_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup I2C_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup I2C_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup I2C_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the I2Cx peripheral registers to their default reset values. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @retval None - */ -void I2C_DeInit(I2C_TypeDef* I2Cx) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - - if (I2Cx == I2C1) - { - /* Enable I2C1 reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_I2C1, ENABLE); - /* Release I2C1 from reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_I2C1, DISABLE); - } - else - { - /* Enable I2C2 reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_I2C2, ENABLE); - /* Release I2C2 from reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_I2C2, DISABLE); - } -} - -/** - * @brief Initializes the I2Cx peripheral according to the specified - * parameters in the I2C_InitStruct. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param I2C_InitStruct: pointer to a I2C_InitTypeDef structure that - * contains the configuration information for the specified I2C peripheral. - * @retval None - */ -void I2C_Init(I2C_TypeDef* I2Cx, I2C_InitTypeDef* I2C_InitStruct) -{ - uint16_t tmpreg = 0, freqrange = 0; - uint16_t result = 0x04; - uint32_t pclk1 = 8000000; - RCC_ClocksTypeDef rcc_clocks; - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_I2C_CLOCK_SPEED(I2C_InitStruct->I2C_ClockSpeed)); - assert_param(IS_I2C_MODE(I2C_InitStruct->I2C_Mode)); - assert_param(IS_I2C_DUTY_CYCLE(I2C_InitStruct->I2C_DutyCycle)); - assert_param(IS_I2C_OWN_ADDRESS1(I2C_InitStruct->I2C_OwnAddress1)); - assert_param(IS_I2C_ACK_STATE(I2C_InitStruct->I2C_Ack)); - assert_param(IS_I2C_ACKNOWLEDGE_ADDRESS(I2C_InitStruct->I2C_AcknowledgedAddress)); - -/*---------------------------- I2Cx CR2 Configuration ------------------------*/ - /* Get the I2Cx CR2 value */ - tmpreg = I2Cx->CR2; - /* Clear frequency FREQ[5:0] bits */ - tmpreg &= CR2_FREQ_Reset; - /* Get pclk1 frequency value */ - RCC_GetClocksFreq(&rcc_clocks); - pclk1 = rcc_clocks.PCLK1_Frequency; - /* Set frequency bits depending on pclk1 value */ - freqrange = (uint16_t)(pclk1 / 1000000); - tmpreg |= freqrange; - /* Write to I2Cx CR2 */ - I2Cx->CR2 = tmpreg; - -/*---------------------------- I2Cx CCR Configuration ------------------------*/ - /* Disable the selected I2C peripheral to configure TRISE */ - I2Cx->CR1 &= CR1_PE_Reset; - /* Reset tmpreg value */ - /* Clear F/S, DUTY and CCR[11:0] bits */ - tmpreg = 0; - - /* Configure speed in standard mode */ - if (I2C_InitStruct->I2C_ClockSpeed <= 100000) - { - /* Standard mode speed calculate */ - result = (uint16_t)(pclk1 / (I2C_InitStruct->I2C_ClockSpeed << 1)); - /* Test if CCR value is under 0x4*/ - if (result < 0x04) - { - /* Set minimum allowed value */ - result = 0x04; - } - /* Set speed value for standard mode */ - tmpreg |= result; - /* Set Maximum Rise Time for standard mode */ - I2Cx->TRISE = freqrange + 1; - } - /* Configure speed in fast mode */ - else /*(I2C_InitStruct->I2C_ClockSpeed <= 400000)*/ - { - if (I2C_InitStruct->I2C_DutyCycle == I2C_DutyCycle_2) - { - /* Fast mode speed calculate: Tlow/Thigh = 2 */ - result = (uint16_t)(pclk1 / (I2C_InitStruct->I2C_ClockSpeed * 3)); - } - else /*I2C_InitStruct->I2C_DutyCycle == I2C_DutyCycle_16_9*/ - { - /* Fast mode speed calculate: Tlow/Thigh = 16/9 */ - result = (uint16_t)(pclk1 / (I2C_InitStruct->I2C_ClockSpeed * 25)); - /* Set DUTY bit */ - result |= I2C_DutyCycle_16_9; - } - - /* Test if CCR value is under 0x1*/ - if ((result & CCR_CCR_Set) == 0) - { - /* Set minimum allowed value */ - result |= (uint16_t)0x0001; - } - /* Set speed value and set F/S bit for fast mode */ - tmpreg |= (uint16_t)(result | CCR_FS_Set); - /* Set Maximum Rise Time for fast mode */ - I2Cx->TRISE = (uint16_t)(((freqrange * (uint16_t)300) / (uint16_t)1000) + (uint16_t)1); - } - - /* Write to I2Cx CCR */ - I2Cx->CCR = tmpreg; - /* Enable the selected I2C peripheral */ - I2Cx->CR1 |= CR1_PE_Set; - -/*---------------------------- I2Cx CR1 Configuration ------------------------*/ - /* Get the I2Cx CR1 value */ - tmpreg = I2Cx->CR1; - /* Clear ACK, SMBTYPE and SMBUS bits */ - tmpreg &= CR1_CLEAR_Mask; - /* Configure I2Cx: mode and acknowledgement */ - /* Set SMBTYPE and SMBUS bits according to I2C_Mode value */ - /* Set ACK bit according to I2C_Ack value */ - tmpreg |= (uint16_t)((uint32_t)I2C_InitStruct->I2C_Mode | I2C_InitStruct->I2C_Ack); - /* Write to I2Cx CR1 */ - I2Cx->CR1 = tmpreg; - -/*---------------------------- I2Cx OAR1 Configuration -----------------------*/ - /* Set I2Cx Own Address1 and acknowledged address */ - I2Cx->OAR1 = (I2C_InitStruct->I2C_AcknowledgedAddress | I2C_InitStruct->I2C_OwnAddress1); -} - -/** - * @brief Fills each I2C_InitStruct member with its default value. - * @param I2C_InitStruct: pointer to an I2C_InitTypeDef structure which will be initialized. - * @retval None - */ -void I2C_StructInit(I2C_InitTypeDef* I2C_InitStruct) -{ -/*---------------- Reset I2C init structure parameters values ----------------*/ - /* initialize the I2C_ClockSpeed member */ - I2C_InitStruct->I2C_ClockSpeed = 5000; - /* Initialize the I2C_Mode member */ - I2C_InitStruct->I2C_Mode = I2C_Mode_I2C; - /* Initialize the I2C_DutyCycle member */ - I2C_InitStruct->I2C_DutyCycle = I2C_DutyCycle_2; - /* Initialize the I2C_OwnAddress1 member */ - I2C_InitStruct->I2C_OwnAddress1 = 0; - /* Initialize the I2C_Ack member */ - I2C_InitStruct->I2C_Ack = I2C_Ack_Disable; - /* Initialize the I2C_AcknowledgedAddress member */ - I2C_InitStruct->I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; -} - -/** - * @brief Enables or disables the specified I2C peripheral. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2Cx peripheral. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void I2C_Cmd(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected I2C peripheral */ - I2Cx->CR1 |= CR1_PE_Set; - } - else - { - /* Disable the selected I2C peripheral */ - I2Cx->CR1 &= CR1_PE_Reset; - } -} - -/** - * @brief Enables or disables the specified I2C DMA requests. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2C DMA transfer. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void I2C_DMACmd(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected I2C DMA requests */ - I2Cx->CR2 |= CR2_DMAEN_Set; - } - else - { - /* Disable the selected I2C DMA requests */ - I2Cx->CR2 &= CR2_DMAEN_Reset; - } -} - -/** - * @brief Specifies if the next DMA transfer will be the last one. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2C DMA last transfer. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void I2C_DMALastTransferCmd(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Next DMA transfer is the last transfer */ - I2Cx->CR2 |= CR2_LAST_Set; - } - else - { - /* Next DMA transfer is not the last transfer */ - I2Cx->CR2 &= CR2_LAST_Reset; - } -} - -/** - * @brief Generates I2Cx communication START condition. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2C START condition generation. - * This parameter can be: ENABLE or DISABLE. - * @retval None. - */ -void I2C_GenerateSTART(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Generate a START condition */ - I2Cx->CR1 |= CR1_START_Set; - } - else - { - /* Disable the START condition generation */ - I2Cx->CR1 &= CR1_START_Reset; - } -} - -/** - * @brief Generates I2Cx communication STOP condition. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2C STOP condition generation. - * This parameter can be: ENABLE or DISABLE. - * @retval None. - */ -void I2C_GenerateSTOP(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Generate a STOP condition */ - I2Cx->CR1 |= CR1_STOP_Set; - } - else - { - /* Disable the STOP condition generation */ - I2Cx->CR1 &= CR1_STOP_Reset; - } -} - -/** - * @brief Enables or disables the specified I2C acknowledge feature. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2C Acknowledgement. - * This parameter can be: ENABLE or DISABLE. - * @retval None. - */ -void I2C_AcknowledgeConfig(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the acknowledgement */ - I2Cx->CR1 |= CR1_ACK_Set; - } - else - { - /* Disable the acknowledgement */ - I2Cx->CR1 &= CR1_ACK_Reset; - } -} - -/** - * @brief Configures the specified I2C own address2. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param Address: specifies the 7bit I2C own address2. - * @retval None. - */ -void I2C_OwnAddress2Config(I2C_TypeDef* I2Cx, uint8_t Address) -{ - uint16_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - - /* Get the old register value */ - tmpreg = I2Cx->OAR2; - - /* Reset I2Cx Own address2 bit [7:1] */ - tmpreg &= OAR2_ADD2_Reset; - - /* Set I2Cx Own address2 */ - tmpreg |= (uint16_t)((uint16_t)Address & (uint16_t)0x00FE); - - /* Store the new register value */ - I2Cx->OAR2 = tmpreg; -} - -/** - * @brief Enables or disables the specified I2C dual addressing mode. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2C dual addressing mode. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void I2C_DualAddressCmd(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable dual addressing mode */ - I2Cx->OAR2 |= OAR2_ENDUAL_Set; - } - else - { - /* Disable dual addressing mode */ - I2Cx->OAR2 &= OAR2_ENDUAL_Reset; - } -} - -/** - * @brief Enables or disables the specified I2C general call feature. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2C General call. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void I2C_GeneralCallCmd(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable generall call */ - I2Cx->CR1 |= CR1_ENGC_Set; - } - else - { - /* Disable generall call */ - I2Cx->CR1 &= CR1_ENGC_Reset; - } -} - -/** - * @brief Enables or disables the specified I2C interrupts. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param I2C_IT: specifies the I2C interrupts sources to be enabled or disabled. - * This parameter can be any combination of the following values: - * @arg I2C_IT_BUF: Buffer interrupt mask - * @arg I2C_IT_EVT: Event interrupt mask - * @arg I2C_IT_ERR: Error interrupt mask - * @param NewState: new state of the specified I2C interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void I2C_ITConfig(I2C_TypeDef* I2Cx, uint16_t I2C_IT, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - assert_param(IS_I2C_CONFIG_IT(I2C_IT)); - - if (NewState != DISABLE) - { - /* Enable the selected I2C interrupts */ - I2Cx->CR2 |= I2C_IT; - } - else - { - /* Disable the selected I2C interrupts */ - I2Cx->CR2 &= (uint16_t)~I2C_IT; - } -} - -/** - * @brief Sends a data byte through the I2Cx peripheral. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param Data: Byte to be transmitted.. - * @retval None - */ -void I2C_SendData(I2C_TypeDef* I2Cx, uint8_t Data) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - /* Write in the DR register the data to be sent */ - I2Cx->DR = Data; -} - -/** - * @brief Returns the most recent received data by the I2Cx peripheral. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @retval The value of the received data. - */ -uint8_t I2C_ReceiveData(I2C_TypeDef* I2Cx) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - /* Return the data in the DR register */ - return (uint8_t)I2Cx->DR; -} - -/** - * @brief Transmits the address byte to select the slave device. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param Address: specifies the slave address which will be transmitted - * @param I2C_Direction: specifies whether the I2C device will be a - * Transmitter or a Receiver. This parameter can be one of the following values - * @arg I2C_Direction_Transmitter: Transmitter mode - * @arg I2C_Direction_Receiver: Receiver mode - * @retval None. - */ -void I2C_Send7bitAddress(I2C_TypeDef* I2Cx, uint8_t Address, uint8_t I2C_Direction) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_I2C_DIRECTION(I2C_Direction)); - /* Test on the direction to set/reset the read/write bit */ - if (I2C_Direction != I2C_Direction_Transmitter) - { - /* Set the address bit0 for read */ - Address |= OAR1_ADD0_Set; - } - else - { - /* Reset the address bit0 for write */ - Address &= OAR1_ADD0_Reset; - } - /* Send the address */ - I2Cx->DR = Address; -} - -/** - * @brief Reads the specified I2C register and returns its value. - * @param I2C_Register: specifies the register to read. - * This parameter can be one of the following values: - * @arg I2C_Register_CR1: CR1 register. - * @arg I2C_Register_CR2: CR2 register. - * @arg I2C_Register_OAR1: OAR1 register. - * @arg I2C_Register_OAR2: OAR2 register. - * @arg I2C_Register_DR: DR register. - * @arg I2C_Register_SR1: SR1 register. - * @arg I2C_Register_SR2: SR2 register. - * @arg I2C_Register_CCR: CCR register. - * @arg I2C_Register_TRISE: TRISE register. - * @retval The value of the read register. - */ -uint16_t I2C_ReadRegister(I2C_TypeDef* I2Cx, uint8_t I2C_Register) -{ - __IO uint32_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_I2C_REGISTER(I2C_Register)); - - tmp = (uint32_t) I2Cx; - tmp += I2C_Register; - - /* Return the selected register value */ - return (*(__IO uint16_t *) tmp); -} - -/** - * @brief Enables or disables the specified I2C software reset. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2C software reset. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void I2C_SoftwareResetCmd(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Peripheral under reset */ - I2Cx->CR1 |= CR1_SWRST_Set; - } - else - { - /* Peripheral not under reset */ - I2Cx->CR1 &= CR1_SWRST_Reset; - } -} - -/** - * @brief Selects the specified I2C NACK position in master receiver mode. - * This function is useful in I2C Master Receiver mode when the number - * of data to be received is equal to 2. In this case, this function - * should be called (with parameter I2C_NACKPosition_Next) before data - * reception starts,as described in the 2-byte reception procedure - * recommended in Reference Manual in Section: Master receiver. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param I2C_NACKPosition: specifies the NACK position. - * This parameter can be one of the following values: - * @arg I2C_NACKPosition_Next: indicates that the next byte will be the last - * received byte. - * @arg I2C_NACKPosition_Current: indicates that current byte is the last - * received byte. - * - * @note This function configures the same bit (POS) as I2C_PECPositionConfig() - * but is intended to be used in I2C mode while I2C_PECPositionConfig() - * is intended to used in SMBUS mode. - * - * @retval None - */ -void I2C_NACKPositionConfig(I2C_TypeDef* I2Cx, uint16_t I2C_NACKPosition) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_I2C_NACK_POSITION(I2C_NACKPosition)); - - /* Check the input parameter */ - if (I2C_NACKPosition == I2C_NACKPosition_Next) - { - /* Next byte in shift register is the last received byte */ - I2Cx->CR1 |= I2C_NACKPosition_Next; - } - else - { - /* Current byte in shift register is the last received byte */ - I2Cx->CR1 &= I2C_NACKPosition_Current; - } -} - -/** - * @brief Drives the SMBusAlert pin high or low for the specified I2C. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param I2C_SMBusAlert: specifies SMBAlert pin level. - * This parameter can be one of the following values: - * @arg I2C_SMBusAlert_Low: SMBAlert pin driven low - * @arg I2C_SMBusAlert_High: SMBAlert pin driven high - * @retval None - */ -void I2C_SMBusAlertConfig(I2C_TypeDef* I2Cx, uint16_t I2C_SMBusAlert) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_I2C_SMBUS_ALERT(I2C_SMBusAlert)); - if (I2C_SMBusAlert == I2C_SMBusAlert_Low) - { - /* Drive the SMBusAlert pin Low */ - I2Cx->CR1 |= I2C_SMBusAlert_Low; - } - else - { - /* Drive the SMBusAlert pin High */ - I2Cx->CR1 &= I2C_SMBusAlert_High; - } -} - -/** - * @brief Enables or disables the specified I2C PEC transfer. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2C PEC transmission. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void I2C_TransmitPEC(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected I2C PEC transmission */ - I2Cx->CR1 |= CR1_PEC_Set; - } - else - { - /* Disable the selected I2C PEC transmission */ - I2Cx->CR1 &= CR1_PEC_Reset; - } -} - -/** - * @brief Selects the specified I2C PEC position. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param I2C_PECPosition: specifies the PEC position. - * This parameter can be one of the following values: - * @arg I2C_PECPosition_Next: indicates that the next byte is PEC - * @arg I2C_PECPosition_Current: indicates that current byte is PEC - * - * @note This function configures the same bit (POS) as I2C_NACKPositionConfig() - * but is intended to be used in SMBUS mode while I2C_NACKPositionConfig() - * is intended to used in I2C mode. - * - * @retval None - */ -void I2C_PECPositionConfig(I2C_TypeDef* I2Cx, uint16_t I2C_PECPosition) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_I2C_PEC_POSITION(I2C_PECPosition)); - if (I2C_PECPosition == I2C_PECPosition_Next) - { - /* Next byte in shift register is PEC */ - I2Cx->CR1 |= I2C_PECPosition_Next; - } - else - { - /* Current byte in shift register is PEC */ - I2Cx->CR1 &= I2C_PECPosition_Current; - } -} - -/** - * @brief Enables or disables the PEC value calculation of the transferred bytes. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2Cx PEC value calculation. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void I2C_CalculatePEC(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected I2C PEC calculation */ - I2Cx->CR1 |= CR1_ENPEC_Set; - } - else - { - /* Disable the selected I2C PEC calculation */ - I2Cx->CR1 &= CR1_ENPEC_Reset; - } -} - -/** - * @brief Returns the PEC value for the specified I2C. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @retval The PEC value. - */ -uint8_t I2C_GetPEC(I2C_TypeDef* I2Cx) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - /* Return the selected I2C PEC value */ - return ((I2Cx->SR2) >> 8); -} - -/** - * @brief Enables or disables the specified I2C ARP. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2Cx ARP. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void I2C_ARPCmd(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected I2C ARP */ - I2Cx->CR1 |= CR1_ENARP_Set; - } - else - { - /* Disable the selected I2C ARP */ - I2Cx->CR1 &= CR1_ENARP_Reset; - } -} - -/** - * @brief Enables or disables the specified I2C Clock stretching. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param NewState: new state of the I2Cx Clock stretching. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void I2C_StretchClockCmd(I2C_TypeDef* I2Cx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState == DISABLE) - { - /* Enable the selected I2C Clock stretching */ - I2Cx->CR1 |= CR1_NOSTRETCH_Set; - } - else - { - /* Disable the selected I2C Clock stretching */ - I2Cx->CR1 &= CR1_NOSTRETCH_Reset; - } -} - -/** - * @brief Selects the specified I2C fast mode duty cycle. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param I2C_DutyCycle: specifies the fast mode duty cycle. - * This parameter can be one of the following values: - * @arg I2C_DutyCycle_2: I2C fast mode Tlow/Thigh = 2 - * @arg I2C_DutyCycle_16_9: I2C fast mode Tlow/Thigh = 16/9 - * @retval None - */ -void I2C_FastModeDutyCycleConfig(I2C_TypeDef* I2Cx, uint16_t I2C_DutyCycle) -{ - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_I2C_DUTY_CYCLE(I2C_DutyCycle)); - if (I2C_DutyCycle != I2C_DutyCycle_16_9) - { - /* I2C fast mode Tlow/Thigh=2 */ - I2Cx->CCR &= I2C_DutyCycle_2; - } - else - { - /* I2C fast mode Tlow/Thigh=16/9 */ - I2Cx->CCR |= I2C_DutyCycle_16_9; - } -} - - - -/** - * @brief - **************************************************************************************** - * - * I2C State Monitoring Functions - * - **************************************************************************************** - * This I2C driver provides three different ways for I2C state monitoring - * depending on the application requirements and constraints: - * - * - * 1) Basic state monitoring: - * Using I2C_CheckEvent() function: - * It compares the status registers (SR1 and SR2) content to a given event - * (can be the combination of one or more flags). - * It returns SUCCESS if the current status includes the given flags - * and returns ERROR if one or more flags are missing in the current status. - * - When to use: - * - This function is suitable for most applications as well as for startup - * activity since the events are fully described in the product reference manual - * (RM0008). - * - It is also suitable for users who need to define their own events. - * - Limitations: - * - If an error occurs (ie. error flags are set besides to the monitored flags), - * the I2C_CheckEvent() function may return SUCCESS despite the communication - * hold or corrupted real state. - * In this case, it is advised to use error interrupts to monitor the error - * events and handle them in the interrupt IRQ handler. - * - * @note - * For error management, it is advised to use the following functions: - * - I2C_ITConfig() to configure and enable the error interrupts (I2C_IT_ERR). - * - I2Cx_ER_IRQHandler() which is called when the error interrupt occurs. - * Where x is the peripheral instance (I2C1, I2C2 ...) - * - I2C_GetFlagStatus() or I2C_GetITStatus() to be called into I2Cx_ER_IRQHandler() - * in order to determine which error occured. - * - I2C_ClearFlag() or I2C_ClearITPendingBit() and/or I2C_SoftwareResetCmd() - * and/or I2C_GenerateStop() in order to clear the error flag and source, - * and return to correct communication status. - * - * - * 2) Advanced state monitoring: - * Using the function I2C_GetLastEvent() which returns the image of both status - * registers in a single word (uint32_t) (Status Register 2 value is shifted left - * by 16 bits and concatenated to Status Register 1). - * - When to use: - * - This function is suitable for the same applications above but it allows to - * overcome the mentioned limitation of I2C_GetFlagStatus() function. - * The returned value could be compared to events already defined in the - * library (stm32f10x_i2c.h) or to custom values defined by user. - * - This function is suitable when multiple flags are monitored at the same time. - * - At the opposite of I2C_CheckEvent() function, this function allows user to - * choose when an event is accepted (when all events flags are set and no - * other flags are set or just when the needed flags are set like - * I2C_CheckEvent() function). - * - Limitations: - * - User may need to define his own events. - * - Same remark concerning the error management is applicable for this - * function if user decides to check only regular communication flags (and - * ignores error flags). - * - * - * 3) Flag-based state monitoring: - * Using the function I2C_GetFlagStatus() which simply returns the status of - * one single flag (ie. I2C_FLAG_RXNE ...). - * - When to use: - * - This function could be used for specific applications or in debug phase. - * - It is suitable when only one flag checking is needed (most I2C events - * are monitored through multiple flags). - * - Limitations: - * - When calling this function, the Status register is accessed. Some flags are - * cleared when the status register is accessed. So checking the status - * of one Flag, may clear other ones. - * - Function may need to be called twice or more in order to monitor one - * single event. - * - * For detailed description of Events, please refer to section I2C_Events in - * stm32f10x_i2c.h file. - * - */ - -/** - * - * 1) Basic state monitoring - ******************************************************************************* - */ - -/** - * @brief Checks whether the last I2Cx Event is equal to the one passed - * as parameter. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param I2C_EVENT: specifies the event to be checked. - * This parameter can be one of the following values: - * @arg I2C_EVENT_SLAVE_TRANSMITTER_ADDRESS_MATCHED : EV1 - * @arg I2C_EVENT_SLAVE_RECEIVER_ADDRESS_MATCHED : EV1 - * @arg I2C_EVENT_SLAVE_TRANSMITTER_SECONDADDRESS_MATCHED : EV1 - * @arg I2C_EVENT_SLAVE_RECEIVER_SECONDADDRESS_MATCHED : EV1 - * @arg I2C_EVENT_SLAVE_GENERALCALLADDRESS_MATCHED : EV1 - * @arg I2C_EVENT_SLAVE_BYTE_RECEIVED : EV2 - * @arg (I2C_EVENT_SLAVE_BYTE_RECEIVED | I2C_FLAG_DUALF) : EV2 - * @arg (I2C_EVENT_SLAVE_BYTE_RECEIVED | I2C_FLAG_GENCALL) : EV2 - * @arg I2C_EVENT_SLAVE_BYTE_TRANSMITTED : EV3 - * @arg (I2C_EVENT_SLAVE_BYTE_TRANSMITTED | I2C_FLAG_DUALF) : EV3 - * @arg (I2C_EVENT_SLAVE_BYTE_TRANSMITTED | I2C_FLAG_GENCALL) : EV3 - * @arg I2C_EVENT_SLAVE_ACK_FAILURE : EV3_2 - * @arg I2C_EVENT_SLAVE_STOP_DETECTED : EV4 - * @arg I2C_EVENT_MASTER_MODE_SELECT : EV5 - * @arg I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED : EV6 - * @arg I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED : EV6 - * @arg I2C_EVENT_MASTER_BYTE_RECEIVED : EV7 - * @arg I2C_EVENT_MASTER_BYTE_TRANSMITTING : EV8 - * @arg I2C_EVENT_MASTER_BYTE_TRANSMITTED : EV8_2 - * @arg I2C_EVENT_MASTER_MODE_ADDRESS10 : EV9 - * - * @note: For detailed description of Events, please refer to section - * I2C_Events in stm32f10x_i2c.h file. - * - * @retval An ErrorStatus enumeration value: - * - SUCCESS: Last event is equal to the I2C_EVENT - * - ERROR: Last event is different from the I2C_EVENT - */ -ErrorStatus I2C_CheckEvent(I2C_TypeDef* I2Cx, uint32_t I2C_EVENT) -{ - uint32_t lastevent = 0; - uint32_t flag1 = 0, flag2 = 0; - ErrorStatus status = ERROR; - - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_I2C_EVENT(I2C_EVENT)); - - /* Read the I2Cx status register */ - flag1 = I2Cx->SR1; - flag2 = I2Cx->SR2; - flag2 = flag2 << 16; - - /* Get the last event value from I2C status register */ - lastevent = (flag1 | flag2) & FLAG_Mask; - - /* Check whether the last event contains the I2C_EVENT */ - if ((lastevent & I2C_EVENT) == I2C_EVENT) - { - /* SUCCESS: last event is equal to I2C_EVENT */ - status = SUCCESS; - } - else - { - /* ERROR: last event is different from I2C_EVENT */ - status = ERROR; - } - /* Return status */ - return status; -} - -/** - * - * 2) Advanced state monitoring - ******************************************************************************* - */ - -/** - * @brief Returns the last I2Cx Event. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * - * @note: For detailed description of Events, please refer to section - * I2C_Events in stm32f10x_i2c.h file. - * - * @retval The last event - */ -uint32_t I2C_GetLastEvent(I2C_TypeDef* I2Cx) -{ - uint32_t lastevent = 0; - uint32_t flag1 = 0, flag2 = 0; - - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - - /* Read the I2Cx status register */ - flag1 = I2Cx->SR1; - flag2 = I2Cx->SR2; - flag2 = flag2 << 16; - - /* Get the last event value from I2C status register */ - lastevent = (flag1 | flag2) & FLAG_Mask; - - /* Return status */ - return lastevent; -} - -/** - * - * 3) Flag-based state monitoring - ******************************************************************************* - */ - -/** - * @brief Checks whether the specified I2C flag is set or not. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param I2C_FLAG: specifies the flag to check. - * This parameter can be one of the following values: - * @arg I2C_FLAG_DUALF: Dual flag (Slave mode) - * @arg I2C_FLAG_SMBHOST: SMBus host header (Slave mode) - * @arg I2C_FLAG_SMBDEFAULT: SMBus default header (Slave mode) - * @arg I2C_FLAG_GENCALL: General call header flag (Slave mode) - * @arg I2C_FLAG_TRA: Transmitter/Receiver flag - * @arg I2C_FLAG_BUSY: Bus busy flag - * @arg I2C_FLAG_MSL: Master/Slave flag - * @arg I2C_FLAG_SMBALERT: SMBus Alert flag - * @arg I2C_FLAG_TIMEOUT: Timeout or Tlow error flag - * @arg I2C_FLAG_PECERR: PEC error in reception flag - * @arg I2C_FLAG_OVR: Overrun/Underrun flag (Slave mode) - * @arg I2C_FLAG_AF: Acknowledge failure flag - * @arg I2C_FLAG_ARLO: Arbitration lost flag (Master mode) - * @arg I2C_FLAG_BERR: Bus error flag - * @arg I2C_FLAG_TXE: Data register empty flag (Transmitter) - * @arg I2C_FLAG_RXNE: Data register not empty (Receiver) flag - * @arg I2C_FLAG_STOPF: Stop detection flag (Slave mode) - * @arg I2C_FLAG_ADD10: 10-bit header sent flag (Master mode) - * @arg I2C_FLAG_BTF: Byte transfer finished flag - * @arg I2C_FLAG_ADDR: Address sent flag (Master mode) "ADSL" - * Address matched flag (Slave mode)"ENDA" - * @arg I2C_FLAG_SB: Start bit flag (Master mode) - * @retval The new state of I2C_FLAG (SET or RESET). - */ -FlagStatus I2C_GetFlagStatus(I2C_TypeDef* I2Cx, uint32_t I2C_FLAG) -{ - FlagStatus bitstatus = RESET; - __IO uint32_t i2creg = 0, i2cxbase = 0; - - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_I2C_GET_FLAG(I2C_FLAG)); - - /* Get the I2Cx peripheral base address */ - i2cxbase = (uint32_t)I2Cx; - - /* Read flag register index */ - i2creg = I2C_FLAG >> 28; - - /* Get bit[23:0] of the flag */ - I2C_FLAG &= FLAG_Mask; - - if(i2creg != 0) - { - /* Get the I2Cx SR1 register address */ - i2cxbase += 0x14; - } - else - { - /* Flag in I2Cx SR2 Register */ - I2C_FLAG = (uint32_t)(I2C_FLAG >> 16); - /* Get the I2Cx SR2 register address */ - i2cxbase += 0x18; - } - - if(((*(__IO uint32_t *)i2cxbase) & I2C_FLAG) != (uint32_t)RESET) - { - /* I2C_FLAG is set */ - bitstatus = SET; - } - else - { - /* I2C_FLAG is reset */ - bitstatus = RESET; - } - - /* Return the I2C_FLAG status */ - return bitstatus; -} - - - -/** - * @brief Clears the I2Cx's pending flags. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param I2C_FLAG: specifies the flag to clear. - * This parameter can be any combination of the following values: - * @arg I2C_FLAG_SMBALERT: SMBus Alert flag - * @arg I2C_FLAG_TIMEOUT: Timeout or Tlow error flag - * @arg I2C_FLAG_PECERR: PEC error in reception flag - * @arg I2C_FLAG_OVR: Overrun/Underrun flag (Slave mode) - * @arg I2C_FLAG_AF: Acknowledge failure flag - * @arg I2C_FLAG_ARLO: Arbitration lost flag (Master mode) - * @arg I2C_FLAG_BERR: Bus error flag - * - * @note - * - STOPF (STOP detection) is cleared by software sequence: a read operation - * to I2C_SR1 register (I2C_GetFlagStatus()) followed by a write operation - * to I2C_CR1 register (I2C_Cmd() to re-enable the I2C peripheral). - * - ADD10 (10-bit header sent) is cleared by software sequence: a read - * operation to I2C_SR1 (I2C_GetFlagStatus()) followed by writing the - * second byte of the address in DR register. - * - BTF (Byte Transfer Finished) is cleared by software sequence: a read - * operation to I2C_SR1 register (I2C_GetFlagStatus()) followed by a - * read/write to I2C_DR register (I2C_SendData()). - * - ADDR (Address sent) is cleared by software sequence: a read operation to - * I2C_SR1 register (I2C_GetFlagStatus()) followed by a read operation to - * I2C_SR2 register ((void)(I2Cx->SR2)). - * - SB (Start Bit) is cleared software sequence: a read operation to I2C_SR1 - * register (I2C_GetFlagStatus()) followed by a write operation to I2C_DR - * register (I2C_SendData()). - * @retval None - */ -void I2C_ClearFlag(I2C_TypeDef* I2Cx, uint32_t I2C_FLAG) -{ - uint32_t flagpos = 0; - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_I2C_CLEAR_FLAG(I2C_FLAG)); - /* Get the I2C flag position */ - flagpos = I2C_FLAG & FLAG_Mask; - /* Clear the selected I2C flag */ - I2Cx->SR1 = (uint16_t)~flagpos; -} - -/** - * @brief Checks whether the specified I2C interrupt has occurred or not. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param I2C_IT: specifies the interrupt source to check. - * This parameter can be one of the following values: - * @arg I2C_IT_SMBALERT: SMBus Alert flag - * @arg I2C_IT_TIMEOUT: Timeout or Tlow error flag - * @arg I2C_IT_PECERR: PEC error in reception flag - * @arg I2C_IT_OVR: Overrun/Underrun flag (Slave mode) - * @arg I2C_IT_AF: Acknowledge failure flag - * @arg I2C_IT_ARLO: Arbitration lost flag (Master mode) - * @arg I2C_IT_BERR: Bus error flag - * @arg I2C_IT_TXE: Data register empty flag (Transmitter) - * @arg I2C_IT_RXNE: Data register not empty (Receiver) flag - * @arg I2C_IT_STOPF: Stop detection flag (Slave mode) - * @arg I2C_IT_ADD10: 10-bit header sent flag (Master mode) - * @arg I2C_IT_BTF: Byte transfer finished flag - * @arg I2C_IT_ADDR: Address sent flag (Master mode) "ADSL" - * Address matched flag (Slave mode)"ENDAD" - * @arg I2C_IT_SB: Start bit flag (Master mode) - * @retval The new state of I2C_IT (SET or RESET). - */ -ITStatus I2C_GetITStatus(I2C_TypeDef* I2Cx, uint32_t I2C_IT) -{ - ITStatus bitstatus = RESET; - uint32_t enablestatus = 0; - - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_I2C_GET_IT(I2C_IT)); - - /* Check if the interrupt source is enabled or not */ - enablestatus = (uint32_t)(((I2C_IT & ITEN_Mask) >> 16) & (I2Cx->CR2)) ; - - /* Get bit[23:0] of the flag */ - I2C_IT &= FLAG_Mask; - - /* Check the status of the specified I2C flag */ - if (((I2Cx->SR1 & I2C_IT) != (uint32_t)RESET) && enablestatus) - { - /* I2C_IT is set */ - bitstatus = SET; - } - else - { - /* I2C_IT is reset */ - bitstatus = RESET; - } - /* Return the I2C_IT status */ - return bitstatus; -} - -/** - * @brief Clears the I2Cx’s interrupt pending bits. - * @param I2Cx: where x can be 1 or 2 to select the I2C peripheral. - * @param I2C_IT: specifies the interrupt pending bit to clear. - * This parameter can be any combination of the following values: - * @arg I2C_IT_SMBALERT: SMBus Alert interrupt - * @arg I2C_IT_TIMEOUT: Timeout or Tlow error interrupt - * @arg I2C_IT_PECERR: PEC error in reception interrupt - * @arg I2C_IT_OVR: Overrun/Underrun interrupt (Slave mode) - * @arg I2C_IT_AF: Acknowledge failure interrupt - * @arg I2C_IT_ARLO: Arbitration lost interrupt (Master mode) - * @arg I2C_IT_BERR: Bus error interrupt - * - * @note - * - STOPF (STOP detection) is cleared by software sequence: a read operation - * to I2C_SR1 register (I2C_GetITStatus()) followed by a write operation to - * I2C_CR1 register (I2C_Cmd() to re-enable the I2C peripheral). - * - ADD10 (10-bit header sent) is cleared by software sequence: a read - * operation to I2C_SR1 (I2C_GetITStatus()) followed by writing the second - * byte of the address in I2C_DR register. - * - BTF (Byte Transfer Finished) is cleared by software sequence: a read - * operation to I2C_SR1 register (I2C_GetITStatus()) followed by a - * read/write to I2C_DR register (I2C_SendData()). - * - ADDR (Address sent) is cleared by software sequence: a read operation to - * I2C_SR1 register (I2C_GetITStatus()) followed by a read operation to - * I2C_SR2 register ((void)(I2Cx->SR2)). - * - SB (Start Bit) is cleared by software sequence: a read operation to - * I2C_SR1 register (I2C_GetITStatus()) followed by a write operation to - * I2C_DR register (I2C_SendData()). - * @retval None - */ -void I2C_ClearITPendingBit(I2C_TypeDef* I2Cx, uint32_t I2C_IT) -{ - uint32_t flagpos = 0; - /* Check the parameters */ - assert_param(IS_I2C_ALL_PERIPH(I2Cx)); - assert_param(IS_I2C_CLEAR_IT(I2C_IT)); - /* Get the I2C flag position */ - flagpos = I2C_IT & FLAG_Mask; - /* Clear the selected I2C flag */ - I2Cx->SR1 = (uint16_t)~flagpos; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_iwdg.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_iwdg.c deleted file mode 100644 index 9d3b0e855..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_iwdg.c +++ /dev/null @@ -1,190 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_iwdg.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the IWDG firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_iwdg.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup IWDG - * @brief IWDG driver modules - * @{ - */ - -/** @defgroup IWDG_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup IWDG_Private_Defines - * @{ - */ - -/* ---------------------- IWDG registers bit mask ----------------------------*/ - -/* KR register bit mask */ -#define KR_KEY_Reload ((uint16_t)0xAAAA) -#define KR_KEY_Enable ((uint16_t)0xCCCC) - -/** - * @} - */ - -/** @defgroup IWDG_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup IWDG_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup IWDG_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup IWDG_Private_Functions - * @{ - */ - -/** - * @brief Enables or disables write access to IWDG_PR and IWDG_RLR registers. - * @param IWDG_WriteAccess: new state of write access to IWDG_PR and IWDG_RLR registers. - * This parameter can be one of the following values: - * @arg IWDG_WriteAccess_Enable: Enable write access to IWDG_PR and IWDG_RLR registers - * @arg IWDG_WriteAccess_Disable: Disable write access to IWDG_PR and IWDG_RLR registers - * @retval None - */ -void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess) -{ - /* Check the parameters */ - assert_param(IS_IWDG_WRITE_ACCESS(IWDG_WriteAccess)); - IWDG->KR = IWDG_WriteAccess; -} - -/** - * @brief Sets IWDG Prescaler value. - * @param IWDG_Prescaler: specifies the IWDG Prescaler value. - * This parameter can be one of the following values: - * @arg IWDG_Prescaler_4: IWDG prescaler set to 4 - * @arg IWDG_Prescaler_8: IWDG prescaler set to 8 - * @arg IWDG_Prescaler_16: IWDG prescaler set to 16 - * @arg IWDG_Prescaler_32: IWDG prescaler set to 32 - * @arg IWDG_Prescaler_64: IWDG prescaler set to 64 - * @arg IWDG_Prescaler_128: IWDG prescaler set to 128 - * @arg IWDG_Prescaler_256: IWDG prescaler set to 256 - * @retval None - */ -void IWDG_SetPrescaler(uint8_t IWDG_Prescaler) -{ - /* Check the parameters */ - assert_param(IS_IWDG_PRESCALER(IWDG_Prescaler)); - IWDG->PR = IWDG_Prescaler; -} - -/** - * @brief Sets IWDG Reload value. - * @param Reload: specifies the IWDG Reload value. - * This parameter must be a number between 0 and 0x0FFF. - * @retval None - */ -void IWDG_SetReload(uint16_t Reload) -{ - /* Check the parameters */ - assert_param(IS_IWDG_RELOAD(Reload)); - IWDG->RLR = Reload; -} - -/** - * @brief Reloads IWDG counter with value defined in the reload register - * (write access to IWDG_PR and IWDG_RLR registers disabled). - * @param None - * @retval None - */ -void IWDG_ReloadCounter(void) -{ - IWDG->KR = KR_KEY_Reload; -} - -/** - * @brief Enables IWDG (write access to IWDG_PR and IWDG_RLR registers disabled). - * @param None - * @retval None - */ -void IWDG_Enable(void) -{ - IWDG->KR = KR_KEY_Enable; -} - -/** - * @brief Checks whether the specified IWDG flag is set or not. - * @param IWDG_FLAG: specifies the flag to check. - * This parameter can be one of the following values: - * @arg IWDG_FLAG_PVU: Prescaler Value Update on going - * @arg IWDG_FLAG_RVU: Reload Value Update on going - * @retval The new state of IWDG_FLAG (SET or RESET). - */ -FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG) -{ - FlagStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_IWDG_FLAG(IWDG_FLAG)); - if ((IWDG->SR & IWDG_FLAG) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - /* Return the flag status */ - return bitstatus; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c deleted file mode 100644 index 147bf0f8d..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c +++ /dev/null @@ -1,307 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_pwr.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the PWR firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_pwr.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup PWR - * @brief PWR driver modules - * @{ - */ - -/** @defgroup PWR_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup PWR_Private_Defines - * @{ - */ - -/* --------- PWR registers bit address in the alias region ---------- */ -#define PWR_OFFSET (PWR_BASE - PERIPH_BASE) - -/* --- CR Register ---*/ - -/* Alias word address of DBP bit */ -#define CR_OFFSET (PWR_OFFSET + 0x00) -#define DBP_BitNumber 0x08 -#define CR_DBP_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (DBP_BitNumber * 4)) - -/* Alias word address of PVDE bit */ -#define PVDE_BitNumber 0x04 -#define CR_PVDE_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PVDE_BitNumber * 4)) - -/* --- CSR Register ---*/ - -/* Alias word address of EWUP bit */ -#define CSR_OFFSET (PWR_OFFSET + 0x04) -#define EWUP_BitNumber 0x08 -#define CSR_EWUP_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (EWUP_BitNumber * 4)) - -/* ------------------ PWR registers bit mask ------------------------ */ - -/* CR register bit mask */ -#define CR_DS_MASK ((uint32_t)0xFFFFFFFC) -#define CR_PLS_MASK ((uint32_t)0xFFFFFF1F) - - -/** - * @} - */ - -/** @defgroup PWR_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup PWR_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup PWR_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup PWR_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the PWR peripheral registers to their default reset values. - * @param None - * @retval None - */ -void PWR_DeInit(void) -{ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_PWR, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_PWR, DISABLE); -} - -/** - * @brief Enables or disables access to the RTC and backup registers. - * @param NewState: new state of the access to the RTC and backup registers. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void PWR_BackupAccessCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CR_DBP_BB = (uint32_t)NewState; -} - -/** - * @brief Enables or disables the Power Voltage Detector(PVD). - * @param NewState: new state of the PVD. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void PWR_PVDCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CR_PVDE_BB = (uint32_t)NewState; -} - -/** - * @brief Configures the voltage threshold detected by the Power Voltage Detector(PVD). - * @param PWR_PVDLevel: specifies the PVD detection level - * This parameter can be one of the following values: - * @arg PWR_PVDLevel_2V2: PVD detection level set to 2.2V - * @arg PWR_PVDLevel_2V3: PVD detection level set to 2.3V - * @arg PWR_PVDLevel_2V4: PVD detection level set to 2.4V - * @arg PWR_PVDLevel_2V5: PVD detection level set to 2.5V - * @arg PWR_PVDLevel_2V6: PVD detection level set to 2.6V - * @arg PWR_PVDLevel_2V7: PVD detection level set to 2.7V - * @arg PWR_PVDLevel_2V8: PVD detection level set to 2.8V - * @arg PWR_PVDLevel_2V9: PVD detection level set to 2.9V - * @retval None - */ -void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel) -{ - uint32_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_PWR_PVD_LEVEL(PWR_PVDLevel)); - tmpreg = PWR->CR; - /* Clear PLS[7:5] bits */ - tmpreg &= CR_PLS_MASK; - /* Set PLS[7:5] bits according to PWR_PVDLevel value */ - tmpreg |= PWR_PVDLevel; - /* Store the new value */ - PWR->CR = tmpreg; -} - -/** - * @brief Enables or disables the WakeUp Pin functionality. - * @param NewState: new state of the WakeUp Pin functionality. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void PWR_WakeUpPinCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CSR_EWUP_BB = (uint32_t)NewState; -} - -/** - * @brief Enters STOP mode. - * @param PWR_Regulator: specifies the regulator state in STOP mode. - * This parameter can be one of the following values: - * @arg PWR_Regulator_ON: STOP mode with regulator ON - * @arg PWR_Regulator_LowPower: STOP mode with regulator in low power mode - * @param PWR_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 PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry) -{ - uint32_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_PWR_REGULATOR(PWR_Regulator)); - assert_param(IS_PWR_STOP_ENTRY(PWR_STOPEntry)); - - /* Select the regulator state in STOP mode ---------------------------------*/ - tmpreg = PWR->CR; - /* Clear PDDS and LPDS bits */ - tmpreg &= CR_DS_MASK; - /* Set LPDS bit according to PWR_Regulator value */ - tmpreg |= PWR_Regulator; - /* Store the new value */ - PWR->CR = tmpreg; - /* Set SLEEPDEEP bit of Cortex System Control Register */ - SCB->SCR |= SCB_SCR_SLEEPDEEP; - - /* Select STOP mode entry --------------------------------------------------*/ - if(PWR_STOPEntry == PWR_STOPEntry_WFI) - { - /* Request Wait For Interrupt */ - __WFI(); - } - else - { - /* Request Wait For Event */ - __WFE(); - } - - /* Reset SLEEPDEEP bit of Cortex System Control Register */ - SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); -} - -/** - * @brief Enters STANDBY mode. - * @param None - * @retval None - */ -void PWR_EnterSTANDBYMode(void) -{ - /* Clear Wake-up flag */ - PWR->CR |= PWR_CR_CWUF; - /* Select STANDBY mode */ - PWR->CR |= PWR_CR_PDDS; - /* Set SLEEPDEEP bit of Cortex System Control Register */ - SCB->SCR |= SCB_SCR_SLEEPDEEP; -/* This option is used to ensure that store operations are completed */ -#if defined ( __CC_ARM ) - __force_stores(); -#endif - /* Request Wait For Interrupt */ - __WFI(); -} - -/** - * @brief Checks whether the specified PWR flag is set or not. - * @param PWR_FLAG: specifies the flag to check. - * This parameter can be one of the following values: - * @arg PWR_FLAG_WU: Wake Up flag - * @arg PWR_FLAG_SB: StandBy flag - * @arg PWR_FLAG_PVDO: PVD Output - * @retval The new state of PWR_FLAG (SET or RESET). - */ -FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG) -{ - FlagStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_PWR_GET_FLAG(PWR_FLAG)); - - if ((PWR->CSR & PWR_FLAG) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - /* Return the flag status */ - return bitstatus; -} - -/** - * @brief Clears the PWR's pending flags. - * @param PWR_FLAG: specifies the flag to clear. - * This parameter can be one of the following values: - * @arg PWR_FLAG_WU: Wake Up flag - * @arg PWR_FLAG_SB: StandBy flag - * @retval None - */ -void PWR_ClearFlag(uint32_t PWR_FLAG) -{ - /* Check the parameters */ - assert_param(IS_PWR_CLEAR_FLAG(PWR_FLAG)); - - PWR->CR |= PWR_FLAG << 2; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c deleted file mode 100644 index 4b2ec1f10..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c +++ /dev/null @@ -1,1470 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_rcc.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the RCC firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup RCC - * @brief RCC driver modules - * @{ - */ - -/** @defgroup RCC_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup RCC_Private_Defines - * @{ - */ - -/* ------------ RCC registers bit address in the alias region ----------- */ -#define RCC_OFFSET (RCC_BASE - PERIPH_BASE) - -/* --- CR Register ---*/ - -/* Alias word address of HSION bit */ -#define CR_OFFSET (RCC_OFFSET + 0x00) -#define HSION_BitNumber 0x00 -#define CR_HSION_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (HSION_BitNumber * 4)) - -/* Alias word address of PLLON bit */ -#define PLLON_BitNumber 0x18 -#define CR_PLLON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PLLON_BitNumber * 4)) - -#ifdef STM32F10X_CL - /* Alias word address of PLL2ON bit */ - #define PLL2ON_BitNumber 0x1A - #define CR_PLL2ON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PLL2ON_BitNumber * 4)) - - /* Alias word address of PLL3ON bit */ - #define PLL3ON_BitNumber 0x1C - #define CR_PLL3ON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PLL3ON_BitNumber * 4)) -#endif /* STM32F10X_CL */ - -/* Alias word address of CSSON bit */ -#define CSSON_BitNumber 0x13 -#define CR_CSSON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (CSSON_BitNumber * 4)) - -/* --- CFGR Register ---*/ - -/* Alias word address of USBPRE bit */ -#define CFGR_OFFSET (RCC_OFFSET + 0x04) - -#ifndef STM32F10X_CL - #define USBPRE_BitNumber 0x16 - #define CFGR_USBPRE_BB (PERIPH_BB_BASE + (CFGR_OFFSET * 32) + (USBPRE_BitNumber * 4)) -#else - #define OTGFSPRE_BitNumber 0x16 - #define CFGR_OTGFSPRE_BB (PERIPH_BB_BASE + (CFGR_OFFSET * 32) + (OTGFSPRE_BitNumber * 4)) -#endif /* STM32F10X_CL */ - -/* --- BDCR Register ---*/ - -/* Alias word address of RTCEN bit */ -#define BDCR_OFFSET (RCC_OFFSET + 0x20) -#define RTCEN_BitNumber 0x0F -#define BDCR_RTCEN_BB (PERIPH_BB_BASE + (BDCR_OFFSET * 32) + (RTCEN_BitNumber * 4)) - -/* Alias word address of BDRST bit */ -#define BDRST_BitNumber 0x10 -#define BDCR_BDRST_BB (PERIPH_BB_BASE + (BDCR_OFFSET * 32) + (BDRST_BitNumber * 4)) - -/* --- CSR Register ---*/ - -/* Alias word address of LSION bit */ -#define CSR_OFFSET (RCC_OFFSET + 0x24) -#define LSION_BitNumber 0x00 -#define CSR_LSION_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (LSION_BitNumber * 4)) - -#ifdef STM32F10X_CL -/* --- CFGR2 Register ---*/ - - /* Alias word address of I2S2SRC bit */ - #define CFGR2_OFFSET (RCC_OFFSET + 0x2C) - #define I2S2SRC_BitNumber 0x11 - #define CFGR2_I2S2SRC_BB (PERIPH_BB_BASE + (CFGR2_OFFSET * 32) + (I2S2SRC_BitNumber * 4)) - - /* Alias word address of I2S3SRC bit */ - #define I2S3SRC_BitNumber 0x12 - #define CFGR2_I2S3SRC_BB (PERIPH_BB_BASE + (CFGR2_OFFSET * 32) + (I2S3SRC_BitNumber * 4)) -#endif /* STM32F10X_CL */ - -/* ---------------------- RCC registers bit mask ------------------------ */ - -/* CR register bit mask */ -#define CR_HSEBYP_Reset ((uint32_t)0xFFFBFFFF) -#define CR_HSEBYP_Set ((uint32_t)0x00040000) -#define CR_HSEON_Reset ((uint32_t)0xFFFEFFFF) -#define CR_HSEON_Set ((uint32_t)0x00010000) -#define CR_HSITRIM_Mask ((uint32_t)0xFFFFFF07) - -/* CFGR register bit mask */ -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) || defined (STM32F10X_CL) - #define CFGR_PLL_Mask ((uint32_t)0xFFC2FFFF) -#else - #define CFGR_PLL_Mask ((uint32_t)0xFFC0FFFF) -#endif /* STM32F10X_CL */ - -#define CFGR_PLLMull_Mask ((uint32_t)0x003C0000) -#define CFGR_PLLSRC_Mask ((uint32_t)0x00010000) -#define CFGR_PLLXTPRE_Mask ((uint32_t)0x00020000) -#define CFGR_SWS_Mask ((uint32_t)0x0000000C) -#define CFGR_SW_Mask ((uint32_t)0xFFFFFFFC) -#define CFGR_HPRE_Reset_Mask ((uint32_t)0xFFFFFF0F) -#define CFGR_HPRE_Set_Mask ((uint32_t)0x000000F0) -#define CFGR_PPRE1_Reset_Mask ((uint32_t)0xFFFFF8FF) -#define CFGR_PPRE1_Set_Mask ((uint32_t)0x00000700) -#define CFGR_PPRE2_Reset_Mask ((uint32_t)0xFFFFC7FF) -#define CFGR_PPRE2_Set_Mask ((uint32_t)0x00003800) -#define CFGR_ADCPRE_Reset_Mask ((uint32_t)0xFFFF3FFF) -#define CFGR_ADCPRE_Set_Mask ((uint32_t)0x0000C000) - -/* CSR register bit mask */ -#define CSR_RMVF_Set ((uint32_t)0x01000000) - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) || defined (STM32F10X_CL) -/* CFGR2 register bit mask */ - #define CFGR2_PREDIV1SRC ((uint32_t)0x00010000) - #define CFGR2_PREDIV1 ((uint32_t)0x0000000F) -#endif -#ifdef STM32F10X_CL - #define CFGR2_PREDIV2 ((uint32_t)0x000000F0) - #define CFGR2_PLL2MUL ((uint32_t)0x00000F00) - #define CFGR2_PLL3MUL ((uint32_t)0x0000F000) -#endif /* STM32F10X_CL */ - -/* RCC Flag Mask */ -#define FLAG_Mask ((uint8_t)0x1F) - -/* CIR register byte 2 (Bits[15:8]) base address */ -#define CIR_BYTE2_ADDRESS ((uint32_t)0x40021009) - -/* CIR register byte 3 (Bits[23:16]) base address */ -#define CIR_BYTE3_ADDRESS ((uint32_t)0x4002100A) - -/* CFGR register byte 4 (Bits[31:24]) base address */ -#define CFGR_BYTE4_ADDRESS ((uint32_t)0x40021007) - -/* BDCR register base address */ -#define BDCR_ADDRESS (PERIPH_BASE + BDCR_OFFSET) - -/** - * @} - */ - -/** @defgroup RCC_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup RCC_Private_Variables - * @{ - */ - -static __I uint8_t APBAHBPrescTable[16] = {0, 0, 0, 0, 1, 2, 3, 4, 1, 2, 3, 4, 6, 7, 8, 9}; -static __I uint8_t ADCPrescTable[4] = {2, 4, 6, 8}; - -/** - * @} - */ - -/** @defgroup RCC_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup RCC_Private_Functions - * @{ - */ - -/** - * @brief Resets the RCC clock configuration to the default reset state. - * @param None - * @retval None - */ -void RCC_DeInit(void) -{ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */ -#ifndef STM32F10X_CL - RCC->CFGR &= (uint32_t)0xF8FF0000; -#else - RCC->CFGR &= (uint32_t)0xF0FF0000; -#endif /* STM32F10X_CL */ - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */ - RCC->CFGR &= (uint32_t)0xFF80FFFF; - -#ifdef STM32F10X_CL - /* Reset PLL2ON and PLL3ON bits */ - RCC->CR &= (uint32_t)0xEBFFFFFF; - - /* Disable all interrupts and clear pending bits */ - RCC->CIR = 0x00FF0000; - - /* Reset CFGR2 register */ - RCC->CFGR2 = 0x00000000; -#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) - /* Disable all interrupts and clear pending bits */ - RCC->CIR = 0x009F0000; - - /* Reset CFGR2 register */ - RCC->CFGR2 = 0x00000000; -#else - /* Disable all interrupts and clear pending bits */ - RCC->CIR = 0x009F0000; -#endif /* STM32F10X_CL */ - -} - -/** - * @brief Configures the External High Speed oscillator (HSE). - * @note HSE can not be stopped if it is used directly or through the PLL as system clock. - * @param RCC_HSE: specifies the new state of the HSE. - * This parameter can be one of the following values: - * @arg RCC_HSE_OFF: HSE oscillator OFF - * @arg RCC_HSE_ON: HSE oscillator ON - * @arg RCC_HSE_Bypass: HSE oscillator bypassed with external clock - * @retval None - */ -void RCC_HSEConfig(uint32_t RCC_HSE) -{ - /* Check the parameters */ - assert_param(IS_RCC_HSE(RCC_HSE)); - /* Reset HSEON and HSEBYP bits before configuring the HSE ------------------*/ - /* Reset HSEON bit */ - RCC->CR &= CR_HSEON_Reset; - /* Reset HSEBYP bit */ - RCC->CR &= CR_HSEBYP_Reset; - /* Configure HSE (RCC_HSE_OFF is already covered by the code section above) */ - switch(RCC_HSE) - { - case RCC_HSE_ON: - /* Set HSEON bit */ - RCC->CR |= CR_HSEON_Set; - break; - - case RCC_HSE_Bypass: - /* Set HSEBYP and HSEON bits */ - RCC->CR |= CR_HSEBYP_Set | CR_HSEON_Set; - break; - - default: - break; - } -} - -/** - * @brief Waits for HSE start-up. - * @param None - * @retval An ErrorStatus enumuration value: - * - SUCCESS: HSE oscillator is stable and ready to use - * - ERROR: HSE oscillator not yet ready - */ -ErrorStatus RCC_WaitForHSEStartUp(void) -{ - __IO uint32_t StartUpCounter = 0; - ErrorStatus status = ERROR; - FlagStatus HSEStatus = RESET; - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC_GetFlagStatus(RCC_FLAG_HSERDY); - StartUpCounter++; - } while((StartUpCounter != HSE_STARTUP_TIMEOUT) && (HSEStatus == RESET)); - - if (RCC_GetFlagStatus(RCC_FLAG_HSERDY) != RESET) - { - status = SUCCESS; - } - else - { - status = ERROR; - } - return (status); -} - -/** - * @brief Adjusts the Internal High Speed oscillator (HSI) calibration value. - * @param HSICalibrationValue: specifies the calibration trimming value. - * This parameter must be a number between 0 and 0x1F. - * @retval None - */ -void RCC_AdjustHSICalibrationValue(uint8_t HSICalibrationValue) -{ - uint32_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_RCC_CALIBRATION_VALUE(HSICalibrationValue)); - tmpreg = RCC->CR; - /* Clear HSITRIM[4:0] bits */ - tmpreg &= CR_HSITRIM_Mask; - /* Set the HSITRIM[4:0] bits according to HSICalibrationValue value */ - tmpreg |= (uint32_t)HSICalibrationValue << 3; - /* Store the new value */ - RCC->CR = tmpreg; -} - -/** - * @brief Enables or disables the Internal High Speed oscillator (HSI). - * @note HSI can not be stopped if it is used directly or through the PLL as system clock. - * @param NewState: new state of the HSI. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_HSICmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CR_HSION_BB = (uint32_t)NewState; -} - -/** - * @brief Configures the PLL clock source and multiplication factor. - * @note This function must be used only when the PLL is disabled. - * @param RCC_PLLSource: specifies the PLL entry clock source. - * For @b STM32_Connectivity_line_devices or @b STM32_Value_line_devices, - * this parameter can be one of the following values: - * @arg RCC_PLLSource_HSI_Div2: HSI oscillator clock divided by 2 selected as PLL clock entry - * @arg RCC_PLLSource_PREDIV1: PREDIV1 clock selected as PLL clock entry - * For @b other_STM32_devices, this parameter can be one of the following values: - * @arg RCC_PLLSource_HSI_Div2: HSI oscillator clock divided by 2 selected as PLL clock entry - * @arg RCC_PLLSource_HSE_Div1: HSE oscillator clock selected as PLL clock entry - * @arg RCC_PLLSource_HSE_Div2: HSE oscillator clock divided by 2 selected as PLL clock entry - * @param RCC_PLLMul: specifies the PLL multiplication factor. - * For @b STM32_Connectivity_line_devices, this parameter can be RCC_PLLMul_x where x:{[4,9], 6_5} - * For @b other_STM32_devices, this parameter can be RCC_PLLMul_x where x:[2,16] - * @retval None - */ -void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul) -{ - uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_RCC_PLL_SOURCE(RCC_PLLSource)); - assert_param(IS_RCC_PLL_MUL(RCC_PLLMul)); - - tmpreg = RCC->CFGR; - /* Clear PLLSRC, PLLXTPRE and PLLMUL[3:0] bits */ - tmpreg &= CFGR_PLL_Mask; - /* Set the PLL configuration bits */ - tmpreg |= RCC_PLLSource | RCC_PLLMul; - /* Store the new value */ - RCC->CFGR = tmpreg; -} - -/** - * @brief Enables or disables the PLL. - * @note The PLL can not be disabled if it is used as system clock. - * @param NewState: new state of the PLL. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_PLLCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) CR_PLLON_BB = (uint32_t)NewState; -} - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) || defined (STM32F10X_CL) -/** - * @brief Configures the PREDIV1 division factor. - * @note - * - This function must be used only when the PLL is disabled. - * - This function applies only to STM32 Connectivity line and Value line - * devices. - * @param RCC_PREDIV1_Source: specifies the PREDIV1 clock source. - * This parameter can be one of the following values: - * @arg RCC_PREDIV1_Source_HSE: HSE selected as PREDIV1 clock - * @arg RCC_PREDIV1_Source_PLL2: PLL2 selected as PREDIV1 clock - * @note - * For @b STM32_Value_line_devices this parameter is always RCC_PREDIV1_Source_HSE - * @param RCC_PREDIV1_Div: specifies the PREDIV1 clock division factor. - * This parameter can be RCC_PREDIV1_Divx where x:[1,16] - * @retval None - */ -void RCC_PREDIV1Config(uint32_t RCC_PREDIV1_Source, uint32_t RCC_PREDIV1_Div) -{ - uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_RCC_PREDIV1_SOURCE(RCC_PREDIV1_Source)); - assert_param(IS_RCC_PREDIV1(RCC_PREDIV1_Div)); - - tmpreg = RCC->CFGR2; - /* Clear PREDIV1[3:0] and PREDIV1SRC bits */ - tmpreg &= ~(CFGR2_PREDIV1 | CFGR2_PREDIV1SRC); - /* Set the PREDIV1 clock source and division factor */ - tmpreg |= RCC_PREDIV1_Source | RCC_PREDIV1_Div ; - /* Store the new value */ - RCC->CFGR2 = tmpreg; -} -#endif - -#ifdef STM32F10X_CL -/** - * @brief Configures the PREDIV2 division factor. - * @note - * - This function must be used only when both PLL2 and PLL3 are disabled. - * - This function applies only to STM32 Connectivity line devices. - * @param RCC_PREDIV2_Div: specifies the PREDIV2 clock division factor. - * This parameter can be RCC_PREDIV2_Divx where x:[1,16] - * @retval None - */ -void RCC_PREDIV2Config(uint32_t RCC_PREDIV2_Div) -{ - uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_RCC_PREDIV2(RCC_PREDIV2_Div)); - - tmpreg = RCC->CFGR2; - /* Clear PREDIV2[3:0] bits */ - tmpreg &= ~CFGR2_PREDIV2; - /* Set the PREDIV2 division factor */ - tmpreg |= RCC_PREDIV2_Div; - /* Store the new value */ - RCC->CFGR2 = tmpreg; -} - -/** - * @brief Configures the PLL2 multiplication factor. - * @note - * - This function must be used only when the PLL2 is disabled. - * - This function applies only to STM32 Connectivity line devices. - * @param RCC_PLL2Mul: specifies the PLL2 multiplication factor. - * This parameter can be RCC_PLL2Mul_x where x:{[8,14], 16, 20} - * @retval None - */ -void RCC_PLL2Config(uint32_t RCC_PLL2Mul) -{ - uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_RCC_PLL2_MUL(RCC_PLL2Mul)); - - tmpreg = RCC->CFGR2; - /* Clear PLL2Mul[3:0] bits */ - tmpreg &= ~CFGR2_PLL2MUL; - /* Set the PLL2 configuration bits */ - tmpreg |= RCC_PLL2Mul; - /* Store the new value */ - RCC->CFGR2 = tmpreg; -} - - -/** - * @brief Enables or disables the PLL2. - * @note - * - The PLL2 can not be disabled if it is used indirectly as system clock - * (i.e. it is used as PLL clock entry that is used as System clock). - * - This function applies only to STM32 Connectivity line devices. - * @param NewState: new state of the PLL2. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_PLL2Cmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) CR_PLL2ON_BB = (uint32_t)NewState; -} - - -/** - * @brief Configures the PLL3 multiplication factor. - * @note - * - This function must be used only when the PLL3 is disabled. - * - This function applies only to STM32 Connectivity line devices. - * @param RCC_PLL3Mul: specifies the PLL3 multiplication factor. - * This parameter can be RCC_PLL3Mul_x where x:{[8,14], 16, 20} - * @retval None - */ -void RCC_PLL3Config(uint32_t RCC_PLL3Mul) -{ - uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_RCC_PLL3_MUL(RCC_PLL3Mul)); - - tmpreg = RCC->CFGR2; - /* Clear PLL3Mul[3:0] bits */ - tmpreg &= ~CFGR2_PLL3MUL; - /* Set the PLL3 configuration bits */ - tmpreg |= RCC_PLL3Mul; - /* Store the new value */ - RCC->CFGR2 = tmpreg; -} - - -/** - * @brief Enables or disables the PLL3. - * @note This function applies only to STM32 Connectivity line devices. - * @param NewState: new state of the PLL3. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_PLL3Cmd(FunctionalState NewState) -{ - /* Check the parameters */ - - assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CR_PLL3ON_BB = (uint32_t)NewState; -} -#endif /* STM32F10X_CL */ - -/** - * @brief Configures the system clock (SYSCLK). - * @param RCC_SYSCLKSource: specifies the clock source used as system clock. - * This parameter can be one of the following values: - * @arg RCC_SYSCLKSource_HSI: HSI selected as system clock - * @arg RCC_SYSCLKSource_HSE: HSE selected as system clock - * @arg RCC_SYSCLKSource_PLLCLK: PLL selected as system clock - * @retval None - */ -void RCC_SYSCLKConfig(uint32_t RCC_SYSCLKSource) -{ - uint32_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_RCC_SYSCLK_SOURCE(RCC_SYSCLKSource)); - tmpreg = RCC->CFGR; - /* Clear SW[1:0] bits */ - tmpreg &= CFGR_SW_Mask; - /* Set SW[1:0] bits according to RCC_SYSCLKSource value */ - tmpreg |= RCC_SYSCLKSource; - /* Store the new value */ - RCC->CFGR = tmpreg; -} - -/** - * @brief Returns the clock source used as system clock. - * @param None - * @retval The clock source used as system clock. The returned value can - * be one of the following: - * - 0x00: HSI used as system clock - * - 0x04: HSE used as system clock - * - 0x08: PLL used as system clock - */ -uint8_t RCC_GetSYSCLKSource(void) -{ - return ((uint8_t)(RCC->CFGR & CFGR_SWS_Mask)); -} - -/** - * @brief Configures the AHB clock (HCLK). - * @param RCC_SYSCLK: defines the AHB clock divider. This clock is derived from - * the system clock (SYSCLK). - * This parameter can be one of the following values: - * @arg RCC_SYSCLK_Div1: AHB clock = SYSCLK - * @arg RCC_SYSCLK_Div2: AHB clock = SYSCLK/2 - * @arg RCC_SYSCLK_Div4: AHB clock = SYSCLK/4 - * @arg RCC_SYSCLK_Div8: AHB clock = SYSCLK/8 - * @arg RCC_SYSCLK_Div16: AHB clock = SYSCLK/16 - * @arg RCC_SYSCLK_Div64: AHB clock = SYSCLK/64 - * @arg RCC_SYSCLK_Div128: AHB clock = SYSCLK/128 - * @arg RCC_SYSCLK_Div256: AHB clock = SYSCLK/256 - * @arg RCC_SYSCLK_Div512: AHB clock = SYSCLK/512 - * @retval None - */ -void RCC_HCLKConfig(uint32_t RCC_SYSCLK) -{ - uint32_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_RCC_HCLK(RCC_SYSCLK)); - tmpreg = RCC->CFGR; - /* Clear HPRE[3:0] bits */ - tmpreg &= CFGR_HPRE_Reset_Mask; - /* Set HPRE[3:0] bits according to RCC_SYSCLK value */ - tmpreg |= RCC_SYSCLK; - /* Store the new value */ - RCC->CFGR = tmpreg; -} - -/** - * @brief Configures the Low Speed APB clock (PCLK1). - * @param RCC_HCLK: defines the APB1 clock divider. This clock is derived from - * the AHB clock (HCLK). - * This parameter can be one of the following values: - * @arg RCC_HCLK_Div1: APB1 clock = HCLK - * @arg RCC_HCLK_Div2: APB1 clock = HCLK/2 - * @arg RCC_HCLK_Div4: APB1 clock = HCLK/4 - * @arg RCC_HCLK_Div8: APB1 clock = HCLK/8 - * @arg RCC_HCLK_Div16: APB1 clock = HCLK/16 - * @retval None - */ -void RCC_PCLK1Config(uint32_t RCC_HCLK) -{ - uint32_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_RCC_PCLK(RCC_HCLK)); - tmpreg = RCC->CFGR; - /* Clear PPRE1[2:0] bits */ - tmpreg &= CFGR_PPRE1_Reset_Mask; - /* Set PPRE1[2:0] bits according to RCC_HCLK value */ - tmpreg |= RCC_HCLK; - /* Store the new value */ - RCC->CFGR = tmpreg; -} - -/** - * @brief Configures the High Speed APB clock (PCLK2). - * @param RCC_HCLK: defines the APB2 clock divider. This clock is derived from - * the AHB clock (HCLK). - * This parameter can be one of the following values: - * @arg RCC_HCLK_Div1: APB2 clock = HCLK - * @arg RCC_HCLK_Div2: APB2 clock = HCLK/2 - * @arg RCC_HCLK_Div4: APB2 clock = HCLK/4 - * @arg RCC_HCLK_Div8: APB2 clock = HCLK/8 - * @arg RCC_HCLK_Div16: APB2 clock = HCLK/16 - * @retval None - */ -void RCC_PCLK2Config(uint32_t RCC_HCLK) -{ - uint32_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_RCC_PCLK(RCC_HCLK)); - tmpreg = RCC->CFGR; - /* Clear PPRE2[2:0] bits */ - tmpreg &= CFGR_PPRE2_Reset_Mask; - /* Set PPRE2[2:0] bits according to RCC_HCLK value */ - tmpreg |= RCC_HCLK << 3; - /* Store the new value */ - RCC->CFGR = tmpreg; -} - -/** - * @brief Enables or disables the specified RCC interrupts. - * @param RCC_IT: specifies the RCC interrupt sources to be enabled or disabled. - * - * For @b STM32_Connectivity_line_devices, 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_HSIRDY: HSI ready interrupt - * @arg RCC_IT_HSERDY: HSE ready interrupt - * @arg RCC_IT_PLLRDY: PLL ready interrupt - * @arg RCC_IT_PLL2RDY: PLL2 ready interrupt - * @arg RCC_IT_PLL3RDY: PLL3 ready interrupt - * - * For @b other_STM32_devices, 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_HSIRDY: HSI ready interrupt - * @arg RCC_IT_HSERDY: HSE ready interrupt - * @arg RCC_IT_PLLRDY: PLL ready interrupt - * - * @param NewState: new state of the specified RCC interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_ITConfig(uint8_t RCC_IT, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_RCC_IT(RCC_IT)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Perform Byte access to RCC_CIR bits to enable the selected interrupts */ - *(__IO uint8_t *) CIR_BYTE2_ADDRESS |= RCC_IT; - } - else - { - /* Perform Byte access to RCC_CIR bits to disable the selected interrupts */ - *(__IO uint8_t *) CIR_BYTE2_ADDRESS &= (uint8_t)~RCC_IT; - } -} - -#ifndef STM32F10X_CL -/** - * @brief Configures the USB clock (USBCLK). - * @param RCC_USBCLKSource: specifies the USB clock source. This clock is - * derived from the PLL output. - * This parameter can be one of the following values: - * @arg RCC_USBCLKSource_PLLCLK_1Div5: PLL clock divided by 1,5 selected as USB - * clock source - * @arg RCC_USBCLKSource_PLLCLK_Div1: PLL clock selected as USB clock source - * @retval None - */ -void RCC_USBCLKConfig(uint32_t RCC_USBCLKSource) -{ - /* Check the parameters */ - assert_param(IS_RCC_USBCLK_SOURCE(RCC_USBCLKSource)); - - *(__IO uint32_t *) CFGR_USBPRE_BB = RCC_USBCLKSource; -} -#else -/** - * @brief Configures the USB OTG FS clock (OTGFSCLK). - * This function applies only to STM32 Connectivity line devices. - * @param RCC_OTGFSCLKSource: specifies the USB OTG FS clock source. - * This clock is derived from the PLL output. - * This parameter can be one of the following values: - * @arg RCC_OTGFSCLKSource_PLLVCO_Div3: PLL VCO clock divided by 2 selected as USB OTG FS clock source - * @arg RCC_OTGFSCLKSource_PLLVCO_Div2: PLL VCO clock divided by 2 selected as USB OTG FS clock source - * @retval None - */ -void RCC_OTGFSCLKConfig(uint32_t RCC_OTGFSCLKSource) -{ - /* Check the parameters */ - assert_param(IS_RCC_OTGFSCLK_SOURCE(RCC_OTGFSCLKSource)); - - *(__IO uint32_t *) CFGR_OTGFSPRE_BB = RCC_OTGFSCLKSource; -} -#endif /* STM32F10X_CL */ - -/** - * @brief Configures the ADC clock (ADCCLK). - * @param RCC_PCLK2: defines the ADC clock divider. This clock is derived from - * the APB2 clock (PCLK2). - * This parameter can be one of the following values: - * @arg RCC_PCLK2_Div2: ADC clock = PCLK2/2 - * @arg RCC_PCLK2_Div4: ADC clock = PCLK2/4 - * @arg RCC_PCLK2_Div6: ADC clock = PCLK2/6 - * @arg RCC_PCLK2_Div8: ADC clock = PCLK2/8 - * @retval None - */ -void RCC_ADCCLKConfig(uint32_t RCC_PCLK2) -{ - uint32_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_RCC_ADCCLK(RCC_PCLK2)); - tmpreg = RCC->CFGR; - /* Clear ADCPRE[1:0] bits */ - tmpreg &= CFGR_ADCPRE_Reset_Mask; - /* Set ADCPRE[1:0] bits according to RCC_PCLK2 value */ - tmpreg |= RCC_PCLK2; - /* Store the new value */ - RCC->CFGR = tmpreg; -} - -#ifdef STM32F10X_CL -/** - * @brief Configures the I2S2 clock source(I2S2CLK). - * @note - * - This function must be called before enabling I2S2 APB clock. - * - This function applies only to STM32 Connectivity line devices. - * @param RCC_I2S2CLKSource: specifies the I2S2 clock source. - * This parameter can be one of the following values: - * @arg RCC_I2S2CLKSource_SYSCLK: system clock selected as I2S2 clock entry - * @arg RCC_I2S2CLKSource_PLL3_VCO: PLL3 VCO clock selected as I2S2 clock entry - * @retval None - */ -void RCC_I2S2CLKConfig(uint32_t RCC_I2S2CLKSource) -{ - /* Check the parameters */ - assert_param(IS_RCC_I2S2CLK_SOURCE(RCC_I2S2CLKSource)); - - *(__IO uint32_t *) CFGR2_I2S2SRC_BB = RCC_I2S2CLKSource; -} - -/** - * @brief Configures the I2S3 clock source(I2S2CLK). - * @note - * - This function must be called before enabling I2S3 APB clock. - * - This function applies only to STM32 Connectivity line devices. - * @param RCC_I2S3CLKSource: specifies the I2S3 clock source. - * This parameter can be one of the following values: - * @arg RCC_I2S3CLKSource_SYSCLK: system clock selected as I2S3 clock entry - * @arg RCC_I2S3CLKSource_PLL3_VCO: PLL3 VCO clock selected as I2S3 clock entry - * @retval None - */ -void RCC_I2S3CLKConfig(uint32_t RCC_I2S3CLKSource) -{ - /* Check the parameters */ - assert_param(IS_RCC_I2S3CLK_SOURCE(RCC_I2S3CLKSource)); - - *(__IO uint32_t *) CFGR2_I2S3SRC_BB = RCC_I2S3CLKSource; -} -#endif /* STM32F10X_CL */ - -/** - * @brief Configures the External Low Speed oscillator (LSE). - * @param RCC_LSE: specifies the new state of the LSE. - * This parameter can be one of the following values: - * @arg RCC_LSE_OFF: LSE oscillator OFF - * @arg RCC_LSE_ON: LSE oscillator ON - * @arg RCC_LSE_Bypass: LSE oscillator bypassed with external clock - * @retval None - */ -void RCC_LSEConfig(uint8_t RCC_LSE) -{ - /* Check the parameters */ - assert_param(IS_RCC_LSE(RCC_LSE)); - /* Reset LSEON and LSEBYP bits before configuring the LSE ------------------*/ - /* Reset LSEON bit */ - *(__IO uint8_t *) BDCR_ADDRESS = RCC_LSE_OFF; - /* Reset LSEBYP bit */ - *(__IO uint8_t *) BDCR_ADDRESS = RCC_LSE_OFF; - /* Configure LSE (RCC_LSE_OFF is already covered by the code section above) */ - switch(RCC_LSE) - { - case RCC_LSE_ON: - /* Set LSEON bit */ - *(__IO uint8_t *) BDCR_ADDRESS = RCC_LSE_ON; - break; - - case RCC_LSE_Bypass: - /* Set LSEBYP and LSEON bits */ - *(__IO uint8_t *) BDCR_ADDRESS = RCC_LSE_Bypass | RCC_LSE_ON; - break; - - default: - break; - } -} - -/** - * @brief Enables or disables the Internal Low Speed oscillator (LSI). - * @note LSI can not be disabled if the IWDG is running. - * @param NewState: new state of the LSI. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_LSICmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CSR_LSION_BB = (uint32_t)NewState; -} - -/** - * @brief Configures the RTC clock (RTCCLK). - * @note Once the RTC clock is selected it can't be changed unless the Backup domain is reset. - * @param RCC_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_Div128: HSE clock divided by 128 selected as RTC clock - * @retval None - */ -void RCC_RTCCLKConfig(uint32_t RCC_RTCCLKSource) -{ - /* Check the parameters */ - assert_param(IS_RCC_RTCCLK_SOURCE(RCC_RTCCLKSource)); - /* Select the RTC clock source */ - RCC->BDCR |= RCC_RTCCLKSource; -} - -/** - * @brief Enables or disables the RTC clock. - * @note This function must be used only after the RTC clock was selected using the RCC_RTCCLKConfig function. - * @param NewState: new state of the RTC clock. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_RTCCLKCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) BDCR_RTCEN_BB = (uint32_t)NewState; -} - -/** - * @brief Returns the frequencies of different on chip clocks. - * @param RCC_Clocks: pointer to a RCC_ClocksTypeDef structure which will hold - * the clocks frequencies. - * @note The result of this function could be not correct when using - * fractional value for HSE crystal. - * @retval None - */ -void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks) -{ - uint32_t tmp = 0, pllmull = 0, pllsource = 0, presc = 0; - -#ifdef STM32F10X_CL - uint32_t prediv1source = 0, prediv1factor = 0, prediv2factor = 0, pll2mull = 0; -#endif /* STM32F10X_CL */ - -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) - uint32_t prediv1factor = 0; -#endif - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & CFGR_SWS_Mask; - - switch (tmp) - { - case 0x00: /* HSI used as system clock */ - RCC_Clocks->SYSCLK_Frequency = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock */ - RCC_Clocks->SYSCLK_Frequency = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock */ - - /* Get PLL clock source and multiplication factor ----------------------*/ - pllmull = RCC->CFGR & CFGR_PLLMull_Mask; - pllsource = RCC->CFGR & CFGR_PLLSRC_Mask; - -#ifndef STM32F10X_CL - pllmull = ( pllmull >> 18) + 2; - - if (pllsource == 0x00) - {/* HSI oscillator clock divided by 2 selected as PLL clock entry */ - RCC_Clocks->SYSCLK_Frequency = (HSI_VALUE >> 1) * pllmull; - } - else - { - #if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) - prediv1factor = (RCC->CFGR2 & CFGR2_PREDIV1) + 1; - /* HSE oscillator clock selected as PREDIV1 clock entry */ - RCC_Clocks->SYSCLK_Frequency = (HSE_VALUE / prediv1factor) * pllmull; - #else - /* HSE selected as PLL clock entry */ - if ((RCC->CFGR & CFGR_PLLXTPRE_Mask) != (uint32_t)RESET) - {/* HSE oscillator clock divided by 2 */ - RCC_Clocks->SYSCLK_Frequency = (HSE_VALUE >> 1) * pllmull; - } - else - { - RCC_Clocks->SYSCLK_Frequency = HSE_VALUE * pllmull; - } - #endif - } -#else - pllmull = pllmull >> 18; - - if (pllmull != 0x0D) - { - pllmull += 2; - } - else - { /* PLL multiplication factor = PLL input clock * 6.5 */ - pllmull = 13 / 2; - } - - if (pllsource == 0x00) - {/* HSI oscillator clock divided by 2 selected as PLL clock entry */ - RCC_Clocks->SYSCLK_Frequency = (HSI_VALUE >> 1) * pllmull; - } - else - {/* PREDIV1 selected as PLL clock entry */ - - /* Get PREDIV1 clock source and division factor */ - prediv1source = RCC->CFGR2 & CFGR2_PREDIV1SRC; - prediv1factor = (RCC->CFGR2 & CFGR2_PREDIV1) + 1; - - if (prediv1source == 0) - { /* HSE oscillator clock selected as PREDIV1 clock entry */ - RCC_Clocks->SYSCLK_Frequency = (HSE_VALUE / prediv1factor) * pllmull; - } - else - {/* PLL2 clock selected as PREDIV1 clock entry */ - - /* Get PREDIV2 division factor and PLL2 multiplication factor */ - prediv2factor = ((RCC->CFGR2 & CFGR2_PREDIV2) >> 4) + 1; - pll2mull = ((RCC->CFGR2 & CFGR2_PLL2MUL) >> 8 ) + 2; - RCC_Clocks->SYSCLK_Frequency = (((HSE_VALUE / prediv2factor) * pll2mull) / prediv1factor) * pllmull; - } - } -#endif /* STM32F10X_CL */ - break; - - default: - RCC_Clocks->SYSCLK_Frequency = HSI_VALUE; - break; - } - - /* Compute HCLK, PCLK1, PCLK2 and ADCCLK clocks frequencies ----------------*/ - /* Get HCLK prescaler */ - tmp = RCC->CFGR & CFGR_HPRE_Set_Mask; - tmp = tmp >> 4; - presc = APBAHBPrescTable[tmp]; - /* HCLK clock frequency */ - RCC_Clocks->HCLK_Frequency = RCC_Clocks->SYSCLK_Frequency >> presc; - /* Get PCLK1 prescaler */ - tmp = RCC->CFGR & CFGR_PPRE1_Set_Mask; - tmp = tmp >> 8; - presc = APBAHBPrescTable[tmp]; - /* PCLK1 clock frequency */ - RCC_Clocks->PCLK1_Frequency = RCC_Clocks->HCLK_Frequency >> presc; - /* Get PCLK2 prescaler */ - tmp = RCC->CFGR & CFGR_PPRE2_Set_Mask; - tmp = tmp >> 11; - presc = APBAHBPrescTable[tmp]; - /* PCLK2 clock frequency */ - RCC_Clocks->PCLK2_Frequency = RCC_Clocks->HCLK_Frequency >> presc; - /* Get ADCCLK prescaler */ - tmp = RCC->CFGR & CFGR_ADCPRE_Set_Mask; - tmp = tmp >> 14; - presc = ADCPrescTable[tmp]; - /* ADCCLK clock frequency */ - RCC_Clocks->ADCCLK_Frequency = RCC_Clocks->PCLK2_Frequency / presc; -} - -/** - * @brief Enables or disables the AHB peripheral clock. - * @param RCC_AHBPeriph: specifies the AHB peripheral to gates its clock. - * - * For @b STM32_Connectivity_line_devices, this parameter can be any combination - * of the following values: - * @arg RCC_AHBPeriph_DMA1 - * @arg RCC_AHBPeriph_DMA2 - * @arg RCC_AHBPeriph_SRAM - * @arg RCC_AHBPeriph_FLITF - * @arg RCC_AHBPeriph_CRC - * @arg RCC_AHBPeriph_OTG_FS - * @arg RCC_AHBPeriph_ETH_MAC - * @arg RCC_AHBPeriph_ETH_MAC_Tx - * @arg RCC_AHBPeriph_ETH_MAC_Rx - * - * For @b other_STM32_devices, this parameter can be any combination of the - * following values: - * @arg RCC_AHBPeriph_DMA1 - * @arg RCC_AHBPeriph_DMA2 - * @arg RCC_AHBPeriph_SRAM - * @arg RCC_AHBPeriph_FLITF - * @arg RCC_AHBPeriph_CRC - * @arg RCC_AHBPeriph_FSMC - * @arg RCC_AHBPeriph_SDIO - * - * @note SRAM and FLITF clock can be disabled only during sleep mode. - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_RCC_AHB_PERIPH(RCC_AHBPeriph)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - RCC->AHBENR |= RCC_AHBPeriph; - } - else - { - RCC->AHBENR &= ~RCC_AHBPeriph; - } -} - -/** - * @brief Enables or disables the High Speed APB (APB2) peripheral clock. - * @param RCC_APB2Periph: specifies the APB2 peripheral to gates its clock. - * This parameter can be any combination of the following values: - * @arg RCC_APB2Periph_AFIO, RCC_APB2Periph_GPIOA, RCC_APB2Periph_GPIOB, - * RCC_APB2Periph_GPIOC, RCC_APB2Periph_GPIOD, RCC_APB2Periph_GPIOE, - * RCC_APB2Periph_GPIOF, RCC_APB2Periph_GPIOG, RCC_APB2Periph_ADC1, - * RCC_APB2Periph_ADC2, RCC_APB2Periph_TIM1, RCC_APB2Periph_SPI1, - * RCC_APB2Periph_TIM8, RCC_APB2Periph_USART1, RCC_APB2Periph_ADC3, - * RCC_APB2Periph_TIM15, RCC_APB2Periph_TIM16, RCC_APB2Periph_TIM17, - * RCC_APB2Periph_TIM9, RCC_APB2Periph_TIM10, RCC_APB2Periph_TIM11 - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - RCC->APB2ENR |= RCC_APB2Periph; - } - else - { - RCC->APB2ENR &= ~RCC_APB2Periph; - } -} - -/** - * @brief Enables or disables the Low Speed APB (APB1) peripheral clock. - * @param RCC_APB1Periph: specifies the APB1 peripheral to gates its clock. - * This parameter can be any combination of the following values: - * @arg RCC_APB1Periph_TIM2, RCC_APB1Periph_TIM3, RCC_APB1Periph_TIM4, - * RCC_APB1Periph_TIM5, RCC_APB1Periph_TIM6, RCC_APB1Periph_TIM7, - * RCC_APB1Periph_WWDG, RCC_APB1Periph_SPI2, RCC_APB1Periph_SPI3, - * RCC_APB1Periph_USART2, RCC_APB1Periph_USART3, RCC_APB1Periph_USART4, - * RCC_APB1Periph_USART5, RCC_APB1Periph_I2C1, RCC_APB1Periph_I2C2, - * RCC_APB1Periph_USB, RCC_APB1Periph_CAN1, RCC_APB1Periph_BKP, - * RCC_APB1Periph_PWR, RCC_APB1Periph_DAC, RCC_APB1Periph_CEC, - * RCC_APB1Periph_TIM12, RCC_APB1Periph_TIM13, RCC_APB1Periph_TIM14 - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - RCC->APB1ENR |= RCC_APB1Periph; - } - else - { - RCC->APB1ENR &= ~RCC_APB1Periph; - } -} - -#ifdef STM32F10X_CL -/** - * @brief Forces or releases AHB peripheral reset. - * @note This function applies only to STM32 Connectivity line devices. - * @param RCC_AHBPeriph: specifies the AHB peripheral to reset. - * This parameter can be any combination of the following values: - * @arg RCC_AHBPeriph_OTG_FS - * @arg RCC_AHBPeriph_ETH_MAC - * @param NewState: new state of the specified peripheral reset. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_AHBPeriphResetCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_RCC_AHB_PERIPH_RESET(RCC_AHBPeriph)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - RCC->AHBRSTR |= RCC_AHBPeriph; - } - else - { - RCC->AHBRSTR &= ~RCC_AHBPeriph; - } -} -#endif /* STM32F10X_CL */ - -/** - * @brief Forces or releases High Speed APB (APB2) peripheral reset. - * @param RCC_APB2Periph: specifies the APB2 peripheral to reset. - * This parameter can be any combination of the following values: - * @arg RCC_APB2Periph_AFIO, RCC_APB2Periph_GPIOA, RCC_APB2Periph_GPIOB, - * RCC_APB2Periph_GPIOC, RCC_APB2Periph_GPIOD, RCC_APB2Periph_GPIOE, - * RCC_APB2Periph_GPIOF, RCC_APB2Periph_GPIOG, RCC_APB2Periph_ADC1, - * RCC_APB2Periph_ADC2, RCC_APB2Periph_TIM1, RCC_APB2Periph_SPI1, - * RCC_APB2Periph_TIM8, RCC_APB2Periph_USART1, RCC_APB2Periph_ADC3, - * RCC_APB2Periph_TIM15, RCC_APB2Periph_TIM16, RCC_APB2Periph_TIM17, - * RCC_APB2Periph_TIM9, RCC_APB2Periph_TIM10, RCC_APB2Periph_TIM11 - * @param NewState: new state of the specified peripheral reset. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_APB2PeriphResetCmd(uint32_t RCC_APB2Periph, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - RCC->APB2RSTR |= RCC_APB2Periph; - } - else - { - RCC->APB2RSTR &= ~RCC_APB2Periph; - } -} - -/** - * @brief Forces or releases Low Speed APB (APB1) peripheral reset. - * @param RCC_APB1Periph: specifies the APB1 peripheral to reset. - * This parameter can be any combination of the following values: - * @arg RCC_APB1Periph_TIM2, RCC_APB1Periph_TIM3, RCC_APB1Periph_TIM4, - * RCC_APB1Periph_TIM5, RCC_APB1Periph_TIM6, RCC_APB1Periph_TIM7, - * RCC_APB1Periph_WWDG, RCC_APB1Periph_SPI2, RCC_APB1Periph_SPI3, - * RCC_APB1Periph_USART2, RCC_APB1Periph_USART3, RCC_APB1Periph_USART4, - * RCC_APB1Periph_USART5, RCC_APB1Periph_I2C1, RCC_APB1Periph_I2C2, - * RCC_APB1Periph_USB, RCC_APB1Periph_CAN1, RCC_APB1Periph_BKP, - * RCC_APB1Periph_PWR, RCC_APB1Periph_DAC, RCC_APB1Periph_CEC, - * RCC_APB1Periph_TIM12, RCC_APB1Periph_TIM13, RCC_APB1Periph_TIM14 - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_APB1PeriphResetCmd(uint32_t RCC_APB1Periph, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - RCC->APB1RSTR |= RCC_APB1Periph; - } - else - { - RCC->APB1RSTR &= ~RCC_APB1Periph; - } -} - -/** - * @brief Forces or releases the Backup domain reset. - * @param NewState: new state of the Backup domain reset. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_BackupResetCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) BDCR_BDRST_BB = (uint32_t)NewState; -} - -/** - * @brief Enables or disables the Clock Security System. - * @param NewState: new state of the Clock Security System.. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_ClockSecuritySystemCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CR_CSSON_BB = (uint32_t)NewState; -} - -/** - * @brief Selects the clock source to output on MCO pin. - * @param RCC_MCO: specifies the clock source to output. - * - * For @b STM32_Connectivity_line_devices, this parameter can be one of the - * following values: - * @arg RCC_MCO_NoClock: No clock selected - * @arg RCC_MCO_SYSCLK: System clock selected - * @arg RCC_MCO_HSI: HSI oscillator clock selected - * @arg RCC_MCO_HSE: HSE oscillator clock selected - * @arg RCC_MCO_PLLCLK_Div2: PLL clock divided by 2 selected - * @arg RCC_MCO_PLL2CLK: PLL2 clock selected - * @arg RCC_MCO_PLL3CLK_Div2: PLL3 clock divided by 2 selected - * @arg RCC_MCO_XT1: External 3-25 MHz oscillator clock selected - * @arg RCC_MCO_PLL3CLK: PLL3 clock selected - * - * For @b other_STM32_devices, this parameter can be one of the following values: - * @arg RCC_MCO_NoClock: No clock selected - * @arg RCC_MCO_SYSCLK: System clock selected - * @arg RCC_MCO_HSI: HSI oscillator clock selected - * @arg RCC_MCO_HSE: HSE oscillator clock selected - * @arg RCC_MCO_PLLCLK_Div2: PLL clock divided by 2 selected - * - * @retval None - */ -void RCC_MCOConfig(uint8_t RCC_MCO) -{ - /* Check the parameters */ - assert_param(IS_RCC_MCO(RCC_MCO)); - - /* Perform Byte access to MCO bits to select the MCO source */ - *(__IO uint8_t *) CFGR_BYTE4_ADDRESS = RCC_MCO; -} - -/** - * @brief Checks whether the specified RCC flag is set or not. - * @param RCC_FLAG: specifies the flag to check. - * - * For @b STM32_Connectivity_line_devices, this parameter can be one of the - * following values: - * @arg RCC_FLAG_HSIRDY: HSI oscillator clock ready - * @arg RCC_FLAG_HSERDY: HSE oscillator clock ready - * @arg RCC_FLAG_PLLRDY: PLL 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_PINRST: Pin reset - * @arg RCC_FLAG_PORRST: POR/PDR reset - * @arg RCC_FLAG_SFTRST: Software reset - * @arg RCC_FLAG_IWDGRST: Independent Watchdog reset - * @arg RCC_FLAG_WWDGRST: Window Watchdog reset - * @arg RCC_FLAG_LPWRRST: Low Power reset - * - * For @b other_STM32_devices, this parameter can be one of the following values: - * @arg RCC_FLAG_HSIRDY: HSI oscillator clock ready - * @arg RCC_FLAG_HSERDY: HSE oscillator clock ready - * @arg RCC_FLAG_PLLRDY: PLL clock ready - * @arg RCC_FLAG_LSERDY: LSE oscillator clock ready - * @arg RCC_FLAG_LSIRDY: LSI oscillator clock ready - * @arg RCC_FLAG_PINRST: Pin reset - * @arg RCC_FLAG_PORRST: POR/PDR reset - * @arg RCC_FLAG_SFTRST: Software reset - * @arg RCC_FLAG_IWDGRST: Independent Watchdog reset - * @arg RCC_FLAG_WWDGRST: Window Watchdog reset - * @arg RCC_FLAG_LPWRRST: Low Power reset - * - * @retval The new state of RCC_FLAG (SET or RESET). - */ -FlagStatus RCC_GetFlagStatus(uint8_t RCC_FLAG) -{ - uint32_t tmp = 0; - uint32_t statusreg = 0; - FlagStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_RCC_FLAG(RCC_FLAG)); - - /* Get the RCC register index */ - tmp = RCC_FLAG >> 5; - if (tmp == 1) /* The flag to check is in CR register */ - { - statusreg = RCC->CR; - } - else if (tmp == 2) /* The flag to check is in BDCR register */ - { - statusreg = RCC->BDCR; - } - else /* The flag to check is in CSR register */ - { - statusreg = RCC->CSR; - } - - /* Get the flag position */ - tmp = RCC_FLAG & FLAG_Mask; - if ((statusreg & ((uint32_t)1 << tmp)) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - - /* Return the flag status */ - return bitstatus; -} - -/** - * @brief Clears the RCC reset flags. - * @note The reset flags are: RCC_FLAG_PINRST, RCC_FLAG_PORRST, RCC_FLAG_SFTRST, - * RCC_FLAG_IWDGRST, RCC_FLAG_WWDGRST, RCC_FLAG_LPWRRST - * @param None - * @retval None - */ -void RCC_ClearFlag(void) -{ - /* Set RMVF bit to clear the reset flags */ - RCC->CSR |= CSR_RMVF_Set; -} - -/** - * @brief Checks whether the specified RCC interrupt has occurred or not. - * @param RCC_IT: specifies the RCC interrupt source to check. - * - * For @b STM32_Connectivity_line_devices, this parameter can be one of the - * following values: - * @arg RCC_IT_LSIRDY: LSI ready interrupt - * @arg RCC_IT_LSERDY: LSE ready interrupt - * @arg RCC_IT_HSIRDY: HSI ready interrupt - * @arg RCC_IT_HSERDY: HSE ready interrupt - * @arg RCC_IT_PLLRDY: PLL ready interrupt - * @arg RCC_IT_PLL2RDY: PLL2 ready interrupt - * @arg RCC_IT_PLL3RDY: PLL3 ready interrupt - * @arg RCC_IT_CSS: Clock Security System interrupt - * - * For @b other_STM32_devices, this parameter can be one of the following values: - * @arg RCC_IT_LSIRDY: LSI ready interrupt - * @arg RCC_IT_LSERDY: LSE ready interrupt - * @arg RCC_IT_HSIRDY: HSI ready interrupt - * @arg RCC_IT_HSERDY: HSE ready interrupt - * @arg RCC_IT_PLLRDY: PLL ready interrupt - * @arg RCC_IT_CSS: Clock Security System interrupt - * - * @retval The new state of RCC_IT (SET or RESET). - */ -ITStatus RCC_GetITStatus(uint8_t RCC_IT) -{ - ITStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_RCC_GET_IT(RCC_IT)); - - /* Check the status of the specified RCC interrupt */ - if ((RCC->CIR & RCC_IT) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - - /* Return the RCC_IT status */ - return bitstatus; -} - -/** - * @brief Clears the RCC's interrupt pending bits. - * @param RCC_IT: specifies the interrupt pending bit to clear. - * - * For @b STM32_Connectivity_line_devices, 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_HSIRDY: HSI ready interrupt - * @arg RCC_IT_HSERDY: HSE ready interrupt - * @arg RCC_IT_PLLRDY: PLL ready interrupt - * @arg RCC_IT_PLL2RDY: PLL2 ready interrupt - * @arg RCC_IT_PLL3RDY: PLL3 ready interrupt - * @arg RCC_IT_CSS: Clock Security System interrupt - * - * For @b other_STM32_devices, 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_HSIRDY: HSI ready interrupt - * @arg RCC_IT_HSERDY: HSE ready interrupt - * @arg RCC_IT_PLLRDY: PLL ready interrupt - * - * @arg RCC_IT_CSS: Clock Security System interrupt - * @retval None - */ -void RCC_ClearITPendingBit(uint8_t RCC_IT) -{ - /* Check the parameters */ - assert_param(IS_RCC_CLEAR_IT(RCC_IT)); - - /* Perform Byte access to RCC_CIR[23:16] bits to clear the selected interrupt - pending bits */ - *(__IO uint8_t *) CIR_BYTE3_ADDRESS = RCC_IT; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rtc.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rtc.c deleted file mode 100644 index f798d2bd6..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rtc.c +++ /dev/null @@ -1,339 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_rtc.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the RTC firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_rtc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup RTC - * @brief RTC driver modules - * @{ - */ - -/** @defgroup RTC_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - -/** @defgroup RTC_Private_Defines - * @{ - */ -#define RTC_LSB_MASK ((uint32_t)0x0000FFFF) /*!< RTC LSB Mask */ -#define PRLH_MSB_MASK ((uint32_t)0x000F0000) /*!< RTC Prescaler MSB Mask */ - -/** - * @} - */ - -/** @defgroup RTC_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup RTC_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup RTC_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup RTC_Private_Functions - * @{ - */ - -/** - * @brief Enables or disables the specified RTC interrupts. - * @param RTC_IT: specifies the RTC interrupts sources to be enabled or disabled. - * This parameter can be any combination of the following values: - * @arg RTC_IT_OW: Overflow interrupt - * @arg RTC_IT_ALR: Alarm interrupt - * @arg RTC_IT_SEC: Second interrupt - * @param NewState: new state of the specified RTC interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_RTC_IT(RTC_IT)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - RTC->CRH |= RTC_IT; - } - else - { - RTC->CRH &= (uint16_t)~RTC_IT; - } -} - -/** - * @brief Enters the RTC configuration mode. - * @param None - * @retval None - */ -void RTC_EnterConfigMode(void) -{ - /* Set the CNF flag to enter in the Configuration Mode */ - RTC->CRL |= RTC_CRL_CNF; -} - -/** - * @brief Exits from the RTC configuration mode. - * @param None - * @retval None - */ -void RTC_ExitConfigMode(void) -{ - /* Reset the CNF flag to exit from the Configuration Mode */ - RTC->CRL &= (uint16_t)~((uint16_t)RTC_CRL_CNF); -} - -/** - * @brief Gets the RTC counter value. - * @param None - * @retval RTC counter value. - */ -uint32_t RTC_GetCounter(void) -{ - uint16_t tmp = 0; - tmp = RTC->CNTL; - return (((uint32_t)RTC->CNTH << 16 ) | tmp) ; -} - -/** - * @brief Sets the RTC counter value. - * @param CounterValue: RTC counter new value. - * @retval None - */ -void RTC_SetCounter(uint32_t CounterValue) -{ - RTC_EnterConfigMode(); - /* Set RTC COUNTER MSB word */ - RTC->CNTH = CounterValue >> 16; - /* Set RTC COUNTER LSB word */ - RTC->CNTL = (CounterValue & RTC_LSB_MASK); - RTC_ExitConfigMode(); -} - -/** - * @brief Sets the RTC prescaler value. - * @param PrescalerValue: RTC prescaler new value. - * @retval None - */ -void RTC_SetPrescaler(uint32_t PrescalerValue) -{ - /* Check the parameters */ - assert_param(IS_RTC_PRESCALER(PrescalerValue)); - - RTC_EnterConfigMode(); - /* Set RTC PRESCALER MSB word */ - RTC->PRLH = (PrescalerValue & PRLH_MSB_MASK) >> 16; - /* Set RTC PRESCALER LSB word */ - RTC->PRLL = (PrescalerValue & RTC_LSB_MASK); - RTC_ExitConfigMode(); -} - -/** - * @brief Sets the RTC alarm value. - * @param AlarmValue: RTC alarm new value. - * @retval None - */ -void RTC_SetAlarm(uint32_t AlarmValue) -{ - RTC_EnterConfigMode(); - /* Set the ALARM MSB word */ - RTC->ALRH = AlarmValue >> 16; - /* Set the ALARM LSB word */ - RTC->ALRL = (AlarmValue & RTC_LSB_MASK); - RTC_ExitConfigMode(); -} - -/** - * @brief Gets the RTC divider value. - * @param None - * @retval RTC Divider value. - */ -uint32_t RTC_GetDivider(void) -{ - uint32_t tmp = 0x00; - tmp = ((uint32_t)RTC->DIVH & (uint32_t)0x000F) << 16; - tmp |= RTC->DIVL; - return tmp; -} - -/** - * @brief Waits until last write operation on RTC registers has finished. - * @note This function must be called before any write to RTC registers. - * @param None - * @retval None - */ -void RTC_WaitForLastTask(void) -{ - /* Loop until RTOFF flag is set */ - while ((RTC->CRL & RTC_FLAG_RTOFF) == (uint16_t)RESET) - { - } -} - -/** - * @brief Waits until the RTC registers (RTC_CNT, RTC_ALR and RTC_PRL) - * are synchronized with RTC APB clock. - * @note This function must be called before any read operation after an APB reset - * or an APB clock stop. - * @param None - * @retval None - */ -void RTC_WaitForSynchro(void) -{ - /* Clear RSF flag */ - RTC->CRL &= (uint16_t)~RTC_FLAG_RSF; - /* Loop until RSF flag is set */ - while ((RTC->CRL & RTC_FLAG_RSF) == (uint16_t)RESET) - { - } -} - -/** - * @brief Checks whether the specified RTC flag is set or not. - * @param RTC_FLAG: specifies the flag to check. - * This parameter can be one the following values: - * @arg RTC_FLAG_RTOFF: RTC Operation OFF flag - * @arg RTC_FLAG_RSF: Registers Synchronized flag - * @arg RTC_FLAG_OW: Overflow flag - * @arg RTC_FLAG_ALR: Alarm flag - * @arg RTC_FLAG_SEC: Second flag - * @retval The new state of RTC_FLAG (SET or RESET). - */ -FlagStatus RTC_GetFlagStatus(uint16_t RTC_FLAG) -{ - FlagStatus bitstatus = RESET; - - /* Check the parameters */ - assert_param(IS_RTC_GET_FLAG(RTC_FLAG)); - - if ((RTC->CRL & RTC_FLAG) != (uint16_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - return bitstatus; -} - -/** - * @brief Clears the RTC's pending flags. - * @param RTC_FLAG: specifies the flag to clear. - * This parameter can be any combination of the following values: - * @arg RTC_FLAG_RSF: Registers Synchronized flag. This flag is cleared only after - * an APB reset or an APB Clock stop. - * @arg RTC_FLAG_OW: Overflow flag - * @arg RTC_FLAG_ALR: Alarm flag - * @arg RTC_FLAG_SEC: Second flag - * @retval None - */ -void RTC_ClearFlag(uint16_t RTC_FLAG) -{ - /* Check the parameters */ - assert_param(IS_RTC_CLEAR_FLAG(RTC_FLAG)); - - /* Clear the corresponding RTC flag */ - RTC->CRL &= (uint16_t)~RTC_FLAG; -} - -/** - * @brief Checks whether the specified RTC interrupt has occurred or not. - * @param RTC_IT: specifies the RTC interrupts sources to check. - * This parameter can be one of the following values: - * @arg RTC_IT_OW: Overflow interrupt - * @arg RTC_IT_ALR: Alarm interrupt - * @arg RTC_IT_SEC: Second interrupt - * @retval The new state of the RTC_IT (SET or RESET). - */ -ITStatus RTC_GetITStatus(uint16_t RTC_IT) -{ - ITStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_RTC_GET_IT(RTC_IT)); - - bitstatus = (ITStatus)(RTC->CRL & RTC_IT); - if (((RTC->CRH & RTC_IT) != (uint16_t)RESET) && (bitstatus != (uint16_t)RESET)) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - return bitstatus; -} - -/** - * @brief Clears the RTC's interrupt pending bits. - * @param RTC_IT: specifies the interrupt pending bit to clear. - * This parameter can be any combination of the following values: - * @arg RTC_IT_OW: Overflow interrupt - * @arg RTC_IT_ALR: Alarm interrupt - * @arg RTC_IT_SEC: Second interrupt - * @retval None - */ -void RTC_ClearITPendingBit(uint16_t RTC_IT) -{ - /* Check the parameters */ - assert_param(IS_RTC_IT(RTC_IT)); - - /* Clear the corresponding RTC pending bit */ - RTC->CRL &= (uint16_t)~RTC_IT; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c deleted file mode 100644 index d1870cef1..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c +++ /dev/null @@ -1,799 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_sdio.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the SDIO firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_sdio.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup SDIO - * @brief SDIO driver modules - * @{ - */ - -/** @defgroup SDIO_Private_TypesDefinitions - * @{ - */ - -/* ------------ SDIO registers bit address in the alias region ----------- */ -#define SDIO_OFFSET (SDIO_BASE - PERIPH_BASE) - -/* --- CLKCR Register ---*/ - -/* Alias word address of CLKEN bit */ -#define CLKCR_OFFSET (SDIO_OFFSET + 0x04) -#define CLKEN_BitNumber 0x08 -#define CLKCR_CLKEN_BB (PERIPH_BB_BASE + (CLKCR_OFFSET * 32) + (CLKEN_BitNumber * 4)) - -/* --- CMD Register ---*/ - -/* Alias word address of SDIOSUSPEND bit */ -#define CMD_OFFSET (SDIO_OFFSET + 0x0C) -#define SDIOSUSPEND_BitNumber 0x0B -#define CMD_SDIOSUSPEND_BB (PERIPH_BB_BASE + (CMD_OFFSET * 32) + (SDIOSUSPEND_BitNumber * 4)) - -/* Alias word address of ENCMDCOMPL bit */ -#define ENCMDCOMPL_BitNumber 0x0C -#define CMD_ENCMDCOMPL_BB (PERIPH_BB_BASE + (CMD_OFFSET * 32) + (ENCMDCOMPL_BitNumber * 4)) - -/* Alias word address of NIEN bit */ -#define NIEN_BitNumber 0x0D -#define CMD_NIEN_BB (PERIPH_BB_BASE + (CMD_OFFSET * 32) + (NIEN_BitNumber * 4)) - -/* Alias word address of ATACMD bit */ -#define ATACMD_BitNumber 0x0E -#define CMD_ATACMD_BB (PERIPH_BB_BASE + (CMD_OFFSET * 32) + (ATACMD_BitNumber * 4)) - -/* --- DCTRL Register ---*/ - -/* Alias word address of DMAEN bit */ -#define DCTRL_OFFSET (SDIO_OFFSET + 0x2C) -#define DMAEN_BitNumber 0x03 -#define DCTRL_DMAEN_BB (PERIPH_BB_BASE + (DCTRL_OFFSET * 32) + (DMAEN_BitNumber * 4)) - -/* Alias word address of RWSTART bit */ -#define RWSTART_BitNumber 0x08 -#define DCTRL_RWSTART_BB (PERIPH_BB_BASE + (DCTRL_OFFSET * 32) + (RWSTART_BitNumber * 4)) - -/* Alias word address of RWSTOP bit */ -#define RWSTOP_BitNumber 0x09 -#define DCTRL_RWSTOP_BB (PERIPH_BB_BASE + (DCTRL_OFFSET * 32) + (RWSTOP_BitNumber * 4)) - -/* Alias word address of RWMOD bit */ -#define RWMOD_BitNumber 0x0A -#define DCTRL_RWMOD_BB (PERIPH_BB_BASE + (DCTRL_OFFSET * 32) + (RWMOD_BitNumber * 4)) - -/* Alias word address of SDIOEN bit */ -#define SDIOEN_BitNumber 0x0B -#define DCTRL_SDIOEN_BB (PERIPH_BB_BASE + (DCTRL_OFFSET * 32) + (SDIOEN_BitNumber * 4)) - -/* ---------------------- SDIO registers bit mask ------------------------ */ - -/* --- CLKCR Register ---*/ - -/* CLKCR register clear mask */ -#define CLKCR_CLEAR_MASK ((uint32_t)0xFFFF8100) - -/* --- PWRCTRL Register ---*/ - -/* SDIO PWRCTRL Mask */ -#define PWR_PWRCTRL_MASK ((uint32_t)0xFFFFFFFC) - -/* --- DCTRL Register ---*/ - -/* SDIO DCTRL Clear Mask */ -#define DCTRL_CLEAR_MASK ((uint32_t)0xFFFFFF08) - -/* --- CMD Register ---*/ - -/* CMD Register clear mask */ -#define CMD_CLEAR_MASK ((uint32_t)0xFFFFF800) - -/* SDIO RESP Registers Address */ -#define SDIO_RESP_ADDR ((uint32_t)(SDIO_BASE + 0x14)) - -/** - * @} - */ - -/** @defgroup SDIO_Private_Defines - * @{ - */ - -/** - * @} - */ - -/** @defgroup SDIO_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup SDIO_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup SDIO_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup SDIO_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the SDIO peripheral registers to their default reset values. - * @param None - * @retval None - */ -void SDIO_DeInit(void) -{ - SDIO->POWER = 0x00000000; - SDIO->CLKCR = 0x00000000; - SDIO->ARG = 0x00000000; - SDIO->CMD = 0x00000000; - SDIO->DTIMER = 0x00000000; - SDIO->DLEN = 0x00000000; - SDIO->DCTRL = 0x00000000; - SDIO->ICR = 0x00C007FF; - SDIO->MASK = 0x00000000; -} - -/** - * @brief Initializes the SDIO peripheral according to the specified - * parameters in the SDIO_InitStruct. - * @param SDIO_InitStruct : pointer to a SDIO_InitTypeDef structure - * that contains the configuration information for the SDIO peripheral. - * @retval None - */ -void SDIO_Init(SDIO_InitTypeDef* SDIO_InitStruct) -{ - uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_SDIO_CLOCK_EDGE(SDIO_InitStruct->SDIO_ClockEdge)); - assert_param(IS_SDIO_CLOCK_BYPASS(SDIO_InitStruct->SDIO_ClockBypass)); - assert_param(IS_SDIO_CLOCK_POWER_SAVE(SDIO_InitStruct->SDIO_ClockPowerSave)); - assert_param(IS_SDIO_BUS_WIDE(SDIO_InitStruct->SDIO_BusWide)); - assert_param(IS_SDIO_HARDWARE_FLOW_CONTROL(SDIO_InitStruct->SDIO_HardwareFlowControl)); - -/*---------------------------- SDIO CLKCR Configuration ------------------------*/ - /* Get the SDIO CLKCR value */ - tmpreg = SDIO->CLKCR; - - /* Clear CLKDIV, PWRSAV, BYPASS, WIDBUS, NEGEDGE, HWFC_EN bits */ - tmpreg &= CLKCR_CLEAR_MASK; - - /* Set CLKDIV bits according to SDIO_ClockDiv value */ - /* Set PWRSAV bit according to SDIO_ClockPowerSave value */ - /* Set BYPASS bit according to SDIO_ClockBypass value */ - /* Set WIDBUS bits according to SDIO_BusWide value */ - /* Set NEGEDGE bits according to SDIO_ClockEdge value */ - /* Set HWFC_EN bits according to SDIO_HardwareFlowControl value */ - tmpreg |= (SDIO_InitStruct->SDIO_ClockDiv | SDIO_InitStruct->SDIO_ClockPowerSave | - SDIO_InitStruct->SDIO_ClockBypass | SDIO_InitStruct->SDIO_BusWide | - SDIO_InitStruct->SDIO_ClockEdge | SDIO_InitStruct->SDIO_HardwareFlowControl); - - /* Write to SDIO CLKCR */ - SDIO->CLKCR = tmpreg; -} - -/** - * @brief Fills each SDIO_InitStruct member with its default value. - * @param SDIO_InitStruct: pointer to an SDIO_InitTypeDef structure which - * will be initialized. - * @retval None - */ -void SDIO_StructInit(SDIO_InitTypeDef* SDIO_InitStruct) -{ - /* SDIO_InitStruct members default value */ - SDIO_InitStruct->SDIO_ClockDiv = 0x00; - SDIO_InitStruct->SDIO_ClockEdge = SDIO_ClockEdge_Rising; - SDIO_InitStruct->SDIO_ClockBypass = SDIO_ClockBypass_Disable; - SDIO_InitStruct->SDIO_ClockPowerSave = SDIO_ClockPowerSave_Disable; - SDIO_InitStruct->SDIO_BusWide = SDIO_BusWide_1b; - SDIO_InitStruct->SDIO_HardwareFlowControl = SDIO_HardwareFlowControl_Disable; -} - -/** - * @brief Enables or disables the SDIO Clock. - * @param NewState: new state of the SDIO Clock. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SDIO_ClockCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) CLKCR_CLKEN_BB = (uint32_t)NewState; -} - -/** - * @brief Sets the power status of the controller. - * @param SDIO_PowerState: new state of the Power state. - * This parameter can be one of the following values: - * @arg SDIO_PowerState_OFF - * @arg SDIO_PowerState_ON - * @retval None - */ -void SDIO_SetPowerState(uint32_t SDIO_PowerState) -{ - /* Check the parameters */ - assert_param(IS_SDIO_POWER_STATE(SDIO_PowerState)); - - SDIO->POWER &= PWR_PWRCTRL_MASK; - SDIO->POWER |= SDIO_PowerState; -} - -/** - * @brief Gets the power status of the controller. - * @param None - * @retval Power status of the controller. The returned value can - * be one of the following: - * - 0x00: Power OFF - * - 0x02: Power UP - * - 0x03: Power ON - */ -uint32_t SDIO_GetPowerState(void) -{ - return (SDIO->POWER & (~PWR_PWRCTRL_MASK)); -} - -/** - * @brief Enables or disables the SDIO interrupts. - * @param SDIO_IT: specifies the SDIO interrupt sources to be enabled or disabled. - * This parameter can be one or a combination of the following values: - * @arg SDIO_IT_CCRCFAIL: Command response received (CRC check failed) interrupt - * @arg SDIO_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt - * @arg SDIO_IT_CTIMEOUT: Command response timeout interrupt - * @arg SDIO_IT_DTIMEOUT: Data timeout interrupt - * @arg SDIO_IT_TXUNDERR: Transmit FIFO underrun error interrupt - * @arg SDIO_IT_RXOVERR: Received FIFO overrun error interrupt - * @arg SDIO_IT_CMDREND: Command response received (CRC check passed) interrupt - * @arg SDIO_IT_CMDSENT: Command sent (no response required) interrupt - * @arg SDIO_IT_DATAEND: Data end (data counter, SDIDCOUNT, is zero) interrupt - * @arg SDIO_IT_STBITERR: Start bit not detected on all data signals in wide - * bus mode interrupt - * @arg SDIO_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt - * @arg SDIO_IT_CMDACT: Command transfer in progress interrupt - * @arg SDIO_IT_TXACT: Data transmit in progress interrupt - * @arg SDIO_IT_RXACT: Data receive in progress interrupt - * @arg SDIO_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt - * @arg SDIO_IT_RXFIFOHF: Receive FIFO Half Full interrupt - * @arg SDIO_IT_TXFIFOF: Transmit FIFO full interrupt - * @arg SDIO_IT_RXFIFOF: Receive FIFO full interrupt - * @arg SDIO_IT_TXFIFOE: Transmit FIFO empty interrupt - * @arg SDIO_IT_RXFIFOE: Receive FIFO empty interrupt - * @arg SDIO_IT_TXDAVL: Data available in transmit FIFO interrupt - * @arg SDIO_IT_RXDAVL: Data available in receive FIFO interrupt - * @arg SDIO_IT_SDIOIT: SD I/O interrupt received interrupt - * @arg SDIO_IT_CEATAEND: CE-ATA command completion signal received for CMD61 interrupt - * @param NewState: new state of the specified SDIO interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SDIO_ITConfig(uint32_t SDIO_IT, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_SDIO_IT(SDIO_IT)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the SDIO interrupts */ - SDIO->MASK |= SDIO_IT; - } - else - { - /* Disable the SDIO interrupts */ - SDIO->MASK &= ~SDIO_IT; - } -} - -/** - * @brief Enables or disables the SDIO DMA request. - * @param NewState: new state of the selected SDIO DMA request. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SDIO_DMACmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) DCTRL_DMAEN_BB = (uint32_t)NewState; -} - -/** - * @brief Initializes the SDIO Command according to the specified - * parameters in the SDIO_CmdInitStruct and send the command. - * @param SDIO_CmdInitStruct : pointer to a SDIO_CmdInitTypeDef - * structure that contains the configuration information for the SDIO command. - * @retval None - */ -void SDIO_SendCommand(SDIO_CmdInitTypeDef *SDIO_CmdInitStruct) -{ - uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_SDIO_CMD_INDEX(SDIO_CmdInitStruct->SDIO_CmdIndex)); - assert_param(IS_SDIO_RESPONSE(SDIO_CmdInitStruct->SDIO_Response)); - assert_param(IS_SDIO_WAIT(SDIO_CmdInitStruct->SDIO_Wait)); - assert_param(IS_SDIO_CPSM(SDIO_CmdInitStruct->SDIO_CPSM)); - -/*---------------------------- SDIO ARG Configuration ------------------------*/ - /* Set the SDIO Argument value */ - SDIO->ARG = SDIO_CmdInitStruct->SDIO_Argument; - -/*---------------------------- SDIO CMD Configuration ------------------------*/ - /* Get the SDIO CMD value */ - tmpreg = SDIO->CMD; - /* Clear CMDINDEX, WAITRESP, WAITINT, WAITPEND, CPSMEN bits */ - tmpreg &= CMD_CLEAR_MASK; - /* Set CMDINDEX bits according to SDIO_CmdIndex value */ - /* Set WAITRESP bits according to SDIO_Response value */ - /* Set WAITINT and WAITPEND bits according to SDIO_Wait value */ - /* Set CPSMEN bits according to SDIO_CPSM value */ - tmpreg |= (uint32_t)SDIO_CmdInitStruct->SDIO_CmdIndex | SDIO_CmdInitStruct->SDIO_Response - | SDIO_CmdInitStruct->SDIO_Wait | SDIO_CmdInitStruct->SDIO_CPSM; - - /* Write to SDIO CMD */ - SDIO->CMD = tmpreg; -} - -/** - * @brief Fills each SDIO_CmdInitStruct member with its default value. - * @param SDIO_CmdInitStruct: pointer to an SDIO_CmdInitTypeDef - * structure which will be initialized. - * @retval None - */ -void SDIO_CmdStructInit(SDIO_CmdInitTypeDef* SDIO_CmdInitStruct) -{ - /* SDIO_CmdInitStruct members default value */ - SDIO_CmdInitStruct->SDIO_Argument = 0x00; - SDIO_CmdInitStruct->SDIO_CmdIndex = 0x00; - SDIO_CmdInitStruct->SDIO_Response = SDIO_Response_No; - SDIO_CmdInitStruct->SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStruct->SDIO_CPSM = SDIO_CPSM_Disable; -} - -/** - * @brief Returns command index of last command for which response received. - * @param None - * @retval Returns the command index of the last command response received. - */ -uint8_t SDIO_GetCommandResponse(void) -{ - return (uint8_t)(SDIO->RESPCMD); -} - -/** - * @brief Returns response received from the card for the last command. - * @param SDIO_RESP: Specifies the SDIO response register. - * This parameter can be one of the following values: - * @arg SDIO_RESP1: Response Register 1 - * @arg SDIO_RESP2: Response Register 2 - * @arg SDIO_RESP3: Response Register 3 - * @arg SDIO_RESP4: Response Register 4 - * @retval The Corresponding response register value. - */ -uint32_t SDIO_GetResponse(uint32_t SDIO_RESP) -{ - __IO uint32_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_SDIO_RESP(SDIO_RESP)); - - tmp = SDIO_RESP_ADDR + SDIO_RESP; - - return (*(__IO uint32_t *) tmp); -} - -/** - * @brief Initializes the SDIO data path according to the specified - * parameters in the SDIO_DataInitStruct. - * @param SDIO_DataInitStruct : pointer to a SDIO_DataInitTypeDef structure that - * contains the configuration information for the SDIO command. - * @retval None - */ -void SDIO_DataConfig(SDIO_DataInitTypeDef* SDIO_DataInitStruct) -{ - uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_SDIO_DATA_LENGTH(SDIO_DataInitStruct->SDIO_DataLength)); - assert_param(IS_SDIO_BLOCK_SIZE(SDIO_DataInitStruct->SDIO_DataBlockSize)); - assert_param(IS_SDIO_TRANSFER_DIR(SDIO_DataInitStruct->SDIO_TransferDir)); - assert_param(IS_SDIO_TRANSFER_MODE(SDIO_DataInitStruct->SDIO_TransferMode)); - assert_param(IS_SDIO_DPSM(SDIO_DataInitStruct->SDIO_DPSM)); - -/*---------------------------- SDIO DTIMER Configuration ---------------------*/ - /* Set the SDIO Data TimeOut value */ - SDIO->DTIMER = SDIO_DataInitStruct->SDIO_DataTimeOut; - -/*---------------------------- SDIO DLEN Configuration -----------------------*/ - /* Set the SDIO DataLength value */ - SDIO->DLEN = SDIO_DataInitStruct->SDIO_DataLength; - -/*---------------------------- SDIO DCTRL Configuration ----------------------*/ - /* Get the SDIO DCTRL value */ - tmpreg = SDIO->DCTRL; - /* Clear DEN, DTMODE, DTDIR and DBCKSIZE bits */ - tmpreg &= DCTRL_CLEAR_MASK; - /* Set DEN bit according to SDIO_DPSM value */ - /* Set DTMODE bit according to SDIO_TransferMode value */ - /* Set DTDIR bit according to SDIO_TransferDir value */ - /* Set DBCKSIZE bits according to SDIO_DataBlockSize value */ - tmpreg |= (uint32_t)SDIO_DataInitStruct->SDIO_DataBlockSize | SDIO_DataInitStruct->SDIO_TransferDir - | SDIO_DataInitStruct->SDIO_TransferMode | SDIO_DataInitStruct->SDIO_DPSM; - - /* Write to SDIO DCTRL */ - SDIO->DCTRL = tmpreg; -} - -/** - * @brief Fills each SDIO_DataInitStruct member with its default value. - * @param SDIO_DataInitStruct: pointer to an SDIO_DataInitTypeDef structure which - * will be initialized. - * @retval None - */ -void SDIO_DataStructInit(SDIO_DataInitTypeDef* SDIO_DataInitStruct) -{ - /* SDIO_DataInitStruct members default value */ - SDIO_DataInitStruct->SDIO_DataTimeOut = 0xFFFFFFFF; - SDIO_DataInitStruct->SDIO_DataLength = 0x00; - SDIO_DataInitStruct->SDIO_DataBlockSize = SDIO_DataBlockSize_1b; - SDIO_DataInitStruct->SDIO_TransferDir = SDIO_TransferDir_ToCard; - SDIO_DataInitStruct->SDIO_TransferMode = SDIO_TransferMode_Block; - SDIO_DataInitStruct->SDIO_DPSM = SDIO_DPSM_Disable; -} - -/** - * @brief Returns number of remaining data bytes to be transferred. - * @param None - * @retval Number of remaining data bytes to be transferred - */ -uint32_t SDIO_GetDataCounter(void) -{ - return SDIO->DCOUNT; -} - -/** - * @brief Read one data word from Rx FIFO. - * @param None - * @retval Data received - */ -uint32_t SDIO_ReadData(void) -{ - return SDIO->FIFO; -} - -/** - * @brief Write one data word to Tx FIFO. - * @param Data: 32-bit data word to write. - * @retval None - */ -void SDIO_WriteData(uint32_t Data) -{ - SDIO->FIFO = Data; -} - -/** - * @brief Returns the number of words left to be written to or read from FIFO. - * @param None - * @retval Remaining number of words. - */ -uint32_t SDIO_GetFIFOCount(void) -{ - return SDIO->FIFOCNT; -} - -/** - * @brief Starts the SD I/O Read Wait operation. - * @param NewState: new state of the Start SDIO Read Wait operation. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SDIO_StartSDIOReadWait(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) DCTRL_RWSTART_BB = (uint32_t) NewState; -} - -/** - * @brief Stops the SD I/O Read Wait operation. - * @param NewState: new state of the Stop SDIO Read Wait operation. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SDIO_StopSDIOReadWait(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) DCTRL_RWSTOP_BB = (uint32_t) NewState; -} - -/** - * @brief Sets one of the two options of inserting read wait interval. - * @param SDIO_ReadWaitMode: SD I/O Read Wait operation mode. - * This parameter can be: - * @arg SDIO_ReadWaitMode_CLK: Read Wait control by stopping SDIOCLK - * @arg SDIO_ReadWaitMode_DATA2: Read Wait control using SDIO_DATA2 - * @retval None - */ -void SDIO_SetSDIOReadWaitMode(uint32_t SDIO_ReadWaitMode) -{ - /* Check the parameters */ - assert_param(IS_SDIO_READWAIT_MODE(SDIO_ReadWaitMode)); - - *(__IO uint32_t *) DCTRL_RWMOD_BB = SDIO_ReadWaitMode; -} - -/** - * @brief Enables or disables the SD I/O Mode Operation. - * @param NewState: new state of SDIO specific operation. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SDIO_SetSDIOOperation(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) DCTRL_SDIOEN_BB = (uint32_t)NewState; -} - -/** - * @brief Enables or disables the SD I/O Mode suspend command sending. - * @param NewState: new state of the SD I/O Mode suspend command. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SDIO_SendSDIOSuspendCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) CMD_SDIOSUSPEND_BB = (uint32_t)NewState; -} - -/** - * @brief Enables or disables the command completion signal. - * @param NewState: new state of command completion signal. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SDIO_CommandCompletionCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) CMD_ENCMDCOMPL_BB = (uint32_t)NewState; -} - -/** - * @brief Enables or disables the CE-ATA interrupt. - * @param NewState: new state of CE-ATA interrupt. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SDIO_CEATAITCmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) CMD_NIEN_BB = (uint32_t)((~((uint32_t)NewState)) & ((uint32_t)0x1)); -} - -/** - * @brief Sends CE-ATA command (CMD61). - * @param NewState: new state of CE-ATA command. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SDIO_SendCEATACmd(FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) CMD_ATACMD_BB = (uint32_t)NewState; -} - -/** - * @brief Checks whether the specified SDIO flag is set or not. - * @param SDIO_FLAG: specifies the flag to check. - * This parameter can be one of the following values: - * @arg SDIO_FLAG_CCRCFAIL: Command response received (CRC check failed) - * @arg SDIO_FLAG_DCRCFAIL: Data block sent/received (CRC check failed) - * @arg SDIO_FLAG_CTIMEOUT: Command response timeout - * @arg SDIO_FLAG_DTIMEOUT: Data timeout - * @arg SDIO_FLAG_TXUNDERR: Transmit FIFO underrun error - * @arg SDIO_FLAG_RXOVERR: Received FIFO overrun error - * @arg SDIO_FLAG_CMDREND: Command response received (CRC check passed) - * @arg SDIO_FLAG_CMDSENT: Command sent (no response required) - * @arg SDIO_FLAG_DATAEND: Data end (data counter, SDIDCOUNT, is zero) - * @arg SDIO_FLAG_STBITERR: Start bit not detected on all data signals in wide - * bus mode. - * @arg SDIO_FLAG_DBCKEND: Data block sent/received (CRC check passed) - * @arg SDIO_FLAG_CMDACT: Command transfer in progress - * @arg SDIO_FLAG_TXACT: Data transmit in progress - * @arg SDIO_FLAG_RXACT: Data receive in progress - * @arg SDIO_FLAG_TXFIFOHE: Transmit FIFO Half Empty - * @arg SDIO_FLAG_RXFIFOHF: Receive FIFO Half Full - * @arg SDIO_FLAG_TXFIFOF: Transmit FIFO full - * @arg SDIO_FLAG_RXFIFOF: Receive FIFO full - * @arg SDIO_FLAG_TXFIFOE: Transmit FIFO empty - * @arg SDIO_FLAG_RXFIFOE: Receive FIFO empty - * @arg SDIO_FLAG_TXDAVL: Data available in transmit FIFO - * @arg SDIO_FLAG_RXDAVL: Data available in receive FIFO - * @arg SDIO_FLAG_SDIOIT: SD I/O interrupt received - * @arg SDIO_FLAG_CEATAEND: CE-ATA command completion signal received for CMD61 - * @retval The new state of SDIO_FLAG (SET or RESET). - */ -FlagStatus SDIO_GetFlagStatus(uint32_t SDIO_FLAG) -{ - FlagStatus bitstatus = RESET; - - /* Check the parameters */ - assert_param(IS_SDIO_FLAG(SDIO_FLAG)); - - if ((SDIO->STA & SDIO_FLAG) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - return bitstatus; -} - -/** - * @brief Clears the SDIO's pending flags. - * @param SDIO_FLAG: specifies the flag to clear. - * This parameter can be one or a combination of the following values: - * @arg SDIO_FLAG_CCRCFAIL: Command response received (CRC check failed) - * @arg SDIO_FLAG_DCRCFAIL: Data block sent/received (CRC check failed) - * @arg SDIO_FLAG_CTIMEOUT: Command response timeout - * @arg SDIO_FLAG_DTIMEOUT: Data timeout - * @arg SDIO_FLAG_TXUNDERR: Transmit FIFO underrun error - * @arg SDIO_FLAG_RXOVERR: Received FIFO overrun error - * @arg SDIO_FLAG_CMDREND: Command response received (CRC check passed) - * @arg SDIO_FLAG_CMDSENT: Command sent (no response required) - * @arg SDIO_FLAG_DATAEND: Data end (data counter, SDIDCOUNT, is zero) - * @arg SDIO_FLAG_STBITERR: Start bit not detected on all data signals in wide - * bus mode - * @arg SDIO_FLAG_DBCKEND: Data block sent/received (CRC check passed) - * @arg SDIO_FLAG_SDIOIT: SD I/O interrupt received - * @arg SDIO_FLAG_CEATAEND: CE-ATA command completion signal received for CMD61 - * @retval None - */ -void SDIO_ClearFlag(uint32_t SDIO_FLAG) -{ - /* Check the parameters */ - assert_param(IS_SDIO_CLEAR_FLAG(SDIO_FLAG)); - - SDIO->ICR = SDIO_FLAG; -} - -/** - * @brief Checks whether the specified SDIO interrupt has occurred or not. - * @param SDIO_IT: specifies the SDIO interrupt source to check. - * This parameter can be one of the following values: - * @arg SDIO_IT_CCRCFAIL: Command response received (CRC check failed) interrupt - * @arg SDIO_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt - * @arg SDIO_IT_CTIMEOUT: Command response timeout interrupt - * @arg SDIO_IT_DTIMEOUT: Data timeout interrupt - * @arg SDIO_IT_TXUNDERR: Transmit FIFO underrun error interrupt - * @arg SDIO_IT_RXOVERR: Received FIFO overrun error interrupt - * @arg SDIO_IT_CMDREND: Command response received (CRC check passed) interrupt - * @arg SDIO_IT_CMDSENT: Command sent (no response required) interrupt - * @arg SDIO_IT_DATAEND: Data end (data counter, SDIDCOUNT, is zero) interrupt - * @arg SDIO_IT_STBITERR: Start bit not detected on all data signals in wide - * bus mode interrupt - * @arg SDIO_IT_DBCKEND: Data block sent/received (CRC check passed) interrupt - * @arg SDIO_IT_CMDACT: Command transfer in progress interrupt - * @arg SDIO_IT_TXACT: Data transmit in progress interrupt - * @arg SDIO_IT_RXACT: Data receive in progress interrupt - * @arg SDIO_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt - * @arg SDIO_IT_RXFIFOHF: Receive FIFO Half Full interrupt - * @arg SDIO_IT_TXFIFOF: Transmit FIFO full interrupt - * @arg SDIO_IT_RXFIFOF: Receive FIFO full interrupt - * @arg SDIO_IT_TXFIFOE: Transmit FIFO empty interrupt - * @arg SDIO_IT_RXFIFOE: Receive FIFO empty interrupt - * @arg SDIO_IT_TXDAVL: Data available in transmit FIFO interrupt - * @arg SDIO_IT_RXDAVL: Data available in receive FIFO interrupt - * @arg SDIO_IT_SDIOIT: SD I/O interrupt received interrupt - * @arg SDIO_IT_CEATAEND: CE-ATA command completion signal received for CMD61 interrupt - * @retval The new state of SDIO_IT (SET or RESET). - */ -ITStatus SDIO_GetITStatus(uint32_t SDIO_IT) -{ - ITStatus bitstatus = RESET; - - /* Check the parameters */ - assert_param(IS_SDIO_GET_IT(SDIO_IT)); - if ((SDIO->STA & SDIO_IT) != (uint32_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - return bitstatus; -} - -/** - * @brief Clears the SDIO's interrupt pending bits. - * @param SDIO_IT: specifies the interrupt pending bit to clear. - * This parameter can be one or a combination of the following values: - * @arg SDIO_IT_CCRCFAIL: Command response received (CRC check failed) interrupt - * @arg SDIO_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt - * @arg SDIO_IT_CTIMEOUT: Command response timeout interrupt - * @arg SDIO_IT_DTIMEOUT: Data timeout interrupt - * @arg SDIO_IT_TXUNDERR: Transmit FIFO underrun error interrupt - * @arg SDIO_IT_RXOVERR: Received FIFO overrun error interrupt - * @arg SDIO_IT_CMDREND: Command response received (CRC check passed) interrupt - * @arg SDIO_IT_CMDSENT: Command sent (no response required) interrupt - * @arg SDIO_IT_DATAEND: Data end (data counter, SDIDCOUNT, is zero) interrupt - * @arg SDIO_IT_STBITERR: Start bit not detected on all data signals in wide - * bus mode interrupt - * @arg SDIO_IT_SDIOIT: SD I/O interrupt received interrupt - * @arg SDIO_IT_CEATAEND: CE-ATA command completion signal received for CMD61 - * @retval None - */ -void SDIO_ClearITPendingBit(uint32_t SDIO_IT) -{ - /* Check the parameters */ - assert_param(IS_SDIO_CLEAR_IT(SDIO_IT)); - - SDIO->ICR = SDIO_IT; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c deleted file mode 100644 index 51a9cce77..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c +++ /dev/null @@ -1,908 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_spi.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the SPI firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_spi.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup SPI - * @brief SPI driver modules - * @{ - */ - -/** @defgroup SPI_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - - -/** @defgroup SPI_Private_Defines - * @{ - */ - -/* SPI SPE mask */ -#define CR1_SPE_Set ((uint16_t)0x0040) -#define CR1_SPE_Reset ((uint16_t)0xFFBF) - -/* I2S I2SE mask */ -#define I2SCFGR_I2SE_Set ((uint16_t)0x0400) -#define I2SCFGR_I2SE_Reset ((uint16_t)0xFBFF) - -/* SPI CRCNext mask */ -#define CR1_CRCNext_Set ((uint16_t)0x1000) - -/* SPI CRCEN mask */ -#define CR1_CRCEN_Set ((uint16_t)0x2000) -#define CR1_CRCEN_Reset ((uint16_t)0xDFFF) - -/* SPI SSOE mask */ -#define CR2_SSOE_Set ((uint16_t)0x0004) -#define CR2_SSOE_Reset ((uint16_t)0xFFFB) - -/* SPI registers Masks */ -#define CR1_CLEAR_Mask ((uint16_t)0x3040) -#define I2SCFGR_CLEAR_Mask ((uint16_t)0xF040) - -/* SPI or I2S mode selection masks */ -#define SPI_Mode_Select ((uint16_t)0xF7FF) -#define I2S_Mode_Select ((uint16_t)0x0800) - -/* I2S clock source selection masks */ -#define I2S2_CLOCK_SRC ((uint32_t)(0x00020000)) -#define I2S3_CLOCK_SRC ((uint32_t)(0x00040000)) -#define I2S_MUL_MASK ((uint32_t)(0x0000F000)) -#define I2S_DIV_MASK ((uint32_t)(0x000000F0)) - -/** - * @} - */ - -/** @defgroup SPI_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup SPI_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup SPI_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup SPI_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the SPIx peripheral registers to their default - * reset values (Affects also the I2Ss). - * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral. - * @retval None - */ -void SPI_I2S_DeInit(SPI_TypeDef* SPIx) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - - if (SPIx == SPI1) - { - /* Enable SPI1 reset state */ - RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1, ENABLE); - /* Release SPI1 from reset state */ - RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1, DISABLE); - } - else if (SPIx == SPI2) - { - /* Enable SPI2 reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI2, ENABLE); - /* Release SPI2 from reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI2, DISABLE); - } - else - { - if (SPIx == SPI3) - { - /* Enable SPI3 reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI3, ENABLE); - /* Release SPI3 from reset state */ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI3, DISABLE); - } - } -} - -/** - * @brief Initializes the SPIx peripheral according to the specified - * parameters in the SPI_InitStruct. - * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral. - * @param SPI_InitStruct: pointer to a SPI_InitTypeDef structure that - * contains the configuration information for the specified SPI peripheral. - * @retval None - */ -void SPI_Init(SPI_TypeDef* SPIx, SPI_InitTypeDef* SPI_InitStruct) -{ - uint16_t tmpreg = 0; - - /* check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - - /* Check the SPI parameters */ - assert_param(IS_SPI_DIRECTION_MODE(SPI_InitStruct->SPI_Direction)); - assert_param(IS_SPI_MODE(SPI_InitStruct->SPI_Mode)); - assert_param(IS_SPI_DATASIZE(SPI_InitStruct->SPI_DataSize)); - assert_param(IS_SPI_CPOL(SPI_InitStruct->SPI_CPOL)); - assert_param(IS_SPI_CPHA(SPI_InitStruct->SPI_CPHA)); - assert_param(IS_SPI_NSS(SPI_InitStruct->SPI_NSS)); - assert_param(IS_SPI_BAUDRATE_PRESCALER(SPI_InitStruct->SPI_BaudRatePrescaler)); - assert_param(IS_SPI_FIRST_BIT(SPI_InitStruct->SPI_FirstBit)); - assert_param(IS_SPI_CRC_POLYNOMIAL(SPI_InitStruct->SPI_CRCPolynomial)); - -/*---------------------------- SPIx CR1 Configuration ------------------------*/ - /* Get the SPIx CR1 value */ - tmpreg = SPIx->CR1; - /* Clear BIDIMode, BIDIOE, RxONLY, SSM, SSI, LSBFirst, BR, MSTR, CPOL and CPHA bits */ - tmpreg &= CR1_CLEAR_Mask; - /* Configure SPIx: direction, NSS management, first transmitted bit, BaudRate prescaler - master/salve mode, CPOL and CPHA */ - /* Set BIDImode, BIDIOE and RxONLY bits according to SPI_Direction value */ - /* Set SSM, SSI and MSTR bits according to SPI_Mode and SPI_NSS values */ - /* Set LSBFirst bit according to SPI_FirstBit value */ - /* Set BR bits according to SPI_BaudRatePrescaler value */ - /* Set CPOL bit according to SPI_CPOL value */ - /* Set CPHA bit according to SPI_CPHA value */ - tmpreg |= (uint16_t)((uint32_t)SPI_InitStruct->SPI_Direction | SPI_InitStruct->SPI_Mode | - SPI_InitStruct->SPI_DataSize | SPI_InitStruct->SPI_CPOL | - SPI_InitStruct->SPI_CPHA | SPI_InitStruct->SPI_NSS | - SPI_InitStruct->SPI_BaudRatePrescaler | SPI_InitStruct->SPI_FirstBit); - /* Write to SPIx CR1 */ - SPIx->CR1 = tmpreg; - - /* Activate the SPI mode (Reset I2SMOD bit in I2SCFGR register) */ - SPIx->I2SCFGR &= SPI_Mode_Select; - -/*---------------------------- SPIx CRCPOLY Configuration --------------------*/ - /* Write to SPIx CRCPOLY */ - SPIx->CRCPR = SPI_InitStruct->SPI_CRCPolynomial; -} - -/** - * @brief Initializes the SPIx peripheral according to the specified - * parameters in the I2S_InitStruct. - * @param SPIx: where x can be 2 or 3 to select the SPI peripheral - * (configured in I2S mode). - * @param I2S_InitStruct: pointer to an I2S_InitTypeDef structure that - * contains the configuration information for the specified SPI peripheral - * configured in I2S mode. - * @note - * The function calculates the optimal prescaler needed to obtain the most - * accurate audio frequency (depending on the I2S clock source, the PLL values - * and the product configuration). But in case the prescaler value is greater - * than 511, the default value (0x02) will be configured instead. * - * @retval None - */ -void I2S_Init(SPI_TypeDef* SPIx, I2S_InitTypeDef* I2S_InitStruct) -{ - uint16_t tmpreg = 0, i2sdiv = 2, i2sodd = 0, packetlength = 1; - uint32_t tmp = 0; - RCC_ClocksTypeDef RCC_Clocks; - uint32_t sourceclock = 0; - - /* Check the I2S parameters */ - assert_param(IS_SPI_23_PERIPH(SPIx)); - assert_param(IS_I2S_MODE(I2S_InitStruct->I2S_Mode)); - assert_param(IS_I2S_STANDARD(I2S_InitStruct->I2S_Standard)); - assert_param(IS_I2S_DATA_FORMAT(I2S_InitStruct->I2S_DataFormat)); - assert_param(IS_I2S_MCLK_OUTPUT(I2S_InitStruct->I2S_MCLKOutput)); - assert_param(IS_I2S_AUDIO_FREQ(I2S_InitStruct->I2S_AudioFreq)); - assert_param(IS_I2S_CPOL(I2S_InitStruct->I2S_CPOL)); - -/*----------------------- SPIx I2SCFGR & I2SPR Configuration -----------------*/ - /* Clear I2SMOD, I2SE, I2SCFG, PCMSYNC, I2SSTD, CKPOL, DATLEN and CHLEN bits */ - SPIx->I2SCFGR &= I2SCFGR_CLEAR_Mask; - SPIx->I2SPR = 0x0002; - - /* Get the I2SCFGR register value */ - tmpreg = SPIx->I2SCFGR; - - /* If the default value has to be written, reinitialize i2sdiv and i2sodd*/ - if(I2S_InitStruct->I2S_AudioFreq == I2S_AudioFreq_Default) - { - i2sodd = (uint16_t)0; - i2sdiv = (uint16_t)2; - } - /* If the requested audio frequency is not the default, compute the prescaler */ - else - { - /* Check the frame length (For the Prescaler computing) */ - if(I2S_InitStruct->I2S_DataFormat == I2S_DataFormat_16b) - { - /* Packet length is 16 bits */ - packetlength = 1; - } - else - { - /* Packet length is 32 bits */ - packetlength = 2; - } - - /* Get the I2S clock source mask depending on the peripheral number */ - if(((uint32_t)SPIx) == SPI2_BASE) - { - /* The mask is relative to I2S2 */ - tmp = I2S2_CLOCK_SRC; - } - else - { - /* The mask is relative to I2S3 */ - tmp = I2S3_CLOCK_SRC; - } - - /* Check the I2S clock source configuration depending on the Device: - Only Connectivity line devices have the PLL3 VCO clock */ -#ifdef STM32F10X_CL - if((RCC->CFGR2 & tmp) != 0) - { - /* Get the configuration bits of RCC PLL3 multiplier */ - tmp = (uint32_t)((RCC->CFGR2 & I2S_MUL_MASK) >> 12); - - /* Get the value of the PLL3 multiplier */ - if((tmp > 5) && (tmp < 15)) - { - /* Multiplier is between 8 and 14 (value 15 is forbidden) */ - tmp += 2; - } - else - { - if (tmp == 15) - { - /* Multiplier is 20 */ - tmp = 20; - } - } - /* Get the PREDIV2 value */ - sourceclock = (uint32_t)(((RCC->CFGR2 & I2S_DIV_MASK) >> 4) + 1); - - /* Calculate the Source Clock frequency based on PLL3 and PREDIV2 values */ - sourceclock = (uint32_t) ((HSE_Value / sourceclock) * tmp * 2); - } - else - { - /* I2S Clock source is System clock: Get System Clock frequency */ - RCC_GetClocksFreq(&RCC_Clocks); - - /* Get the source clock value: based on System Clock value */ - sourceclock = RCC_Clocks.SYSCLK_Frequency; - } -#else /* STM32F10X_HD */ - /* I2S Clock source is System clock: Get System Clock frequency */ - RCC_GetClocksFreq(&RCC_Clocks); - - /* Get the source clock value: based on System Clock value */ - sourceclock = RCC_Clocks.SYSCLK_Frequency; -#endif /* STM32F10X_CL */ - - /* Compute the Real divider depending on the MCLK output state with a floating point */ - if(I2S_InitStruct->I2S_MCLKOutput == I2S_MCLKOutput_Enable) - { - /* MCLK output is enabled */ - tmp = (uint16_t)(((((sourceclock / 256) * 10) / I2S_InitStruct->I2S_AudioFreq)) + 5); - } - else - { - /* MCLK output is disabled */ - tmp = (uint16_t)(((((sourceclock / (32 * packetlength)) *10 ) / I2S_InitStruct->I2S_AudioFreq)) + 5); - } - - /* Remove the floating point */ - tmp = tmp / 10; - - /* Check the parity of the divider */ - i2sodd = (uint16_t)(tmp & (uint16_t)0x0001); - - /* Compute the i2sdiv prescaler */ - i2sdiv = (uint16_t)((tmp - i2sodd) / 2); - - /* Get the Mask for the Odd bit (SPI_I2SPR[8]) register */ - i2sodd = (uint16_t) (i2sodd << 8); - } - - /* Test if the divider is 1 or 0 or greater than 0xFF */ - if ((i2sdiv < 2) || (i2sdiv > 0xFF)) - { - /* Set the default values */ - i2sdiv = 2; - i2sodd = 0; - } - - /* Write to SPIx I2SPR register the computed value */ - SPIx->I2SPR = (uint16_t)(i2sdiv | (uint16_t)(i2sodd | (uint16_t)I2S_InitStruct->I2S_MCLKOutput)); - - /* Configure the I2S with the SPI_InitStruct values */ - tmpreg |= (uint16_t)(I2S_Mode_Select | (uint16_t)(I2S_InitStruct->I2S_Mode | \ - (uint16_t)(I2S_InitStruct->I2S_Standard | (uint16_t)(I2S_InitStruct->I2S_DataFormat | \ - (uint16_t)I2S_InitStruct->I2S_CPOL)))); - - /* Write to SPIx I2SCFGR */ - SPIx->I2SCFGR = tmpreg; -} - -/** - * @brief Fills each SPI_InitStruct member with its default value. - * @param SPI_InitStruct : pointer to a SPI_InitTypeDef structure which will be initialized. - * @retval None - */ -void SPI_StructInit(SPI_InitTypeDef* SPI_InitStruct) -{ -/*--------------- Reset SPI init structure parameters values -----------------*/ - /* Initialize the SPI_Direction member */ - SPI_InitStruct->SPI_Direction = SPI_Direction_2Lines_FullDuplex; - /* initialize the SPI_Mode member */ - SPI_InitStruct->SPI_Mode = SPI_Mode_Slave; - /* initialize the SPI_DataSize member */ - SPI_InitStruct->SPI_DataSize = SPI_DataSize_8b; - /* Initialize the SPI_CPOL member */ - SPI_InitStruct->SPI_CPOL = SPI_CPOL_Low; - /* Initialize the SPI_CPHA member */ - SPI_InitStruct->SPI_CPHA = SPI_CPHA_1Edge; - /* Initialize the SPI_NSS member */ - SPI_InitStruct->SPI_NSS = SPI_NSS_Hard; - /* Initialize the SPI_BaudRatePrescaler member */ - SPI_InitStruct->SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; - /* Initialize the SPI_FirstBit member */ - SPI_InitStruct->SPI_FirstBit = SPI_FirstBit_MSB; - /* Initialize the SPI_CRCPolynomial member */ - SPI_InitStruct->SPI_CRCPolynomial = 7; -} - -/** - * @brief Fills each I2S_InitStruct member with its default value. - * @param I2S_InitStruct : pointer to a I2S_InitTypeDef structure which will be initialized. - * @retval None - */ -void I2S_StructInit(I2S_InitTypeDef* I2S_InitStruct) -{ -/*--------------- Reset I2S init structure parameters values -----------------*/ - /* Initialize the I2S_Mode member */ - I2S_InitStruct->I2S_Mode = I2S_Mode_SlaveTx; - - /* Initialize the I2S_Standard member */ - I2S_InitStruct->I2S_Standard = I2S_Standard_Phillips; - - /* Initialize the I2S_DataFormat member */ - I2S_InitStruct->I2S_DataFormat = I2S_DataFormat_16b; - - /* Initialize the I2S_MCLKOutput member */ - I2S_InitStruct->I2S_MCLKOutput = I2S_MCLKOutput_Disable; - - /* Initialize the I2S_AudioFreq member */ - I2S_InitStruct->I2S_AudioFreq = I2S_AudioFreq_Default; - - /* Initialize the I2S_CPOL member */ - I2S_InitStruct->I2S_CPOL = I2S_CPOL_Low; -} - -/** - * @brief Enables or disables the specified SPI peripheral. - * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral. - * @param NewState: new state of the SPIx peripheral. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SPI_Cmd(SPI_TypeDef* SPIx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected SPI peripheral */ - SPIx->CR1 |= CR1_SPE_Set; - } - else - { - /* Disable the selected SPI peripheral */ - SPIx->CR1 &= CR1_SPE_Reset; - } -} - -/** - * @brief Enables or disables the specified SPI peripheral (in I2S mode). - * @param SPIx: where x can be 2 or 3 to select the SPI peripheral. - * @param NewState: new state of the SPIx peripheral. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void I2S_Cmd(SPI_TypeDef* SPIx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_SPI_23_PERIPH(SPIx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected SPI peripheral (in I2S mode) */ - SPIx->I2SCFGR |= I2SCFGR_I2SE_Set; - } - else - { - /* Disable the selected SPI peripheral (in I2S mode) */ - SPIx->I2SCFGR &= I2SCFGR_I2SE_Reset; - } -} - -/** - * @brief Enables or disables the specified SPI/I2S interrupts. - * @param SPIx: where x can be - * - 1, 2 or 3 in SPI mode - * - 2 or 3 in I2S mode - * @param SPI_I2S_IT: specifies the SPI/I2S interrupt source to be enabled or disabled. - * This parameter can be one of the following values: - * @arg SPI_I2S_IT_TXE: Tx buffer empty interrupt mask - * @arg SPI_I2S_IT_RXNE: Rx buffer not empty interrupt mask - * @arg SPI_I2S_IT_ERR: Error interrupt mask - * @param NewState: new state of the specified SPI/I2S interrupt. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SPI_I2S_ITConfig(SPI_TypeDef* SPIx, uint8_t SPI_I2S_IT, FunctionalState NewState) -{ - uint16_t itpos = 0, itmask = 0 ; - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - assert_param(IS_SPI_I2S_CONFIG_IT(SPI_I2S_IT)); - - /* Get the SPI/I2S IT index */ - itpos = SPI_I2S_IT >> 4; - - /* Set the IT mask */ - itmask = (uint16_t)1 << (uint16_t)itpos; - - if (NewState != DISABLE) - { - /* Enable the selected SPI/I2S interrupt */ - SPIx->CR2 |= itmask; - } - else - { - /* Disable the selected SPI/I2S interrupt */ - SPIx->CR2 &= (uint16_t)~itmask; - } -} - -/** - * @brief Enables or disables the SPIx/I2Sx DMA interface. - * @param SPIx: where x can be - * - 1, 2 or 3 in SPI mode - * - 2 or 3 in I2S mode - * @param SPI_I2S_DMAReq: specifies the SPI/I2S DMA transfer request to be enabled or disabled. - * This parameter can be any combination of the following values: - * @arg SPI_I2S_DMAReq_Tx: Tx buffer DMA transfer request - * @arg SPI_I2S_DMAReq_Rx: Rx buffer DMA transfer request - * @param NewState: new state of the selected SPI/I2S DMA transfer request. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SPI_I2S_DMACmd(SPI_TypeDef* SPIx, uint16_t SPI_I2S_DMAReq, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - assert_param(IS_SPI_I2S_DMAREQ(SPI_I2S_DMAReq)); - if (NewState != DISABLE) - { - /* Enable the selected SPI/I2S DMA requests */ - SPIx->CR2 |= SPI_I2S_DMAReq; - } - else - { - /* Disable the selected SPI/I2S DMA requests */ - SPIx->CR2 &= (uint16_t)~SPI_I2S_DMAReq; - } -} - -/** - * @brief Transmits a Data through the SPIx/I2Sx peripheral. - * @param SPIx: where x can be - * - 1, 2 or 3 in SPI mode - * - 2 or 3 in I2S mode - * @param Data : Data to be transmitted. - * @retval None - */ -void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - - /* Write in the DR register the data to be sent */ - SPIx->DR = Data; -} - -/** - * @brief Returns the most recent received data by the SPIx/I2Sx peripheral. - * @param SPIx: where x can be - * - 1, 2 or 3 in SPI mode - * - 2 or 3 in I2S mode - * @retval The value of the received data. - */ -uint16_t SPI_I2S_ReceiveData(SPI_TypeDef* SPIx) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - - /* Return the data in the DR register */ - return SPIx->DR; -} - -/** - * @brief Configures internally by software the NSS pin for the selected SPI. - * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral. - * @param SPI_NSSInternalSoft: specifies the SPI NSS internal state. - * This parameter can be one of the following values: - * @arg SPI_NSSInternalSoft_Set: Set NSS pin internally - * @arg SPI_NSSInternalSoft_Reset: Reset NSS pin internally - * @retval None - */ -void SPI_NSSInternalSoftwareConfig(SPI_TypeDef* SPIx, uint16_t SPI_NSSInternalSoft) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_SPI_NSS_INTERNAL(SPI_NSSInternalSoft)); - if (SPI_NSSInternalSoft != SPI_NSSInternalSoft_Reset) - { - /* Set NSS pin internally by software */ - SPIx->CR1 |= SPI_NSSInternalSoft_Set; - } - else - { - /* Reset NSS pin internally by software */ - SPIx->CR1 &= SPI_NSSInternalSoft_Reset; - } -} - -/** - * @brief Enables or disables the SS output for the selected SPI. - * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral. - * @param NewState: new state of the SPIx SS output. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SPI_SSOutputCmd(SPI_TypeDef* SPIx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected SPI SS output */ - SPIx->CR2 |= CR2_SSOE_Set; - } - else - { - /* Disable the selected SPI SS output */ - SPIx->CR2 &= CR2_SSOE_Reset; - } -} - -/** - * @brief Configures the data size for the selected SPI. - * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral. - * @param SPI_DataSize: specifies the SPI data size. - * This parameter can be one of the following values: - * @arg SPI_DataSize_16b: Set data frame format to 16bit - * @arg SPI_DataSize_8b: Set data frame format to 8bit - * @retval None - */ -void SPI_DataSizeConfig(SPI_TypeDef* SPIx, uint16_t SPI_DataSize) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_SPI_DATASIZE(SPI_DataSize)); - /* Clear DFF bit */ - SPIx->CR1 &= (uint16_t)~SPI_DataSize_16b; - /* Set new DFF bit value */ - SPIx->CR1 |= SPI_DataSize; -} - -/** - * @brief Transmit the SPIx CRC value. - * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral. - * @retval None - */ -void SPI_TransmitCRC(SPI_TypeDef* SPIx) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - - /* Enable the selected SPI CRC transmission */ - SPIx->CR1 |= CR1_CRCNext_Set; -} - -/** - * @brief Enables or disables the CRC value calculation of the transferred bytes. - * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral. - * @param NewState: new state of the SPIx CRC value calculation. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SPI_CalculateCRC(SPI_TypeDef* SPIx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the selected SPI CRC calculation */ - SPIx->CR1 |= CR1_CRCEN_Set; - } - else - { - /* Disable the selected SPI CRC calculation */ - SPIx->CR1 &= CR1_CRCEN_Reset; - } -} - -/** - * @brief Returns the transmit or the receive CRC register value for the specified SPI. - * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral. - * @param SPI_CRC: specifies the CRC register to be read. - * This parameter can be one of the following values: - * @arg SPI_CRC_Tx: Selects Tx CRC register - * @arg SPI_CRC_Rx: Selects Rx CRC register - * @retval The selected CRC register value.. - */ -uint16_t SPI_GetCRC(SPI_TypeDef* SPIx, uint8_t SPI_CRC) -{ - uint16_t crcreg = 0; - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_SPI_CRC(SPI_CRC)); - if (SPI_CRC != SPI_CRC_Rx) - { - /* Get the Tx CRC register */ - crcreg = SPIx->TXCRCR; - } - else - { - /* Get the Rx CRC register */ - crcreg = SPIx->RXCRCR; - } - /* Return the selected CRC register */ - return crcreg; -} - -/** - * @brief Returns the CRC Polynomial register value for the specified SPI. - * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral. - * @retval The CRC Polynomial register value. - */ -uint16_t SPI_GetCRCPolynomial(SPI_TypeDef* SPIx) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - - /* Return the CRC polynomial register */ - return SPIx->CRCPR; -} - -/** - * @brief Selects the data transfer direction in bi-directional mode for the specified SPI. - * @param SPIx: where x can be 1, 2 or 3 to select the SPI peripheral. - * @param SPI_Direction: specifies the data transfer direction in bi-directional mode. - * This parameter can be one of the following values: - * @arg SPI_Direction_Tx: Selects Tx transmission direction - * @arg SPI_Direction_Rx: Selects Rx receive direction - * @retval None - */ -void SPI_BiDirectionalLineConfig(SPI_TypeDef* SPIx, uint16_t SPI_Direction) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_SPI_DIRECTION(SPI_Direction)); - if (SPI_Direction == SPI_Direction_Tx) - { - /* Set the Tx only mode */ - SPIx->CR1 |= SPI_Direction_Tx; - } - else - { - /* Set the Rx only mode */ - SPIx->CR1 &= SPI_Direction_Rx; - } -} - -/** - * @brief Checks whether the specified SPI/I2S flag is set or not. - * @param SPIx: where x can be - * - 1, 2 or 3 in SPI mode - * - 2 or 3 in I2S mode - * @param SPI_I2S_FLAG: specifies the SPI/I2S flag to check. - * This parameter can be one of the following values: - * @arg SPI_I2S_FLAG_TXE: Transmit buffer empty flag. - * @arg SPI_I2S_FLAG_RXNE: Receive buffer not empty flag. - * @arg SPI_I2S_FLAG_BSY: Busy flag. - * @arg SPI_I2S_FLAG_OVR: Overrun flag. - * @arg SPI_FLAG_MODF: Mode Fault flag. - * @arg SPI_FLAG_CRCERR: CRC Error flag. - * @arg I2S_FLAG_UDR: Underrun Error flag. - * @arg I2S_FLAG_CHSIDE: Channel Side flag. - * @retval The new state of SPI_I2S_FLAG (SET or RESET). - */ -FlagStatus SPI_I2S_GetFlagStatus(SPI_TypeDef* SPIx, uint16_t SPI_I2S_FLAG) -{ - FlagStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_SPI_I2S_GET_FLAG(SPI_I2S_FLAG)); - /* Check the status of the specified SPI/I2S flag */ - if ((SPIx->SR & SPI_I2S_FLAG) != (uint16_t)RESET) - { - /* SPI_I2S_FLAG is set */ - bitstatus = SET; - } - else - { - /* SPI_I2S_FLAG is reset */ - bitstatus = RESET; - } - /* Return the SPI_I2S_FLAG status */ - return bitstatus; -} - -/** - * @brief Clears the SPIx CRC Error (CRCERR) flag. - * @param SPIx: where x can be - * - 1, 2 or 3 in SPI mode - * @param SPI_I2S_FLAG: specifies the SPI flag to clear. - * This function clears only CRCERR flag. - * @note - * - OVR (OverRun error) flag is cleared by software sequence: a read - * operation to SPI_DR register (SPI_I2S_ReceiveData()) followed by a read - * operation to SPI_SR register (SPI_I2S_GetFlagStatus()). - * - UDR (UnderRun error) flag is cleared by a read operation to - * SPI_SR register (SPI_I2S_GetFlagStatus()). - * - MODF (Mode Fault) flag is cleared by software sequence: a read/write - * operation to SPI_SR register (SPI_I2S_GetFlagStatus()) followed by a - * write operation to SPI_CR1 register (SPI_Cmd() to enable the SPI). - * @retval None - */ -void SPI_I2S_ClearFlag(SPI_TypeDef* SPIx, uint16_t SPI_I2S_FLAG) -{ - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_SPI_I2S_CLEAR_FLAG(SPI_I2S_FLAG)); - - /* Clear the selected SPI CRC Error (CRCERR) flag */ - SPIx->SR = (uint16_t)~SPI_I2S_FLAG; -} - -/** - * @brief Checks whether the specified SPI/I2S interrupt has occurred or not. - * @param SPIx: where x can be - * - 1, 2 or 3 in SPI mode - * - 2 or 3 in I2S mode - * @param SPI_I2S_IT: specifies the SPI/I2S interrupt source to check. - * This parameter can be one of the following values: - * @arg SPI_I2S_IT_TXE: Transmit buffer empty interrupt. - * @arg SPI_I2S_IT_RXNE: Receive buffer not empty interrupt. - * @arg SPI_I2S_IT_OVR: Overrun interrupt. - * @arg SPI_IT_MODF: Mode Fault interrupt. - * @arg SPI_IT_CRCERR: CRC Error interrupt. - * @arg I2S_IT_UDR: Underrun Error interrupt. - * @retval The new state of SPI_I2S_IT (SET or RESET). - */ -ITStatus SPI_I2S_GetITStatus(SPI_TypeDef* SPIx, uint8_t SPI_I2S_IT) -{ - ITStatus bitstatus = RESET; - uint16_t itpos = 0, itmask = 0, enablestatus = 0; - - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_SPI_I2S_GET_IT(SPI_I2S_IT)); - - /* Get the SPI/I2S IT index */ - itpos = 0x01 << (SPI_I2S_IT & 0x0F); - - /* Get the SPI/I2S IT mask */ - itmask = SPI_I2S_IT >> 4; - - /* Set the IT mask */ - itmask = 0x01 << itmask; - - /* Get the SPI_I2S_IT enable bit status */ - enablestatus = (SPIx->CR2 & itmask) ; - - /* Check the status of the specified SPI/I2S interrupt */ - if (((SPIx->SR & itpos) != (uint16_t)RESET) && enablestatus) - { - /* SPI_I2S_IT is set */ - bitstatus = SET; - } - else - { - /* SPI_I2S_IT is reset */ - bitstatus = RESET; - } - /* Return the SPI_I2S_IT status */ - return bitstatus; -} - -/** - * @brief Clears the SPIx CRC Error (CRCERR) interrupt pending bit. - * @param SPIx: where x can be - * - 1, 2 or 3 in SPI mode - * @param SPI_I2S_IT: specifies the SPI interrupt pending bit to clear. - * This function clears only CRCERR interrupt pending bit. - * @note - * - OVR (OverRun Error) interrupt pending bit is cleared by software - * sequence: a read operation to SPI_DR register (SPI_I2S_ReceiveData()) - * followed by a read operation to SPI_SR register (SPI_I2S_GetITStatus()). - * - UDR (UnderRun Error) interrupt pending bit is cleared by a read - * operation to SPI_SR register (SPI_I2S_GetITStatus()). - * - MODF (Mode Fault) interrupt pending bit is cleared by software sequence: - * a read/write operation to SPI_SR register (SPI_I2S_GetITStatus()) - * followed by a write operation to SPI_CR1 register (SPI_Cmd() to enable - * the SPI). - * @retval None - */ -void SPI_I2S_ClearITPendingBit(SPI_TypeDef* SPIx, uint8_t SPI_I2S_IT) -{ - uint16_t itpos = 0; - /* Check the parameters */ - assert_param(IS_SPI_ALL_PERIPH(SPIx)); - assert_param(IS_SPI_I2S_CLEAR_IT(SPI_I2S_IT)); - - /* Get the SPI IT index */ - itpos = 0x01 << (SPI_I2S_IT & 0x0F); - - /* Clear the selected SPI CRC Error (CRCERR) interrupt pending bit */ - SPIx->SR = (uint16_t)~itpos; -} -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c deleted file mode 100644 index 81c8484e3..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c +++ /dev/null @@ -1,2890 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_tim.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the TIM firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_tim.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup TIM - * @brief TIM driver modules - * @{ - */ - -/** @defgroup TIM_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup TIM_Private_Defines - * @{ - */ - -/* ---------------------- TIM registers bit mask ------------------------ */ -#define SMCR_ETR_Mask ((uint16_t)0x00FF) -#define CCMR_Offset ((uint16_t)0x0018) -#define CCER_CCE_Set ((uint16_t)0x0001) -#define CCER_CCNE_Set ((uint16_t)0x0004) - -/** - * @} - */ - -/** @defgroup TIM_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup TIM_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup TIM_Private_FunctionPrototypes - * @{ - */ - -static void TI1_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, - uint16_t TIM_ICFilter); -static void TI2_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, - uint16_t TIM_ICFilter); -static void TI3_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, - uint16_t TIM_ICFilter); -static void TI4_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, - uint16_t TIM_ICFilter); -/** - * @} - */ - -/** @defgroup TIM_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup TIM_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup TIM_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup TIM_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the TIMx peripheral registers to their default reset values. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @retval None - */ -void TIM_DeInit(TIM_TypeDef* TIMx) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - - if (TIMx == TIM1) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, DISABLE); - } - else if (TIMx == TIM2) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, DISABLE); - } - else if (TIMx == TIM3) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, DISABLE); - } - else if (TIMx == TIM4) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, DISABLE); - } - else if (TIMx == TIM5) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, DISABLE); - } - else if (TIMx == TIM6) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, DISABLE); - } - else if (TIMx == TIM7) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, DISABLE); - } - else if (TIMx == TIM8) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, DISABLE); - } - else if (TIMx == TIM9) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM9, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM9, DISABLE); - } - else if (TIMx == TIM10) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM10, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM10, DISABLE); - } - else if (TIMx == TIM11) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM11, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM11, DISABLE); - } - else if (TIMx == TIM12) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM12, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM12, DISABLE); - } - else if (TIMx == TIM13) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM13, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM13, DISABLE); - } - else if (TIMx == TIM14) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM14, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM14, DISABLE); - } - else if (TIMx == TIM15) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM15, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM15, DISABLE); - } - else if (TIMx == TIM16) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM16, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM16, DISABLE); - } - else - { - if (TIMx == TIM17) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM17, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM17, DISABLE); - } - } -} - -/** - * @brief Initializes the TIMx Time Base Unit peripheral according to - * the specified parameters in the TIM_TimeBaseInitStruct. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param TIM_TimeBaseInitStruct: pointer to a TIM_TimeBaseInitTypeDef - * structure that contains the configuration information for the - * specified TIM peripheral. - * @retval None - */ -void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct) -{ - uint16_t tmpcr1 = 0; - - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_TIM_COUNTER_MODE(TIM_TimeBaseInitStruct->TIM_CounterMode)); - assert_param(IS_TIM_CKD_DIV(TIM_TimeBaseInitStruct->TIM_ClockDivision)); - - tmpcr1 = TIMx->CR1; - - if((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM2) || (TIMx == TIM3)|| - (TIMx == TIM4) || (TIMx == TIM5)) - { - /* Select the Counter Mode */ - tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_CR1_DIR | TIM_CR1_CMS))); - tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; - } - - if((TIMx != TIM6) && (TIMx != TIM7)) - { - /* Set the clock division */ - tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CR1_CKD)); - tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; - } - - TIMx->CR1 = tmpcr1; - - /* Set the Autoreload value */ - TIMx->ARR = TIM_TimeBaseInitStruct->TIM_Period ; - - /* Set the Prescaler value */ - TIMx->PSC = TIM_TimeBaseInitStruct->TIM_Prescaler; - - if ((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM15)|| (TIMx == TIM16) || (TIMx == TIM17)) - { - /* Set the Repetition Counter value */ - TIMx->RCR = TIM_TimeBaseInitStruct->TIM_RepetitionCounter; - } - - /* Generate an update event to reload the Prescaler and the Repetition counter - values immediately */ - TIMx->EGR = TIM_PSCReloadMode_Immediate; -} - -/** - * @brief Initializes the TIMx Channel1 according to the specified - * parameters in the TIM_OCInitStruct. - * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. - * @param TIM_OCInitStruct: pointer to a TIM_OCInitTypeDef structure - * that contains the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct) -{ - uint16_t tmpccmrx = 0, tmpccer = 0, tmpcr2 = 0; - - /* Check the parameters */ - assert_param(IS_TIM_LIST8_PERIPH(TIMx)); - assert_param(IS_TIM_OC_MODE(TIM_OCInitStruct->TIM_OCMode)); - assert_param(IS_TIM_OUTPUT_STATE(TIM_OCInitStruct->TIM_OutputState)); - assert_param(IS_TIM_OC_POLARITY(TIM_OCInitStruct->TIM_OCPolarity)); - /* Disable the Channel 1: Reset the CC1E Bit */ - TIMx->CCER &= (uint16_t)(~(uint16_t)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 &= (uint16_t)(~((uint16_t)TIM_CCMR1_OC1M)); - tmpccmrx &= (uint16_t)(~((uint16_t)TIM_CCMR1_CC1S)); - - /* Select the Output Compare Mode */ - tmpccmrx |= TIM_OCInitStruct->TIM_OCMode; - - /* Reset the Output Polarity level */ - tmpccer &= (uint16_t)(~((uint16_t)TIM_CCER_CC1P)); - /* Set the Output Compare Polarity */ - tmpccer |= TIM_OCInitStruct->TIM_OCPolarity; - - /* Set the Output State */ - tmpccer |= TIM_OCInitStruct->TIM_OutputState; - - if((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM15)|| - (TIMx == TIM16)|| (TIMx == TIM17)) - { - assert_param(IS_TIM_OUTPUTN_STATE(TIM_OCInitStruct->TIM_OutputNState)); - assert_param(IS_TIM_OCN_POLARITY(TIM_OCInitStruct->TIM_OCNPolarity)); - assert_param(IS_TIM_OCNIDLE_STATE(TIM_OCInitStruct->TIM_OCNIdleState)); - assert_param(IS_TIM_OCIDLE_STATE(TIM_OCInitStruct->TIM_OCIdleState)); - - /* Reset the Output N Polarity level */ - tmpccer &= (uint16_t)(~((uint16_t)TIM_CCER_CC1NP)); - /* Set the Output N Polarity */ - tmpccer |= TIM_OCInitStruct->TIM_OCNPolarity; - - /* Reset the Output N State */ - tmpccer &= (uint16_t)(~((uint16_t)TIM_CCER_CC1NE)); - /* Set the Output N State */ - tmpccer |= TIM_OCInitStruct->TIM_OutputNState; - - /* Reset the Output Compare and Output Compare N IDLE State */ - tmpcr2 &= (uint16_t)(~((uint16_t)TIM_CR2_OIS1)); - tmpcr2 &= (uint16_t)(~((uint16_t)TIM_CR2_OIS1N)); - - /* Set the Output Idle state */ - tmpcr2 |= TIM_OCInitStruct->TIM_OCIdleState; - /* Set the Output N Idle state */ - tmpcr2 |= TIM_OCInitStruct->TIM_OCNIdleState; - } - /* Write to TIMx CR2 */ - TIMx->CR2 = tmpcr2; - - /* Write to TIMx CCMR1 */ - TIMx->CCMR1 = tmpccmrx; - - /* Set the Capture Compare Register value */ - TIMx->CCR1 = TIM_OCInitStruct->TIM_Pulse; - - /* Write to TIMx CCER */ - TIMx->CCER = tmpccer; -} - -/** - * @brief Initializes the TIMx Channel2 according to the specified - * parameters in the TIM_OCInitStruct. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select - * the TIM peripheral. - * @param TIM_OCInitStruct: pointer to a TIM_OCInitTypeDef structure - * that contains the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct) -{ - uint16_t tmpccmrx = 0, tmpccer = 0, tmpcr2 = 0; - - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - assert_param(IS_TIM_OC_MODE(TIM_OCInitStruct->TIM_OCMode)); - assert_param(IS_TIM_OUTPUT_STATE(TIM_OCInitStruct->TIM_OutputState)); - assert_param(IS_TIM_OC_POLARITY(TIM_OCInitStruct->TIM_OCPolarity)); - /* Disable the Channel 2: Reset the CC2E Bit */ - TIMx->CCER &= (uint16_t)(~((uint16_t)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 &= (uint16_t)(~((uint16_t)TIM_CCMR1_OC2M)); - tmpccmrx &= (uint16_t)(~((uint16_t)TIM_CCMR1_CC2S)); - - /* Select the Output Compare Mode */ - tmpccmrx |= (uint16_t)(TIM_OCInitStruct->TIM_OCMode << 8); - - /* Reset the Output Polarity level */ - tmpccer &= (uint16_t)(~((uint16_t)TIM_CCER_CC2P)); - /* Set the Output Compare Polarity */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCPolarity << 4); - - /* Set the Output State */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputState << 4); - - if((TIMx == TIM1) || (TIMx == TIM8)) - { - assert_param(IS_TIM_OUTPUTN_STATE(TIM_OCInitStruct->TIM_OutputNState)); - assert_param(IS_TIM_OCN_POLARITY(TIM_OCInitStruct->TIM_OCNPolarity)); - assert_param(IS_TIM_OCNIDLE_STATE(TIM_OCInitStruct->TIM_OCNIdleState)); - assert_param(IS_TIM_OCIDLE_STATE(TIM_OCInitStruct->TIM_OCIdleState)); - - /* Reset the Output N Polarity level */ - tmpccer &= (uint16_t)(~((uint16_t)TIM_CCER_CC2NP)); - /* Set the Output N Polarity */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCNPolarity << 4); - - /* Reset the Output N State */ - tmpccer &= (uint16_t)(~((uint16_t)TIM_CCER_CC2NE)); - /* Set the Output N State */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputNState << 4); - - /* Reset the Output Compare and Output Compare N IDLE State */ - tmpcr2 &= (uint16_t)(~((uint16_t)TIM_CR2_OIS2)); - tmpcr2 &= (uint16_t)(~((uint16_t)TIM_CR2_OIS2N)); - - /* Set the Output Idle state */ - tmpcr2 |= (uint16_t)(TIM_OCInitStruct->TIM_OCIdleState << 2); - /* Set the Output N Idle state */ - tmpcr2 |= (uint16_t)(TIM_OCInitStruct->TIM_OCNIdleState << 2); - } - /* Write to TIMx CR2 */ - TIMx->CR2 = tmpcr2; - - /* Write to TIMx CCMR1 */ - TIMx->CCMR1 = tmpccmrx; - - /* Set the Capture Compare Register value */ - TIMx->CCR2 = TIM_OCInitStruct->TIM_Pulse; - - /* Write to TIMx CCER */ - TIMx->CCER = tmpccer; -} - -/** - * @brief Initializes the TIMx Channel3 according to the specified - * parameters in the TIM_OCInitStruct. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_OCInitStruct: pointer to a TIM_OCInitTypeDef structure - * that contains the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_OC3Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct) -{ - uint16_t tmpccmrx = 0, tmpccer = 0, tmpcr2 = 0; - - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_OC_MODE(TIM_OCInitStruct->TIM_OCMode)); - assert_param(IS_TIM_OUTPUT_STATE(TIM_OCInitStruct->TIM_OutputState)); - assert_param(IS_TIM_OC_POLARITY(TIM_OCInitStruct->TIM_OCPolarity)); - /* Disable the Channel 2: Reset the CC2E Bit */ - TIMx->CCER &= (uint16_t)(~((uint16_t)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 &= (uint16_t)(~((uint16_t)TIM_CCMR2_OC3M)); - tmpccmrx &= (uint16_t)(~((uint16_t)TIM_CCMR2_CC3S)); - /* Select the Output Compare Mode */ - tmpccmrx |= TIM_OCInitStruct->TIM_OCMode; - - /* Reset the Output Polarity level */ - tmpccer &= (uint16_t)(~((uint16_t)TIM_CCER_CC3P)); - /* Set the Output Compare Polarity */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCPolarity << 8); - - /* Set the Output State */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputState << 8); - - if((TIMx == TIM1) || (TIMx == TIM8)) - { - assert_param(IS_TIM_OUTPUTN_STATE(TIM_OCInitStruct->TIM_OutputNState)); - assert_param(IS_TIM_OCN_POLARITY(TIM_OCInitStruct->TIM_OCNPolarity)); - assert_param(IS_TIM_OCNIDLE_STATE(TIM_OCInitStruct->TIM_OCNIdleState)); - assert_param(IS_TIM_OCIDLE_STATE(TIM_OCInitStruct->TIM_OCIdleState)); - - /* Reset the Output N Polarity level */ - tmpccer &= (uint16_t)(~((uint16_t)TIM_CCER_CC3NP)); - /* Set the Output N Polarity */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCNPolarity << 8); - /* Reset the Output N State */ - tmpccer &= (uint16_t)(~((uint16_t)TIM_CCER_CC3NE)); - - /* Set the Output N State */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputNState << 8); - /* Reset the Output Compare and Output Compare N IDLE State */ - tmpcr2 &= (uint16_t)(~((uint16_t)TIM_CR2_OIS3)); - tmpcr2 &= (uint16_t)(~((uint16_t)TIM_CR2_OIS3N)); - /* Set the Output Idle state */ - tmpcr2 |= (uint16_t)(TIM_OCInitStruct->TIM_OCIdleState << 4); - /* Set the Output N Idle state */ - tmpcr2 |= (uint16_t)(TIM_OCInitStruct->TIM_OCNIdleState << 4); - } - /* Write to TIMx CR2 */ - TIMx->CR2 = tmpcr2; - - /* Write to TIMx CCMR2 */ - TIMx->CCMR2 = tmpccmrx; - - /* Set the Capture Compare Register value */ - TIMx->CCR3 = TIM_OCInitStruct->TIM_Pulse; - - /* Write to TIMx CCER */ - TIMx->CCER = tmpccer; -} - -/** - * @brief Initializes the TIMx Channel4 according to the specified - * parameters in the TIM_OCInitStruct. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_OCInitStruct: pointer to a TIM_OCInitTypeDef structure - * that contains the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_OC4Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct) -{ - uint16_t tmpccmrx = 0, tmpccer = 0, tmpcr2 = 0; - - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_OC_MODE(TIM_OCInitStruct->TIM_OCMode)); - assert_param(IS_TIM_OUTPUT_STATE(TIM_OCInitStruct->TIM_OutputState)); - assert_param(IS_TIM_OC_POLARITY(TIM_OCInitStruct->TIM_OCPolarity)); - /* Disable the Channel 2: Reset the CC4E Bit */ - TIMx->CCER &= (uint16_t)(~((uint16_t)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 &= (uint16_t)(~((uint16_t)TIM_CCMR2_OC4M)); - tmpccmrx &= (uint16_t)(~((uint16_t)TIM_CCMR2_CC4S)); - - /* Select the Output Compare Mode */ - tmpccmrx |= (uint16_t)(TIM_OCInitStruct->TIM_OCMode << 8); - - /* Reset the Output Polarity level */ - tmpccer &= (uint16_t)(~((uint16_t)TIM_CCER_CC4P)); - /* Set the Output Compare Polarity */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCPolarity << 12); - - /* Set the Output State */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputState << 12); - - if((TIMx == TIM1) || (TIMx == TIM8)) - { - assert_param(IS_TIM_OCIDLE_STATE(TIM_OCInitStruct->TIM_OCIdleState)); - /* Reset the Output Compare IDLE State */ - tmpcr2 &= (uint16_t)(~((uint16_t)TIM_CR2_OIS4)); - /* Set the Output Idle state */ - tmpcr2 |= (uint16_t)(TIM_OCInitStruct->TIM_OCIdleState << 6); - } - /* Write to TIMx CR2 */ - TIMx->CR2 = tmpcr2; - - /* Write to TIMx CCMR2 */ - TIMx->CCMR2 = tmpccmrx; - - /* Set the Capture Compare Register value */ - TIMx->CCR4 = TIM_OCInitStruct->TIM_Pulse; - - /* Write to TIMx CCER */ - TIMx->CCER = tmpccer; -} - -/** - * @brief Initializes the TIM peripheral according to the specified - * parameters in the TIM_ICInitStruct. - * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. - * @param TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure - * that contains the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct) -{ - /* Check the parameters */ - assert_param(IS_TIM_CHANNEL(TIM_ICInitStruct->TIM_Channel)); - assert_param(IS_TIM_IC_SELECTION(TIM_ICInitStruct->TIM_ICSelection)); - assert_param(IS_TIM_IC_PRESCALER(TIM_ICInitStruct->TIM_ICPrescaler)); - assert_param(IS_TIM_IC_FILTER(TIM_ICInitStruct->TIM_ICFilter)); - - if((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM2) || (TIMx == TIM3) || - (TIMx == TIM4) ||(TIMx == TIM5)) - { - assert_param(IS_TIM_IC_POLARITY(TIM_ICInitStruct->TIM_ICPolarity)); - } - else - { - assert_param(IS_TIM_IC_POLARITY_LITE(TIM_ICInitStruct->TIM_ICPolarity)); - } - if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_1) - { - assert_param(IS_TIM_LIST8_PERIPH(TIMx)); - /* TI1 Configuration */ - TI1_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity, - TIM_ICInitStruct->TIM_ICSelection, - TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC1Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - } - else if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_2) - { - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - /* TI2 Configuration */ - TI2_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity, - TIM_ICInitStruct->TIM_ICSelection, - TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC2Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - } - else if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_3) - { - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - /* TI3 Configuration */ - TI3_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity, - TIM_ICInitStruct->TIM_ICSelection, - TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC3Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - } - else - { - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - /* TI4 Configuration */ - TI4_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity, - TIM_ICInitStruct->TIM_ICSelection, - TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC4Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - } -} - -/** - * @brief Configures the TIM peripheral according to the specified - * parameters in the TIM_ICInitStruct to measure an external PWM signal. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral. - * @param TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure - * that contains the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct) -{ - uint16_t icoppositepolarity = TIM_ICPolarity_Rising; - uint16_t icoppositeselection = TIM_ICSelection_DirectTI; - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - /* Select the Opposite Input Polarity */ - if (TIM_ICInitStruct->TIM_ICPolarity == TIM_ICPolarity_Rising) - { - icoppositepolarity = TIM_ICPolarity_Falling; - } - else - { - icoppositepolarity = TIM_ICPolarity_Rising; - } - /* Select the Opposite Input */ - if (TIM_ICInitStruct->TIM_ICSelection == TIM_ICSelection_DirectTI) - { - icoppositeselection = TIM_ICSelection_IndirectTI; - } - else - { - icoppositeselection = TIM_ICSelection_DirectTI; - } - if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_1) - { - /* TI1 Configuration */ - TI1_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity, TIM_ICInitStruct->TIM_ICSelection, - TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC1Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - /* TI2 Configuration */ - TI2_Config(TIMx, icoppositepolarity, icoppositeselection, TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC2Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - } - else - { - /* TI2 Configuration */ - TI2_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity, TIM_ICInitStruct->TIM_ICSelection, - TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC2Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - /* TI1 Configuration */ - TI1_Config(TIMx, icoppositepolarity, icoppositeselection, TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC1Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - } -} - -/** - * @brief Configures the: Break feature, dead time, Lock level, the OSSI, - * the OSSR State and the AOE(automatic output enable). - * @param TIMx: where x can be 1 or 8 to select the TIM - * @param TIM_BDTRInitStruct: pointer to a TIM_BDTRInitTypeDef structure that - * contains the BDTR Register configuration information for the TIM peripheral. - * @retval None - */ -void TIM_BDTRConfig(TIM_TypeDef* TIMx, TIM_BDTRInitTypeDef *TIM_BDTRInitStruct) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - assert_param(IS_TIM_OSSR_STATE(TIM_BDTRInitStruct->TIM_OSSRState)); - assert_param(IS_TIM_OSSI_STATE(TIM_BDTRInitStruct->TIM_OSSIState)); - assert_param(IS_TIM_LOCK_LEVEL(TIM_BDTRInitStruct->TIM_LOCKLevel)); - assert_param(IS_TIM_BREAK_STATE(TIM_BDTRInitStruct->TIM_Break)); - assert_param(IS_TIM_BREAK_POLARITY(TIM_BDTRInitStruct->TIM_BreakPolarity)); - assert_param(IS_TIM_AUTOMATIC_OUTPUT_STATE(TIM_BDTRInitStruct->TIM_AutomaticOutput)); - /* Set the Lock level, the Break enable Bit and the Ploarity, the OSSR State, - the OSSI State, the dead time value and the Automatic Output Enable Bit */ - TIMx->BDTR = (uint32_t)TIM_BDTRInitStruct->TIM_OSSRState | TIM_BDTRInitStruct->TIM_OSSIState | - TIM_BDTRInitStruct->TIM_LOCKLevel | TIM_BDTRInitStruct->TIM_DeadTime | - TIM_BDTRInitStruct->TIM_Break | TIM_BDTRInitStruct->TIM_BreakPolarity | - TIM_BDTRInitStruct->TIM_AutomaticOutput; -} - -/** - * @brief Fills each TIM_TimeBaseInitStruct member with its default value. - * @param TIM_TimeBaseInitStruct : pointer to a TIM_TimeBaseInitTypeDef - * structure which will be initialized. - * @retval None - */ -void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct) -{ - /* Set the default configuration */ - TIM_TimeBaseInitStruct->TIM_Period = 0xFFFF; - TIM_TimeBaseInitStruct->TIM_Prescaler = 0x0000; - TIM_TimeBaseInitStruct->TIM_ClockDivision = TIM_CKD_DIV1; - TIM_TimeBaseInitStruct->TIM_CounterMode = TIM_CounterMode_Up; - TIM_TimeBaseInitStruct->TIM_RepetitionCounter = 0x0000; -} - -/** - * @brief Fills each TIM_OCInitStruct member with its default value. - * @param TIM_OCInitStruct : pointer to a TIM_OCInitTypeDef structure which will - * be initialized. - * @retval None - */ -void TIM_OCStructInit(TIM_OCInitTypeDef* TIM_OCInitStruct) -{ - /* Set the default configuration */ - TIM_OCInitStruct->TIM_OCMode = TIM_OCMode_Timing; - TIM_OCInitStruct->TIM_OutputState = TIM_OutputState_Disable; - TIM_OCInitStruct->TIM_OutputNState = TIM_OutputNState_Disable; - TIM_OCInitStruct->TIM_Pulse = 0x0000; - TIM_OCInitStruct->TIM_OCPolarity = TIM_OCPolarity_High; - TIM_OCInitStruct->TIM_OCNPolarity = TIM_OCPolarity_High; - TIM_OCInitStruct->TIM_OCIdleState = TIM_OCIdleState_Reset; - TIM_OCInitStruct->TIM_OCNIdleState = TIM_OCNIdleState_Reset; -} - -/** - * @brief Fills each TIM_ICInitStruct member with its default value. - * @param TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure which will - * be initialized. - * @retval None - */ -void TIM_ICStructInit(TIM_ICInitTypeDef* TIM_ICInitStruct) -{ - /* Set the default configuration */ - TIM_ICInitStruct->TIM_Channel = TIM_Channel_1; - TIM_ICInitStruct->TIM_ICPolarity = TIM_ICPolarity_Rising; - TIM_ICInitStruct->TIM_ICSelection = TIM_ICSelection_DirectTI; - TIM_ICInitStruct->TIM_ICPrescaler = TIM_ICPSC_DIV1; - TIM_ICInitStruct->TIM_ICFilter = 0x00; -} - -/** - * @brief Fills each TIM_BDTRInitStruct member with its default value. - * @param TIM_BDTRInitStruct: pointer to a TIM_BDTRInitTypeDef structure which - * will be initialized. - * @retval None - */ -void TIM_BDTRStructInit(TIM_BDTRInitTypeDef* TIM_BDTRInitStruct) -{ - /* Set the default configuration */ - TIM_BDTRInitStruct->TIM_OSSRState = TIM_OSSRState_Disable; - TIM_BDTRInitStruct->TIM_OSSIState = TIM_OSSIState_Disable; - TIM_BDTRInitStruct->TIM_LOCKLevel = TIM_LOCKLevel_OFF; - TIM_BDTRInitStruct->TIM_DeadTime = 0x00; - TIM_BDTRInitStruct->TIM_Break = TIM_Break_Disable; - TIM_BDTRInitStruct->TIM_BreakPolarity = TIM_BreakPolarity_Low; - TIM_BDTRInitStruct->TIM_AutomaticOutput = TIM_AutomaticOutput_Disable; -} - -/** - * @brief Enables or disables the specified TIM peripheral. - * @param TIMx: where x can be 1 to 17 to select the TIMx peripheral. - * @param NewState: new state of the TIMx peripheral. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the TIM Counter */ - TIMx->CR1 |= TIM_CR1_CEN; - } - else - { - /* Disable the TIM Counter */ - TIMx->CR1 &= (uint16_t)(~((uint16_t)TIM_CR1_CEN)); - } -} - -/** - * @brief Enables or disables the TIM peripheral Main Outputs. - * @param TIMx: where x can be 1, 8, 15, 16 or 17 to select the TIMx peripheral. - * @param NewState: new state of the TIM peripheral Main Outputs. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the TIM Main Output */ - TIMx->BDTR |= TIM_BDTR_MOE; - } - else - { - /* Disable the TIM Main Output */ - TIMx->BDTR &= (uint16_t)(~((uint16_t)TIM_BDTR_MOE)); - } -} - -/** - * @brief Enables or disables the specified TIM interrupts. - * @param TIMx: where x can be 1 to 17 to select the TIMx peripheral. - * @param TIM_IT: specifies the TIM interrupts sources to be enabled or disabled. - * This parameter can be any combination of the following values: - * @arg TIM_IT_Update: TIM update Interrupt source - * @arg TIM_IT_CC1: TIM Capture Compare 1 Interrupt source - * @arg TIM_IT_CC2: TIM Capture Compare 2 Interrupt source - * @arg TIM_IT_CC3: TIM Capture Compare 3 Interrupt source - * @arg TIM_IT_CC4: TIM Capture Compare 4 Interrupt source - * @arg TIM_IT_COM: TIM Commutation Interrupt source - * @arg TIM_IT_Trigger: TIM Trigger Interrupt source - * @arg TIM_IT_Break: TIM Break Interrupt source - * @note - * - TIM6 and TIM7 can only generate an update interrupt. - * - TIM9, TIM12 and TIM15 can have only TIM_IT_Update, TIM_IT_CC1, - * TIM_IT_CC2 or TIM_IT_Trigger. - * - TIM10, TIM11, TIM13, TIM14, TIM16 and TIM17 can have TIM_IT_Update or TIM_IT_CC1. - * - TIM_IT_Break is used only with TIM1, TIM8 and TIM15. - * - TIM_IT_COM is used only with TIM1, TIM8, TIM15, TIM16 and TIM17. - * @param NewState: new state of the TIM interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_TIM_IT(TIM_IT)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the Interrupt sources */ - TIMx->DIER |= TIM_IT; - } - else - { - /* Disable the Interrupt sources */ - TIMx->DIER &= (uint16_t)~TIM_IT; - } -} - -/** - * @brief Configures the TIMx event to be generate by software. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param TIM_EventSource: specifies the event source. - * This parameter can be one or more of the following values: - * @arg TIM_EventSource_Update: Timer update Event source - * @arg TIM_EventSource_CC1: Timer Capture Compare 1 Event source - * @arg TIM_EventSource_CC2: Timer Capture Compare 2 Event source - * @arg TIM_EventSource_CC3: Timer Capture Compare 3 Event source - * @arg TIM_EventSource_CC4: Timer Capture Compare 4 Event source - * @arg TIM_EventSource_COM: Timer COM event source - * @arg TIM_EventSource_Trigger: Timer Trigger Event source - * @arg TIM_EventSource_Break: Timer Break event source - * @note - * - TIM6 and TIM7 can only generate an update event. - * - TIM_EventSource_COM and TIM_EventSource_Break are used only with TIM1 and TIM8. - * @retval None - */ -void TIM_GenerateEvent(TIM_TypeDef* TIMx, uint16_t TIM_EventSource) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_TIM_EVENT_SOURCE(TIM_EventSource)); - - /* Set the event sources */ - TIMx->EGR = TIM_EventSource; -} - -/** - * @brief Configures the TIMx's DMA interface. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 15, 16 or 17 to select - * the TIM peripheral. - * @param TIM_DMABase: DMA Base address. - * This parameter can be one of the following values: - * @arg TIM_DMABase_CR, TIM_DMABase_CR2, TIM_DMABase_SMCR, - * TIM_DMABase_DIER, TIM1_DMABase_SR, TIM_DMABase_EGR, - * TIM_DMABase_CCMR1, TIM_DMABase_CCMR2, TIM_DMABase_CCER, - * TIM_DMABase_CNT, TIM_DMABase_PSC, TIM_DMABase_ARR, - * TIM_DMABase_RCR, TIM_DMABase_CCR1, TIM_DMABase_CCR2, - * TIM_DMABase_CCR3, TIM_DMABase_CCR4, TIM_DMABase_BDTR, - * TIM_DMABase_DCR. - * @param TIM_DMABurstLength: DMA Burst length. - * This parameter can be one value between: - * TIM_DMABurstLength_1Transfer and TIM_DMABurstLength_18Transfers. - * @retval None - */ -void TIM_DMAConfig(TIM_TypeDef* TIMx, uint16_t TIM_DMABase, uint16_t TIM_DMABurstLength) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST4_PERIPH(TIMx)); - assert_param(IS_TIM_DMA_BASE(TIM_DMABase)); - assert_param(IS_TIM_DMA_LENGTH(TIM_DMABurstLength)); - /* Set the DMA Base and the DMA Burst Length */ - TIMx->DCR = TIM_DMABase | TIM_DMABurstLength; -} - -/** - * @brief Enables or disables the TIMx's DMA Requests. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 6, 7, 8, 15, 16 or 17 - * to select the TIM peripheral. - * @param TIM_DMASource: specifies the DMA Request sources. - * This parameter can be any combination 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 NewState: new state of the DMA Request sources. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_DMACmd(TIM_TypeDef* TIMx, uint16_t TIM_DMASource, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST9_PERIPH(TIMx)); - assert_param(IS_TIM_DMA_SOURCE(TIM_DMASource)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the DMA sources */ - TIMx->DIER |= TIM_DMASource; - } - else - { - /* Disable the DMA sources */ - TIMx->DIER &= (uint16_t)~TIM_DMASource; - } -} - -/** - * @brief Configures the TIMx internal Clock - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 - * to select the TIM peripheral. - * @retval None - */ -void TIM_InternalClockConfig(TIM_TypeDef* TIMx) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - /* Disable slave mode to clock the prescaler directly with the internal clock */ - TIMx->SMCR &= (uint16_t)(~((uint16_t)TIM_SMCR_SMS)); -} - -/** - * @brief Configures the TIMx Internal Trigger as External Clock - * @param TIMx: where x can be 1, 2, 3, 4, 5, 9, 12 or 15 to select the TIM peripheral. - * @param TIM_ITRSource: Trigger source. - * This parameter can be one of the following values: - * @param TIM_TS_ITR0: Internal Trigger 0 - * @param TIM_TS_ITR1: Internal Trigger 1 - * @param TIM_TS_ITR2: Internal Trigger 2 - * @param TIM_TS_ITR3: Internal Trigger 3 - * @retval None - */ -void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - assert_param(IS_TIM_INTERNAL_TRIGGER_SELECTION(TIM_InputTriggerSource)); - /* Select the Internal Trigger */ - TIM_SelectInputTrigger(TIMx, TIM_InputTriggerSource); - /* Select the External clock mode1 */ - TIMx->SMCR |= TIM_SlaveMode_External1; -} - -/** - * @brief Configures the TIMx Trigger as External Clock - * @param TIMx: where x can be 1, 2, 3, 4, 5, 9, 12 or 15 to select the TIM peripheral. - * @param TIM_TIxExternalCLKSource: Trigger source. - * This parameter can be one of the following values: - * @arg TIM_TIxExternalCLK1Source_TI1ED: TI1 Edge Detector - * @arg TIM_TIxExternalCLK1Source_TI1: Filtered Timer Input 1 - * @arg TIM_TIxExternalCLK1Source_TI2: Filtered Timer Input 2 - * @param TIM_ICPolarity: specifies the TIx Polarity. - * This parameter can be one of the following values: - * @arg TIM_ICPolarity_Rising - * @arg TIM_ICPolarity_Falling - * @param ICFilter : specifies the filter value. - * This parameter must be a value between 0x0 and 0xF. - * @retval None - */ -void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_TIxExternalCLKSource, - uint16_t TIM_ICPolarity, uint16_t ICFilter) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - assert_param(IS_TIM_TIXCLK_SOURCE(TIM_TIxExternalCLKSource)); - assert_param(IS_TIM_IC_POLARITY(TIM_ICPolarity)); - assert_param(IS_TIM_IC_FILTER(ICFilter)); - /* Configure the Timer Input Clock Source */ - if (TIM_TIxExternalCLKSource == TIM_TIxExternalCLK1Source_TI2) - { - TI2_Config(TIMx, TIM_ICPolarity, TIM_ICSelection_DirectTI, ICFilter); - } - else - { - TI1_Config(TIMx, TIM_ICPolarity, TIM_ICSelection_DirectTI, ICFilter); - } - /* Select the Trigger source */ - TIM_SelectInputTrigger(TIMx, TIM_TIxExternalCLKSource); - /* Select the External clock mode1 */ - TIMx->SMCR |= TIM_SlaveMode_External1; -} - -/** - * @brief Configures the External clock Mode1 - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_ExtTRGPrescaler: The external Trigger Prescaler. - * This parameter can be one of the following values: - * @arg TIM_ExtTRGPSC_OFF: ETRP Prescaler OFF. - * @arg TIM_ExtTRGPSC_DIV2: ETRP frequency divided by 2. - * @arg TIM_ExtTRGPSC_DIV4: ETRP frequency divided by 4. - * @arg TIM_ExtTRGPSC_DIV8: ETRP frequency divided by 8. - * @param TIM_ExtTRGPolarity: The external Trigger Polarity. - * This parameter can be one of the following values: - * @arg TIM_ExtTRGPolarity_Inverted: active low or falling edge active. - * @arg TIM_ExtTRGPolarity_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_ETRClockMode1Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, - uint16_t ExtTRGFilter) -{ - uint16_t tmpsmcr = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_EXT_PRESCALER(TIM_ExtTRGPrescaler)); - assert_param(IS_TIM_EXT_POLARITY(TIM_ExtTRGPolarity)); - assert_param(IS_TIM_EXT_FILTER(ExtTRGFilter)); - /* Configure the ETR Clock source */ - TIM_ETRConfig(TIMx, TIM_ExtTRGPrescaler, TIM_ExtTRGPolarity, ExtTRGFilter); - - /* Get the TIMx SMCR register value */ - tmpsmcr = TIMx->SMCR; - /* Reset the SMS Bits */ - tmpsmcr &= (uint16_t)(~((uint16_t)TIM_SMCR_SMS)); - /* Select the External clock mode1 */ - tmpsmcr |= TIM_SlaveMode_External1; - /* Select the Trigger selection : ETRF */ - tmpsmcr &= (uint16_t)(~((uint16_t)TIM_SMCR_TS)); - tmpsmcr |= TIM_TS_ETRF; - /* Write to TIMx SMCR */ - TIMx->SMCR = tmpsmcr; -} - -/** - * @brief Configures the External clock Mode2 - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_ExtTRGPrescaler: The external Trigger Prescaler. - * This parameter can be one of the following values: - * @arg TIM_ExtTRGPSC_OFF: ETRP Prescaler OFF. - * @arg TIM_ExtTRGPSC_DIV2: ETRP frequency divided by 2. - * @arg TIM_ExtTRGPSC_DIV4: ETRP frequency divided by 4. - * @arg TIM_ExtTRGPSC_DIV8: ETRP frequency divided by 8. - * @param TIM_ExtTRGPolarity: The external Trigger Polarity. - * This parameter can be one of the following values: - * @arg TIM_ExtTRGPolarity_Inverted: active low or falling edge active. - * @arg TIM_ExtTRGPolarity_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_ETRClockMode2Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, - uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_EXT_PRESCALER(TIM_ExtTRGPrescaler)); - assert_param(IS_TIM_EXT_POLARITY(TIM_ExtTRGPolarity)); - assert_param(IS_TIM_EXT_FILTER(ExtTRGFilter)); - /* Configure the ETR Clock source */ - TIM_ETRConfig(TIMx, TIM_ExtTRGPrescaler, TIM_ExtTRGPolarity, ExtTRGFilter); - /* Enable the External clock mode2 */ - TIMx->SMCR |= TIM_SMCR_ECE; -} - -/** - * @brief Configures the TIMx External Trigger (ETR). - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_ExtTRGPrescaler: The external Trigger Prescaler. - * This parameter can be one of the following values: - * @arg TIM_ExtTRGPSC_OFF: ETRP Prescaler OFF. - * @arg TIM_ExtTRGPSC_DIV2: ETRP frequency divided by 2. - * @arg TIM_ExtTRGPSC_DIV4: ETRP frequency divided by 4. - * @arg TIM_ExtTRGPSC_DIV8: ETRP frequency divided by 8. - * @param TIM_ExtTRGPolarity: The external Trigger Polarity. - * This parameter can be one of the following values: - * @arg TIM_ExtTRGPolarity_Inverted: active low or falling edge active. - * @arg TIM_ExtTRGPolarity_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_ETRConfig(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, - uint16_t ExtTRGFilter) -{ - uint16_t tmpsmcr = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_EXT_PRESCALER(TIM_ExtTRGPrescaler)); - assert_param(IS_TIM_EXT_POLARITY(TIM_ExtTRGPolarity)); - assert_param(IS_TIM_EXT_FILTER(ExtTRGFilter)); - tmpsmcr = TIMx->SMCR; - /* Reset the ETR Bits */ - tmpsmcr &= SMCR_ETR_Mask; - /* Set the Prescaler, the Filter value and the Polarity */ - tmpsmcr |= (uint16_t)(TIM_ExtTRGPrescaler | (uint16_t)(TIM_ExtTRGPolarity | (uint16_t)(ExtTRGFilter << (uint16_t)8))); - /* Write to TIMx SMCR */ - TIMx->SMCR = tmpsmcr; -} - -/** - * @brief Configures the TIMx Prescaler. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param Prescaler: specifies the Prescaler Register value - * @param TIM_PSCReloadMode: specifies the TIM Prescaler Reload mode - * This parameter can be one of the following values: - * @arg TIM_PSCReloadMode_Update: The Prescaler is loaded at the update event. - * @arg TIM_PSCReloadMode_Immediate: The Prescaler is loaded immediately. - * @retval None - */ -void TIM_PrescalerConfig(TIM_TypeDef* TIMx, uint16_t Prescaler, uint16_t TIM_PSCReloadMode) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_TIM_PRESCALER_RELOAD(TIM_PSCReloadMode)); - /* Set the Prescaler value */ - TIMx->PSC = Prescaler; - /* Set or reset the UG Bit */ - TIMx->EGR = TIM_PSCReloadMode; -} - -/** - * @brief Specifies the TIMx Counter Mode to be used. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_CounterMode: specifies the Counter Mode to be used - * This parameter can be one of the following values: - * @arg TIM_CounterMode_Up: TIM Up Counting Mode - * @arg TIM_CounterMode_Down: TIM Down Counting Mode - * @arg TIM_CounterMode_CenterAligned1: TIM Center Aligned Mode1 - * @arg TIM_CounterMode_CenterAligned2: TIM Center Aligned Mode2 - * @arg TIM_CounterMode_CenterAligned3: TIM Center Aligned Mode3 - * @retval None - */ -void TIM_CounterModeConfig(TIM_TypeDef* TIMx, uint16_t TIM_CounterMode) -{ - uint16_t tmpcr1 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_COUNTER_MODE(TIM_CounterMode)); - tmpcr1 = TIMx->CR1; - /* Reset the CMS and DIR Bits */ - tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_CR1_DIR | TIM_CR1_CMS))); - /* Set the Counter Mode */ - tmpcr1 |= TIM_CounterMode; - /* Write to TIMx CR1 register */ - TIMx->CR1 = tmpcr1; -} - -/** - * @brief Selects the Input Trigger source - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral. - * @param TIM_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 - */ -void TIM_SelectInputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource) -{ - uint16_t tmpsmcr = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - assert_param(IS_TIM_TRIGGER_SELECTION(TIM_InputTriggerSource)); - /* Get the TIMx SMCR register value */ - tmpsmcr = TIMx->SMCR; - /* Reset the TS Bits */ - tmpsmcr &= (uint16_t)(~((uint16_t)TIM_SMCR_TS)); - /* Set the Input Trigger source */ - tmpsmcr |= TIM_InputTriggerSource; - /* Write to TIMx SMCR */ - TIMx->SMCR = tmpsmcr; -} - -/** - * @brief Configures the TIMx Encoder Interface. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_EncoderMode: specifies the TIMx Encoder Mode. - * This parameter can be one of the following values: - * @arg TIM_EncoderMode_TI1: Counter counts on TI1FP1 edge depending on TI2FP2 level. - * @arg TIM_EncoderMode_TI2: Counter counts on TI2FP2 edge depending on TI1FP1 level. - * @arg TIM_EncoderMode_TI12: Counter counts on both TI1FP1 and TI2FP2 edges depending - * on the level of the other input. - * @param TIM_IC1Polarity: specifies the IC1 Polarity - * This parameter can be one of the following values: - * @arg TIM_ICPolarity_Falling: IC Falling edge. - * @arg TIM_ICPolarity_Rising: IC Rising edge. - * @param TIM_IC2Polarity: specifies the IC2 Polarity - * This parameter can be one of the following values: - * @arg TIM_ICPolarity_Falling: IC Falling edge. - * @arg TIM_ICPolarity_Rising: IC Rising edge. - * @retval None - */ -void TIM_EncoderInterfaceConfig(TIM_TypeDef* TIMx, uint16_t TIM_EncoderMode, - uint16_t TIM_IC1Polarity, uint16_t TIM_IC2Polarity) -{ - uint16_t tmpsmcr = 0; - uint16_t tmpccmr1 = 0; - uint16_t tmpccer = 0; - - /* Check the parameters */ - assert_param(IS_TIM_LIST5_PERIPH(TIMx)); - assert_param(IS_TIM_ENCODER_MODE(TIM_EncoderMode)); - assert_param(IS_TIM_IC_POLARITY(TIM_IC1Polarity)); - assert_param(IS_TIM_IC_POLARITY(TIM_IC2Polarity)); - - /* Get the TIMx SMCR register value */ - tmpsmcr = TIMx->SMCR; - - /* Get the TIMx CCMR1 register value */ - tmpccmr1 = TIMx->CCMR1; - - /* Get the TIMx CCER register value */ - tmpccer = TIMx->CCER; - - /* Set the encoder Mode */ - tmpsmcr &= (uint16_t)(~((uint16_t)TIM_SMCR_SMS)); - tmpsmcr |= TIM_EncoderMode; - - /* Select the Capture Compare 1 and the Capture Compare 2 as input */ - tmpccmr1 &= (uint16_t)(((uint16_t)~((uint16_t)TIM_CCMR1_CC1S)) & (uint16_t)(~((uint16_t)TIM_CCMR1_CC2S))); - tmpccmr1 |= TIM_CCMR1_CC1S_0 | TIM_CCMR1_CC2S_0; - - /* Set the TI1 and the TI2 Polarities */ - tmpccer &= (uint16_t)(((uint16_t)~((uint16_t)TIM_CCER_CC1P)) & ((uint16_t)~((uint16_t)TIM_CCER_CC2P))); - tmpccer |= (uint16_t)(TIM_IC1Polarity | (uint16_t)(TIM_IC2Polarity << (uint16_t)4)); - - /* Write to TIMx SMCR */ - TIMx->SMCR = tmpsmcr; - /* Write to TIMx CCMR1 */ - TIMx->CCMR1 = tmpccmr1; - /* Write to TIMx CCER */ - TIMx->CCER = tmpccer; -} - -/** - * @brief Forces the TIMx output 1 waveform to active or inactive level. - * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. - * @param TIM_ForcedAction: specifies the forced Action to be set to the output waveform. - * This parameter can be one of the following values: - * @arg TIM_ForcedAction_Active: Force active level on OC1REF - * @arg TIM_ForcedAction_InActive: Force inactive level on OC1REF. - * @retval None - */ -void TIM_ForcedOC1Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction) -{ - uint16_t tmpccmr1 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST8_PERIPH(TIMx)); - assert_param(IS_TIM_FORCED_ACTION(TIM_ForcedAction)); - tmpccmr1 = TIMx->CCMR1; - /* Reset the OC1M Bits */ - tmpccmr1 &= (uint16_t)~((uint16_t)TIM_CCMR1_OC1M); - /* Configure The Forced output Mode */ - tmpccmr1 |= TIM_ForcedAction; - /* Write to TIMx CCMR1 register */ - TIMx->CCMR1 = tmpccmr1; -} - -/** - * @brief Forces the TIMx output 2 waveform to active or inactive level. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral. - * @param TIM_ForcedAction: specifies the forced Action to be set to the output waveform. - * This parameter can be one of the following values: - * @arg TIM_ForcedAction_Active: Force active level on OC2REF - * @arg TIM_ForcedAction_InActive: Force inactive level on OC2REF. - * @retval None - */ -void TIM_ForcedOC2Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction) -{ - uint16_t tmpccmr1 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - assert_param(IS_TIM_FORCED_ACTION(TIM_ForcedAction)); - tmpccmr1 = TIMx->CCMR1; - /* Reset the OC2M Bits */ - tmpccmr1 &= (uint16_t)~((uint16_t)TIM_CCMR1_OC2M); - /* Configure The Forced output Mode */ - tmpccmr1 |= (uint16_t)(TIM_ForcedAction << 8); - /* Write to TIMx CCMR1 register */ - TIMx->CCMR1 = tmpccmr1; -} - -/** - * @brief Forces the TIMx output 3 waveform to active or inactive level. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_ForcedAction: specifies the forced Action to be set to the output waveform. - * This parameter can be one of the following values: - * @arg TIM_ForcedAction_Active: Force active level on OC3REF - * @arg TIM_ForcedAction_InActive: Force inactive level on OC3REF. - * @retval None - */ -void TIM_ForcedOC3Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction) -{ - uint16_t tmpccmr2 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_FORCED_ACTION(TIM_ForcedAction)); - tmpccmr2 = TIMx->CCMR2; - /* Reset the OC1M Bits */ - tmpccmr2 &= (uint16_t)~((uint16_t)TIM_CCMR2_OC3M); - /* Configure The Forced output Mode */ - tmpccmr2 |= TIM_ForcedAction; - /* Write to TIMx CCMR2 register */ - TIMx->CCMR2 = tmpccmr2; -} - -/** - * @brief Forces the TIMx output 4 waveform to active or inactive level. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_ForcedAction: specifies the forced Action to be set to the output waveform. - * This parameter can be one of the following values: - * @arg TIM_ForcedAction_Active: Force active level on OC4REF - * @arg TIM_ForcedAction_InActive: Force inactive level on OC4REF. - * @retval None - */ -void TIM_ForcedOC4Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction) -{ - uint16_t tmpccmr2 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_FORCED_ACTION(TIM_ForcedAction)); - tmpccmr2 = TIMx->CCMR2; - /* Reset the OC2M Bits */ - tmpccmr2 &= (uint16_t)~((uint16_t)TIM_CCMR2_OC4M); - /* Configure The Forced output Mode */ - tmpccmr2 |= (uint16_t)(TIM_ForcedAction << 8); - /* Write to TIMx CCMR2 register */ - TIMx->CCMR2 = tmpccmr2; -} - -/** - * @brief Enables or disables TIMx peripheral Preload register on ARR. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param NewState: new state of the TIMx peripheral Preload register - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Set the ARR Preload Bit */ - TIMx->CR1 |= TIM_CR1_ARPE; - } - else - { - /* Reset the ARR Preload Bit */ - TIMx->CR1 &= (uint16_t)~((uint16_t)TIM_CR1_ARPE); - } -} - -/** - * @brief Selects the TIM peripheral Commutation event. - * @param TIMx: where x can be 1, 8, 15, 16 or 17 to select the TIMx peripheral - * @param NewState: new state of the Commutation event. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_SelectCOM(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Set the COM Bit */ - TIMx->CR2 |= TIM_CR2_CCUS; - } - else - { - /* Reset the COM Bit */ - TIMx->CR2 &= (uint16_t)~((uint16_t)TIM_CR2_CCUS); - } -} - -/** - * @brief Selects the TIMx peripheral Capture Compare DMA source. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 15, 16 or 17 to select - * the TIM peripheral. - * @param NewState: new state of the Capture Compare DMA source - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_SelectCCDMA(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST4_PERIPH(TIMx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Set the CCDS Bit */ - TIMx->CR2 |= TIM_CR2_CCDS; - } - else - { - /* Reset the CCDS Bit */ - TIMx->CR2 &= (uint16_t)~((uint16_t)TIM_CR2_CCDS); - } -} - -/** - * @brief Sets or Resets the TIM peripheral Capture Compare Preload Control bit. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8 or 15 - * to select the TIMx peripheral - * @param NewState: new state of the Capture Compare Preload Control bit - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_CCPreloadControl(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST5_PERIPH(TIMx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Set the CCPC Bit */ - TIMx->CR2 |= TIM_CR2_CCPC; - } - else - { - /* Reset the CCPC Bit */ - TIMx->CR2 &= (uint16_t)~((uint16_t)TIM_CR2_CCPC); - } -} - -/** - * @brief Enables or disables the TIMx peripheral Preload register on CCR1. - * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. - * @param TIM_OCPreload: new state of the TIMx peripheral Preload register - * This parameter can be one of the following values: - * @arg TIM_OCPreload_Enable - * @arg TIM_OCPreload_Disable - * @retval None - */ -void TIM_OC1PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload) -{ - uint16_t tmpccmr1 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST8_PERIPH(TIMx)); - assert_param(IS_TIM_OCPRELOAD_STATE(TIM_OCPreload)); - tmpccmr1 = TIMx->CCMR1; - /* Reset the OC1PE Bit */ - tmpccmr1 &= (uint16_t)~((uint16_t)TIM_CCMR1_OC1PE); - /* Enable or Disable the Output Compare Preload feature */ - tmpccmr1 |= TIM_OCPreload; - /* Write to TIMx CCMR1 register */ - TIMx->CCMR1 = tmpccmr1; -} - -/** - * @brief Enables or disables the TIMx peripheral Preload register on CCR2. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select - * the TIM peripheral. - * @param TIM_OCPreload: new state of the TIMx peripheral Preload register - * This parameter can be one of the following values: - * @arg TIM_OCPreload_Enable - * @arg TIM_OCPreload_Disable - * @retval None - */ -void TIM_OC2PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload) -{ - uint16_t tmpccmr1 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - assert_param(IS_TIM_OCPRELOAD_STATE(TIM_OCPreload)); - tmpccmr1 = TIMx->CCMR1; - /* Reset the OC2PE Bit */ - tmpccmr1 &= (uint16_t)~((uint16_t)TIM_CCMR1_OC2PE); - /* Enable or Disable the Output Compare Preload feature */ - tmpccmr1 |= (uint16_t)(TIM_OCPreload << 8); - /* Write to TIMx CCMR1 register */ - TIMx->CCMR1 = tmpccmr1; -} - -/** - * @brief Enables or disables the TIMx peripheral Preload register on CCR3. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_OCPreload: new state of the TIMx peripheral Preload register - * This parameter can be one of the following values: - * @arg TIM_OCPreload_Enable - * @arg TIM_OCPreload_Disable - * @retval None - */ -void TIM_OC3PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload) -{ - uint16_t tmpccmr2 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_OCPRELOAD_STATE(TIM_OCPreload)); - tmpccmr2 = TIMx->CCMR2; - /* Reset the OC3PE Bit */ - tmpccmr2 &= (uint16_t)~((uint16_t)TIM_CCMR2_OC3PE); - /* Enable or Disable the Output Compare Preload feature */ - tmpccmr2 |= TIM_OCPreload; - /* Write to TIMx CCMR2 register */ - TIMx->CCMR2 = tmpccmr2; -} - -/** - * @brief Enables or disables the TIMx peripheral Preload register on CCR4. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_OCPreload: new state of the TIMx peripheral Preload register - * This parameter can be one of the following values: - * @arg TIM_OCPreload_Enable - * @arg TIM_OCPreload_Disable - * @retval None - */ -void TIM_OC4PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload) -{ - uint16_t tmpccmr2 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_OCPRELOAD_STATE(TIM_OCPreload)); - tmpccmr2 = TIMx->CCMR2; - /* Reset the OC4PE Bit */ - tmpccmr2 &= (uint16_t)~((uint16_t)TIM_CCMR2_OC4PE); - /* Enable or Disable the Output Compare Preload feature */ - tmpccmr2 |= (uint16_t)(TIM_OCPreload << 8); - /* Write to TIMx CCMR2 register */ - TIMx->CCMR2 = tmpccmr2; -} - -/** - * @brief Configures the TIMx Output Compare 1 Fast feature. - * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. - * @param TIM_OCFast: new state of the Output Compare Fast Enable Bit. - * This parameter can be one of the following values: - * @arg TIM_OCFast_Enable: TIM output compare fast enable - * @arg TIM_OCFast_Disable: TIM output compare fast disable - * @retval None - */ -void TIM_OC1FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast) -{ - uint16_t tmpccmr1 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST8_PERIPH(TIMx)); - assert_param(IS_TIM_OCFAST_STATE(TIM_OCFast)); - /* Get the TIMx CCMR1 register value */ - tmpccmr1 = TIMx->CCMR1; - /* Reset the OC1FE Bit */ - tmpccmr1 &= (uint16_t)~((uint16_t)TIM_CCMR1_OC1FE); - /* Enable or Disable the Output Compare Fast Bit */ - tmpccmr1 |= TIM_OCFast; - /* Write to TIMx CCMR1 */ - TIMx->CCMR1 = tmpccmr1; -} - -/** - * @brief Configures the TIMx Output Compare 2 Fast feature. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select - * the TIM peripheral. - * @param TIM_OCFast: new state of the Output Compare Fast Enable Bit. - * This parameter can be one of the following values: - * @arg TIM_OCFast_Enable: TIM output compare fast enable - * @arg TIM_OCFast_Disable: TIM output compare fast disable - * @retval None - */ -void TIM_OC2FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast) -{ - uint16_t tmpccmr1 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - assert_param(IS_TIM_OCFAST_STATE(TIM_OCFast)); - /* Get the TIMx CCMR1 register value */ - tmpccmr1 = TIMx->CCMR1; - /* Reset the OC2FE Bit */ - tmpccmr1 &= (uint16_t)~((uint16_t)TIM_CCMR1_OC2FE); - /* Enable or Disable the Output Compare Fast Bit */ - tmpccmr1 |= (uint16_t)(TIM_OCFast << 8); - /* Write to TIMx CCMR1 */ - TIMx->CCMR1 = tmpccmr1; -} - -/** - * @brief Configures the TIMx Output Compare 3 Fast feature. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_OCFast: new state of the Output Compare Fast Enable Bit. - * This parameter can be one of the following values: - * @arg TIM_OCFast_Enable: TIM output compare fast enable - * @arg TIM_OCFast_Disable: TIM output compare fast disable - * @retval None - */ -void TIM_OC3FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast) -{ - uint16_t tmpccmr2 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_OCFAST_STATE(TIM_OCFast)); - /* Get the TIMx CCMR2 register value */ - tmpccmr2 = TIMx->CCMR2; - /* Reset the OC3FE Bit */ - tmpccmr2 &= (uint16_t)~((uint16_t)TIM_CCMR2_OC3FE); - /* Enable or Disable the Output Compare Fast Bit */ - tmpccmr2 |= TIM_OCFast; - /* Write to TIMx CCMR2 */ - TIMx->CCMR2 = tmpccmr2; -} - -/** - * @brief Configures the TIMx Output Compare 4 Fast feature. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_OCFast: new state of the Output Compare Fast Enable Bit. - * This parameter can be one of the following values: - * @arg TIM_OCFast_Enable: TIM output compare fast enable - * @arg TIM_OCFast_Disable: TIM output compare fast disable - * @retval None - */ -void TIM_OC4FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast) -{ - uint16_t tmpccmr2 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_OCFAST_STATE(TIM_OCFast)); - /* Get the TIMx CCMR2 register value */ - tmpccmr2 = TIMx->CCMR2; - /* Reset the OC4FE Bit */ - tmpccmr2 &= (uint16_t)~((uint16_t)TIM_CCMR2_OC4FE); - /* Enable or Disable the Output Compare Fast Bit */ - tmpccmr2 |= (uint16_t)(TIM_OCFast << 8); - /* Write to TIMx CCMR2 */ - TIMx->CCMR2 = tmpccmr2; -} - -/** - * @brief Clears or safeguards the OCREF1 signal on an external event - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_OCClear: new state of the Output Compare Clear Enable Bit. - * This parameter can be one of the following values: - * @arg TIM_OCClear_Enable: TIM Output clear enable - * @arg TIM_OCClear_Disable: TIM Output clear disable - * @retval None - */ -void TIM_ClearOC1Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear) -{ - uint16_t tmpccmr1 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_OCCLEAR_STATE(TIM_OCClear)); - - tmpccmr1 = TIMx->CCMR1; - - /* Reset the OC1CE Bit */ - tmpccmr1 &= (uint16_t)~((uint16_t)TIM_CCMR1_OC1CE); - /* Enable or Disable the Output Compare Clear Bit */ - tmpccmr1 |= TIM_OCClear; - /* Write to TIMx CCMR1 register */ - TIMx->CCMR1 = tmpccmr1; -} - -/** - * @brief Clears or safeguards the OCREF2 signal on an external event - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_OCClear: new state of the Output Compare Clear Enable Bit. - * This parameter can be one of the following values: - * @arg TIM_OCClear_Enable: TIM Output clear enable - * @arg TIM_OCClear_Disable: TIM Output clear disable - * @retval None - */ -void TIM_ClearOC2Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear) -{ - uint16_t tmpccmr1 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_OCCLEAR_STATE(TIM_OCClear)); - tmpccmr1 = TIMx->CCMR1; - /* Reset the OC2CE Bit */ - tmpccmr1 &= (uint16_t)~((uint16_t)TIM_CCMR1_OC2CE); - /* Enable or Disable the Output Compare Clear Bit */ - tmpccmr1 |= (uint16_t)(TIM_OCClear << 8); - /* Write to TIMx CCMR1 register */ - TIMx->CCMR1 = tmpccmr1; -} - -/** - * @brief Clears or safeguards the OCREF3 signal on an external event - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_OCClear: new state of the Output Compare Clear Enable Bit. - * This parameter can be one of the following values: - * @arg TIM_OCClear_Enable: TIM Output clear enable - * @arg TIM_OCClear_Disable: TIM Output clear disable - * @retval None - */ -void TIM_ClearOC3Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear) -{ - uint16_t tmpccmr2 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_OCCLEAR_STATE(TIM_OCClear)); - tmpccmr2 = TIMx->CCMR2; - /* Reset the OC3CE Bit */ - tmpccmr2 &= (uint16_t)~((uint16_t)TIM_CCMR2_OC3CE); - /* Enable or Disable the Output Compare Clear Bit */ - tmpccmr2 |= TIM_OCClear; - /* Write to TIMx CCMR2 register */ - TIMx->CCMR2 = tmpccmr2; -} - -/** - * @brief Clears or safeguards the OCREF4 signal on an external event - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_OCClear: new state of the Output Compare Clear Enable Bit. - * This parameter can be one of the following values: - * @arg TIM_OCClear_Enable: TIM Output clear enable - * @arg TIM_OCClear_Disable: TIM Output clear disable - * @retval None - */ -void TIM_ClearOC4Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear) -{ - uint16_t tmpccmr2 = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_OCCLEAR_STATE(TIM_OCClear)); - tmpccmr2 = TIMx->CCMR2; - /* Reset the OC4CE Bit */ - tmpccmr2 &= (uint16_t)~((uint16_t)TIM_CCMR2_OC4CE); - /* Enable or Disable the Output Compare Clear Bit */ - tmpccmr2 |= (uint16_t)(TIM_OCClear << 8); - /* Write to TIMx CCMR2 register */ - TIMx->CCMR2 = tmpccmr2; -} - -/** - * @brief Configures the TIMx channel 1 polarity. - * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. - * @param TIM_OCPolarity: specifies the OC1 Polarity - * This parameter can be one of the following values: - * @arg TIM_OCPolarity_High: Output Compare active high - * @arg TIM_OCPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC1PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity) -{ - uint16_t tmpccer = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST8_PERIPH(TIMx)); - assert_param(IS_TIM_OC_POLARITY(TIM_OCPolarity)); - tmpccer = TIMx->CCER; - /* Set or Reset the CC1P Bit */ - tmpccer &= (uint16_t)~((uint16_t)TIM_CCER_CC1P); - tmpccer |= TIM_OCPolarity; - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; -} - -/** - * @brief Configures the TIMx Channel 1N polarity. - * @param TIMx: where x can be 1, 8, 15, 16 or 17 to select the TIM peripheral. - * @param TIM_OCNPolarity: specifies the OC1N Polarity - * This parameter can be one of the following values: - * @arg TIM_OCNPolarity_High: Output Compare active high - * @arg TIM_OCNPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC1NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity) -{ - uint16_t tmpccer = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - assert_param(IS_TIM_OCN_POLARITY(TIM_OCNPolarity)); - - tmpccer = TIMx->CCER; - /* Set or Reset the CC1NP Bit */ - tmpccer &= (uint16_t)~((uint16_t)TIM_CCER_CC1NP); - tmpccer |= TIM_OCNPolarity; - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; -} - -/** - * @brief Configures the TIMx channel 2 polarity. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral. - * @param TIM_OCPolarity: specifies the OC2 Polarity - * This parameter can be one of the following values: - * @arg TIM_OCPolarity_High: Output Compare active high - * @arg TIM_OCPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC2PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity) -{ - uint16_t tmpccer = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - assert_param(IS_TIM_OC_POLARITY(TIM_OCPolarity)); - tmpccer = TIMx->CCER; - /* Set or Reset the CC2P Bit */ - tmpccer &= (uint16_t)~((uint16_t)TIM_CCER_CC2P); - tmpccer |= (uint16_t)(TIM_OCPolarity << 4); - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; -} - -/** - * @brief Configures the TIMx Channel 2N polarity. - * @param TIMx: where x can be 1 or 8 to select the TIM peripheral. - * @param TIM_OCNPolarity: specifies the OC2N Polarity - * This parameter can be one of the following values: - * @arg TIM_OCNPolarity_High: Output Compare active high - * @arg TIM_OCNPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC2NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity) -{ - uint16_t tmpccer = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - assert_param(IS_TIM_OCN_POLARITY(TIM_OCNPolarity)); - - tmpccer = TIMx->CCER; - /* Set or Reset the CC2NP Bit */ - tmpccer &= (uint16_t)~((uint16_t)TIM_CCER_CC2NP); - tmpccer |= (uint16_t)(TIM_OCNPolarity << 4); - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; -} - -/** - * @brief Configures the TIMx channel 3 polarity. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_OCPolarity: specifies the OC3 Polarity - * This parameter can be one of the following values: - * @arg TIM_OCPolarity_High: Output Compare active high - * @arg TIM_OCPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC3PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity) -{ - uint16_t tmpccer = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_OC_POLARITY(TIM_OCPolarity)); - tmpccer = TIMx->CCER; - /* Set or Reset the CC3P Bit */ - tmpccer &= (uint16_t)~((uint16_t)TIM_CCER_CC3P); - tmpccer |= (uint16_t)(TIM_OCPolarity << 8); - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; -} - -/** - * @brief Configures the TIMx Channel 3N polarity. - * @param TIMx: where x can be 1 or 8 to select the TIM peripheral. - * @param TIM_OCNPolarity: specifies the OC3N Polarity - * This parameter can be one of the following values: - * @arg TIM_OCNPolarity_High: Output Compare active high - * @arg TIM_OCNPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC3NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity) -{ - uint16_t tmpccer = 0; - - /* Check the parameters */ - assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - assert_param(IS_TIM_OCN_POLARITY(TIM_OCNPolarity)); - - tmpccer = TIMx->CCER; - /* Set or Reset the CC3NP Bit */ - tmpccer &= (uint16_t)~((uint16_t)TIM_CCER_CC3NP); - tmpccer |= (uint16_t)(TIM_OCNPolarity << 8); - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; -} - -/** - * @brief Configures the TIMx channel 4 polarity. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_OCPolarity: specifies the OC4 Polarity - * This parameter can be one of the following values: - * @arg TIM_OCPolarity_High: Output Compare active high - * @arg TIM_OCPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC4PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity) -{ - uint16_t tmpccer = 0; - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_OC_POLARITY(TIM_OCPolarity)); - tmpccer = TIMx->CCER; - /* Set or Reset the CC4P Bit */ - tmpccer &= (uint16_t)~((uint16_t)TIM_CCER_CC4P); - tmpccer |= (uint16_t)(TIM_OCPolarity << 12); - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; -} - -/** - * @brief Enables or disables the TIM Capture Compare Channel x. - * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. - * @param TIM_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 TIM_CCx: specifies the TIM Channel CCxE bit new state. - * This parameter can be: TIM_CCx_Enable or TIM_CCx_Disable. - * @retval None - */ -void TIM_CCxCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCx) -{ - uint16_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_TIM_LIST8_PERIPH(TIMx)); - assert_param(IS_TIM_CHANNEL(TIM_Channel)); - assert_param(IS_TIM_CCX(TIM_CCx)); - - tmp = CCER_CCE_Set << TIM_Channel; - - /* Reset the CCxE Bit */ - TIMx->CCER &= (uint16_t)~ tmp; - - /* Set or reset the CCxE Bit */ - TIMx->CCER |= (uint16_t)(TIM_CCx << TIM_Channel); -} - -/** - * @brief Enables or disables the TIM Capture Compare Channel xN. - * @param TIMx: where x can be 1, 8, 15, 16 or 17 to select the TIM peripheral. - * @param TIM_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 TIM_CCxN: specifies the TIM Channel CCxNE bit new state. - * This parameter can be: TIM_CCxN_Enable or TIM_CCxN_Disable. - * @retval None - */ -void TIM_CCxNCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCxN) -{ - uint16_t tmp = 0; - - /* Check the parameters */ - assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - assert_param(IS_TIM_COMPLEMENTARY_CHANNEL(TIM_Channel)); - assert_param(IS_TIM_CCXN(TIM_CCxN)); - - tmp = CCER_CCNE_Set << TIM_Channel; - - /* Reset the CCxNE Bit */ - TIMx->CCER &= (uint16_t) ~tmp; - - /* Set or reset the CCxNE Bit */ - TIMx->CCER |= (uint16_t)(TIM_CCxN << TIM_Channel); -} - -/** - * @brief Selects the TIM Output Compare Mode. - * @note This function disables the selected channel before changing the Output - * Compare Mode. - * User has to enable this channel using TIM_CCxCmd and TIM_CCxNCmd functions. - * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. - * @param TIM_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 TIM_OCMode: specifies the TIM Output Compare Mode. - * This parameter can be one of the following values: - * @arg TIM_OCMode_Timing - * @arg TIM_OCMode_Active - * @arg TIM_OCMode_Toggle - * @arg TIM_OCMode_PWM1 - * @arg TIM_OCMode_PWM2 - * @arg TIM_ForcedAction_Active - * @arg TIM_ForcedAction_InActive - * @retval None - */ -void TIM_SelectOCxM(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_OCMode) -{ - uint32_t tmp = 0; - uint16_t tmp1 = 0; - - /* Check the parameters */ - assert_param(IS_TIM_LIST8_PERIPH(TIMx)); - assert_param(IS_TIM_CHANNEL(TIM_Channel)); - assert_param(IS_TIM_OCM(TIM_OCMode)); - - tmp = (uint32_t) TIMx; - tmp += CCMR_Offset; - - tmp1 = CCER_CCE_Set << (uint16_t)TIM_Channel; - - /* Disable the Channel: Reset the CCxE Bit */ - TIMx->CCER &= (uint16_t) ~tmp1; - - if((TIM_Channel == TIM_Channel_1) ||(TIM_Channel == TIM_Channel_3)) - { - tmp += (TIM_Channel>>1); - - /* Reset the OCxM bits in the CCMRx register */ - *(__IO uint32_t *) tmp &= (uint32_t)~((uint32_t)TIM_CCMR1_OC1M); - - /* Configure the OCxM bits in the CCMRx register */ - *(__IO uint32_t *) tmp |= TIM_OCMode; - } - else - { - tmp += (uint16_t)(TIM_Channel - (uint16_t)4)>> (uint16_t)1; - - /* Reset the OCxM bits in the CCMRx register */ - *(__IO uint32_t *) tmp &= (uint32_t)~((uint32_t)TIM_CCMR1_OC2M); - - /* Configure the OCxM bits in the CCMRx register */ - *(__IO uint32_t *) tmp |= (uint16_t)(TIM_OCMode << 8); - } -} - -/** - * @brief Enables or Disables the TIMx Update event. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param NewState: new state of the TIMx UDIS bit - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_UpdateDisableConfig(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Set the Update Disable Bit */ - TIMx->CR1 |= TIM_CR1_UDIS; - } - else - { - /* Reset the Update Disable Bit */ - TIMx->CR1 &= (uint16_t)~((uint16_t)TIM_CR1_UDIS); - } -} - -/** - * @brief Configures the TIMx Update Request Interrupt source. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param TIM_UpdateSource: specifies the Update source. - * This parameter can be one of the following values: - * @arg TIM_UpdateSource_Regular: Source of update is the counter overflow/underflow - or the setting of UG bit, or an update generation - through the slave mode controller. - * @arg TIM_UpdateSource_Global: Source of update is counter overflow/underflow. - * @retval None - */ -void TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_TIM_UPDATE_SOURCE(TIM_UpdateSource)); - if (TIM_UpdateSource != TIM_UpdateSource_Global) - { - /* Set the URS Bit */ - TIMx->CR1 |= TIM_CR1_URS; - } - else - { - /* Reset the URS Bit */ - TIMx->CR1 &= (uint16_t)~((uint16_t)TIM_CR1_URS); - } -} - -/** - * @brief Enables or disables the TIMx's Hall sensor interface. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param NewState: new state of the TIMx Hall sensor interface. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_SelectHallSensor(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Set the TI1S Bit */ - TIMx->CR2 |= TIM_CR2_TI1S; - } - else - { - /* Reset the TI1S Bit */ - TIMx->CR2 &= (uint16_t)~((uint16_t)TIM_CR2_TI1S); - } -} - -/** - * @brief Selects the TIMx's One Pulse Mode. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param TIM_OPMode: specifies the OPM Mode to be used. - * This parameter can be one of the following values: - * @arg TIM_OPMode_Single - * @arg TIM_OPMode_Repetitive - * @retval None - */ -void TIM_SelectOnePulseMode(TIM_TypeDef* TIMx, uint16_t TIM_OPMode) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_TIM_OPM_MODE(TIM_OPMode)); - /* Reset the OPM Bit */ - TIMx->CR1 &= (uint16_t)~((uint16_t)TIM_CR1_OPM); - /* Configure the OPM Mode */ - TIMx->CR1 |= TIM_OPMode; -} - -/** - * @brief Selects the TIMx Trigger Output Mode. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 6, 7, 8, 9, 12 or 15 to select the TIM peripheral. - * @param TIM_TRGOSource: specifies the Trigger Output source. - * This paramter can be one of the following values: - * - * - For all TIMx - * @arg TIM_TRGOSource_Reset: The UG bit in the TIM_EGR register is used as the trigger output (TRGO). - * @arg TIM_TRGOSource_Enable: The Counter Enable CEN is used as the trigger output (TRGO). - * @arg TIM_TRGOSource_Update: The update event is selected as the trigger output (TRGO). - * - * - For all TIMx except TIM6 and TIM7 - * @arg TIM_TRGOSource_OC1: The trigger output sends a positive pulse when the CC1IF flag - * is to be set, as soon as a capture or compare match occurs (TRGO). - * @arg TIM_TRGOSource_OC1Ref: OC1REF signal is used as the trigger output (TRGO). - * @arg TIM_TRGOSource_OC2Ref: OC2REF signal is used as the trigger output (TRGO). - * @arg TIM_TRGOSource_OC3Ref: OC3REF signal is used as the trigger output (TRGO). - * @arg TIM_TRGOSource_OC4Ref: OC4REF signal is used as the trigger output (TRGO). - * - * @retval None - */ -void TIM_SelectOutputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_TRGOSource) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST7_PERIPH(TIMx)); - assert_param(IS_TIM_TRGO_SOURCE(TIM_TRGOSource)); - /* Reset the MMS Bits */ - TIMx->CR2 &= (uint16_t)~((uint16_t)TIM_CR2_MMS); - /* Select the TRGO source */ - TIMx->CR2 |= TIM_TRGOSource; -} - -/** - * @brief Selects the TIMx Slave Mode. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral. - * @param TIM_SlaveMode: specifies the Timer Slave Mode. - * This parameter can be one of the following values: - * @arg TIM_SlaveMode_Reset: Rising edge of the selected trigger signal (TRGI) re-initializes - * the counter and triggers an update of the registers. - * @arg TIM_SlaveMode_Gated: The counter clock is enabled when the trigger signal (TRGI) is high. - * @arg TIM_SlaveMode_Trigger: The counter starts at a rising edge of the trigger TRGI. - * @arg TIM_SlaveMode_External1: Rising edges of the selected trigger (TRGI) clock the counter. - * @retval None - */ -void TIM_SelectSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_SlaveMode) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - assert_param(IS_TIM_SLAVE_MODE(TIM_SlaveMode)); - /* Reset the SMS Bits */ - TIMx->SMCR &= (uint16_t)~((uint16_t)TIM_SMCR_SMS); - /* Select the Slave Mode */ - TIMx->SMCR |= TIM_SlaveMode; -} - -/** - * @brief Sets or Resets the TIMx Master/Slave Mode. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral. - * @param TIM_MasterSlaveMode: specifies the Timer Master Slave Mode. - * This parameter can be one of the following values: - * @arg TIM_MasterSlaveMode_Enable: synchronization between the current timer - * and its slaves (through TRGO). - * @arg TIM_MasterSlaveMode_Disable: No action - * @retval None - */ -void TIM_SelectMasterSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_MasterSlaveMode) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - assert_param(IS_TIM_MSM_STATE(TIM_MasterSlaveMode)); - /* Reset the MSM Bit */ - TIMx->SMCR &= (uint16_t)~((uint16_t)TIM_SMCR_MSM); - - /* Set or Reset the MSM Bit */ - TIMx->SMCR |= TIM_MasterSlaveMode; -} - -/** - * @brief Sets the TIMx Counter Register value - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param Counter: specifies the Counter register new value. - * @retval None - */ -void TIM_SetCounter(TIM_TypeDef* TIMx, uint16_t Counter) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - /* Set the Counter Register value */ - TIMx->CNT = Counter; -} - -/** - * @brief Sets the TIMx Autoreload Register value - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param Autoreload: specifies the Autoreload register new value. - * @retval None - */ -void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint16_t Autoreload) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - /* Set the Autoreload Register value */ - TIMx->ARR = Autoreload; -} - -/** - * @brief Sets the TIMx Capture Compare1 Register value - * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. - * @param Compare1: specifies the Capture Compare1 register new value. - * @retval None - */ -void TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST8_PERIPH(TIMx)); - /* Set the Capture Compare1 Register value */ - TIMx->CCR1 = Compare1; -} - -/** - * @brief Sets the TIMx Capture Compare2 Register value - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral. - * @param Compare2: specifies the Capture Compare2 register new value. - * @retval None - */ -void TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - /* Set the Capture Compare2 Register value */ - TIMx->CCR2 = Compare2; -} - -/** - * @brief Sets the TIMx Capture Compare3 Register value - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param Compare3: specifies the Capture Compare3 register new value. - * @retval None - */ -void TIM_SetCompare3(TIM_TypeDef* TIMx, uint16_t Compare3) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - /* Set the Capture Compare3 Register value */ - TIMx->CCR3 = Compare3; -} - -/** - * @brief Sets the TIMx Capture Compare4 Register value - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param Compare4: specifies the Capture Compare4 register new value. - * @retval None - */ -void TIM_SetCompare4(TIM_TypeDef* TIMx, uint16_t Compare4) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - /* Set the Capture Compare4 Register value */ - TIMx->CCR4 = Compare4; -} - -/** - * @brief Sets the TIMx Input Capture 1 prescaler. - * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. - * @param TIM_ICPSC: specifies the Input Capture1 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 - */ -void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST8_PERIPH(TIMx)); - assert_param(IS_TIM_IC_PRESCALER(TIM_ICPSC)); - /* Reset the IC1PSC Bits */ - TIMx->CCMR1 &= (uint16_t)~((uint16_t)TIM_CCMR1_IC1PSC); - /* Set the IC1PSC value */ - TIMx->CCMR1 |= TIM_ICPSC; -} - -/** - * @brief Sets the TIMx Input Capture 2 prescaler. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral. - * @param TIM_ICPSC: specifies the Input Capture2 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 - */ -void TIM_SetIC2Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - assert_param(IS_TIM_IC_PRESCALER(TIM_ICPSC)); - /* Reset the IC2PSC Bits */ - TIMx->CCMR1 &= (uint16_t)~((uint16_t)TIM_CCMR1_IC2PSC); - /* Set the IC2PSC value */ - TIMx->CCMR1 |= (uint16_t)(TIM_ICPSC << 8); -} - -/** - * @brief Sets the TIMx Input Capture 3 prescaler. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_ICPSC: specifies the Input Capture3 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 - */ -void TIM_SetIC3Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_IC_PRESCALER(TIM_ICPSC)); - /* Reset the IC3PSC Bits */ - TIMx->CCMR2 &= (uint16_t)~((uint16_t)TIM_CCMR2_IC3PSC); - /* Set the IC3PSC value */ - TIMx->CCMR2 |= TIM_ICPSC; -} - -/** - * @brief Sets the TIMx Input Capture 4 prescaler. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param TIM_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 - */ -void TIM_SetIC4Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - assert_param(IS_TIM_IC_PRESCALER(TIM_ICPSC)); - /* Reset the IC4PSC Bits */ - TIMx->CCMR2 &= (uint16_t)~((uint16_t)TIM_CCMR2_IC4PSC); - /* Set the IC4PSC value */ - TIMx->CCMR2 |= (uint16_t)(TIM_ICPSC << 8); -} - -/** - * @brief Sets the TIMx Clock Division value. - * @param TIMx: where x can be 1 to 17 except 6 and 7 to select - * the TIM peripheral. - * @param TIM_CKD: specifies the clock division value. - * This parameter can be one of the following value: - * @arg TIM_CKD_DIV1: TDTS = Tck_tim - * @arg TIM_CKD_DIV2: TDTS = 2*Tck_tim - * @arg TIM_CKD_DIV4: TDTS = 4*Tck_tim - * @retval None - */ -void TIM_SetClockDivision(TIM_TypeDef* TIMx, uint16_t TIM_CKD) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST8_PERIPH(TIMx)); - assert_param(IS_TIM_CKD_DIV(TIM_CKD)); - /* Reset the CKD Bits */ - TIMx->CR1 &= (uint16_t)~((uint16_t)TIM_CR1_CKD); - /* Set the CKD value */ - TIMx->CR1 |= TIM_CKD; -} - -/** - * @brief Gets the TIMx Input Capture 1 value. - * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. - * @retval Capture Compare 1 Register value. - */ -uint16_t TIM_GetCapture1(TIM_TypeDef* TIMx) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST8_PERIPH(TIMx)); - /* Get the Capture 1 Register value */ - return TIMx->CCR1; -} - -/** - * @brief Gets the TIMx Input Capture 2 value. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 to select the TIM peripheral. - * @retval Capture Compare 2 Register value. - */ -uint16_t TIM_GetCapture2(TIM_TypeDef* TIMx) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - /* Get the Capture 2 Register value */ - return TIMx->CCR2; -} - -/** - * @brief Gets the TIMx Input Capture 3 value. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @retval Capture Compare 3 Register value. - */ -uint16_t TIM_GetCapture3(TIM_TypeDef* TIMx) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - /* Get the Capture 3 Register value */ - return TIMx->CCR3; -} - -/** - * @brief Gets the TIMx Input Capture 4 value. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @retval Capture Compare 4 Register value. - */ -uint16_t TIM_GetCapture4(TIM_TypeDef* TIMx) -{ - /* Check the parameters */ - assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - /* Get the Capture 4 Register value */ - return TIMx->CCR4; -} - -/** - * @brief Gets the TIMx Counter value. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @retval Counter Register value. - */ -uint16_t TIM_GetCounter(TIM_TypeDef* TIMx) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - /* Get the Counter Register value */ - return TIMx->CNT; -} - -/** - * @brief Gets the TIMx Prescaler value. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @retval Prescaler Register value. - */ -uint16_t TIM_GetPrescaler(TIM_TypeDef* TIMx) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - /* Get the Prescaler Register value */ - return TIMx->PSC; -} - -/** - * @brief Checks whether the specified TIM flag is set or not. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param TIM_FLAG: specifies the flag to check. - * This parameter can be one of the following values: - * @arg TIM_FLAG_Update: TIM update Flag - * @arg TIM_FLAG_CC1: TIM Capture Compare 1 Flag - * @arg TIM_FLAG_CC2: TIM Capture Compare 2 Flag - * @arg TIM_FLAG_CC3: TIM Capture Compare 3 Flag - * @arg TIM_FLAG_CC4: TIM Capture Compare 4 Flag - * @arg TIM_FLAG_COM: TIM Commutation Flag - * @arg TIM_FLAG_Trigger: TIM Trigger Flag - * @arg TIM_FLAG_Break: TIM Break Flag - * @arg TIM_FLAG_CC1OF: TIM Capture Compare 1 overcapture Flag - * @arg TIM_FLAG_CC2OF: TIM Capture Compare 2 overcapture Flag - * @arg TIM_FLAG_CC3OF: TIM Capture Compare 3 overcapture Flag - * @arg TIM_FLAG_CC4OF: TIM Capture Compare 4 overcapture Flag - * @note - * - TIM6 and TIM7 can have only one update flag. - * - TIM9, TIM12 and TIM15 can have only TIM_FLAG_Update, TIM_FLAG_CC1, - * TIM_FLAG_CC2 or TIM_FLAG_Trigger. - * - TIM10, TIM11, TIM13, TIM14, TIM16 and TIM17 can have TIM_FLAG_Update or TIM_FLAG_CC1. - * - TIM_FLAG_Break is used only with TIM1, TIM8 and TIM15. - * - TIM_FLAG_COM is used only with TIM1, TIM8, TIM15, TIM16 and TIM17. - * @retval The new state of TIM_FLAG (SET or RESET). - */ -FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, uint16_t TIM_FLAG) -{ - ITStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_TIM_GET_FLAG(TIM_FLAG)); - - if ((TIMx->SR & TIM_FLAG) != (uint16_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - return bitstatus; -} - -/** - * @brief Clears the TIMx's pending flags. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param TIM_FLAG: specifies the flag bit to clear. - * This parameter can be any combination of the following values: - * @arg TIM_FLAG_Update: TIM update Flag - * @arg TIM_FLAG_CC1: TIM Capture Compare 1 Flag - * @arg TIM_FLAG_CC2: TIM Capture Compare 2 Flag - * @arg TIM_FLAG_CC3: TIM Capture Compare 3 Flag - * @arg TIM_FLAG_CC4: TIM Capture Compare 4 Flag - * @arg TIM_FLAG_COM: TIM Commutation Flag - * @arg TIM_FLAG_Trigger: TIM Trigger Flag - * @arg TIM_FLAG_Break: TIM Break Flag - * @arg TIM_FLAG_CC1OF: TIM Capture Compare 1 overcapture Flag - * @arg TIM_FLAG_CC2OF: TIM Capture Compare 2 overcapture Flag - * @arg TIM_FLAG_CC3OF: TIM Capture Compare 3 overcapture Flag - * @arg TIM_FLAG_CC4OF: TIM Capture Compare 4 overcapture Flag - * @note - * - TIM6 and TIM7 can have only one update flag. - * - TIM9, TIM12 and TIM15 can have only TIM_FLAG_Update, TIM_FLAG_CC1, - * TIM_FLAG_CC2 or TIM_FLAG_Trigger. - * - TIM10, TIM11, TIM13, TIM14, TIM16 and TIM17 can have TIM_FLAG_Update or TIM_FLAG_CC1. - * - TIM_FLAG_Break is used only with TIM1, TIM8 and TIM15. - * - TIM_FLAG_COM is used only with TIM1, TIM8, TIM15, TIM16 and TIM17. - * @retval None - */ -void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_TIM_CLEAR_FLAG(TIM_FLAG)); - - /* Clear the flags */ - TIMx->SR = (uint16_t)~TIM_FLAG; -} - -/** - * @brief Checks whether the TIM interrupt has occurred or not. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param TIM_IT: specifies the TIM interrupt source to check. - * This parameter can be one of the following values: - * @arg TIM_IT_Update: TIM update Interrupt source - * @arg TIM_IT_CC1: TIM Capture Compare 1 Interrupt source - * @arg TIM_IT_CC2: TIM Capture Compare 2 Interrupt source - * @arg TIM_IT_CC3: TIM Capture Compare 3 Interrupt source - * @arg TIM_IT_CC4: TIM Capture Compare 4 Interrupt source - * @arg TIM_IT_COM: TIM Commutation Interrupt source - * @arg TIM_IT_Trigger: TIM Trigger Interrupt source - * @arg TIM_IT_Break: TIM Break Interrupt source - * @note - * - TIM6 and TIM7 can generate only an update interrupt. - * - TIM9, TIM12 and TIM15 can have only TIM_IT_Update, TIM_IT_CC1, - * TIM_IT_CC2 or TIM_IT_Trigger. - * - TIM10, TIM11, TIM13, TIM14, TIM16 and TIM17 can have TIM_IT_Update or TIM_IT_CC1. - * - TIM_IT_Break is used only with TIM1, TIM8 and TIM15. - * - TIM_IT_COM is used only with TIM1, TIM8, TIM15, TIM16 and TIM17. - * @retval The new state of the TIM_IT(SET or RESET). - */ -ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT) -{ - ITStatus bitstatus = RESET; - uint16_t itstatus = 0x0, itenable = 0x0; - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_TIM_GET_IT(TIM_IT)); - - itstatus = TIMx->SR & TIM_IT; - - itenable = TIMx->DIER & TIM_IT; - if ((itstatus != (uint16_t)RESET) && (itenable != (uint16_t)RESET)) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - return bitstatus; -} - -/** - * @brief Clears the TIMx's interrupt pending bits. - * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. - * @param TIM_IT: specifies the pending bit to clear. - * This parameter can be any combination of the following values: - * @arg TIM_IT_Update: TIM1 update Interrupt source - * @arg TIM_IT_CC1: TIM Capture Compare 1 Interrupt source - * @arg TIM_IT_CC2: TIM Capture Compare 2 Interrupt source - * @arg TIM_IT_CC3: TIM Capture Compare 3 Interrupt source - * @arg TIM_IT_CC4: TIM Capture Compare 4 Interrupt source - * @arg TIM_IT_COM: TIM Commutation Interrupt source - * @arg TIM_IT_Trigger: TIM Trigger Interrupt source - * @arg TIM_IT_Break: TIM Break Interrupt source - * @note - * - TIM6 and TIM7 can generate only an update interrupt. - * - TIM9, TIM12 and TIM15 can have only TIM_IT_Update, TIM_IT_CC1, - * TIM_IT_CC2 or TIM_IT_Trigger. - * - TIM10, TIM11, TIM13, TIM14, TIM16 and TIM17 can have TIM_IT_Update or TIM_IT_CC1. - * - TIM_IT_Break is used only with TIM1, TIM8 and TIM15. - * - TIM_IT_COM is used only with TIM1, TIM8, TIM15, TIM16 and TIM17. - * @retval None - */ -void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT) -{ - /* Check the parameters */ - assert_param(IS_TIM_ALL_PERIPH(TIMx)); - assert_param(IS_TIM_IT(TIM_IT)); - /* Clear the IT pending Bit */ - TIMx->SR = (uint16_t)~TIM_IT; -} - -/** - * @brief Configure the TI1 as Input. - * @param TIMx: where x can be 1 to 17 except 6 and 7 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 - * @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 - */ -static void TI1_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, - uint16_t TIM_ICFilter) -{ - uint16_t tmpccmr1 = 0, tmpccer = 0; - /* Disable the Channel 1: Reset the CC1E Bit */ - TIMx->CCER &= (uint16_t)~((uint16_t)TIM_CCER_CC1E); - tmpccmr1 = TIMx->CCMR1; - tmpccer = TIMx->CCER; - /* Select the Input and set the filter */ - tmpccmr1 &= (uint16_t)(((uint16_t)~((uint16_t)TIM_CCMR1_CC1S)) & ((uint16_t)~((uint16_t)TIM_CCMR1_IC1F))); - tmpccmr1 |= (uint16_t)(TIM_ICSelection | (uint16_t)(TIM_ICFilter << (uint16_t)4)); - - if((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM2) || (TIMx == TIM3) || - (TIMx == TIM4) ||(TIMx == TIM5)) - { - /* Select the Polarity and set the CC1E Bit */ - tmpccer &= (uint16_t)~((uint16_t)(TIM_CCER_CC1P)); - tmpccer |= (uint16_t)(TIM_ICPolarity | (uint16_t)TIM_CCER_CC1E); - } - else - { - /* Select the Polarity and set the CC1E Bit */ - tmpccer &= (uint16_t)~((uint16_t)(TIM_CCER_CC1P | TIM_CCER_CC1NP)); - tmpccer |= (uint16_t)(TIM_ICPolarity | (uint16_t)TIM_CCER_CC1E); - } - - /* Write to TIMx CCMR1 and CCER registers */ - TIMx->CCMR1 = tmpccmr1; - TIMx->CCER = tmpccer; -} - -/** - * @brief Configure the TI2 as Input. - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9, 12 or 15 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 - * @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 - */ -static void TI2_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, - uint16_t TIM_ICFilter) -{ - uint16_t tmpccmr1 = 0, tmpccer = 0, tmp = 0; - /* Disable the Channel 2: Reset the CC2E Bit */ - TIMx->CCER &= (uint16_t)~((uint16_t)TIM_CCER_CC2E); - tmpccmr1 = TIMx->CCMR1; - tmpccer = TIMx->CCER; - tmp = (uint16_t)(TIM_ICPolarity << 4); - /* Select the Input and set the filter */ - tmpccmr1 &= (uint16_t)(((uint16_t)~((uint16_t)TIM_CCMR1_CC2S)) & ((uint16_t)~((uint16_t)TIM_CCMR1_IC2F))); - tmpccmr1 |= (uint16_t)(TIM_ICFilter << 12); - tmpccmr1 |= (uint16_t)(TIM_ICSelection << 8); - - if((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM2) || (TIMx == TIM3) || - (TIMx == TIM4) ||(TIMx == TIM5)) - { - /* Select the Polarity and set the CC2E Bit */ - tmpccer &= (uint16_t)~((uint16_t)(TIM_CCER_CC2P)); - tmpccer |= (uint16_t)(tmp | (uint16_t)TIM_CCER_CC2E); - } - else - { - /* Select the Polarity and set the CC2E Bit */ - tmpccer &= (uint16_t)~((uint16_t)(TIM_CCER_CC2P | TIM_CCER_CC2NP)); - tmpccer |= (uint16_t)(TIM_ICPolarity | (uint16_t)TIM_CCER_CC2E); - } - - /* Write to TIMx CCMR1 and CCER registers */ - TIMx->CCMR1 = tmpccmr1 ; - TIMx->CCER = tmpccer; -} - -/** - * @brief Configure the TI3 as Input. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 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 - * @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 - */ -static void TI3_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, - uint16_t TIM_ICFilter) -{ - uint16_t tmpccmr2 = 0, tmpccer = 0, tmp = 0; - /* Disable the Channel 3: Reset the CC3E Bit */ - TIMx->CCER &= (uint16_t)~((uint16_t)TIM_CCER_CC3E); - tmpccmr2 = TIMx->CCMR2; - tmpccer = TIMx->CCER; - tmp = (uint16_t)(TIM_ICPolarity << 8); - /* Select the Input and set the filter */ - tmpccmr2 &= (uint16_t)(((uint16_t)~((uint16_t)TIM_CCMR2_CC3S)) & ((uint16_t)~((uint16_t)TIM_CCMR2_IC3F))); - tmpccmr2 |= (uint16_t)(TIM_ICSelection | (uint16_t)(TIM_ICFilter << (uint16_t)4)); - - if((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM2) || (TIMx == TIM3) || - (TIMx == TIM4) ||(TIMx == TIM5)) - { - /* Select the Polarity and set the CC3E Bit */ - tmpccer &= (uint16_t)~((uint16_t)(TIM_CCER_CC3P)); - tmpccer |= (uint16_t)(tmp | (uint16_t)TIM_CCER_CC3E); - } - else - { - /* Select the Polarity and set the CC3E Bit */ - tmpccer &= (uint16_t)~((uint16_t)(TIM_CCER_CC3P | TIM_CCER_CC3NP)); - tmpccer |= (uint16_t)(TIM_ICPolarity | (uint16_t)TIM_CCER_CC3E); - } - - /* Write to TIMx CCMR2 and CCER registers */ - TIMx->CCMR2 = tmpccmr2; - TIMx->CCER = tmpccer; -} - -/** - * @brief Configure the TI4 as Input. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 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 - * @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 - */ -static void TI4_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, - uint16_t TIM_ICFilter) -{ - uint16_t tmpccmr2 = 0, tmpccer = 0, tmp = 0; - - /* Disable the Channel 4: Reset the CC4E Bit */ - TIMx->CCER &= (uint16_t)~((uint16_t)TIM_CCER_CC4E); - tmpccmr2 = TIMx->CCMR2; - tmpccer = TIMx->CCER; - tmp = (uint16_t)(TIM_ICPolarity << 12); - /* Select the Input and set the filter */ - tmpccmr2 &= (uint16_t)((uint16_t)(~(uint16_t)TIM_CCMR2_CC4S) & ((uint16_t)~((uint16_t)TIM_CCMR2_IC4F))); - tmpccmr2 |= (uint16_t)(TIM_ICSelection << 8); - tmpccmr2 |= (uint16_t)(TIM_ICFilter << 12); - - if((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM2) || (TIMx == TIM3) || - (TIMx == TIM4) ||(TIMx == TIM5)) - { - /* Select the Polarity and set the CC4E Bit */ - tmpccer &= (uint16_t)~((uint16_t)(TIM_CCER_CC4P)); - tmpccer |= (uint16_t)(tmp | (uint16_t)TIM_CCER_CC4E); - } - else - { - /* Select the Polarity and set the CC4E Bit */ - tmpccer &= (uint16_t)~((uint16_t)(TIM_CCER_CC3P | TIM_CCER_CC4NP)); - tmpccer |= (uint16_t)(TIM_ICPolarity | (uint16_t)TIM_CCER_CC4E); - } - /* Write to TIMx CCMR2 and CCER registers */ - TIMx->CCMR2 = tmpccmr2; - TIMx->CCER = tmpccer; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c deleted file mode 100644 index a3f16f15e..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c +++ /dev/null @@ -1,1058 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_usart.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the USART firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_usart.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup USART - * @brief USART driver modules - * @{ - */ - -/** @defgroup USART_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup USART_Private_Defines - * @{ - */ - -#define CR1_UE_Set ((uint16_t)0x2000) /*!< USART Enable Mask */ -#define CR1_UE_Reset ((uint16_t)0xDFFF) /*!< USART Disable Mask */ - -#define CR1_WAKE_Mask ((uint16_t)0xF7FF) /*!< USART WakeUp Method Mask */ - -#define CR1_RWU_Set ((uint16_t)0x0002) /*!< USART mute mode Enable Mask */ -#define CR1_RWU_Reset ((uint16_t)0xFFFD) /*!< USART mute mode Enable Mask */ -#define CR1_SBK_Set ((uint16_t)0x0001) /*!< USART Break Character send Mask */ -#define CR1_CLEAR_Mask ((uint16_t)0xE9F3) /*!< USART CR1 Mask */ -#define CR2_Address_Mask ((uint16_t)0xFFF0) /*!< USART address Mask */ - -#define CR2_LINEN_Set ((uint16_t)0x4000) /*!< USART LIN Enable Mask */ -#define CR2_LINEN_Reset ((uint16_t)0xBFFF) /*!< USART LIN Disable Mask */ - -#define CR2_LBDL_Mask ((uint16_t)0xFFDF) /*!< USART LIN Break detection Mask */ -#define CR2_STOP_CLEAR_Mask ((uint16_t)0xCFFF) /*!< USART CR2 STOP Bits Mask */ -#define CR2_CLOCK_CLEAR_Mask ((uint16_t)0xF0FF) /*!< USART CR2 Clock Mask */ - -#define CR3_SCEN_Set ((uint16_t)0x0020) /*!< USART SC Enable Mask */ -#define CR3_SCEN_Reset ((uint16_t)0xFFDF) /*!< USART SC Disable Mask */ - -#define CR3_NACK_Set ((uint16_t)0x0010) /*!< USART SC NACK Enable Mask */ -#define CR3_NACK_Reset ((uint16_t)0xFFEF) /*!< USART SC NACK Disable Mask */ - -#define CR3_HDSEL_Set ((uint16_t)0x0008) /*!< USART Half-Duplex Enable Mask */ -#define CR3_HDSEL_Reset ((uint16_t)0xFFF7) /*!< USART Half-Duplex Disable Mask */ - -#define CR3_IRLP_Mask ((uint16_t)0xFFFB) /*!< USART IrDA LowPower mode Mask */ -#define CR3_CLEAR_Mask ((uint16_t)0xFCFF) /*!< USART CR3 Mask */ - -#define CR3_IREN_Set ((uint16_t)0x0002) /*!< USART IrDA Enable Mask */ -#define CR3_IREN_Reset ((uint16_t)0xFFFD) /*!< USART IrDA Disable Mask */ -#define GTPR_LSB_Mask ((uint16_t)0x00FF) /*!< Guard Time Register LSB Mask */ -#define GTPR_MSB_Mask ((uint16_t)0xFF00) /*!< Guard Time Register MSB Mask */ -#define IT_Mask ((uint16_t)0x001F) /*!< USART Interrupt Mask */ - -/* USART OverSampling-8 Mask */ -#define CR1_OVER8_Set ((u16)0x8000) /* USART OVER8 mode Enable Mask */ -#define CR1_OVER8_Reset ((u16)0x7FFF) /* USART OVER8 mode Disable Mask */ - -/* USART One Bit Sampling Mask */ -#define CR3_ONEBITE_Set ((u16)0x0800) /* USART ONEBITE mode Enable Mask */ -#define CR3_ONEBITE_Reset ((u16)0xF7FF) /* USART ONEBITE mode Disable Mask */ - -/** - * @} - */ - -/** @defgroup USART_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup USART_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup USART_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup USART_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the USARTx peripheral registers to their default reset values. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @retval None - */ -void USART_DeInit(USART_TypeDef* USARTx) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - - if (USARTx == USART1) - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, ENABLE); - RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, DISABLE); - } - else if (USARTx == USART2) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2, DISABLE); - } - else if (USARTx == USART3) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3, DISABLE); - } - else if (USARTx == UART4) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART4, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART4, DISABLE); - } - else - { - if (USARTx == UART5) - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART5, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART5, DISABLE); - } - } -} - -/** - * @brief Initializes the USARTx peripheral according to the specified - * parameters in the USART_InitStruct . - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param USART_InitStruct: pointer to a USART_InitTypeDef structure - * that contains the configuration information for the specified USART - * peripheral. - * @retval None - */ -void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct) -{ - uint32_t tmpreg = 0x00, apbclock = 0x00; - uint32_t integerdivider = 0x00; - uint32_t fractionaldivider = 0x00; - uint32_t usartxbase = 0; - RCC_ClocksTypeDef RCC_ClocksStatus; - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_USART_BAUDRATE(USART_InitStruct->USART_BaudRate)); - assert_param(IS_USART_WORD_LENGTH(USART_InitStruct->USART_WordLength)); - assert_param(IS_USART_STOPBITS(USART_InitStruct->USART_StopBits)); - assert_param(IS_USART_PARITY(USART_InitStruct->USART_Parity)); - assert_param(IS_USART_MODE(USART_InitStruct->USART_Mode)); - assert_param(IS_USART_HARDWARE_FLOW_CONTROL(USART_InitStruct->USART_HardwareFlowControl)); - /* The hardware flow control is available only for USART1, USART2 and USART3 */ - if (USART_InitStruct->USART_HardwareFlowControl != USART_HardwareFlowControl_None) - { - assert_param(IS_USART_123_PERIPH(USARTx)); - } - - usartxbase = (uint32_t)USARTx; - -/*---------------------------- USART CR2 Configuration -----------------------*/ - tmpreg = USARTx->CR2; - /* Clear STOP[13:12] bits */ - tmpreg &= CR2_STOP_CLEAR_Mask; - /* Configure the USART Stop Bits, Clock, CPOL, CPHA and LastBit ------------*/ - /* Set STOP[13:12] bits according to USART_StopBits value */ - tmpreg |= (uint32_t)USART_InitStruct->USART_StopBits; - - /* Write to USART CR2 */ - USARTx->CR2 = (uint16_t)tmpreg; - -/*---------------------------- USART CR1 Configuration -----------------------*/ - tmpreg = USARTx->CR1; - /* Clear M, PCE, PS, TE and RE bits */ - tmpreg &= CR1_CLEAR_Mask; - /* Configure the USART Word Length, Parity and mode ----------------------- */ - /* Set the M bits according to USART_WordLength value */ - /* Set PCE and PS bits according to USART_Parity value */ - /* Set TE and RE bits according to USART_Mode value */ - tmpreg |= (uint32_t)USART_InitStruct->USART_WordLength | USART_InitStruct->USART_Parity | - USART_InitStruct->USART_Mode; - /* Write to USART CR1 */ - USARTx->CR1 = (uint16_t)tmpreg; - -/*---------------------------- USART CR3 Configuration -----------------------*/ - tmpreg = USARTx->CR3; - /* Clear CTSE and RTSE bits */ - tmpreg &= CR3_CLEAR_Mask; - /* Configure the USART HFC -------------------------------------------------*/ - /* Set CTSE and RTSE bits according to USART_HardwareFlowControl value */ - tmpreg |= USART_InitStruct->USART_HardwareFlowControl; - /* Write to USART CR3 */ - USARTx->CR3 = (uint16_t)tmpreg; - -/*---------------------------- USART BRR Configuration -----------------------*/ - /* Configure the USART Baud Rate -------------------------------------------*/ - RCC_GetClocksFreq(&RCC_ClocksStatus); - if (usartxbase == USART1_BASE) - { - apbclock = RCC_ClocksStatus.PCLK2_Frequency; - } - else - { - apbclock = RCC_ClocksStatus.PCLK1_Frequency; - } - - /* Determine the integer part */ - if ((USARTx->CR1 & CR1_OVER8_Set) != 0) - { - /* Integer part computing in case Oversampling mode is 8 Samples */ - integerdivider = ((25 * apbclock) / (2 * (USART_InitStruct->USART_BaudRate))); - } - else /* if ((USARTx->CR1 & CR1_OVER8_Set) == 0) */ - { - /* Integer part computing in case Oversampling mode is 16 Samples */ - integerdivider = ((25 * apbclock) / (4 * (USART_InitStruct->USART_BaudRate))); - } - tmpreg = (integerdivider / 100) << 4; - - /* Determine the fractional part */ - fractionaldivider = integerdivider - (100 * (tmpreg >> 4)); - - /* Implement the fractional part in the register */ - if ((USARTx->CR1 & CR1_OVER8_Set) != 0) - { - tmpreg |= ((((fractionaldivider * 8) + 50) / 100)) & ((uint8_t)0x07); - } - else /* if ((USARTx->CR1 & CR1_OVER8_Set) == 0) */ - { - tmpreg |= ((((fractionaldivider * 16) + 50) / 100)) & ((uint8_t)0x0F); - } - - /* Write to USART BRR */ - USARTx->BRR = (uint16_t)tmpreg; -} - -/** - * @brief Fills each USART_InitStruct member with its default value. - * @param USART_InitStruct: pointer to a USART_InitTypeDef structure - * which will be initialized. - * @retval None - */ -void USART_StructInit(USART_InitTypeDef* USART_InitStruct) -{ - /* USART_InitStruct members default value */ - USART_InitStruct->USART_BaudRate = 9600; - USART_InitStruct->USART_WordLength = USART_WordLength_8b; - USART_InitStruct->USART_StopBits = USART_StopBits_1; - USART_InitStruct->USART_Parity = USART_Parity_No ; - USART_InitStruct->USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - USART_InitStruct->USART_HardwareFlowControl = USART_HardwareFlowControl_None; -} - -/** - * @brief Initializes the USARTx peripheral Clock according to the - * specified parameters in the USART_ClockInitStruct . - * @param USARTx: where x can be 1, 2, 3 to select the USART peripheral. - * @param USART_ClockInitStruct: pointer to a USART_ClockInitTypeDef - * structure that contains the configuration information for the specified - * USART peripheral. - * @note The Smart Card and Synchronous modes are not available for UART4 and UART5. - * @retval None - */ -void USART_ClockInit(USART_TypeDef* USARTx, USART_ClockInitTypeDef* USART_ClockInitStruct) -{ - uint32_t tmpreg = 0x00; - /* Check the parameters */ - assert_param(IS_USART_123_PERIPH(USARTx)); - assert_param(IS_USART_CLOCK(USART_ClockInitStruct->USART_Clock)); - assert_param(IS_USART_CPOL(USART_ClockInitStruct->USART_CPOL)); - assert_param(IS_USART_CPHA(USART_ClockInitStruct->USART_CPHA)); - assert_param(IS_USART_LASTBIT(USART_ClockInitStruct->USART_LastBit)); - -/*---------------------------- USART CR2 Configuration -----------------------*/ - tmpreg = USARTx->CR2; - /* Clear CLKEN, CPOL, CPHA and LBCL bits */ - tmpreg &= CR2_CLOCK_CLEAR_Mask; - /* Configure the USART Clock, CPOL, CPHA and LastBit ------------*/ - /* Set CLKEN bit according to USART_Clock value */ - /* Set CPOL bit according to USART_CPOL value */ - /* Set CPHA bit according to USART_CPHA value */ - /* Set LBCL bit according to USART_LastBit value */ - tmpreg |= (uint32_t)USART_ClockInitStruct->USART_Clock | USART_ClockInitStruct->USART_CPOL | - USART_ClockInitStruct->USART_CPHA | USART_ClockInitStruct->USART_LastBit; - /* Write to USART CR2 */ - USARTx->CR2 = (uint16_t)tmpreg; -} - -/** - * @brief Fills each USART_ClockInitStruct member with its default value. - * @param USART_ClockInitStruct: pointer to a USART_ClockInitTypeDef - * structure which will be initialized. - * @retval None - */ -void USART_ClockStructInit(USART_ClockInitTypeDef* USART_ClockInitStruct) -{ - /* USART_ClockInitStruct members default value */ - USART_ClockInitStruct->USART_Clock = USART_Clock_Disable; - USART_ClockInitStruct->USART_CPOL = USART_CPOL_Low; - USART_ClockInitStruct->USART_CPHA = USART_CPHA_1Edge; - USART_ClockInitStruct->USART_LastBit = USART_LastBit_Disable; -} - -/** - * @brief Enables or disables the specified USART peripheral. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param NewState: new state of the USARTx peripheral. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the selected USART by setting the UE bit in the CR1 register */ - USARTx->CR1 |= CR1_UE_Set; - } - else - { - /* Disable the selected USART by clearing the UE bit in the CR1 register */ - USARTx->CR1 &= CR1_UE_Reset; - } -} - -/** - * @brief Enables or disables the specified USART interrupts. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param USART_IT: specifies the USART interrupt sources to be enabled or disabled. - * This parameter can be one of the following values: - * @arg USART_IT_CTS: CTS change interrupt (not available for UART4 and UART5) - * @arg USART_IT_LBD: LIN Break detection 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) - * @param NewState: new state of the specified USARTx interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_ITConfig(USART_TypeDef* USARTx, uint16_t USART_IT, FunctionalState NewState) -{ - uint32_t usartreg = 0x00, itpos = 0x00, itmask = 0x00; - uint32_t usartxbase = 0x00; - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_USART_CONFIG_IT(USART_IT)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - /* The CTS interrupt is not available for UART4 and UART5 */ - if (USART_IT == USART_IT_CTS) - { - assert_param(IS_USART_123_PERIPH(USARTx)); - } - - usartxbase = (uint32_t)USARTx; - - /* Get the USART register index */ - usartreg = (((uint8_t)USART_IT) >> 0x05); - - /* Get the interrupt position */ - itpos = USART_IT & IT_Mask; - itmask = (((uint32_t)0x01) << itpos); - - if (usartreg == 0x01) /* The IT is in CR1 register */ - { - usartxbase += 0x0C; - } - else if (usartreg == 0x02) /* The IT is in CR2 register */ - { - usartxbase += 0x10; - } - else /* The IT is in CR3 register */ - { - usartxbase += 0x14; - } - if (NewState != DISABLE) - { - *(__IO uint32_t*)usartxbase |= itmask; - } - else - { - *(__IO uint32_t*)usartxbase &= ~itmask; - } -} - -/** - * @brief Enables or disables the USART’s DMA interface. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param USART_DMAReq: specifies the DMA request. - * This parameter can be any combination of the following values: - * @arg USART_DMAReq_Tx: USART DMA transmit request - * @arg USART_DMAReq_Rx: USART DMA receive request - * @param NewState: new state of the DMA Request sources. - * This parameter can be: ENABLE or DISABLE. - * @note The DMA mode is not available for UART5 except in the STM32 - * High density value line devices(STM32F10X_HD_VL). - * @retval None - */ -void USART_DMACmd(USART_TypeDef* USARTx, uint16_t USART_DMAReq, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_USART_DMAREQ(USART_DMAReq)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the DMA transfer for selected requests by setting the DMAT and/or - DMAR bits in the USART CR3 register */ - USARTx->CR3 |= USART_DMAReq; - } - else - { - /* Disable the DMA transfer for selected requests by clearing the DMAT and/or - DMAR bits in the USART CR3 register */ - USARTx->CR3 &= (uint16_t)~USART_DMAReq; - } -} - -/** - * @brief Sets the address of the USART node. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param USART_Address: Indicates the address of the USART node. - * @retval None - */ -void USART_SetAddress(USART_TypeDef* USARTx, uint8_t USART_Address) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_USART_ADDRESS(USART_Address)); - - /* Clear the USART address */ - USARTx->CR2 &= CR2_Address_Mask; - /* Set the USART address node */ - USARTx->CR2 |= USART_Address; -} - -/** - * @brief Selects the USART WakeUp method. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param USART_WakeUp: specifies the USART wakeup method. - * This parameter can be one of the following values: - * @arg USART_WakeUp_IdleLine: WakeUp by an idle line detection - * @arg USART_WakeUp_AddressMark: WakeUp by an address mark - * @retval None - */ -void USART_WakeUpConfig(USART_TypeDef* USARTx, uint16_t USART_WakeUp) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_USART_WAKEUP(USART_WakeUp)); - - USARTx->CR1 &= CR1_WAKE_Mask; - USARTx->CR1 |= USART_WakeUp; -} - -/** - * @brief Determines if the USART is in mute mode or not. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param NewState: new state of the USART mute mode. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_ReceiverWakeUpCmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the USART mute mode by setting the RWU bit in the CR1 register */ - USARTx->CR1 |= CR1_RWU_Set; - } - else - { - /* Disable the USART mute mode by clearing the RWU bit in the CR1 register */ - USARTx->CR1 &= CR1_RWU_Reset; - } -} - -/** - * @brief Sets the USART LIN Break detection length. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param USART_LINBreakDetectLength: specifies the LIN break detection length. - * This parameter can be one of the following values: - * @arg USART_LINBreakDetectLength_10b: 10-bit break detection - * @arg USART_LINBreakDetectLength_11b: 11-bit break detection - * @retval None - */ -void USART_LINBreakDetectLengthConfig(USART_TypeDef* USARTx, uint16_t USART_LINBreakDetectLength) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_USART_LIN_BREAK_DETECT_LENGTH(USART_LINBreakDetectLength)); - - USARTx->CR2 &= CR2_LBDL_Mask; - USARTx->CR2 |= USART_LINBreakDetectLength; -} - -/** - * @brief Enables or disables the USART’s LIN mode. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param NewState: new state of the USART LIN mode. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_LINCmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the LIN mode by setting the LINEN bit in the CR2 register */ - USARTx->CR2 |= CR2_LINEN_Set; - } - else - { - /* Disable the LIN mode by clearing the LINEN bit in the CR2 register */ - USARTx->CR2 &= CR2_LINEN_Reset; - } -} - -/** - * @brief Transmits single data through the USARTx peripheral. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param Data: the data to transmit. - * @retval None - */ -void USART_SendData(USART_TypeDef* USARTx, uint16_t Data) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_USART_DATA(Data)); - - /* Transmit Data */ - USARTx->DR = (Data & (uint16_t)0x01FF); -} - -/** - * @brief Returns the most recent received data by the USARTx peripheral. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @retval The received data. - */ -uint16_t USART_ReceiveData(USART_TypeDef* USARTx) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - - /* Receive Data */ - return (uint16_t)(USARTx->DR & (uint16_t)0x01FF); -} - -/** - * @brief Transmits break characters. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @retval None - */ -void USART_SendBreak(USART_TypeDef* USARTx) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - - /* Send break characters */ - USARTx->CR1 |= CR1_SBK_Set; -} - -/** - * @brief Sets the specified USART guard time. - * @param USARTx: where x can be 1, 2 or 3 to select the USART peripheral. - * @param USART_GuardTime: specifies the guard time. - * @note The guard time bits are not available for UART4 and UART5. - * @retval None - */ -void USART_SetGuardTime(USART_TypeDef* USARTx, uint8_t USART_GuardTime) -{ - /* Check the parameters */ - assert_param(IS_USART_123_PERIPH(USARTx)); - - /* Clear the USART Guard time */ - USARTx->GTPR &= GTPR_LSB_Mask; - /* Set the USART guard time */ - USARTx->GTPR |= (uint16_t)((uint16_t)USART_GuardTime << 0x08); -} - -/** - * @brief Sets the system clock prescaler. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param USART_Prescaler: specifies the prescaler clock. - * @note The function is used for IrDA mode with UART4 and UART5. - * @retval None - */ -void USART_SetPrescaler(USART_TypeDef* USARTx, uint8_t USART_Prescaler) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - - /* Clear the USART prescaler */ - USARTx->GTPR &= GTPR_MSB_Mask; - /* Set the USART prescaler */ - USARTx->GTPR |= USART_Prescaler; -} - -/** - * @brief Enables or disables the USART’s Smart Card mode. - * @param USARTx: where x can be 1, 2 or 3 to select the USART peripheral. - * @param NewState: new state of the Smart Card mode. - * This parameter can be: ENABLE or DISABLE. - * @note The Smart Card mode is not available for UART4 and UART5. - * @retval None - */ -void USART_SmartCardCmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_USART_123_PERIPH(USARTx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the SC mode by setting the SCEN bit in the CR3 register */ - USARTx->CR3 |= CR3_SCEN_Set; - } - else - { - /* Disable the SC mode by clearing the SCEN bit in the CR3 register */ - USARTx->CR3 &= CR3_SCEN_Reset; - } -} - -/** - * @brief Enables or disables NACK transmission. - * @param USARTx: where x can be 1, 2 or 3 to select the USART peripheral. - * @param NewState: new state of the NACK transmission. - * This parameter can be: ENABLE or DISABLE. - * @note The Smart Card mode is not available for UART4 and UART5. - * @retval None - */ -void USART_SmartCardNACKCmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_USART_123_PERIPH(USARTx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - { - /* Enable the NACK transmission by setting the NACK bit in the CR3 register */ - USARTx->CR3 |= CR3_NACK_Set; - } - else - { - /* Disable the NACK transmission by clearing the NACK bit in the CR3 register */ - USARTx->CR3 &= CR3_NACK_Reset; - } -} - -/** - * @brief Enables or disables the USART’s Half Duplex communication. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param NewState: new state of the USART Communication. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_HalfDuplexCmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */ - USARTx->CR3 |= CR3_HDSEL_Set; - } - else - { - /* Disable the Half-Duplex mode by clearing the HDSEL bit in the CR3 register */ - USARTx->CR3 &= CR3_HDSEL_Reset; - } -} - - -/** - * @brief Enables or disables the USART's 8x oversampling mode. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param NewState: new state of the USART one bit sampling method. - * This parameter can be: ENABLE or DISABLE. - * @note - * This function has to be called before calling USART_Init() - * function in order to have correct baudrate Divider value. - * @retval None - */ -void USART_OverSampling8Cmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the 8x Oversampling mode by setting the OVER8 bit in the CR1 register */ - USARTx->CR1 |= CR1_OVER8_Set; - } - else - { - /* Disable the 8x Oversampling mode by clearing the OVER8 bit in the CR1 register */ - USARTx->CR1 &= CR1_OVER8_Reset; - } -} - -/** - * @brief Enables or disables the USART's one bit sampling method. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param NewState: new state of the USART one bit sampling method. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_OneBitMethodCmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the one bit method by setting the ONEBITE bit in the CR3 register */ - USARTx->CR3 |= CR3_ONEBITE_Set; - } - else - { - /* Disable tthe one bit method by clearing the ONEBITE bit in the CR3 register */ - USARTx->CR3 &= CR3_ONEBITE_Reset; - } -} - -/** - * @brief Configures the USART's IrDA interface. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param USART_IrDAMode: specifies the IrDA mode. - * This parameter can be one of the following values: - * @arg USART_IrDAMode_LowPower - * @arg USART_IrDAMode_Normal - * @retval None - */ -void USART_IrDAConfig(USART_TypeDef* USARTx, uint16_t USART_IrDAMode) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_USART_IRDA_MODE(USART_IrDAMode)); - - USARTx->CR3 &= CR3_IRLP_Mask; - USARTx->CR3 |= USART_IrDAMode; -} - -/** - * @brief Enables or disables the USART's IrDA interface. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param NewState: new state of the IrDA mode. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_IrDACmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - { - /* Enable the IrDA mode by setting the IREN bit in the CR3 register */ - USARTx->CR3 |= CR3_IREN_Set; - } - else - { - /* Disable the IrDA mode by clearing the IREN bit in the CR3 register */ - USARTx->CR3 &= CR3_IREN_Reset; - } -} - -/** - * @brief Checks whether the specified USART flag is set or not. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param USART_FLAG: specifies the flag to check. - * This parameter can be one of the following values: - * @arg USART_FLAG_CTS: CTS Change flag (not available for UART4 and UART5) - * @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 USART_FLAG (SET or RESET). - */ -FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG) -{ - FlagStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_USART_FLAG(USART_FLAG)); - /* The CTS flag is not available for UART4 and UART5 */ - if (USART_FLAG == USART_FLAG_CTS) - { - assert_param(IS_USART_123_PERIPH(USARTx)); - } - - if ((USARTx->SR & USART_FLAG) != (uint16_t)RESET) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - return bitstatus; -} - -/** - * @brief Clears the USARTx's pending flags. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param USART_FLAG: specifies the flag to clear. - * This parameter can be any combination of the following values: - * @arg USART_FLAG_CTS: CTS Change flag (not available for UART4 and UART5). - * @arg USART_FLAG_LBD: LIN Break detection flag. - * @arg USART_FLAG_TC: Transmission Complete flag. - * @arg USART_FLAG_RXNE: Receive data register not empty flag. - * - * @note - * - PE (Parity error), FE (Framing error), NE (Noise error), ORE (OverRun - * error) and IDLE (Idle line detected) flags are cleared by software - * sequence: a read operation to USART_SR register (USART_GetFlagStatus()) - * followed by a read operation to USART_DR register (USART_ReceiveData()). - * - RXNE flag can be also cleared by a read to the USART_DR register - * (USART_ReceiveData()). - * - TC flag can be also cleared by software sequence: a read operation to - * USART_SR register (USART_GetFlagStatus()) followed by a write operation - * to USART_DR register (USART_SendData()). - * - TXE flag is cleared only by a write to the USART_DR register - * (USART_SendData()). - * @retval None - */ -void USART_ClearFlag(USART_TypeDef* USARTx, uint16_t USART_FLAG) -{ - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_USART_CLEAR_FLAG(USART_FLAG)); - /* The CTS flag is not available for UART4 and UART5 */ - if ((USART_FLAG & USART_FLAG_CTS) == USART_FLAG_CTS) - { - assert_param(IS_USART_123_PERIPH(USARTx)); - } - - USARTx->SR = (uint16_t)~USART_FLAG; -} - -/** - * @brief Checks whether the specified USART interrupt has occurred or not. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param USART_IT: specifies the USART interrupt source to check. - * This parameter can be one of the following values: - * @arg USART_IT_CTS: CTS change interrupt (not available for UART4 and UART5) - * @arg USART_IT_LBD: LIN Break detection interrupt - * @arg USART_IT_TXE: Tansmit 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 USART_IT (SET or RESET). - */ -ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT) -{ - uint32_t bitpos = 0x00, itmask = 0x00, usartreg = 0x00; - ITStatus bitstatus = RESET; - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_USART_GET_IT(USART_IT)); - /* The CTS interrupt is not available for UART4 and UART5 */ - if (USART_IT == USART_IT_CTS) - { - assert_param(IS_USART_123_PERIPH(USARTx)); - } - - /* Get the USART register index */ - usartreg = (((uint8_t)USART_IT) >> 0x05); - /* Get the interrupt position */ - itmask = USART_IT & IT_Mask; - itmask = (uint32_t)0x01 << itmask; - - if (usartreg == 0x01) /* The IT is in CR1 register */ - { - itmask &= USARTx->CR1; - } - else if (usartreg == 0x02) /* The IT is in CR2 register */ - { - itmask &= USARTx->CR2; - } - else /* The IT is in CR3 register */ - { - itmask &= USARTx->CR3; - } - - bitpos = USART_IT >> 0x08; - bitpos = (uint32_t)0x01 << bitpos; - bitpos &= USARTx->SR; - if ((itmask != (uint16_t)RESET)&&(bitpos != (uint16_t)RESET)) - { - bitstatus = SET; - } - else - { - bitstatus = RESET; - } - - return bitstatus; -} - -/** - * @brief Clears the USARTx's interrupt pending bits. - * @param USARTx: Select the USART or the UART peripheral. - * This parameter can be one of the following values: - * USART1, USART2, USART3, UART4 or UART5. - * @param USART_IT: specifies the interrupt pending bit to clear. - * This parameter can be one of the following values: - * @arg USART_IT_CTS: CTS change interrupt (not available for UART4 and UART5) - * @arg USART_IT_LBD: LIN Break detection interrupt - * @arg USART_IT_TC: Transmission complete interrupt. - * @arg USART_IT_RXNE: Receive Data register not empty interrupt. - * - * @note - * - PE (Parity error), FE (Framing error), NE (Noise error), ORE (OverRun - * error) and IDLE (Idle line detected) pending bits are cleared by - * software sequence: a read operation to USART_SR register - * (USART_GetITStatus()) followed by a read operation to USART_DR register - * (USART_ReceiveData()). - * - RXNE pending bit can be also cleared by a read to the USART_DR register - * (USART_ReceiveData()). - * - TC pending bit can be also cleared by software sequence: a read - * operation to USART_SR register (USART_GetITStatus()) followed by a write - * operation to USART_DR register (USART_SendData()). - * - TXE pending bit is cleared only by a write to the USART_DR register - * (USART_SendData()). - * @retval None - */ -void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT) -{ - uint16_t bitpos = 0x00, itmask = 0x00; - /* Check the parameters */ - assert_param(IS_USART_ALL_PERIPH(USARTx)); - assert_param(IS_USART_CLEAR_IT(USART_IT)); - /* The CTS interrupt is not available for UART4 and UART5 */ - if (USART_IT == USART_IT_CTS) - { - assert_param(IS_USART_123_PERIPH(USARTx)); - } - - bitpos = USART_IT >> 0x08; - itmask = ((uint16_t)0x01 << (uint16_t)bitpos); - USARTx->SR = (uint16_t)~itmask; -} -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_wwdg.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_wwdg.c deleted file mode 100644 index 77a7ce517..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_wwdg.c +++ /dev/null @@ -1,224 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f10x_wwdg.c - * @author MCD Application Team - * @version V3.5.0 - * @date 11-March-2011 - * @brief This file provides all the WWDG firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x_wwdg.h" -#include "stm32f10x_rcc.h" - -/** @addtogroup STM32F10x_StdPeriph_Driver - * @{ - */ - -/** @defgroup WWDG - * @brief WWDG driver modules - * @{ - */ - -/** @defgroup WWDG_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @defgroup WWDG_Private_Defines - * @{ - */ - -/* ----------- WWDG registers bit address in the alias region ----------- */ -#define WWDG_OFFSET (WWDG_BASE - PERIPH_BASE) - -/* Alias word address of EWI bit */ -#define CFR_OFFSET (WWDG_OFFSET + 0x04) -#define EWI_BitNumber 0x09 -#define CFR_EWI_BB (PERIPH_BB_BASE + (CFR_OFFSET * 32) + (EWI_BitNumber * 4)) - -/* --------------------- WWDG registers bit mask ------------------------ */ - -/* CR register bit mask */ -#define CR_WDGA_Set ((uint32_t)0x00000080) - -/* CFR register bit mask */ -#define CFR_WDGTB_Mask ((uint32_t)0xFFFFFE7F) -#define CFR_W_Mask ((uint32_t)0xFFFFFF80) -#define BIT_Mask ((uint8_t)0x7F) - -/** - * @} - */ - -/** @defgroup WWDG_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @defgroup WWDG_Private_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup WWDG_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup WWDG_Private_Functions - * @{ - */ - -/** - * @brief Deinitializes the WWDG peripheral registers to their default reset values. - * @param None - * @retval None - */ -void WWDG_DeInit(void) -{ - RCC_APB1PeriphResetCmd(RCC_APB1Periph_WWDG, ENABLE); - RCC_APB1PeriphResetCmd(RCC_APB1Periph_WWDG, DISABLE); -} - -/** - * @brief Sets the WWDG Prescaler. - * @param WWDG_Prescaler: specifies the WWDG Prescaler. - * This parameter can be one of the following values: - * @arg WWDG_Prescaler_1: WWDG counter clock = (PCLK1/4096)/1 - * @arg WWDG_Prescaler_2: WWDG counter clock = (PCLK1/4096)/2 - * @arg WWDG_Prescaler_4: WWDG counter clock = (PCLK1/4096)/4 - * @arg WWDG_Prescaler_8: WWDG counter clock = (PCLK1/4096)/8 - * @retval None - */ -void WWDG_SetPrescaler(uint32_t WWDG_Prescaler) -{ - uint32_t tmpreg = 0; - /* Check the parameters */ - assert_param(IS_WWDG_PRESCALER(WWDG_Prescaler)); - /* Clear WDGTB[1:0] bits */ - tmpreg = WWDG->CFR & CFR_WDGTB_Mask; - /* Set WDGTB[1:0] bits according to WWDG_Prescaler value */ - tmpreg |= WWDG_Prescaler; - /* Store the new value */ - WWDG->CFR = tmpreg; -} - -/** - * @brief Sets the WWDG window value. - * @param WindowValue: specifies the window value to be compared to the downcounter. - * This parameter value must be lower than 0x80. - * @retval None - */ -void WWDG_SetWindowValue(uint8_t WindowValue) -{ - __IO uint32_t tmpreg = 0; - - /* Check the parameters */ - assert_param(IS_WWDG_WINDOW_VALUE(WindowValue)); - /* Clear W[6:0] bits */ - - tmpreg = WWDG->CFR & CFR_W_Mask; - - /* Set W[6:0] bits according to WindowValue value */ - tmpreg |= WindowValue & (uint32_t) BIT_Mask; - - /* Store the new value */ - WWDG->CFR = tmpreg; -} - -/** - * @brief Enables the WWDG Early Wakeup interrupt(EWI). - * @param None - * @retval None - */ -void WWDG_EnableIT(void) -{ - *(__IO uint32_t *) CFR_EWI_BB = (uint32_t)ENABLE; -} - -/** - * @brief Sets the WWDG counter value. - * @param Counter: specifies the watchdog counter value. - * This parameter must be a number between 0x40 and 0x7F. - * @retval None - */ -void WWDG_SetCounter(uint8_t Counter) -{ - /* Check the parameters */ - assert_param(IS_WWDG_COUNTER(Counter)); - /* Write to T[6:0] bits to configure the counter value, no need to do - a read-modify-write; writing a 0 to WDGA bit does nothing */ - WWDG->CR = Counter & BIT_Mask; -} - -/** - * @brief Enables WWDG and load the counter value. - * @param Counter: specifies the watchdog counter value. - * This parameter must be a number between 0x40 and 0x7F. - * @retval None - */ -void WWDG_Enable(uint8_t Counter) -{ - /* Check the parameters */ - assert_param(IS_WWDG_COUNTER(Counter)); - WWDG->CR = CR_WDGA_Set | Counter; -} - -/** - * @brief Checks whether the Early Wakeup interrupt flag is set or not. - * @param None - * @retval The new state of the Early Wakeup interrupt flag (SET or RESET) - */ -FlagStatus WWDG_GetFlagStatus(void) -{ - return (FlagStatus)(WWDG->SR); -} - -/** - * @brief Clears Early Wakeup interrupt flag. - * @param None - * @retval None - */ -void WWDG_ClearFlag(void) -{ - WWDG->SR = (uint32_t)RESET; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Release_Notes.html b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Release_Notes.html deleted file mode 100644 index e753bf3df..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Release_Notes.html +++ /dev/null @@ -1,1031 +0,0 @@ - - - - - - - - - - - - - - - -Release Notes for STM32F10x Standard Peripherals Library - - - - -
-


-
- - - - - - -
- - - - - - -
-

Release -Notes for STM32F10x Standard Peripherals Library (StdPeriph_Lib)

- -

Copyright 2011 STMicroelectronics

-

-
-

 

- - - - - - -
-

Contents

-
    -
  1. STM32F10x Standard Peripherals Library -update History
  2. -
  3. License
  4. -
- -

STM32F10x Standard -Peripherals Library update History


-

V3.5.0 / 08-April-2011

-

Main -Changes

- -
    -
  • Specific system_stm32f10x.c file provided for each example
  • -
  • HTML file containing the examples list, with main features, provided in the root folder (allow search on key word/feature)
  • -
  • Template projects updated to save configuration time and easy the examples use
  • -
  • Refreshed example list vs. previous version:
  • -
      -
    • Add two new Examples: MPU and TIM DMA Burst    
      -
    • -
    • xWDG examples enhanced, ex. accurate IWDG timeout thanks to LSI freq measure w/ Timer
    • -
    • NVIC and SysTick examples enhanced to provide more details how to use them w/ CMSIS layer
      -
    • -
    - -
- - - -

Contents

- - - - -

Development Toolchains and Compilers

- - - - -
    -
  • IAR Embedded Workbench for ARM (EWARM) toolchain V5.50.5
    -
  • Hitex IDE/Debugger - (HiTOP) toolchain V5.40.0051
  • RealView Microcontroller -Development Kit (MDK-ARM) toolchain V4.13 -
  • Raisonance IDE RIDE7 -(RIDE) toolchain (RIDE7 IDE:7.30.10, RKitARM for RIDE7:1.30.10)
  • -
  • Atollic TrueSTUDIO STM32 -(TrueSTUDIO) toolchain V1.4.0
  • - -
- - - - - - -

3.4.0 - 10/15/2010

- - -
    -
  1. General
  2. -
- - -
    -
  • Add support for STM32F10x High-density Value line devices.
    -
  • -
  • Add 3 examples: FSMC OneNAND, I2C TSENSOR (Temperature Sensro) and I2C IOExpander.
    -
  • -
  • Utilities STM32  EVAL drivers enhancements:
  • -
      -
    • I2C EEPROM, Temperature Sensor and IO Expander drivers updated to use the DMA for read/write transfer and add more robustness.
    • -
    • SD Card (SDIO) driver updated to add more robustness.
      -
    • -
    - -
- - -
    -
  1. Libraries
  2. -
- - -
    -
  • CMSIS
  • -
- - - - - -
    -
  • STM32F10x_StdPeriph_Driver
  • -
- - - - -
    -
  1. Project
  2. -
- - -
    -
  • STM32F10x_StdPeriph_Examples
  • -
- - - - - -
    -
  • STM32F10x_StdPeriph_Template
  • -
- - - - -
    -
  1. Utilities
  2. -
- - -
    -
  • STM32_EVAL
  • -
- - - -
-

3.3.0 - 04/16/2010

-
  1. General
-
  • Add support for STM32F10x XL-density devices. 
  • Add template project for TrueSTUDIO toolchain.
-
  1. Libraries
-
  • CMSIS
- -
  • STM32F10x_StdPeriph_Driver
- -
  1. Project
-
  • STM32F10x_StdPeriph_Examples
- -
  • STM32F10x_StdPeriph_Template
- -
  1. Utilities
-
  • STM32_EVAL
-

3.2.0 - 03/01/2010

-
  1. General
-
  • Add support for STM32 Low-density Value line (STM32F100x4/6) and Medium-density Value line (STM32F100x8/B) devices.
  • -
  • New CMSIS V1.30 release
  • -
-
  1. Libraries
-
  • CMSIS
- -
  • STM32F10x_StdPeriph_Driver
- -
  1. Project
-
  • STM32F10x_StdPeriph_Examples
- -
  • STM32F10x_StdPeriph_Template
- -
  1. Utilities
-
  • STM32_EVAL
- -

V3.1.2 - - 09/28/2009

-
  1. General
-
  • Add support for Hitex - Development Tools HiTOP.
-
  1. Libraries
-
  • CMSIS
-
    • system_stm32f10x.c: SetSysClockTo56() - function, change the flash latency to 2 instead of 1
-
  • STM32F10x_StdPeriph_Driver
-
    • stm32f10x_tim.c: in TIM_OCxInit() functions, - add new instruction to set the CCxS bits (x= 1, 2, 3, 4) - to 0, i.e. the channel CCx is configured as output. In the previous - version these functions was assuming that the CCxS bits are - reset; if a channel was previously configured in input, a call to - this function doesn't allow using it in output mode. This is resolved - with this modification. 
-
    • stm32f10x_spi.h: I2S_InitTypeDef - structure, change the type of I2S_AudioFreq field - to uint32_t instead of uint16_t. This modification is - needed to support I2S 96KHz frequency (available in Connectivity - Line devices).
-
    • stm32f10x_flash.c: FLASH_EraseOptionBytes() - function, add note to clarify this function behavior.
-
  1. Project
-
  • STM32F10x_StdPeriph_Examples
-
    • I2C\EEPROM example
      • i2c_ee.c: I2C_EE_BufferRead() - function, the following line was removed         -                   -                   -      

                  /* Clear EV6 by setting - again the PE bit */
-        I2C_Cmd(I2C_EE, ENABLE);

-
    • RCC example
      • main.c: SetSysClockTo56() - function, change the flash latency to 2 instead of 1
-
  • Template
-
    • Add template projects - for HiTOP toolchain to support Medium-density (Template\HiTOP\STM3210B-EVAL), - High-density (Template\HiTOP\STM3210E-EVAL) and Connectivity line - (Template\HiTOP\STM3210C-EVAL) devices.
-

V3.1.0 -- 06/19/2009

  1. General
  • Update to support the additional peripherals and features embedded in the STM32F10x Connectivity Line devices.
  • Doxygen -documentation enhanced to give more detail about driver function’s -parameters: description, allowed values and required preconditions. -This is mainly relevant for peripheral initialization structure’s -members (PPP_InitTypeDef).
  • C++ support
  1. Libraries
  • CMSIS
    • stm32f10x.h
      • Add new define STM32F10X_CL to configure the library for Connectivity Line devices (default configuration)
      • Interrupt Number Definition (IRQn)
      • Add definition for Connectivity Line devices peripheral’s interrupts
      • For STM32 Low Density Devices, the SPI2_IRQn was removed since there is no SPI2 in these devices.
      • Add register's definitions, bits definitions and memory mapping for new peripherals (Ethernet and CAN2)
      • RCC, DBGMCU, EXTI, CAN, GPIO and AFIO bits definitions updated
      • AFIO_MAPR_SPI1 _REMAP define declaration corrected to AFIO_MAPR_SPI1_REMAP
      • Tailor HSE_Value to the to the selected device
    • system_stm32f10x.c
      • Clock configuration functions updated to support Connectivity line devices
      • Change SetSysClockTo20 function to SetSysClockTo24
    • startup
      • Add new startup files startup_stm32f10x_cl.s  for Connectivity Line devices
      • For STM32 Low Density Devices, the SPI2_IRQHandler was removed since there is no SPI2 in these devices.
      • Use CMSIS Core Peripheral Access Layer V1.20
  • STM32F10x_StdPeriph_Driver
    • CAN: update to support CAN2 peripheral, with no impact on the API
      • Add new instance CAN2
      • Filter number updated
      • Add new function CAN_SlaveStartBank
    • RCC: update to support Connectivity Line devices, with no impact on the API
      • RCC_DeInit and RCC_GetSYSCLKSource functions updated
      • Function’s parameters list updated
      • Add new functions
        • RCC_PREDIV1Config, RCC_PREDIV2Config
        • RCC_PLL2Config, RCC_PLL2Cmd
        • RCC_PLL3Config, RCC_PLL3Cmd
        • RCC_OTGFSCLKConfig
        • RCC_I2S2CLKConfig, RCC_I2S3CLKConfig
        • RCC_AHBPeriphResetCmd
        • RCC_APB2Periph_ALL and RCC_APB1Periph_ALL parameters removed
    • GPIO
      • Update GPIO_PinRemapConfig function with 4 new AF remap
      • Add new function GPIO_ETH_MediaInterfaceConfig
    • EXTI
      • Add new internal EXTI Line 19 connected to ETH wakeup
    • DBGMCU
      • Add new define DBGMCU_CAN2_STOP
    • DAC
      • Add -new define DAC_Trigger_T3_TRGO (to be used instead of -DAC_Trigger_T8_TRGO, since TIM8 not available in Connectivity Line -devices)
    • SPI/I2S
      • I2S_Init function updated to support new clock scheme implemented in Connectivity Line devices
      • Update I2S_AudioFreq defines to support frequency up to 96 KHz
    • FLASH
      • Update FLASH_EnableWriteProtection function header and parameter list  to support Connectivity Line devices
  1. Project
    • STM32F10x_StdPeriph_Examples
      • Almost -examples updated to run on Connectivity Line devices and -STMicroelectronics STM3210C-EVAL evaluation board. Refer to the readme -file provided within each example for more information on how to use -the example with a specific board.
      • TIM: add new example TIM_Input_Capture
      • I2C: M24C08_EEPROM example renamed to EEPROM
    • Template
      • Template -projects for EWARMv5, RIDE and RVMDK updated to support Connectivity -Line devices and STMicroelectronics STM3210C-EVAL evaluation board.
  1. Utilities
  • Implement -a new abstraction layer to interact with the Human Interface resources; -buttons, LEDs, LCD and COM ports (USARTs) available on -STMicroelectronics STM3210C-EVAL (Connectivity line), STM3210E-EVAL -(High-Density) and STM3210B-EVAL (Medium-Density) evaluation boards. -The stm32_eval.c driver provides a common API to interact with buttons, -LEDs and COM ports, while these resources hardware  definitions is -made in the header file of each evaluation board (stm3210x_eval.h). A -common API is provided to manage the LCD across the supported boards, -with a separate driver for each board stm3210x_eval_lcd.c.
-

V3.0.0 -- 04/06/2009

-
  1. General
  • STM3210x FW Library renamed to STM32F10x Standard Peripherals Library (StdPeriph_Lib)
  • STM32F10x Standard Peripherals Library is full CMSIS compliant
  • STM32F10x Standard Peripherals Library Structure is updated.
  • STM32F10x Standard Peripherals Package Architecture is enhanced
  • STM32F10x Standard Peripherals Library User Manual  with *.chm format
  1. library
  • CAN driver updated
    • CAN driver was updated to support STM32F10xxx connectivity line products.
    • CAN peripheral was renamed as CAN1. All occurrences related to CAN were also renamed as CAN1 in the different drivers.
  • I2C driver
    • I2C event assert macro missing in stm32f10x_i2c.h file.
  • DBGMCU
    • Wrong -defines in stm32f10x_dbgmcu.h: DBGMCU_TIM5_STOP, DBGMCU_TIM6_STOP, -DBGMCU_TIM7_STOP and  DBGMCU_TIM8_STOP defines values are wrong.

  • FSMC
    • Remove the FSMC AddressLowMapping configuration
  1. examples
  • FSMC NOR driver Timings are updated.
  • Add CAN "Normal" example
  • TIM "6Steps" example wave forms updated
  • NVIC "CM3_LPModes" and "System_Handlers" examples removed

For more details, please -refer to AN2953 "How to migrate from the STM32F10xxx firmware library -V2.0.3 to the STM32F10xxx standard peripheral library V3.0.0".

-

V2.0.3 -- 09/22/2008

-
    -
  1. General
  2. -
-
    -
  • stm32f10xfwlib_contents_html -file updated:
  • -
      -
    • Description -of firmware library package content
    • -
    • Easy-to-use -firmware library examples: add description of how to use the project -template to run the selected example
    • -
    -
-
    -
  1. library
  2. -
-
    -
  • stm32f10x_map.h: -add all STM32 Hardware registers bits definitions
  • -
  • stm32f10x_conf.h: -add a define for HSEStartUp_TimeOut
  • -
  • stm32f10x_fsmc.h/.c:
  • -
      -
    • FSMC_MemoryType_CRAM is changed -to FSMC_MemoryType_PSRAM
    • -
    • FSMC_AsyncWait member -removed from FSMC_NORSRAMInitTypeDef -structure
    • -
    • FSMC_BusTurnAroundDuration parameter -removed in case of write configuration
    • -
    -
  • stm32f10x_rcc.h/.c:
  • -
      -
    • RCC_FLAG_HSIRDY -define value changed to 0x21.
    • -
    • StartUpCounterand HSEStatus -variables are now local for RCC_WaitForHSEStartUp -function.
    • -
    -
  • stm32f10x_i2c.h/.c: -
  • -
      -
    • Add new -event: EV8: I2C_EVENT_MASTER_BYTE_TRANSMITTING
    • -
    -
  • stm32f10x_tim.c: -
  • -
      -
    • "=" operator -changed to "|=" inside TIM_SelectOCxM -function
    • -
    -
  • stm32f10x_can.c: -Definitions names changed
  • -
-
    -
  1. examples
  2. -
-
    -
  • I2C Interrupt -example
  • -
      -
    • Example -updated according to I2C driver update
    • -
    -
  • I2C -M24C08_EEPROM example
  • -
      -
    • i2c_ee.c -file: add a loop on I2C_FLAG_BUSY in I2C_EE_PageWrite and
    • -
    • I2C_EE_BufferRead -functions
    • -
    • i2c_ee.c -file: add STOP condition in I2C_EE_WaitEepromStandbyState function
    • -
    -
  • SDIO example
  • -
      -
    • Example -updated to support SD Card V2.0 and SD High Capacity cards.
    • -
    -
  • USART Polling -example
  • -
      -
    • USART TC flag -check changed by USART TXE flag check
    • -
    -
-

V2.0.2 -- 07/11/2008

-
    -
  1. library
  2. -
-
    -
  • stm32f10x_spi.c -/.h
  • -
      -
    • SPI_I2S_ClearFlag -function: some flags are removed from the possible flags parameters -list. This function can clear only CRCERR flag.
    • -
    -
-
    -
      -
    • SPI_I2S_ClearITPendingBit -function: some pending bits are removed from the possible -pending bits parameters list. This function can clear only CRCERR -pending -bit.        - 
    • -
    -
-
    -
  • stm32f10x_i2c.c -/.h
  • -
      -
    • I2C_ClearFlag -function: some flags are removed from the possible flags parameters -list. This function can clear only SMBALER, TIMEOUT, PECERR, OVR, AF, -ARLO and BERR flags. The passed parameter can be any combination of -above flags.
    • -
    -
-
    -
  • I2C_GetITStatus -function checks on interrupt pending bit and the interrupt enable bit.
  • -
-
    -
  • I2C_ClearITPendingBit -function: some pending bits are removed from the possible pending bits -parameters list. This function can clear only SMBALER, TIMEOUT, PECERR, -OVR, AF, ARLO and BERR pending bits. The passed parameter can be any -combination of above pending bits. 
  • -
  •  stm32f10x_usart.c -/.h
  • -
      -
    •  USART_ClearFlag -function: some flags are removed from the possible flags parameters -list. This function can clear only CTS, LBD, TC and RXNE -flags.            - 
    • -
    -
-
    -
      -
    • USART_GetITStatus function: -IS_USART_IT macro is changed to IS_USART_GET_IT
    • -
    • USART_ClearITPendingBit function: -some pending bits are removed from the possible pending bits parameters -list. This function can clear only CTS, LBD, TC and RXNE pending -bits.         - 
    • -
    -
-
    -
  • stm32f10x_tim.c
  • -
      -
    • remove -IS_TIM_PERIPH_FLAG(TIMx, -TIM_FLAG) macro from TIM_ClearFlag function.
    • -
    -
-
    -
  • stm32f10x_wwdg.c
  • -
      -
    • use register -direct access in the WWDG_GetFlagStatus -function instead of bit banding access.
    • -
    -
-
    -
  • stm32f10x_gpio.c
  • -
      -
    • GPIO_Init function -update.
    • -
    -
-
    -
  1. examples
  2. -
-
    -
  • I2C Interrupt -example
  • -
      -
    • The example -is changed to provide a description of how to manage -data transfer from master transmitter to slave receiver and -from slave transmitter to master receiver using interrupts.
    • -
    -
-
    -
      -
    • add main.h -file.
    • -
    -
-
    -
  • I2C -10bitAddress example
  • -
      -
    • Updated -according to the I2C driver update.
    • -
    -
-
    -
  • I2C DualAddress -example
  • -
      -
    • Updated -according to the I2C driver update.
    • -
    -
-
    -
  • I2C SMBus -example
  • -
      -
    • Updated -according to the I2C driver update
    • -
    -
-
    -
  • USART DMA_Interrupt -example
  • -
      -
    • Updated -according to the USART driver update.
    • -
    -
-
    -
  • USART -Smartcard example
  • -
      -
    • Updated -according to the USART driver update.
    • -
    -
-
    -
  • DAC Examples
  • -
      -
    • GPIO_Configuration -function updated: Once the DAC channel is enabled, the corresponding -GPIO pin is automatically connected to the DAC converter. In order to -avoid parasitic consumption, the GPIO pin should  -be configured in analog.
    • -
    -
-
    -
  • RTC LSI_Calib -example
  • -
      -
    • Example -Update: add main.h -file.
    • -
    -
-

V2.0.1 -- 06/13/2008

-
    -
  • Remove the -Firmware License Agreement file.
  • -
  • Update the -source files's -header to remove reference to the License.
  • -
-

V2.0 -- 05/23/2008

-
    -
  1. General
  2. -
-
    -
  • The FWLib -V2.0 is an update of the V1.0 to support the extra peripherals and -features embedded in the STM32 High-density -devices.   
  • -
  • Add Firmware -License Agreement file.
  • -
  • For more -details about the Firmware Library, please refer to the User. manual -"UM0427 ARM«-based 32-bit MCU STM32F101xx and STM32F103xx -Firmware  Library"  available for download from the -ST microcontrollers website: www.st.com/stm32. -
  • -
  • Glossary
  • -
      -
    • Medium-density -devices are STM32F101xx and STM32F103xx microcontrollers where the -Flash memory density ranges between 32 and 128 Kbytes.
    • -
    • High-density -devices are STM32F101xx and STM32F103xx microcontrollers where the -Flash memory density ranges between 256 and 512 -Kbytes.   
    • -
    -
-
    -
  1. library
  2. -
-
    -
  • Add driver -for new peripherals: FSMC, SDIO and DAC. 
  • -
  • stm32f10x_spi.c -/.h
  • -
      -
    • driver update to -support new I2S functionality.
    • -
    -
  • Add driver -for DBGMCU and CRC modules    
  • -
  • stm32f10x_dma.c -/.h
  • -
      -
    • driver update to -support DMA2 channels.
    • -
    -
  • stm32f10x_adc.c -/.h
  • -
      -
    • driver update to -support ADC3.
    • -
    -
  • stm32f10x_usart.c -/.h
  • -
      -
    • driver update to -support UART4 and UART5.
    • -
    • new USART_ClockInitTypeDef -structure derived from USART_InitTypeDef -one (for USART synchronous parameters).
    • -
    -
  • Timer -peripherals driver
  • -
      -
    • stm32f10x_tim1.c -/.h and stm32f10x_tim.c /.h drivers merged in one single driver: -stm32f10x_tim.c /.h
    • -
    • update to support -new timer peripherals: TIM5, TIM6, TIM7 and TIM8.
    • -
    • add new macro -for function parameters test.
    • -
    • TIM_TimeBaseInit, TIM_PrescalerConfig -and TIM_GenerateEvent -functions updated.
    • -
    • TIM_TIxExternalClockConfig, -TIM_ETRClockMode1Config, TIM_ETRClockMode2Config, TIM_ETRConfig, -TIM_SetIC1Prescaler, TIM_SetIC2Prescaler, TIM_SetIC3Prescaler and -TIM_SetIC4Prescaler functions prototype update.
    • -
    -
  • stm32f10x_gpio.c -/.h
  • -
      -
    • driver update to -support GPIOF and GPIOG.
    • -
    -
  • stm32f10x_lib.c -/.h, stm32f10x_map.h, stm32f10x_conf.h
  • -
      -
    • update to add new -peripherals register declarations and header files inclusion.
    • -
    -
  • stm32f10x_nvic.c -/.h           -
  • -
  •  stm32f10x_itc.c -/.h
  • -
  • stm32f10x_vector.c -/.s            -
  • -
      -
    • update to support -the new peripherals interrupt vector.
    • -
    -
  • stm32f10x_rcc.c -/.h
  • -
      -
    • driver update to -support new peripherals clock & reset enable/disable.
    • -
    • HSE -Oscillator start up timeout increased to 0x01FF.
    • -
    • RCC_DeInit function -update.
    • -
    -
  • stm32f10x_bkp.c -/.h
  • -
      -
    • driver update to -support the new 32 backup registers.
    • -
    -
  • stm32f10x_map.h
  • -
  • stm32f10x_can.c -
  • -
      -
    • CAN register -numbering update
    • -
    -
  • stm32f10x_flash.h -
  • -
      -
    • update macro -"IS_FLASH_ADDRESS" to support memory size up to 512KB.
    • -
    -
  • stm32f10x_flash.c -
  • -
      -
    • FLASH_EnableWriteProtection function: -update "FLASH_Pages" -paramter -values  description.
    • -
    -
  • stm32f10x_exti.c
  • -
      -
    • EXTI_Init function -update.
    • -
    -
  • stm32f10x_type.h
  • -
      -
    • 'S32_MIN' -type corrected to "#define S32_MIN ((s32)-2147483648)".
    • -
    -
  • stm32f10x_ppp.h
  • -
      -
    • in all macros, -put the passed parameter between parenthesis.
    • -
    -
  • stm32f10x_can.c
  • -
      -
    • extended ID coded in -29-bit long.
    • -
    • CAN -initialization acknowledge error fixed.
    • -
    -
  • stm32f10x_usart.c
  • -
      -
    • change "&=" -instead of "="  in USART_ClearITPendingBit  -and USART_ClearFlag -functions.
    • -
    -
  • stm32f10x_adc.c
  • -
      -
    • replace "&=" -by "="  in ADC_ClearITPendingBit -and ADC_ClearFlag -functions.
    • -
    -
  • stm32f10x_i2c.c
  • -
      -
    • replace "&=" -by "="  in I2C_ClearITPendingBit and I2C_ClearFlag functions.
    • -
    -
  • stm32f10x_tim.c
  • -
      -
    • replace "&=" -by "="  in TIM_ClearITPendingBit -and TIM_ClearFlag -functions.
    • -
    -
-
    -
  1. project
  2. -
-
    -
  • stm32f10x_it.c
  • -
      -
    • update file -description.
    • -
    -
  • Add template -projects for EWARM v5 and HiTOP -toolchains.           -
  • -
-
    -
  1. examples
  2. -
-
    -
  • FWLib V1.0 -examples ported to run on STMicroelectronics STM3210E-EVAL evaluation -board (in addition to STM3210B-EVAL)
  • -
  • Add new -examples for FSMC, SDIO, DAC and I2S (run only on High-density -devices).
  • -
  • Add new -examples for ADC, DMA and RTC peripherals.
  • -
  • Add new -example for CRC module.
  • -
  • Examples -folder renamed, use of short name instead of examplex -(x: 1 2 ...).
  • -
-

V1.0 -- 10/08/2007

-
    -
  1. library
  2. -
-
    -
  • Add template -project with RIDE toolchain. -
  • -
  • In all -stm32f10x_ppp.c and stm32f10x_conf.h files: change "assert" macro name -to "assert_param".
  • -
      -
    •   -Note: If you are using the FW Library V0.3 in your application and you -want to migrate to V1.0, you have to update your applications -ôstm32f10x_conf.h file with the latest one (provided with V1.0).
    • -
    -
  • stm32f10x_conf.h
  • -
      -
    • Remove '#undef -assert'
    • -
    • Change -'#define DEBUG' by '#define DEBUG    1'
    • -
    -
  • stm32f10x_type.h
  • -
      -
    • Add new -types: sc32, sc16, sc8, vsc32, vsc16 and vsc8 
    • -
    -
  • stm32f10x_it.c -
  • -
      -
    • Add basic -fault exception handling: in "HardFaultException", -"MemManageException",  -"BusFaultException" -and "UsageFaultException" -ISR the following code was added:
    • -
    -
-
-

     -/* Go to infinite loop when exception occurs */
-     while (1)
-     {
-     }

-
-
    -
  • stm32f10x_rcc.c
  • -
      -
    • "RCC_WaitForHSEStartUp()" -function updated to resolve issue with high GNU compiler optimization.
    • -
    -
  • stm32f10x_gpio.h
  • -
  • '#define -GPIO_Remap1_CAN ((u32)0x001D2000)' changed to '#define GPIO_Remap1_CAN -((u32)0x001D4000)'.
  • -
  • stm32f10x_rtc.c/.h
  • -
      -
    • "RTC_GetPrescaler" -function removed.
    • -
    -
  • stm32f10x_bkp.c/.h
  • -
  • add "BKP_RTCOutputConfig()" -function to allow to select the RTC output source(Calib -clock, RTC Alarm or RTC Second) to output on Tamper pin and remove "BKP_RTCCalibrationClockOutputCmd()" -function.      
  • -
  • stm32f10x_can.h
  • -
      -
    • CAN -synchronization jump width defines updated
    • -
    • '#define -CAN_SJW_0tq' ==> '#define CAN_SJW_1tq'
    • -
    • '#define -CAN_SJW_1tq' ==> '#define CAN_SJW_2tq'
    • -
    • '#define -CAN_SJW_2tq' ==> '#define CAN_SJW_3tq'
    • -
    • '#define -CAN_SJW_3tq' ==> '#define CAN_SJW_4tq'
    • -
    -
  • stm32f10x_tim1.c/.h
  • -
      -
    • "TIM1_OCxNPolarityConfig(u16 -TIM1_OCPolarity)" function: change parameter name to 'TIM1_OCNPolarity' -
    • -
    • change -'TIM1_ICSelection_TRGI' by 'TIM1_ICSelection_TRC'
    • -
    -
  • stm32f10x_tim.c/.h
  • -
      -
    • change 'TIM_ICSelection_TRGI' -by 'TIM_ICSelection_TRC'
    • -
    -
-
    -
  1. examples
  2. -
-
    -
  • ADC examples -3 & 4 updated   
  • -
  • DEBUG example
  • -
  • Example -modified to support RIDE specific printf -function implementation
  • -
  • I2C example5
  • -
      -
    • i2c_ee.c: add -the following function prototypes: "void GPIO_Configuration(void)"  -add "void I2C_Configuration(void)"
    • -
    -
  • Add GPIO pin -toggle example.
  • -
  • BKP, CAN, -DMA, NVIC and I2C examples readme files updated.
  • -
  • Use decimal -(instead of hexadecimal) values constants in TIM, TIM1 and IWDG -examples.
  • -
  • USART
  • -
      -
    • example 12
    • -
        -
      • USART3 ISR -updated
      • -
      • Timeout -define "SC_Receive_Timeout" -updated to 0x4000
      • -
      -
    • example 7
    • -
        -
      • Example -modified to support RIDE specific printf -function implementation
      • -
      -
    -
  • RTC example
  • -
      -
    • Example -modified to support RIDE specific printf -function implementation
    • -
    • Change "BKP_RTCCalibrationClockOutputCmd()" -function  by "RTC_ClockOutput()"
    • -
    • LSI removed -as RTC clock source
    • -
    -
  • IWDG example
  • -
      -
    • LSI frequency -value changed from 32 KHz to 40 KHz 
    • -
    -
  • Update the -STM32F10x evaluation board name from STM32F10x-EVAL to STM3210B-EVAL
  • -
-

V0.3 -- 05/21/2007

-
    -
  • Created.
  • -
-

License

-

The -enclosed firmware and all the related documentation are not covered by -a License Agreement, if you need such License you can contact your -local STMicroelectronics office.

-

THE -PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO -SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR -ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY -CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY -CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH -THEIR PRODUCTS.

-

 

-
-
-

For complete documentation on STM32(CORTEX M3) 32-Bit Microcontrollers -visit www.st.com/STM32

-
-

-
-
-

 

-
- \ No newline at end of file diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/fonts.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/fonts.c deleted file mode 100644 index 92d5b9178..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/fonts.c +++ /dev/null @@ -1,997 +0,0 @@ -/** - ****************************************************************************** - * @file fonts.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides text fonts for STM32xx-EVAL's LCD driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "fonts.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup Common - * @{ - */ - -/** @addtogroup FONTS - * @brief This file includes the Fonts driver of STM32-EVAL boards. - * @{ - */ - -/** @defgroup FONTS_Private_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup FONTS_Private_Defines - * @{ - */ -/** - * @} - */ - - -/** @defgroup FONTS_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup FONTS_Private_Variables - * @{ - */ -const uint16_t ASCII16x24_Table [] = { -/** - * @brief Space ' ' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '!' - */ - 0x0000, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, - 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0000, 0x0000, - 0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '"' - */ - 0x0000, 0x0000, 0x00CC, 0x00CC, 0x00CC, 0x00CC, 0x00CC, 0x00CC, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '#' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0C60, 0x0C60, - 0x0C60, 0x0630, 0x0630, 0x1FFE, 0x1FFE, 0x0630, 0x0738, 0x0318, - 0x1FFE, 0x1FFE, 0x0318, 0x0318, 0x018C, 0x018C, 0x018C, 0x0000, -/** - * @brief '$' - */ - 0x0000, 0x0080, 0x03E0, 0x0FF8, 0x0E9C, 0x1C8C, 0x188C, 0x008C, - 0x0098, 0x01F8, 0x07E0, 0x0E80, 0x1C80, 0x188C, 0x188C, 0x189C, - 0x0CB8, 0x0FF0, 0x03E0, 0x0080, 0x0080, 0x0000, 0x0000, 0x0000, -/** - * @brief '%' - */ - 0x0000, 0x0000, 0x0000, 0x180E, 0x0C1B, 0x0C11, 0x0611, 0x0611, - 0x0311, 0x0311, 0x019B, 0x018E, 0x38C0, 0x6CC0, 0x4460, 0x4460, - 0x4430, 0x4430, 0x4418, 0x6C18, 0x380C, 0x0000, 0x0000, 0x0000, -/** - * @brief '&' - */ - 0x0000, 0x01E0, 0x03F0, 0x0738, 0x0618, 0x0618, 0x0330, 0x01F0, - 0x00F0, 0x00F8, 0x319C, 0x330E, 0x1E06, 0x1C06, 0x1C06, 0x3F06, - 0x73FC, 0x21F0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief ''' - */ - 0x0000, 0x0000, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '(' - */ - 0x0000, 0x0200, 0x0300, 0x0180, 0x00C0, 0x00C0, 0x0060, 0x0060, - 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, - 0x0060, 0x0060, 0x00C0, 0x00C0, 0x0180, 0x0300, 0x0200, 0x0000, -/** - * @brief ')' - */ - 0x0000, 0x0020, 0x0060, 0x00C0, 0x0180, 0x0180, 0x0300, 0x0300, - 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, - 0x0300, 0x0300, 0x0180, 0x0180, 0x00C0, 0x0060, 0x0020, 0x0000, -/** - * @brief '*' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00C0, 0x00C0, - 0x06D8, 0x07F8, 0x01E0, 0x0330, 0x0738, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '+' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0180, 0x0180, - 0x0180, 0x0180, 0x0180, 0x3FFC, 0x3FFC, 0x0180, 0x0180, 0x0180, - 0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief ',' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0180, 0x0180, 0x0100, 0x0100, 0x0080, 0x0000, 0x0000, -/** - * @brief '-' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x07E0, 0x07E0, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '.' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '/' - */ - 0x0000, 0x0C00, 0x0C00, 0x0600, 0x0600, 0x0600, 0x0300, 0x0300, - 0x0300, 0x0380, 0x0180, 0x0180, 0x0180, 0x00C0, 0x00C0, 0x00C0, - 0x0060, 0x0060, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '0' - */ - 0x0000, 0x03E0, 0x07F0, 0x0E38, 0x0C18, 0x180C, 0x180C, 0x180C, - 0x180C, 0x180C, 0x180C, 0x180C, 0x180C, 0x180C, 0x0C18, 0x0E38, - 0x07F0, 0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '1' - */ - 0x0000, 0x0100, 0x0180, 0x01C0, 0x01F0, 0x0198, 0x0188, 0x0180, - 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, - 0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '2' - */ - 0x0000, 0x03E0, 0x0FF8, 0x0C18, 0x180C, 0x180C, 0x1800, 0x1800, - 0x0C00, 0x0600, 0x0300, 0x0180, 0x00C0, 0x0060, 0x0030, 0x0018, - 0x1FFC, 0x1FFC, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '3' - */ - 0x0000, 0x01E0, 0x07F8, 0x0E18, 0x0C0C, 0x0C0C, 0x0C00, 0x0600, - 0x03C0, 0x07C0, 0x0C00, 0x1800, 0x1800, 0x180C, 0x180C, 0x0C18, - 0x07F8, 0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '4' - */ - 0x0000, 0x0C00, 0x0E00, 0x0F00, 0x0F00, 0x0D80, 0x0CC0, 0x0C60, - 0x0C60, 0x0C30, 0x0C18, 0x0C0C, 0x3FFC, 0x3FFC, 0x0C00, 0x0C00, - 0x0C00, 0x0C00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '5' - */ - 0x0000, 0x0FF8, 0x0FF8, 0x0018, 0x0018, 0x000C, 0x03EC, 0x07FC, - 0x0E1C, 0x1C00, 0x1800, 0x1800, 0x1800, 0x180C, 0x0C1C, 0x0E18, - 0x07F8, 0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '6' - */ - 0x0000, 0x07C0, 0x0FF0, 0x1C38, 0x1818, 0x0018, 0x000C, 0x03CC, - 0x0FEC, 0x0E3C, 0x1C1C, 0x180C, 0x180C, 0x180C, 0x1C18, 0x0E38, - 0x07F0, 0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '7' - */ - 0x0000, 0x1FFC, 0x1FFC, 0x0C00, 0x0600, 0x0600, 0x0300, 0x0380, - 0x0180, 0x01C0, 0x00C0, 0x00E0, 0x0060, 0x0060, 0x0070, 0x0030, - 0x0030, 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '8' - */ - 0x0000, 0x03E0, 0x07F0, 0x0E38, 0x0C18, 0x0C18, 0x0C18, 0x0638, - 0x07F0, 0x07F0, 0x0C18, 0x180C, 0x180C, 0x180C, 0x180C, 0x0C38, - 0x0FF8, 0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '9' - */ - 0x0000, 0x03E0, 0x07F0, 0x0E38, 0x0C1C, 0x180C, 0x180C, 0x180C, - 0x1C1C, 0x1E38, 0x1BF8, 0x19E0, 0x1800, 0x0C00, 0x0C00, 0x0E1C, - 0x07F8, 0x01F0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief ':' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0180, 0x0180, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief ';' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0180, 0x0180, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0180, 0x0180, 0x0100, 0x0100, 0x0080, 0x0000, 0x0000, 0x0000, -/** - * @brief '<' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x1000, 0x1C00, 0x0F80, 0x03E0, 0x00F8, 0x0018, 0x00F8, 0x03E0, - 0x0F80, 0x1C00, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '=' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x1FF8, 0x0000, 0x0000, 0x0000, 0x1FF8, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '>' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0008, 0x0038, 0x01F0, 0x07C0, 0x1F00, 0x1800, 0x1F00, 0x07C0, - 0x01F0, 0x0038, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '?' - */ - 0x0000, 0x03E0, 0x0FF8, 0x0C18, 0x180C, 0x180C, 0x1800, 0x0C00, - 0x0600, 0x0300, 0x0180, 0x00C0, 0x00C0, 0x00C0, 0x0000, 0x0000, - 0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '@' - */ - 0x0000, 0x0000, 0x07E0, 0x1818, 0x2004, 0x29C2, 0x4A22, 0x4411, - 0x4409, 0x4409, 0x4409, 0x2209, 0x1311, 0x0CE2, 0x4002, 0x2004, - 0x1818, 0x07E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'A' - */ - 0x0000, 0x0380, 0x0380, 0x06C0, 0x06C0, 0x06C0, 0x0C60, 0x0C60, - 0x1830, 0x1830, 0x1830, 0x3FF8, 0x3FF8, 0x701C, 0x600C, 0x600C, - 0xC006, 0xC006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'B' - */ - 0x0000, 0x03FC, 0x0FFC, 0x0C0C, 0x180C, 0x180C, 0x180C, 0x0C0C, - 0x07FC, 0x0FFC, 0x180C, 0x300C, 0x300C, 0x300C, 0x300C, 0x180C, - 0x1FFC, 0x07FC, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'C' - */ - 0x0000, 0x07C0, 0x1FF0, 0x3838, 0x301C, 0x700C, 0x6006, 0x0006, - 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x6006, 0x700C, 0x301C, - 0x1FF0, 0x07E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'D' - */ - 0x0000, 0x03FE, 0x0FFE, 0x0E06, 0x1806, 0x1806, 0x3006, 0x3006, - 0x3006, 0x3006, 0x3006, 0x3006, 0x3006, 0x1806, 0x1806, 0x0E06, - 0x0FFE, 0x03FE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'E' - */ - 0x0000, 0x3FFC, 0x3FFC, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, - 0x1FFC, 0x1FFC, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, - 0x3FFC, 0x3FFC, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'F' - */ - 0x0000, 0x3FF8, 0x3FF8, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, - 0x1FF8, 0x1FF8, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, - 0x0018, 0x0018, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'G' - */ - 0x0000, 0x0FE0, 0x3FF8, 0x783C, 0x600E, 0xE006, 0xC007, 0x0003, - 0x0003, 0xFE03, 0xFE03, 0xC003, 0xC007, 0xC006, 0xC00E, 0xF03C, - 0x3FF8, 0x0FE0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'H' - */ - 0x0000, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, - 0x3FFC, 0x3FFC, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, - 0x300C, 0x300C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'I' - */ - 0x0000, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, - 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, - 0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'J' - */ - 0x0000, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, - 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0618, 0x0618, 0x0738, - 0x03F0, 0x01E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'K' - */ - 0x0000, 0x3006, 0x1806, 0x0C06, 0x0606, 0x0306, 0x0186, 0x00C6, - 0x0066, 0x0076, 0x00DE, 0x018E, 0x0306, 0x0606, 0x0C06, 0x1806, - 0x3006, 0x6006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'L' - */ - 0x0000, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, - 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, - 0x1FF8, 0x1FF8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'M' - */ - 0x0000, 0xE00E, 0xF01E, 0xF01E, 0xF01E, 0xD836, 0xD836, 0xD836, - 0xD836, 0xCC66, 0xCC66, 0xCC66, 0xC6C6, 0xC6C6, 0xC6C6, 0xC6C6, - 0xC386, 0xC386, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'N' - */ - 0x0000, 0x300C, 0x301C, 0x303C, 0x303C, 0x306C, 0x306C, 0x30CC, - 0x30CC, 0x318C, 0x330C, 0x330C, 0x360C, 0x360C, 0x3C0C, 0x3C0C, - 0x380C, 0x300C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'O' - */ - 0x0000, 0x07E0, 0x1FF8, 0x381C, 0x700E, 0x6006, 0xC003, 0xC003, - 0xC003, 0xC003, 0xC003, 0xC003, 0xC003, 0x6006, 0x700E, 0x381C, - 0x1FF8, 0x07E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'P' - */ - 0x0000, 0x0FFC, 0x1FFC, 0x380C, 0x300C, 0x300C, 0x300C, 0x300C, - 0x180C, 0x1FFC, 0x07FC, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, - 0x000C, 0x000C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'Q' - */ - 0x0000, 0x07E0, 0x1FF8, 0x381C, 0x700E, 0x6006, 0xE003, 0xC003, - 0xC003, 0xC003, 0xC003, 0xC003, 0xE007, 0x6306, 0x3F0E, 0x3C1C, - 0x3FF8, 0xF7E0, 0xC000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'R' - */ - 0x0000, 0x0FFE, 0x1FFE, 0x3806, 0x3006, 0x3006, 0x3006, 0x3806, - 0x1FFE, 0x07FE, 0x0306, 0x0606, 0x0C06, 0x1806, 0x1806, 0x3006, - 0x3006, 0x6006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'S' - */ - 0x0000, 0x03E0, 0x0FF8, 0x0C1C, 0x180C, 0x180C, 0x000C, 0x001C, - 0x03F8, 0x0FE0, 0x1E00, 0x3800, 0x3006, 0x3006, 0x300E, 0x1C1C, - 0x0FF8, 0x07E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'T' - */ - 0x0000, 0x7FFE, 0x7FFE, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, - 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, - 0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'U' - */ - 0x0000, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, - 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x1818, - 0x1FF8, 0x07E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'V' - */ - 0x0000, 0x6003, 0x3006, 0x3006, 0x3006, 0x180C, 0x180C, 0x180C, - 0x0C18, 0x0C18, 0x0E38, 0x0630, 0x0630, 0x0770, 0x0360, 0x0360, - 0x01C0, 0x01C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'W' - */ - 0x0000, 0x6003, 0x61C3, 0x61C3, 0x61C3, 0x3366, 0x3366, 0x3366, - 0x3366, 0x3366, 0x3366, 0x1B6C, 0x1B6C, 0x1B6C, 0x1A2C, 0x1E3C, - 0x0E38, 0x0E38, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'X' - */ - 0x0000, 0xE00F, 0x700C, 0x3018, 0x1830, 0x0C70, 0x0E60, 0x07C0, - 0x0380, 0x0380, 0x03C0, 0x06E0, 0x0C70, 0x1C30, 0x1818, 0x300C, - 0x600E, 0xE007, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'Y' - */ - 0x0000, 0xC003, 0x6006, 0x300C, 0x381C, 0x1838, 0x0C30, 0x0660, - 0x07E0, 0x03C0, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, - 0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'Z' - */ - 0x0000, 0x7FFC, 0x7FFC, 0x6000, 0x3000, 0x1800, 0x0C00, 0x0600, - 0x0300, 0x0180, 0x00C0, 0x0060, 0x0030, 0x0018, 0x000C, 0x0006, - 0x7FFE, 0x7FFE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '[' - */ - 0x0000, 0x03E0, 0x03E0, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, - 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x03E0, 0x03E0, 0x0000, -/** - * @brief '\' - */ - 0x0000, 0x0030, 0x0030, 0x0060, 0x0060, 0x0060, 0x00C0, 0x00C0, - 0x00C0, 0x01C0, 0x0180, 0x0180, 0x0180, 0x0300, 0x0300, 0x0300, - 0x0600, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief ']' - */ - 0x0000, 0x03E0, 0x03E0, 0x0300, 0x0300, 0x0300, 0x0300, 0x0300, - 0x0300, 0x0300, 0x0300, 0x0300, 0x0300, 0x0300, 0x0300, 0x0300, - 0x0300, 0x0300, 0x0300, 0x0300, 0x0300, 0x03E0, 0x03E0, 0x0000, -/** - * @brief '^' - */ - 0x0000, 0x0000, 0x01C0, 0x01C0, 0x0360, 0x0360, 0x0360, 0x0630, - 0x0630, 0x0C18, 0x0C18, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '_' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief ''' - */ - 0x0000, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'a' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03F0, 0x07F8, - 0x0C1C, 0x0C0C, 0x0F00, 0x0FF0, 0x0CF8, 0x0C0C, 0x0C0C, 0x0F1C, - 0x0FF8, 0x18F0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'b' - */ - 0x0000, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x03D8, 0x0FF8, - 0x0C38, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x0C38, - 0x0FF8, 0x03D8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'c' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03C0, 0x07F0, - 0x0E30, 0x0C18, 0x0018, 0x0018, 0x0018, 0x0018, 0x0C18, 0x0E30, - 0x07F0, 0x03C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'd' - */ - 0x0000, 0x1800, 0x1800, 0x1800, 0x1800, 0x1800, 0x1BC0, 0x1FF0, - 0x1C30, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1C30, - 0x1FF0, 0x1BC0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'e' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03C0, 0x0FF0, - 0x0C30, 0x1818, 0x1FF8, 0x1FF8, 0x0018, 0x0018, 0x1838, 0x1C30, - 0x0FF0, 0x07C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'f' - */ - 0x0000, 0x0F80, 0x0FC0, 0x00C0, 0x00C0, 0x00C0, 0x07F0, 0x07F0, - 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, - 0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'g' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0DE0, 0x0FF8, - 0x0E18, 0x0C0C, 0x0C0C, 0x0C0C, 0x0C0C, 0x0C0C, 0x0C0C, 0x0E18, - 0x0FF8, 0x0DE0, 0x0C00, 0x0C0C, 0x061C, 0x07F8, 0x01F0, 0x0000, -/** - * @brief 'h' - */ - 0x0000, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x07D8, 0x0FF8, - 0x1C38, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, - 0x1818, 0x1818, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'i' - */ - 0x0000, 0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x00C0, 0x00C0, - 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, - 0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'j' - */ - 0x0000, 0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x00C0, 0x00C0, - 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, - 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00F8, 0x0078, 0x0000, -/** - * @brief 'k' - */ - 0x0000, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x0C0C, 0x060C, - 0x030C, 0x018C, 0x00CC, 0x006C, 0x00FC, 0x019C, 0x038C, 0x030C, - 0x060C, 0x0C0C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'l' - */ - 0x0000, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, - 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, - 0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'm' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3C7C, 0x7EFF, - 0xE3C7, 0xC183, 0xC183, 0xC183, 0xC183, 0xC183, 0xC183, 0xC183, - 0xC183, 0xC183, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'n' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0798, 0x0FF8, - 0x1C38, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, - 0x1818, 0x1818, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'o' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03C0, 0x0FF0, - 0x0C30, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x0C30, - 0x0FF0, 0x03C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'p' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03D8, 0x0FF8, - 0x0C38, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x0C38, - 0x0FF8, 0x03D8, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0000, -/** - * @brief 'q' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1BC0, 0x1FF0, - 0x1C30, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1C30, - 0x1FF0, 0x1BC0, 0x1800, 0x1800, 0x1800, 0x1800, 0x1800, 0x0000, -/** - * @brief 'r' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07B0, 0x03F0, - 0x0070, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, - 0x0030, 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 's' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03E0, 0x03F0, - 0x0E38, 0x0C18, 0x0038, 0x03F0, 0x07C0, 0x0C00, 0x0C18, 0x0E38, - 0x07F0, 0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 't' - */ - 0x0000, 0x0000, 0x0080, 0x00C0, 0x00C0, 0x00C0, 0x07F0, 0x07F0, - 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, - 0x07C0, 0x0780, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'u' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1818, 0x1818, - 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1C38, - 0x1FF0, 0x19E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'v' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x180C, 0x0C18, - 0x0C18, 0x0C18, 0x0630, 0x0630, 0x0630, 0x0360, 0x0360, 0x0360, - 0x01C0, 0x01C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'w' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41C1, 0x41C1, - 0x61C3, 0x6363, 0x6363, 0x6363, 0x3636, 0x3636, 0x3636, 0x1C1C, - 0x1C1C, 0x1C1C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'x' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x381C, 0x1C38, - 0x0C30, 0x0660, 0x0360, 0x0360, 0x0360, 0x0360, 0x0660, 0x0C30, - 0x1C38, 0x381C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief 'y' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3018, 0x1830, - 0x1830, 0x1870, 0x0C60, 0x0C60, 0x0CE0, 0x06C0, 0x06C0, 0x0380, - 0x0380, 0x0380, 0x0180, 0x0180, 0x01C0, 0x00F0, 0x0070, 0x0000, -/** - * @brief 'z' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1FFC, 0x1FFC, - 0x0C00, 0x0600, 0x0300, 0x0180, 0x00C0, 0x0060, 0x0030, 0x0018, - 0x1FFC, 0x1FFC, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -/** - * @brief '{' - */ - 0x0000, 0x0300, 0x0180, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, - 0x00C0, 0x0060, 0x0060, 0x0030, 0x0060, 0x0040, 0x00C0, 0x00C0, - 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x0180, 0x0300, 0x0000, 0x0000, -/** - * @brief '|' - */ - 0x0000, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, - 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, - 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0000, -/** - * @brief '}' - */ - 0x0000, 0x0060, 0x00C0, 0x01C0, 0x0180, 0x0180, 0x0180, 0x0180, - 0x0180, 0x0300, 0x0300, 0x0600, 0x0300, 0x0100, 0x0180, 0x0180, - 0x0180, 0x0180, 0x0180, 0x0180, 0x00C0, 0x0060, 0x0000, 0x0000, -/** - * @brief '~' - */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x10F0, 0x1FF8, 0x0F08, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}; - -const uint16_t ASCII12x12_Table [] = { - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x0000,0x2000,0x0000,0x0000, - 0x0000,0x5000,0x5000,0x5000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0900,0x0900,0x1200,0x7f00,0x1200,0x7f00,0x1200,0x2400,0x2400,0x0000,0x0000, - 0x1000,0x3800,0x5400,0x5000,0x5000,0x3800,0x1400,0x5400,0x5400,0x3800,0x1000,0x0000, - 0x0000,0x3080,0x4900,0x4900,0x4a00,0x32c0,0x0520,0x0920,0x0920,0x10c0,0x0000,0x0000, - 0x0000,0x0c00,0x1200,0x1200,0x1400,0x1800,0x2500,0x2300,0x2300,0x1d80,0x0000,0x0000, - 0x0000,0x4000,0x4000,0x4000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0800,0x1000,0x1000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x1000,0x1000, - 0x0000,0x4000,0x2000,0x2000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x2000,0x2000, - 0x0000,0x2000,0x7000,0x2000,0x5000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0800,0x0800,0x7f00,0x0800,0x0800,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x2000,0x2000,0x4000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x7000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x2000,0x0000,0x0000, - 0x0000,0x1000,0x1000,0x1000,0x2000,0x2000,0x2000,0x2000,0x4000,0x4000,0x0000,0x0000, - 0x0000,0x1000,0x2800,0x4400,0x4400,0x4400,0x4400,0x4400,0x2800,0x1000,0x0000,0x0000, - 0x0000,0x1000,0x3000,0x5000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x0000,0x0000, - 0x0000,0x3000,0x4800,0x4400,0x0400,0x0800,0x1000,0x2000,0x4000,0x7c00,0x0000,0x0000, - 0x0000,0x3000,0x4800,0x0400,0x0800,0x1000,0x0800,0x4400,0x4800,0x3000,0x0000,0x0000, - 0x0000,0x0800,0x1800,0x1800,0x2800,0x2800,0x4800,0x7c00,0x0800,0x0800,0x0000,0x0000, - 0x0000,0x3c00,0x2000,0x4000,0x7000,0x4800,0x0400,0x4400,0x4800,0x3000,0x0000,0x0000, - 0x0000,0x1800,0x2400,0x4000,0x5000,0x6800,0x4400,0x4400,0x2800,0x1000,0x0000,0x0000, - 0x0000,0x7c00,0x0400,0x0800,0x1000,0x1000,0x1000,0x2000,0x2000,0x2000,0x0000,0x0000, - 0x0000,0x1000,0x2800,0x4400,0x2800,0x1000,0x2800,0x4400,0x2800,0x1000,0x0000,0x0000, - 0x0000,0x1000,0x2800,0x4400,0x4400,0x2c00,0x1400,0x0400,0x4800,0x3000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x2000,0x0000,0x0000,0x0000,0x0000,0x0000,0x2000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x2000,0x0000,0x0000,0x0000,0x0000,0x0000,0x2000,0x2000,0x4000, - 0x0000,0x0000,0x0400,0x0800,0x3000,0x4000,0x3000,0x0800,0x0400,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x7c00,0x0000,0x0000,0x7c00,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x4000,0x2000,0x1800,0x0400,0x1800,0x2000,0x4000,0x0000,0x0000,0x0000, - 0x0000,0x3800,0x6400,0x4400,0x0400,0x0800,0x1000,0x1000,0x0000,0x1000,0x0000,0x0000, - 0x0000,0x0f80,0x1040,0x2ea0,0x51a0,0x5120,0x5120,0x5120,0x5320,0x4dc0,0x2020,0x1040, - 0x0000,0x0800,0x1400,0x1400,0x1400,0x2200,0x3e00,0x2200,0x4100,0x4100,0x0000,0x0000, - 0x0000,0x3c00,0x2200,0x2200,0x2200,0x3c00,0x2200,0x2200,0x2200,0x3c00,0x0000,0x0000, - 0x0000,0x0e00,0x1100,0x2100,0x2000,0x2000,0x2000,0x2100,0x1100,0x0e00,0x0000,0x0000, - 0x0000,0x3c00,0x2200,0x2100,0x2100,0x2100,0x2100,0x2100,0x2200,0x3c00,0x0000,0x0000, - 0x0000,0x3e00,0x2000,0x2000,0x2000,0x3e00,0x2000,0x2000,0x2000,0x3e00,0x0000,0x0000, - 0x0000,0x3e00,0x2000,0x2000,0x2000,0x3c00,0x2000,0x2000,0x2000,0x2000,0x0000,0x0000, - 0x0000,0x0e00,0x1100,0x2100,0x2000,0x2700,0x2100,0x2100,0x1100,0x0e00,0x0000,0x0000, - 0x0000,0x2100,0x2100,0x2100,0x2100,0x3f00,0x2100,0x2100,0x2100,0x2100,0x0000,0x0000, - 0x0000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x0000,0x0000, - 0x0000,0x0800,0x0800,0x0800,0x0800,0x0800,0x0800,0x4800,0x4800,0x3000,0x0000,0x0000, - 0x0000,0x2200,0x2400,0x2800,0x2800,0x3800,0x2800,0x2400,0x2400,0x2200,0x0000,0x0000, - 0x0000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x3e00,0x0000,0x0000, - 0x0000,0x2080,0x3180,0x3180,0x3180,0x2a80,0x2a80,0x2a80,0x2a80,0x2480,0x0000,0x0000, - 0x0000,0x2100,0x3100,0x3100,0x2900,0x2900,0x2500,0x2300,0x2300,0x2100,0x0000,0x0000, - 0x0000,0x0c00,0x1200,0x2100,0x2100,0x2100,0x2100,0x2100,0x1200,0x0c00,0x0000,0x0000, - 0x0000,0x3c00,0x2200,0x2200,0x2200,0x3c00,0x2000,0x2000,0x2000,0x2000,0x0000,0x0000, - 0x0000,0x0c00,0x1200,0x2100,0x2100,0x2100,0x2100,0x2100,0x1600,0x0d00,0x0100,0x0000, - 0x0000,0x3e00,0x2100,0x2100,0x2100,0x3e00,0x2400,0x2200,0x2100,0x2080,0x0000,0x0000, - 0x0000,0x1c00,0x2200,0x2200,0x2000,0x1c00,0x0200,0x2200,0x2200,0x1c00,0x0000,0x0000, - 0x0000,0x3e00,0x0800,0x0800,0x0800,0x0800,0x0800,0x0800,0x0800,0x0800,0x0000,0x0000, - 0x0000,0x2100,0x2100,0x2100,0x2100,0x2100,0x2100,0x2100,0x1200,0x0c00,0x0000,0x0000, - 0x0000,0x4100,0x4100,0x2200,0x2200,0x2200,0x1400,0x1400,0x1400,0x0800,0x0000,0x0000, - 0x0000,0x4440,0x4a40,0x2a40,0x2a80,0x2a80,0x2a80,0x2a80,0x2a80,0x1100,0x0000,0x0000, - 0x0000,0x4100,0x2200,0x1400,0x1400,0x0800,0x1400,0x1400,0x2200,0x4100,0x0000,0x0000, - 0x0000,0x4100,0x2200,0x2200,0x1400,0x0800,0x0800,0x0800,0x0800,0x0800,0x0000,0x0000, - 0x0000,0x7e00,0x0200,0x0400,0x0800,0x1000,0x1000,0x2000,0x4000,0x7e00,0x0000,0x0000, - 0x0000,0x3000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000, - 0x0000,0x4000,0x4000,0x2000,0x2000,0x2000,0x2000,0x2000,0x1000,0x1000,0x0000,0x0000, - 0x0000,0x6000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000, - 0x0000,0x1000,0x2800,0x2800,0x2800,0x4400,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x7e00, - 0x4000,0x2000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x3800,0x4400,0x0400,0x3c00,0x4400,0x4400,0x3c00,0x0000,0x0000, - 0x0000,0x4000,0x4000,0x5800,0x6400,0x4400,0x4400,0x4400,0x6400,0x5800,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x3000,0x4800,0x4000,0x4000,0x4000,0x4800,0x3000,0x0000,0x0000, - 0x0000,0x0400,0x0400,0x3400,0x4c00,0x4400,0x4400,0x4400,0x4c00,0x3400,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x3800,0x4400,0x4400,0x7c00,0x4000,0x4400,0x3800,0x0000,0x0000, - 0x0000,0x6000,0x4000,0xe000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x3400,0x4c00,0x4400,0x4400,0x4400,0x4c00,0x3400,0x0400,0x4400, - 0x0000,0x4000,0x4000,0x5800,0x6400,0x4400,0x4400,0x4400,0x4400,0x4400,0x0000,0x0000, - 0x0000,0x4000,0x0000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x0000,0x0000, - 0x0000,0x4000,0x0000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000, - 0x0000,0x4000,0x4000,0x4800,0x5000,0x6000,0x5000,0x5000,0x4800,0x4800,0x0000,0x0000, - 0x0000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x5200,0x6d00,0x4900,0x4900,0x4900,0x4900,0x4900,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x5800,0x6400,0x4400,0x4400,0x4400,0x4400,0x4400,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x3800,0x4400,0x4400,0x4400,0x4400,0x4400,0x3800,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x5800,0x6400,0x4400,0x4400,0x4400,0x6400,0x5800,0x4000,0x4000, - 0x0000,0x0000,0x0000,0x3400,0x4c00,0x4400,0x4400,0x4400,0x4c00,0x3400,0x0400,0x0400, - 0x0000,0x0000,0x0000,0x5000,0x6000,0x4000,0x4000,0x4000,0x4000,0x4000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x3000,0x4800,0x4000,0x3000,0x0800,0x4800,0x3000,0x0000,0x0000, - 0x0000,0x4000,0x4000,0xe000,0x4000,0x4000,0x4000,0x4000,0x4000,0x6000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x4400,0x4400,0x4400,0x4400,0x4400,0x4c00,0x3400,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x4400,0x4400,0x2800,0x2800,0x2800,0x2800,0x1000,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x4900,0x4900,0x5500,0x5500,0x5500,0x5500,0x2200,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x4400,0x2800,0x2800,0x1000,0x2800,0x2800,0x4400,0x0000,0x0000, - 0x0000,0x0000,0x0000,0x4400,0x4400,0x2800,0x2800,0x2800,0x1000,0x1000,0x1000,0x1000, - 0x0000,0x0000,0x0000,0x7800,0x0800,0x1000,0x2000,0x2000,0x4000,0x7800,0x0000,0x0000, - 0x0000,0x1000,0x2000,0x2000,0x2000,0x2000,0x4000,0x2000,0x2000,0x2000,0x2000,0x2000, - 0x0000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000, - 0x0000,0x4000,0x2000,0x2000,0x2000,0x2000,0x1000,0x2000,0x2000,0x2000,0x2000,0x2000, - 0x0000,0x0000,0x0000,0x0000,0x7400,0x5800,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - 0x0000,0x0000,0x7000,0x5000,0x5000,0x5000,0x5000,0x5000,0x5000,0x7000,0x0000,0x0000}; - -const uint16_t ASCII8x12_Table [] = { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x10,0x00, - 0x00,0x00,0x00,0x28,0x28,0x28,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x14,0x14,0x3e,0x14,0x28,0x7c,0x28,0x28,0x00, - 0x00,0x00,0x10,0x38,0x54,0x50,0x38,0x14,0x14,0x54,0x38,0x10, - 0x00,0x00,0x00,0x44,0xa8,0xa8,0x50,0x14,0x1a,0x2a,0x24,0x00, - 0x00,0x00,0x00,0x20,0x50,0x50,0x20,0xe8,0x98,0x98,0x60,0x00, - 0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, - 0x00,0x00,0x00,0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40, - 0x00,0x00,0x00,0x40,0xe0,0x40,0xa0,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x20,0x20,0xf8,0x20,0x20,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00, - 0x00,0x00,0x00,0x20,0x20,0x20,0x40,0x40,0x80,0x80,0x80,0x00, - 0x00,0x00,0x00,0x60,0x90,0x90,0x90,0x90,0x90,0x90,0x60,0x00, - 0x00,0x00,0x00,0x20,0x60,0xa0,0x20,0x20,0x20,0x20,0x20,0x00, - 0x00,0x00,0x00,0x60,0x90,0x10,0x10,0x20,0x40,0x80,0xf0,0x00, - 0x00,0x00,0x00,0x60,0x90,0x10,0x60,0x10,0x10,0x90,0x60,0x00, - 0x00,0x00,0x00,0x10,0x30,0x50,0x50,0x90,0xf8,0x10,0x10,0x00, - 0x00,0x00,0x00,0x70,0x40,0x80,0xe0,0x10,0x10,0x90,0x60,0x00, - 0x00,0x00,0x00,0x60,0x90,0x80,0xa0,0xd0,0x90,0x90,0x60,0x00, - 0x00,0x00,0x00,0xf0,0x10,0x20,0x20,0x20,0x40,0x40,0x40,0x00, - 0x00,0x00,0x00,0x60,0x90,0x90,0x60,0x90,0x90,0x90,0x60,0x00, - 0x00,0x00,0x00,0x60,0x90,0x90,0xb0,0x50,0x10,0x90,0x60,0x00, - 0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x40,0x00, - 0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x40,0x40, - 0x00,0x00,0x00,0x00,0x00,0x10,0x60,0x80,0x60,0x10,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x10,0x60,0x80,0x00,0x00, - 0x00,0x00,0x00,0x60,0x90,0x10,0x20,0x40,0x40,0x00,0x40,0x00, - 0x00,0x00,0x00,0x1c,0x22,0x5b,0xa5,0xa5,0xa5,0xa5,0x9e,0x41, - 0x00,0x00,0x00,0x20,0x50,0x50,0x50,0x50,0x70,0x88,0x88,0x00, - 0x00,0x00,0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0x88,0xf0,0x00, - 0x00,0x00,0x00,0x38,0x44,0x84,0x80,0x80,0x84,0x44,0x38,0x00, - 0x00,0x00,0x00,0xe0,0x90,0x88,0x88,0x88,0x88,0x90,0xe0,0x00, - 0x00,0x00,0x00,0xf8,0x80,0x80,0xf8,0x80,0x80,0x80,0xf8,0x00, - 0x00,0x00,0x00,0x78,0x40,0x40,0x70,0x40,0x40,0x40,0x40,0x00, - 0x00,0x00,0x00,0x38,0x44,0x84,0x80,0x9c,0x84,0x44,0x38,0x00, - 0x00,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x88,0x00, - 0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, - 0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x90,0x90,0x60,0x00, - 0x00,0x00,0x00,0x88,0x90,0xa0,0xe0,0xa0,0x90,0x90,0x88,0x00, - 0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xf0,0x00, - 0x00,0x00,0x00,0x82,0xc6,0xc6,0xaa,0xaa,0xaa,0xaa,0x92,0x00, - 0x00,0x00,0x00,0x84,0xc4,0xa4,0xa4,0x94,0x94,0x8c,0x84,0x00, - 0x00,0x00,0x00,0x30,0x48,0x84,0x84,0x84,0x84,0x48,0x30,0x00, - 0x00,0x00,0x00,0xf0,0x88,0x88,0x88,0xf0,0x80,0x80,0x80,0x00, - 0x00,0x00,0x00,0x30,0x48,0x84,0x84,0x84,0x84,0x58,0x34,0x04, - 0x00,0x00,0x00,0x78,0x44,0x44,0x78,0x50,0x48,0x44,0x42,0x00, - 0x00,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x88,0x70,0x00, - 0x00,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00, - 0x00,0x00,0x00,0x84,0x84,0x84,0x84,0x84,0x84,0x48,0x30,0x00, - 0x00,0x00,0x00,0x88,0x88,0x50,0x50,0x50,0x50,0x50,0x20,0x00, - 0x00,0x00,0x00,0x92,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x44,0x00, - 0x00,0x00,0x00,0x84,0x48,0x48,0x30,0x30,0x48,0x48,0x84,0x00, - 0x00,0x00,0x00,0x88,0x50,0x50,0x20,0x20,0x20,0x20,0x20,0x00, - 0x00,0x00,0x00,0xf8,0x08,0x10,0x20,0x20,0x40,0x80,0xf8,0x00, - 0x00,0x00,0x00,0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, - 0x00,0x00,0x00,0x80,0x80,0x40,0x40,0x40,0x40,0x20,0x20,0x00, - 0x00,0x00,0x00,0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40, - 0x00,0x00,0x00,0x40,0xa0,0xa0,0xa0,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8, - 0x00,0x00,0x00,0x80,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0xe0,0x10,0x70,0x90,0x90,0x70,0x00, - 0x00,0x00,0x00,0x80,0x80,0xa0,0xd0,0x90,0x90,0xd0,0xa0,0x00, - 0x00,0x00,0x00,0x00,0x00,0x60,0x90,0x80,0x80,0x90,0x60,0x00, - 0x00,0x00,0x00,0x10,0x10,0x50,0xb0,0x90,0x90,0xb0,0x50,0x00, - 0x00,0x00,0x00,0x00,0x00,0x60,0x90,0xf0,0x80,0x90,0x60,0x00, - 0x00,0x00,0x00,0xc0,0x80,0xc0,0x80,0x80,0x80,0x80,0x80,0x00, - 0x00,0x00,0x00,0x00,0x00,0x50,0xb0,0x90,0x90,0xb0,0x50,0x10, - 0x00,0x00,0x00,0x80,0x80,0xa0,0xd0,0x90,0x90,0x90,0x90,0x00, - 0x00,0x00,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00, - 0x00,0x00,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80, - 0x00,0x00,0x00,0x80,0x80,0x90,0xa0,0xc0,0xa0,0x90,0x90,0x00, - 0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, - 0x00,0x00,0x00,0x00,0x00,0xa6,0xda,0x92,0x92,0x92,0x92,0x00, - 0x00,0x00,0x00,0x00,0x00,0xa0,0xd0,0x90,0x90,0x90,0x90,0x00, - 0x00,0x00,0x00,0x00,0x00,0x60,0x90,0x90,0x90,0x90,0x60,0x00, - 0x00,0x00,0x00,0x00,0x00,0xa0,0xd0,0x90,0x90,0xd0,0xa0,0x80, - 0x00,0x00,0x00,0x00,0x00,0x50,0xb0,0x90,0x90,0xb0,0x50,0x10, - 0x00,0x00,0x00,0x00,0x00,0xa0,0xc0,0x80,0x80,0x80,0x80,0x00, - 0x00,0x00,0x00,0x00,0x00,0xe0,0x90,0x40,0x20,0x90,0x60,0x00, - 0x00,0x00,0x00,0x80,0x80,0xc0,0x80,0x80,0x80,0x80,0xc0,0x00, - 0x00,0x00,0x00,0x00,0x00,0x90,0x90,0x90,0x90,0xb0,0x50,0x00, - 0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x50,0x50,0x50,0x20,0x00, - 0x00,0x00,0x00,0x00,0x00,0x92,0xaa,0xaa,0xaa,0xaa,0x44,0x00, - 0x00,0x00,0x00,0x00,0x00,0x88,0x50,0x20,0x20,0x50,0x88,0x00, - 0x00,0x00,0x00,0x00,0x00,0x88,0x50,0x50,0x50,0x20,0x20,0x20, - 0x00,0x00,0x00,0x00,0x00,0xf0,0x10,0x20,0x40,0x80,0xf0,0x00, - 0x00,0x00,0x00,0xc0,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x80, - 0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, - 0x00,0x00,0x00,0xc0,0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x40, - 0x00,0x00,0x00,0x00,0x00,0x00,0xe8,0xb0,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0xe0,0xa0,0xa0,0xa0,0xa0,0xa0,0xe0,0x00}; - -const uint16_t ASCII8x8_Table [] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x40, - 0xa0, 0xa0, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x24, 0x24, 0xfe, 0x48, 0xfc, 0x48, 0x48, - 0x38, 0x54, 0x50, 0x38, 0x14, 0x14, 0x54, 0x38, - 0x44, 0xa8, 0xa8, 0x50, 0x14, 0x1a, 0x2a, 0x24, - 0x10, 0x28, 0x28, 0x10, 0x74, 0x4c, 0x4c, 0x30, - 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, - 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x10, - 0x00, 0x00, 0x24, 0x18, 0x3c, 0x18, 0x24, 0x00, - 0x00, 0x00, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x10, - 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, - 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x20, - 0x18, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x18, - 0x08, 0x18, 0x28, 0x08, 0x08, 0x08, 0x08, 0x08, - 0x38, 0x44, 0x00, 0x04, 0x08, 0x10, 0x20, 0x7c, - 0x18, 0x24, 0x04, 0x18, 0x04, 0x04, 0x24, 0x18, - 0x04, 0x0c, 0x14, 0x24, 0x44, 0x7e, 0x04, 0x04, - 0x3c, 0x20, 0x20, 0x38, 0x04, 0x04, 0x24, 0x18, - 0x18, 0x24, 0x20, 0x38, 0x24, 0x24, 0x24, 0x18, - 0x3c, 0x04, 0x08, 0x08, 0x08, 0x10, 0x10, 0x10, - 0x18, 0x24, 0x24, 0x18, 0x24, 0x24, 0x24, 0x18, - 0x18, 0x24, 0x24, 0x24, 0x1c, 0x04, 0x24, 0x18, - 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, - 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x10, 0x00, - 0x00, 0x00, 0x04, 0x18, 0x20, 0x18, 0x04, 0x00, - 0x00, 0x00, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x00, - 0x00, 0x00, 0x20, 0x18, 0x04, 0x18, 0x20, 0x00, - 0x18, 0x24, 0x04, 0x08, 0x10, 0x10, 0x00, 0x10, - 0x3c, 0x42, 0x99, 0xa5, 0xa5, 0x9d, 0x42, 0x38, - 0x38, 0x44, 0x44, 0x44, 0x7c, 0x44, 0x44, 0x44, - 0x78, 0x44, 0x44, 0x78, 0x44, 0x44, 0x44, 0x78, - 0x1c, 0x22, 0x42, 0x40, 0x40, 0x42, 0x22, 0x1c, - 0x70, 0x48, 0x44, 0x44, 0x44, 0x44, 0x48, 0x70, - 0x7c, 0x40, 0x40, 0x7c, 0x40, 0x40, 0x40, 0x7c, - 0x3c, 0x20, 0x20, 0x38, 0x20, 0x20, 0x20, 0x20, - 0x1c, 0x22, 0x42, 0x40, 0x4e, 0x42, 0x22, 0x1c, - 0x44, 0x44, 0x44, 0x7c, 0x44, 0x44, 0x44, 0x44, - 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, - 0x04, 0x04, 0x04, 0x04, 0x04, 0x24, 0x24, 0x18, - 0x44, 0x48, 0x50, 0x70, 0x50, 0x48, 0x48, 0x44, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, - 0x82, 0xc6, 0xc6, 0xaa, 0xaa, 0xaa, 0xaa, 0x92, - 0x42, 0x62, 0x52, 0x52, 0x4a, 0x4a, 0x46, 0x42, - 0x18, 0x24, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, - 0x78, 0x44, 0x44, 0x44, 0x78, 0x40, 0x40, 0x40, - 0x18, 0x24, 0x42, 0x42, 0x42, 0x42, 0x2c, 0x1a, - 0x78, 0x44, 0x44, 0x78, 0x50, 0x48, 0x44, 0x42, - 0x38, 0x44, 0x40, 0x38, 0x04, 0x44, 0x44, 0x38, - 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, - 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, - 0x44, 0x44, 0x28, 0x28, 0x28, 0x28, 0x28, 0x10, - 0x92, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x44, - 0x42, 0x24, 0x24, 0x18, 0x18, 0x24, 0x24, 0x42, - 0x44, 0x28, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, - 0x7c, 0x04, 0x08, 0x10, 0x10, 0x20, 0x40, 0x7c, - 0x1c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1c, - 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, - 0x1c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1c, - 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x18, 0x04, 0x1c, 0x24, 0x24, 0x1c, - 0x20, 0x20, 0x28, 0x34, 0x24, 0x24, 0x34, 0x28, - 0x00, 0x00, 0x18, 0x24, 0x20, 0x20, 0x24, 0x18, - 0x04, 0x04, 0x14, 0x2c, 0x24, 0x24, 0x2c, 0x14, - 0x00, 0x00, 0x18, 0x24, 0x3c, 0x20, 0x24, 0x18, - 0x00, 0x18, 0x10, 0x10, 0x18, 0x10, 0x10, 0x10, - 0x00, 0x18, 0x24, 0x24, 0x18, 0x04, 0x24, 0x18, - 0x20, 0x20, 0x28, 0x34, 0x24, 0x24, 0x24, 0x24, - 0x10, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, - 0x08, 0x00, 0x08, 0x08, 0x08, 0x08, 0x28, 0x10, - 0x20, 0x20, 0x24, 0x28, 0x30, 0x28, 0x24, 0x24, - 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, - 0x00, 0x00, 0xa6, 0xda, 0x92, 0x92, 0x92, 0x92, - 0x00, 0x00, 0x28, 0x34, 0x24, 0x24, 0x24, 0x24, - 0x00, 0x00, 0x18, 0x24, 0x24, 0x24, 0x24, 0x18, - 0x00, 0x28, 0x34, 0x24, 0x38, 0x20, 0x20, 0x20, - 0x00, 0x14, 0x2c, 0x24, 0x1c, 0x04, 0x04, 0x04, - 0x00, 0x00, 0x2c, 0x30, 0x20, 0x20, 0x20, 0x20, - 0x00, 0x00, 0x18, 0x24, 0x10, 0x08, 0x24, 0x18, - 0x00, 0x10, 0x38, 0x10, 0x10, 0x10, 0x10, 0x18, - 0x00, 0x00, 0x24, 0x24, 0x24, 0x24, 0x2c, 0x14, - 0x00, 0x00, 0x44, 0x44, 0x28, 0x28, 0x28, 0x10, - 0x00, 0x00, 0x92, 0xaa, 0xaa, 0xaa, 0xaa, 0x44, - 0x00, 0x00, 0x44, 0x28, 0x10, 0x10, 0x28, 0x44, - 0x00, 0x28, 0x28, 0x28, 0x10, 0x10, 0x10, 0x10, - 0x00, 0x00, 0x3c, 0x04, 0x08, 0x10, 0x20, 0x3c, - 0x00, 0x08, 0x10, 0x10, 0x20, 0x10, 0x10, 0x08, - 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, - 0x00, 0x10, 0x08, 0x08, 0x04, 0x08, 0x08, 0x10, - 0x00, 0x00, 0x00, 0x60, 0x92, 0x0c, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; - - -sFONT Font16x24 = { - ASCII16x24_Table, - 16, /* Width */ - 24, /* Height */ -}; - -sFONT Font12x12 = { - ASCII12x12_Table, - 12, /* Width */ - 12, /* Height */ -}; - -sFONT Font8x12 = { - ASCII8x12_Table, - 8, /* Width */ - 12, /* Height */ -}; - - -sFONT Font8x8 = { - ASCII8x8_Table, - 8, /* Width */ - 8, /* Height */ -}; - -/** - * @} - */ - - -/** @defgroup FONTS_Private_Function_Prototypes - * @{ - */ -/** - * @} - */ - - -/** @defgroup FONTS_Private_Functions - * @{ - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/fonts.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/fonts.h deleted file mode 100644 index 8e7450eec..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/fonts.h +++ /dev/null @@ -1,118 +0,0 @@ -/** - ****************************************************************************** - * @file fonts.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief Header for fonts.c - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __FONTS_H -#define __FONTS_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup Common - * @{ - */ - -/** @addtogroup FONTS - * @{ - */ - -/** @defgroup FONTS_Exported_Types - * @{ - */ -typedef struct _tFont -{ - const uint16_t *table; - uint16_t Width; - uint16_t Height; - -} sFONT; - -extern sFONT Font16x24; -extern sFONT Font12x12; -extern sFONT Font8x12; -extern sFONT Font8x8; - -/** - * @} - */ - -/** @defgroup FONTS_Exported_Constants - * @{ - */ -#define LINE(x) ((x) * (((sFONT *)LCD_GetFont())->Height)) - -/** - * @} - */ - -/** @defgroup FONTS_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup FONTS_Exported_Functions - * @{ - */ -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /* __FONTS_H */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_ee.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_ee.c deleted file mode 100644 index 690e2dc90..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_ee.c +++ /dev/null @@ -1,854 +0,0 @@ -/** - ****************************************************************************** - * @file stm32_eval_i2c_ee.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides a set of functions needed to manage the I2C M24CXX - * EEPROM memory mounted on STM32xx-EVAL board (refer to stm32_eval.h - * to know about the boards supporting this memory). - * - * =================================================================== - * Note: This driver is intended for STM32F10x families devices only. - * =================================================================== - * - * It implements a high level communication layer for read and write - * from/to this memory. The needed STM32 hardware resources (I2C and - * GPIO) are defined in stm32xx_eval.h file, and the initialization is - * performed in sEE_LowLevel_Init() function declared in stm32xx_eval.c - * file. - * You can easily tailor this driver to any other development board, - * by just adapting the defines for hardware resources and - * sEE_LowLevel_Init() function. - * - * @note In this driver, basic read and write functions (sEE_ReadBuffer() - * and sEE_WritePage()) use the DMA to perform the data transfer - * to/from EEPROM memory (except when number of requested data is - * equal to 1). Thus, after calling these two functions, user - * application may perform other tasks while DMA is transferring - * data. The application should then monitor the variable holding - * the number of data in order to determine when the transfer is - * completed (variable decremented to 0). Stopping transfer tasks - * are performed into DMA interrupt handlers (which are integrated - * into this driver). - * - * +-----------------------------------------------------------------+ - * | Pin assignment | - * +---------------------------------------+-----------+-------------+ - * | STM32 I2C Pins | sEE | Pin | - * +---------------------------------------+-----------+-------------+ - * | . | E0(GND) | 1 (0V) | - * | . | E1(GND) | 2 (0V) | - * | . | E2(GND) | 3 (0V) | - * | . | E0(VSS) | 4 (0V) | - * | sEE_I2C_SDA_PIN/ SDA | SDA | 5 | - * | sEE_I2C_SCL_PIN/ SCL | SCL | 6 | - * | . | /WC(VDD)| 7 (3.3V) | - * | . | VDD | 8 (3.3V) | - * +---------------------------------------+-----------+-------------+ - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval_i2c_ee.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup Common - * @{ - */ - -/** @addtogroup STM32_EVAL_I2C_EE - * @brief This file includes the I2C EEPROM driver of STM32-EVAL boards. - * @{ - */ - -/** @defgroup STM32_EVAL_I2C_EE_Private_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_I2C_EE_Private_Defines - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_I2C_EE_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_I2C_EE_Private_Variables - * @{ - */ -__IO uint16_t sEEAddress = 0; -__IO uint32_t sEETimeout = sEE_LONG_TIMEOUT; -__IO uint16_t* sEEDataReadPointer; -__IO uint8_t* sEEDataWritePointer; -__IO uint8_t sEEDataNum; -/** - * @} - */ - - -/** @defgroup STM32_EVAL_I2C_EE_Private_Function_Prototypes - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_I2C_EE_Private_Functions - * @{ - */ - -/** - * @brief DeInitializes peripherals used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_DeInit(void) -{ - sEE_LowLevel_DeInit(); -} - -/** - * @brief Initializes peripherals used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_Init(void) -{ - I2C_InitTypeDef I2C_InitStructure; - - sEE_LowLevel_Init(); - - /*!< I2C configuration */ - /* sEE_I2C configuration */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2; - I2C_InitStructure.I2C_OwnAddress1 = I2C_SLAVE_ADDRESS7; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; - I2C_InitStructure.I2C_ClockSpeed = I2C_SPEED; - - /* sEE_I2C Peripheral Enable */ - I2C_Cmd(sEE_I2C, ENABLE); - /* Apply sEE_I2C configuration after enabling it */ - I2C_Init(sEE_I2C, &I2C_InitStructure); - - /* Enable the sEE_I2C peripheral DMA requests */ - I2C_DMACmd(sEE_I2C, ENABLE); - -#if defined (sEE_M24C64_32) - /*!< Select the EEPROM address according to the state of E0, E1, E2 pins */ - sEEAddress = sEE_HW_ADDRESS; -#elif defined (sEE_M24C08) - /*!< depending on the sEE Address selected in the i2c_ee.h file */ - #ifdef sEE_Block0_ADDRESS - /*!< Select the sEE Block0 to write on */ - sEEAddress = sEE_Block0_ADDRESS; - #endif - - #ifdef sEE_Block1_ADDRESS - /*!< Select the sEE Block1 to write on */ - sEEAddress = sEE_Block1_ADDRESS; - #endif - - #ifdef sEE_Block2_ADDRESS - /*!< Select the sEE Block2 to write on */ - sEEAddress = sEE_Block2_ADDRESS; - #endif - - #ifdef sEE_Block3_ADDRESS - /*!< Select the sEE Block3 to write on */ - sEEAddress = sEE_Block3_ADDRESS; - #endif -#endif /*!< sEE_M24C64_32 */ -} - -/** - * @brief Reads a block of data from the EEPROM. - * @param pBuffer : pointer to the buffer that receives the data read from - * the EEPROM. - * @param ReadAddr : EEPROM's internal address to start reading from. - * @param NumByteToRead : pointer to the variable holding number of bytes to - * be read from the EEPROM. - * - * @note The variable pointed by NumByteToRead is reset to 0 when all the - * data are read from the EEPROM. Application should monitor this - * variable in order know when the transfer is complete. - * - * @note When number of data to be read is higher than 1, this function just - * configures the communication and enable the DMA channel to transfer data. - * Meanwhile, the user application may perform other tasks. - * When number of data to be read is 1, then the DMA is not used. The byte - * is read in polling mode. - * - * @retval sEE_OK (0) if operation is correctly performed, else return value - * different from sEE_OK (0) or the timeout user callback. - */ -uint32_t sEE_ReadBuffer(uint8_t* pBuffer, uint16_t ReadAddr, uint16_t* NumByteToRead) -{ - /* Set the pointer to the Number of data to be read. This pointer will be used - by the DMA Transfer Completer interrupt Handler in order to reset the - variable to 0. User should check on this variable in order to know if the - DMA transfer has been complete or not. */ - sEEDataReadPointer = NumByteToRead; - - /*!< While the bus is busy */ - sEETimeout = sEE_LONG_TIMEOUT; - while(I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_BUSY)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send START condition */ - I2C_GenerateSTART(sEE_I2C, ENABLE); - - /*!< Test on EV5 and clear it (cleared by reading SR1 then writing to DR) */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_MODE_SELECT)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send EEPROM address for write */ - I2C_Send7bitAddress(sEE_I2C, sEEAddress, I2C_Direction_Transmitter); - - /*!< Test on EV6 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - -#ifdef sEE_M24C08 - - /*!< Send the EEPROM's internal address to read from: Only one byte address */ - I2C_SendData(sEE_I2C, ReadAddr); - -#elif defined (sEE_M24C64_32) - - /*!< Send the EEPROM's internal address to read from: MSB of the address first */ - I2C_SendData(sEE_I2C, (uint8_t)((ReadAddr & 0xFF00) >> 8)); - - /*!< Test on EV8 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send the EEPROM's internal address to read from: LSB of the address */ - I2C_SendData(sEE_I2C, (uint8_t)(ReadAddr & 0x00FF)); - -#endif /*!< sEE_M24C08 */ - - /*!< Test on EV8 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_BTF) == RESET) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send STRAT condition a second time */ - I2C_GenerateSTART(sEE_I2C, ENABLE); - - /*!< Test on EV5 and clear it (cleared by reading SR1 then writing to DR) */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_MODE_SELECT)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send EEPROM address for read */ - I2C_Send7bitAddress(sEE_I2C, sEEAddress, I2C_Direction_Receiver); - - /* If number of data to be read is 1, then DMA couldn't be used */ - /* One Byte Master Reception procedure (POLLING) ---------------------------*/ - if ((uint16_t)(*NumByteToRead) < 2) - { - /* Wait on ADDR flag to be set (ADDR is still not cleared at this level */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_ADDR) == RESET) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Disable Acknowledgement */ - I2C_AcknowledgeConfig(sEE_I2C, DISABLE); - - /* Call User callback for critical section start (should typically disable interrupts) */ - sEE_EnterCriticalSection_UserCallback(); - - /* Clear ADDR register by reading SR1 then SR2 register (SR1 has already been read) */ - (void)sEE_I2C->SR2; - - /*!< Send STOP Condition */ - I2C_GenerateSTOP(sEE_I2C, ENABLE); - - /* Call User callback for critical section end (should typically re-enable interrupts) */ - sEE_ExitCriticalSection_UserCallback(); - - /* Wait for the byte to be received */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_RXNE) == RESET) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Read the byte received from the EEPROM */ - *pBuffer = I2C_ReceiveData(sEE_I2C); - - /*!< Decrement the read bytes counter */ - (uint16_t)(*NumByteToRead)--; - - /* Wait to make sure that STOP control bit has been cleared */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(sEE_I2C->CR1 & I2C_CR1_STOP) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Re-Enable Acknowledgement to be ready for another reception */ - I2C_AcknowledgeConfig(sEE_I2C, ENABLE); - } - else/* More than one Byte Master Reception procedure (DMA) -----------------*/ - { - /*!< Test on EV6 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /* Configure the DMA Rx Channel with the buffer address and the buffer size */ - sEE_LowLevel_DMAConfig((uint32_t)pBuffer, (uint16_t)(*NumByteToRead), sEE_DIRECTION_RX); - - /* Inform the DMA that the next End Of Transfer Signal will be the last one */ - I2C_DMALastTransferCmd(sEE_I2C, ENABLE); - - /* Enable the DMA Rx Channel */ - DMA_Cmd(sEE_I2C_DMA_CHANNEL_RX, ENABLE); - } - - /* If all operations OK, return sEE_OK (0) */ - return sEE_OK; -} - -/** - * @brief Writes more than one byte to the EEPROM with a single WRITE cycle. - * - * @note The number of bytes (combined to write start address) must not - * cross the EEPROM page boundary. This function can only write into - * the boundaries of an EEPROM page. - * This function doesn't check on boundaries condition (in this driver - * the function sEE_WriteBuffer() which calls sEE_WritePage() is - * responsible of checking on Page boundaries). - * - * @param pBuffer : pointer to the buffer containing the data to be written to - * the EEPROM. - * @param WriteAddr : EEPROM's internal address to write to. - * @param NumByteToWrite : pointer to the variable holding number of bytes to - * be written into the EEPROM. - * - * @note The variable pointed by NumByteToWrite is reset to 0 when all the - * data are written to the EEPROM. Application should monitor this - * variable in order know when the transfer is complete. - * - * @note This function just configure the communication and enable the DMA - * channel to transfer data. Meanwhile, the user application may perform - * other tasks in parallel. - * - * @retval sEE_OK (0) if operation is correctly performed, else return value - * different from sEE_OK (0) or the timeout user callback. - */ -uint32_t sEE_WritePage(uint8_t* pBuffer, uint16_t WriteAddr, uint8_t* NumByteToWrite) -{ - /* Set the pointer to the Number of data to be written. This pointer will be used - by the DMA Transfer Completer interrupt Handler in order to reset the - variable to 0. User should check on this variable in order to know if the - DMA transfer has been complete or not. */ - sEEDataWritePointer = NumByteToWrite; - - /*!< While the bus is busy */ - sEETimeout = sEE_LONG_TIMEOUT; - while(I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_BUSY)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send START condition */ - I2C_GenerateSTART(sEE_I2C, ENABLE); - - /*!< Test on EV5 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_MODE_SELECT)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send EEPROM address for write */ - sEETimeout = sEE_FLAG_TIMEOUT; - I2C_Send7bitAddress(sEE_I2C, sEEAddress, I2C_Direction_Transmitter); - - /*!< Test on EV6 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - -#ifdef sEE_M24C08 - - /*!< Send the EEPROM's internal address to write to : only one byte Address */ - I2C_SendData(sEE_I2C, WriteAddr); - -#elif defined(sEE_M24C64_32) - - /*!< Send the EEPROM's internal address to write to : MSB of the address first */ - I2C_SendData(sEE_I2C, (uint8_t)((WriteAddr & 0xFF00) >> 8)); - - /*!< Test on EV8 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send the EEPROM's internal address to write to : LSB of the address */ - I2C_SendData(sEE_I2C, (uint8_t)(WriteAddr & 0x00FF)); - -#endif /*!< sEE_M24C08 */ - - /*!< Test on EV8 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /* Configure the DMA Tx Channel with the buffer address and the buffer size */ - sEE_LowLevel_DMAConfig((uint32_t)pBuffer, (uint8_t)(*NumByteToWrite), sEE_DIRECTION_TX); - - /* Enable the DMA Tx Channel */ - DMA_Cmd(sEE_I2C_DMA_CHANNEL_TX, ENABLE); - - /* If all operations OK, return sEE_OK (0) */ - return sEE_OK; -} - -/** - * @brief Writes buffer of data to the I2C EEPROM. - * @param pBuffer : pointer to the buffer containing the data to be written - * to the EEPROM. - * @param WriteAddr : EEPROM's internal address to write to. - * @param NumByteToWrite : number of bytes to write to the EEPROM. - * @retval None - */ -void sEE_WriteBuffer(uint8_t* pBuffer, uint16_t WriteAddr, uint16_t NumByteToWrite) -{ - uint8_t NumOfPage = 0, NumOfSingle = 0, count = 0; - uint16_t Addr = 0; - - Addr = WriteAddr % sEE_PAGESIZE; - count = sEE_PAGESIZE - Addr; - NumOfPage = NumByteToWrite / sEE_PAGESIZE; - NumOfSingle = NumByteToWrite % sEE_PAGESIZE; - - /*!< If WriteAddr is sEE_PAGESIZE aligned */ - if(Addr == 0) - { - /*!< If NumByteToWrite < sEE_PAGESIZE */ - if(NumOfPage == 0) - { - /* Store the number of data to be written */ - sEEDataNum = NumOfSingle; - /* Start writing data */ - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - } - /*!< If NumByteToWrite > sEE_PAGESIZE */ - else - { - while(NumOfPage--) - { - /* Store the number of data to be written */ - sEEDataNum = sEE_PAGESIZE; - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - WriteAddr += sEE_PAGESIZE; - pBuffer += sEE_PAGESIZE; - } - - if(NumOfSingle!=0) - { - /* Store the number of data to be written */ - sEEDataNum = NumOfSingle; - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - } - } - } - /*!< If WriteAddr is not sEE_PAGESIZE aligned */ - else - { - /*!< If NumByteToWrite < sEE_PAGESIZE */ - if(NumOfPage== 0) - { - /*!< If the number of data to be written is more than the remaining space - in the current page: */ - if (NumByteToWrite > count) - { - /* Store the number of data to be written */ - sEEDataNum = count; - /*!< Write the data conained in same page */ - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - - /* Store the number of data to be written */ - sEEDataNum = (NumByteToWrite - count); - /*!< Write the remaining data in the following page */ - sEE_WritePage((uint8_t*)(pBuffer + count), (WriteAddr + count), (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - } - else - { - /* Store the number of data to be written */ - sEEDataNum = NumOfSingle; - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - } - } - /*!< If NumByteToWrite > sEE_PAGESIZE */ - else - { - NumByteToWrite -= count; - NumOfPage = NumByteToWrite / sEE_PAGESIZE; - NumOfSingle = NumByteToWrite % sEE_PAGESIZE; - - if(count != 0) - { - /* Store the number of data to be written */ - sEEDataNum = count; - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - WriteAddr += count; - pBuffer += count; - } - - while(NumOfPage--) - { - /* Store the number of data to be written */ - sEEDataNum = sEE_PAGESIZE; - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - WriteAddr += sEE_PAGESIZE; - pBuffer += sEE_PAGESIZE; - } - if(NumOfSingle != 0) - { - /* Store the number of data to be written */ - sEEDataNum = NumOfSingle; - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - } - } - } -} - -/** - * @brief Wait for EEPROM Standby state. - * - * @note This function allows to wait and check that EEPROM has finished the - * last Write operation. It is mostly used after Write operation: after - * receiving the buffer to be written, the EEPROM may need additional - * time to actually perform the write operation. During this time, it - * doesn't answer to I2C packets addressed to it. Once the write operation - * is complete the EEPROM responds to its address. - * - * @note It is not necessary to call this function after sEE_WriteBuffer() - * function (sEE_WriteBuffer() already calls this function after each - * write page operation). - * - * @param None - * @retval sEE_OK (0) if operation is correctly performed, else return value - * different from sEE_OK (0) or the timeout user callback. - */ -uint32_t sEE_WaitEepromStandbyState(void) -{ - __IO uint16_t tmpSR1 = 0; - __IO uint32_t sEETrials = 0; - - /*!< While the bus is busy */ - sEETimeout = sEE_LONG_TIMEOUT; - while(I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_BUSY)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /* Keep looping till the slave acknowledge his address or maximum number - of trials is reached (this number is defined by sEE_MAX_TRIALS_NUMBER define - in stm32_eval_i2c_ee.h file) */ - while (1) - { - /*!< Send START condition */ - I2C_GenerateSTART(sEE_I2C, ENABLE); - - /*!< Test on EV5 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_MODE_SELECT)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send EEPROM address for write */ - I2C_Send7bitAddress(sEE_I2C, sEEAddress, I2C_Direction_Transmitter); - - /* Wait for ADDR flag to be set (Slave acknowledged his address) */ - sEETimeout = sEE_LONG_TIMEOUT; - do - { - /* Get the current value of the SR1 register */ - tmpSR1 = sEE_I2C->SR1; - - /* Update the timeout value and exit if it reach 0 */ - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - /* Keep looping till the Address is acknowledged or the AF flag is - set (address not acknowledged at time) */ - while((tmpSR1 & (I2C_SR1_ADDR | I2C_SR1_AF)) == 0); - - /* Check if the ADDR flag has been set */ - if (tmpSR1 & I2C_SR1_ADDR) - { - /* Clear ADDR Flag by reading SR1 then SR2 registers (SR1 have already - been read) */ - (void)sEE_I2C->SR2; - - /*!< STOP condition */ - I2C_GenerateSTOP(sEE_I2C, ENABLE); - - /* Exit the function */ - return sEE_OK; - } - else - { - /*!< Clear AF flag */ - I2C_ClearFlag(sEE_I2C, I2C_FLAG_AF); - } - - /* Check if the maximum allowed numbe of trials has bee reached */ - if (sEETrials++ == sEE_MAX_TRIALS_NUMBER) - { - /* If the maximum number of trials has been reached, exit the function */ - return sEE_TIMEOUT_UserCallback(); - } - } -} - -/** - * @brief This function handles the DMA Tx Channel interrupt Handler. - * @param None - * @retval None - */ -void sEE_I2C_DMA_TX_IRQHandler(void) -{ - /* Check if the DMA transfer is complete */ - if(DMA_GetFlagStatus(sEE_I2C_DMA_FLAG_TX_TC) != RESET) - { - /* Disable the DMA Tx Channel and Clear all its Flags */ - DMA_Cmd(sEE_I2C_DMA_CHANNEL_TX, DISABLE); - DMA_ClearFlag(sEE_I2C_DMA_FLAG_TX_GL); - - /*!< Wait till all data have been physically transferred on the bus */ - sEETimeout = sEE_LONG_TIMEOUT; - while(!I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_BTF)) - { - if((sEETimeout--) == 0) sEE_TIMEOUT_UserCallback(); - } - - /*!< Send STOP condition */ - I2C_GenerateSTOP(sEE_I2C, ENABLE); - - /* Perform a read on SR1 and SR2 register to clear eventualaly pending flags */ - (void)sEE_I2C->SR1; - (void)sEE_I2C->SR2; - - /* Reset the variable holding the number of data to be written */ - *sEEDataWritePointer = 0; - } -} - -/** - * @brief This function handles the DMA Rx Channel interrupt Handler. - * @param None - * @retval None - */ -void sEE_I2C_DMA_RX_IRQHandler(void) -{ - /* Check if the DMA transfer is complete */ - if(DMA_GetFlagStatus(sEE_I2C_DMA_FLAG_RX_TC) != RESET) - { - /*!< Send STOP Condition */ - I2C_GenerateSTOP(sEE_I2C, ENABLE); - - /* Disable the DMA Rx Channel and Clear all its Flags */ - DMA_Cmd(sEE_I2C_DMA_CHANNEL_RX, DISABLE); - DMA_ClearFlag(sEE_I2C_DMA_FLAG_RX_GL); - - /* Reset the variable holding the number of data to be read */ - *sEEDataReadPointer = 0; - } -} - -#ifdef USE_DEFAULT_TIMEOUT_CALLBACK -/** - * @brief Basic management of the timeout situation. - * @param None. - * @retval None. - */ -uint32_t sEE_TIMEOUT_UserCallback(void) -{ - /* Block communication and all processes */ - while (1) - { - } -} -#endif /* USE_DEFAULT_TIMEOUT_CALLBACK */ - -#ifdef USE_DEFAULT_CRITICAL_CALLBACK -/** - * @brief Start critical section: these callbacks should be typically used - * to disable interrupts when entering a critical section of I2C communication - * You may use default callbacks provided into this driver by uncommenting the - * define USE_DEFAULT_CRITICAL_CALLBACK. - * Or you can comment that line and implement these callbacks into your - * application. - * @param None. - * @retval None. - */ -void sEE_EnterCriticalSection_UserCallback(void) -{ - __disable_irq(); -} - -/** - * @brief Start and End of critical section: these callbacks should be typically used - * to re-enable interrupts when exiting a critical section of I2C communication - * You may use default callbacks provided into this driver by uncommenting the - * define USE_DEFAULT_CRITICAL_CALLBACK. - * Or you can comment that line and implement these callbacks into your - * application. - * @param None. - * @retval None. - */ -void sEE_ExitCriticalSection_UserCallback(void) -{ - __enable_irq(); -} -#endif /* USE_DEFAULT_CRITICAL_CALLBACK */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_ee.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_ee.h deleted file mode 100644 index dbed88e9e..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_ee.h +++ /dev/null @@ -1,201 +0,0 @@ -/** - ****************************************************************************** - * @file stm32_eval_i2c_ee.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the stm32_eval_i2c_ee - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32_EVAL_I2C_EE_H -#define __STM32_EVAL_I2C_EE_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup Common - * @{ - */ - -/** @addtogroup STM32_EVAL_I2C_EE - * @{ - */ - -/** @defgroup STM32_EVAL_I2C_EE_Exported_Types - * @{ - */ - -/** - * @} - */ - -/** @defgroup STM32_EVAL_I2C_EE_Exported_Constants - * @{ - */ - -/* Uncomment this line to use the default start and end of critical section - callbacks (it disables then enabled all interrupts) */ -#define USE_DEFAULT_CRITICAL_CALLBACK -/* Start and End of critical section: these callbacks should be typically used - to disable interrupts when entering a critical section of I2C communication - You may use default callbacks provided into this driver by uncommenting the - define USE_DEFAULT_CRITICAL_CALLBACK. - Or you can comment that line and implement these callbacks into your - application */ - -/* Uncomment the following line to use the default sEE_TIMEOUT_UserCallback() - function implemented in stm32_evel_i2c_ee.c file. - sEE_TIMEOUT_UserCallback() function is called whenever a timeout condition - occure during communication (waiting on an event that doesn't occur, bus - errors, busy devices ...). */ -/* #define USE_DEFAULT_TIMEOUT_CALLBACK */ - -#if !defined (sEE_M24C08) && !defined (sEE_M24C64_32) -/* Use the defines below the choose the EEPROM type */ -/* #define sEE_M24C08*/ /* Support the device: M24C08. */ -/* note: Could support: M24C01, M24C02, M24C04 and M24C16 if the blocks and - HW address are correctly defined*/ -#define sEE_M24C64_32 /* Support the devices: M24C32 and M24C64 */ -#endif - -#ifdef sEE_M24C64_32 -/* For M24C32 and M24C64 devices, E0,E1 and E2 pins are all used for device - address selection (ne need for additional address lines). According to the - Harware connection on the board (on STM3210C-EVAL board E0 = E1 = E2 = 0) */ - - #define sEE_HW_ADDRESS 0xA0 /* E0 = E1 = E2 = 0 */ - -#elif defined (sEE_M24C08) -/* The M24C08W contains 4 blocks (128byte each) with the adresses below: E2 = 0 - EEPROM Addresses defines */ - #define sEE_Block0_ADDRESS 0xA0 /* E2 = 0 */ - /*#define sEE_Block1_ADDRESS 0xA2*/ /* E2 = 0 */ - /*#define sEE_Block2_ADDRESS 0xA4*/ /* E2 = 0 */ - /*#define sEE_Block3_ADDRESS 0xA6*/ /* E2 = 0 */ - -#endif /* sEE_M24C64_32 */ - -#define I2C_SPEED 300000 -#define I2C_SLAVE_ADDRESS7 0xA0 - -#if defined (sEE_M24C08) - #define sEE_PAGESIZE 16 -#elif defined (sEE_M24C64_32) - #define sEE_PAGESIZE 32 -#endif - -/* Maximum Timeout values for flags and events waiting loops. These timeouts are - not based on accurate values, they just guarantee that the application will - not remain stuck if the I2C communication is corrupted. - You may modify these timeout values depending on CPU frequency and application - conditions (interrupts routines ...). */ -#define sEE_FLAG_TIMEOUT ((uint32_t)0x1000) -#define sEE_LONG_TIMEOUT ((uint32_t)(10 * sEE_FLAG_TIMEOUT)) - -/* Maximum number of trials for sEE_WaitEepromStandbyState() function */ -#define sEE_MAX_TRIALS_NUMBER 150 - -/* Defintions for the state of the DMA transfer */ -#define sEE_STATE_READY 0 -#define sEE_STATE_BUSY 1 -#define sEE_STATE_ERROR 2 - -#define sEE_OK 0 -#define sEE_FAIL 1 - -/** - * @} - */ - -/** @defgroup STM32_EVAL_I2C_EE_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32_EVAL_I2C_EE_Exported_Functions - * @{ - */ -void sEE_DeInit(void); -void sEE_Init(void); -uint32_t sEE_ReadBuffer(uint8_t* pBuffer, uint16_t ReadAddr, uint16_t* NumByteToRead); -uint32_t sEE_WritePage(uint8_t* pBuffer, uint16_t WriteAddr, uint8_t* NumByteToWrite); -void sEE_WriteBuffer(uint8_t* pBuffer, uint16_t WriteAddr, uint16_t NumByteToWrite); -uint32_t sEE_WaitEepromStandbyState(void); - -/* USER Callbacks: These are functions for which prototypes only are declared in - EEPROM driver and that should be implemented into user applicaiton. */ -/* sEE_TIMEOUT_UserCallback() function is called whenever a timeout condition - occure during communication (waiting on an event that doesn't occur, bus - errors, busy devices ...). - You can use the default timeout callback implementation by uncommenting the - define USE_DEFAULT_TIMEOUT_CALLBACK in stm32_evel_i2c_ee.h file. - Typically the user implementation of this callback should reset I2C peripheral - and re-initialize communication or in worst case reset all the application. */ -uint32_t sEE_TIMEOUT_UserCallback(void); - -/* Start and End of critical section: these callbacks should be typically used - to disable interrupts when entering a critical section of I2C communication - You may use default callbacks provided into this driver by uncommenting the - define USE_DEFAULT_CRITICAL_CALLBACK in stm32_evel_i2c_ee.h file.. - Or you can comment that line and implement these callbacks into your - application */ -void sEE_EnterCriticalSection_UserCallback(void); -void sEE_ExitCriticalSection_UserCallback(void); - - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32_EVAL_I2C_EE_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ - - diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_tsensor.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_tsensor.c deleted file mode 100644 index 8dd73438c..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_tsensor.c +++ /dev/null @@ -1,977 +0,0 @@ -/** - ****************************************************************************** - * @file stm32_eval_i2c_tsensor.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides a set of functions needed to manage the I2C LM75 - * temperature sensor mounted on STM32xx-EVAL board (refer to stm32_eval.h - * to know about the boards supporting this sensor). - * It implements a high level communication layer for read and write - * from/to this sensor. The needed STM32 hardware resources (I2C and - * GPIO) are defined in stm32xx_eval.h file, and the initialization is - * performed in LM75_LowLevel_Init() function declared in stm32xx_eval.c - * file. - * - * Note: - * ----- - * This driver uses the DMA method to send and receive data on I2C bus, - * which allows higher efficiency and reliability of the communication. - * - * You can easily tailor this driver to any other development board, - * by just adapting the defines for hardware resources and - * LM75_LowLevel_Init() function. - * - * +-----------------------------------------------------------------+ - * | Pin assignment | - * +---------------------------------------+-----------+-------------+ - * | STM32 I2C Pins | STLM75 | Pin | - * +---------------------------------------+-----------+-------------+ - * | LM75_I2C_SDA_PIN/ SDA | SDA | 1 | - * | LM75_I2C_SCL_PIN/ SCL | SCL | 2 | - * | LM75_I2C_SMBUSALERT_PIN/ SMBUS ALERT | OS/INT | 3 | - * | . | GND | 4 (0V) | - * | . | GND | 5 (0V) | - * | . | GND | 6 (0V) | - * | . | GND | 7 (0V) | - * | . | VDD | 8 (3.3V)| - * +---------------------------------------+-----------+-------------+ - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval_i2c_tsensor.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup Common - * @{ - */ - -/** @addtogroup STM32_EVAL_I2C_TSENSOR - * @brief This file includes the LM75 Temperature Sensor driver of - * STM32-EVAL boards. - * @{ - */ - -/** @defgroup STM32_EVAL_I2C_TSENSOR_Private_Types - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32_EVAL_I2C_TSENSOR_Private_Defines - * @{ - */ -#define LM75_SD_SET 0x01 /*!< Set SD bit in the configuration register */ -#define LM75_SD_RESET 0xFE /*!< Reset SD bit in the configuration register */ -/** - * @} - */ - -/** @defgroup STM32_EVAL_I2C_TSENSOR_Private_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32_EVAL_I2C_TSENSOR_Private_Variables - * @{ - */ - -__IO uint32_t LM75_Timeout = LM75_LONG_TIMEOUT; -/** - * @} - */ - -/** @defgroup STM32_EVAL_I2C_TSENSOR_Private_Function_Prototypes - * @{ - */ -static void LM75_DMA_Config(LM75_DMADirection_TypeDef Direction, uint8_t* buffer, uint8_t NumData); - -/** - * @} - */ - - -/** @defgroup STM32_EVAL_I2C_TSENSOR_Private_Functions - * @{ - */ - -/** - * @brief DeInitializes the LM75_I2C. - * @param None - * @retval None - */ -void LM75_DeInit(void) -{ - LM75_LowLevel_DeInit(); -} - -/** - * @brief Initializes the LM75_I2C. - * @param None - * @retval None - */ -void LM75_Init(void) -{ - I2C_InitTypeDef I2C_InitStructure; - - LM75_LowLevel_Init(); - - I2C_DeInit(LM75_I2C); - - /*!< LM75_I2C Init */ - I2C_InitStructure.I2C_Mode = I2C_Mode_SMBusHost; - I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2; - I2C_InitStructure.I2C_OwnAddress1 = 0x00; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; - I2C_InitStructure.I2C_ClockSpeed = LM75_I2C_SPEED; - I2C_Init(LM75_I2C, &I2C_InitStructure); - - /*!< Enable SMBus Alert interrupt */ - I2C_ITConfig(LM75_I2C, I2C_IT_ERR, ENABLE); - - /*!< LM75_I2C Init */ - I2C_Cmd(LM75_I2C, ENABLE); -} - - -/** - * @brief Configure the DMA Peripheral used to handle communication via I2C. - * @param None - * @retval None - */ - -static void LM75_DMA_Config(LM75_DMADirection_TypeDef Direction, uint8_t* buffer, uint8_t NumData) -{ - DMA_InitTypeDef DMA_InitStructure; - - RCC_AHBPeriphClockCmd(LM75_DMA_CLK, ENABLE); - - /* Initialize the DMA_PeripheralBaseAddr member */ - DMA_InitStructure.DMA_PeripheralBaseAddr = LM75_I2C_DR; - /* Initialize the DMA_MemoryBaseAddr member */ - DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)buffer; - /* Initialize the DMA_PeripheralInc member */ - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - /* Initialize the DMA_MemoryInc member */ - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - /* Initialize the DMA_PeripheralDataSize member */ - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; - /* Initialize the DMA_MemoryDataSize member */ - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; - /* Initialize the DMA_Mode member */ - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - /* Initialize the DMA_Priority member */ - DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; - /* Initialize the DMA_M2M member */ - DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; - - /* If using DMA for Reception */ - if (Direction == LM75_DMA_RX) - { - /* Initialize the DMA_DIR member */ - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; - - /* Initialize the DMA_BufferSize member */ - DMA_InitStructure.DMA_BufferSize = NumData; - - DMA_DeInit(LM75_DMA_RX_CHANNEL); - - DMA_Init(LM75_DMA_RX_CHANNEL, &DMA_InitStructure); - } - /* If using DMA for Transmission */ - else if (Direction == LM75_DMA_TX) - { - /* Initialize the DMA_DIR member */ - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; - - /* Initialize the DMA_BufferSize member */ - DMA_InitStructure.DMA_BufferSize = NumData; - - DMA_DeInit(LM75_DMA_TX_CHANNEL); - - DMA_Init(LM75_DMA_TX_CHANNEL, &DMA_InitStructure); - } -} - - -/** - * @brief Checks the LM75 status. - * @param None - * @retval ErrorStatus: LM75 Status (ERROR or SUCCESS). - */ -ErrorStatus LM75_GetStatus(void) -{ - uint32_t I2C_TimeOut = I2C_TIMEOUT; - - /*!< Clear the LM75_I2C AF flag */ - I2C_ClearFlag(LM75_I2C, I2C_FLAG_AF); - - /*!< Enable LM75_I2C acknowledgement if it is already disabled by other function */ - I2C_AcknowledgeConfig(LM75_I2C, ENABLE); - - /*---------------------------- Transmission Phase ---------------------------*/ - - /*!< Send LM75_I2C START condition */ - I2C_GenerateSTART(LM75_I2C, ENABLE); - - /*!< Test on LM75_I2C EV5 and clear it */ - while ((!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB)) && I2C_TimeOut) /*!< EV5 */ - { - I2C_TimeOut--; - } - if (I2C_TimeOut == 0) - { - return ERROR; - } - - I2C_TimeOut = I2C_TIMEOUT; - - /*!< Send STLM75 slave address for write */ - I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Transmitter); - - while ((!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) && I2C_TimeOut)/* EV6 */ - { - I2C_TimeOut--; - } - - if ((I2C_GetFlagStatus(LM75_I2C, I2C_FLAG_AF) != 0x00) || (I2C_TimeOut == 0)) - { - return ERROR; - } - else - { - return SUCCESS; - } -} -/** - * @brief Read the specified register from the LM75. - * @param RegName: specifies the LM75 register to be read. - * This member can be one of the following values: - * - LM75_REG_TEMP: temperature register - * - LM75_REG_TOS: Over-limit temperature register - * - LM75_REG_THYS: Hysteresis temperature register - * @retval LM75 register value. - */ -uint16_t LM75_ReadReg(uint8_t RegName) -{ - uint8_t LM75_BufferRX[2] ={0,0}; - uint16_t tmp = 0; - - /* Test on BUSY Flag */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BUSY)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Configure DMA Peripheral */ - LM75_DMA_Config(LM75_DMA_RX, (uint8_t*)LM75_BufferRX, 2); - - /* Enable DMA NACK automatic generation */ - I2C_DMALastTransferCmd(LM75_I2C, ENABLE); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(LM75_I2C, ENABLE); - - /* Test on SB Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send device address for write */ - I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send the device's internal address to write to */ - I2C_SendData(LM75_I2C, RegName); - - /* Test on TXE FLag (data sent) */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while ((!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BTF))) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send START condition a second time */ - I2C_GenerateSTART(LM75_I2C, ENABLE); - - /* Test on SB Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send LM75 address for read */ - I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Receiver); - - /* Test on ADDR Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(LM75_I2C,ENABLE); - - /* Enable DMA RX Channel */ - DMA_Cmd(LM75_DMA_RX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (!DMA_GetFlagStatus(LM75_DMA_RX_TCFLAG)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(LM75_I2C, ENABLE); - - /* Disable DMA RX Channel */ - DMA_Cmd(LM75_DMA_RX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(LM75_I2C,DISABLE); - - /* Clear DMA RX Transfer Complete Flag */ - DMA_ClearFlag(LM75_DMA_RX_TCFLAG); - - /*!< Store LM75_I2C received data */ - tmp = (uint16_t)(LM75_BufferRX[0] << 8); - tmp |= LM75_BufferRX[1]; - - /* return a Reg value */ - return (uint16_t)tmp; -} - -/** - * @brief Write to the specified register of the LM75. - * @param RegName: specifies the LM75 register to be written. - * This member can be one of the following values: - * - LM75_REG_TOS: Over-limit temperature register - * - LM75_REG_THYS: Hysteresis temperature register - * @param RegValue: value to be written to LM75 register. - * @retval None - */ -uint8_t LM75_WriteReg(uint8_t RegName, uint16_t RegValue) -{ - uint8_t LM75_BufferTX[2] ={0,0}; - LM75_BufferTX[0] = (uint8_t)(RegValue >> 8); - LM75_BufferTX[1] = (uint8_t)(RegValue); - - /* Test on BUSY Flag */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BUSY)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Configure DMA Peripheral */ - LM75_DMA_Config(LM75_DMA_TX, (uint8_t*)LM75_BufferTX, 2); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(LM75_I2C, ENABLE); - - /* Test on SB Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB) == RESET) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Transmit the slave address and enable writing operation */ - I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Transmit the first address for r/w operations */ - I2C_SendData(LM75_I2C, RegName); - - /* Test on TXE FLag (data sent) */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while ((!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BTF))) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(LM75_I2C,ENABLE); - - /* Enable DMA TX Channel */ - DMA_Cmd(LM75_DMA_TX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (!DMA_GetFlagStatus(LM75_DMA_TX_TCFLAG)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Wait until BTF Flag is set before generating STOP */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BTF)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(LM75_I2C, ENABLE); - - /* Disable DMA TX Channel */ - DMA_Cmd(LM75_DMA_TX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(LM75_I2C,DISABLE); - - /* Clear DMA TX Transfer Complete Flag */ - DMA_ClearFlag(LM75_DMA_TX_TCFLAG); - - return LM75_OK; -} - -/** - * @brief Read Temperature register of LM75: double temperature value. - * @param None - * @retval LM75 measured temperature value. - */ -uint16_t LM75_ReadTemp(void) -{ - uint8_t LM75_BufferRX[2] ={0,0}; - uint16_t tmp = 0; - - /* Test on BUSY Flag */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BUSY)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Configure DMA Peripheral */ - LM75_DMA_Config(LM75_DMA_RX, (uint8_t*)LM75_BufferRX, 2); - - /* Enable DMA NACK automatic generation */ - I2C_DMALastTransferCmd(LM75_I2C, ENABLE); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(LM75_I2C, ENABLE); - - /* Test on SB Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send device address for write */ - I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send the device's internal address to write to */ - I2C_SendData(LM75_I2C, LM75_REG_TEMP); - - /* Test on TXE FLag (data sent) */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while ((!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BTF))) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send START condition a second time */ - I2C_GenerateSTART(LM75_I2C, ENABLE); - - /* Test on SB Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send LM75 address for read */ - I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Receiver); - - /* Test on ADDR Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(LM75_I2C,ENABLE); - - /* Enable DMA RX Channel */ - DMA_Cmd(LM75_DMA_RX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (!DMA_GetFlagStatus(LM75_DMA_RX_TCFLAG)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(LM75_I2C, ENABLE); - - /* Disable DMA RX Channel */ - DMA_Cmd(LM75_DMA_RX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(LM75_I2C,DISABLE); - - /* Clear DMA RX Transfer Complete Flag */ - DMA_ClearFlag(LM75_DMA_RX_TCFLAG); - - /*!< Store LM75_I2C received data */ - tmp = (uint16_t)(LM75_BufferRX[0] << 8); - tmp |= LM75_BufferRX[1]; - - /*!< Return Temperature value */ - return (uint16_t)(tmp >> 7); -} - -/** - * @brief Read the configuration register from the LM75. - * @param None - * @retval LM75 configuration register value. - */ -uint8_t LM75_ReadConfReg(void) -{ - uint8_t LM75_BufferRX[2] ={0,0}; - - /* Test on BUSY Flag */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BUSY)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Configure DMA Peripheral */ - LM75_DMA_Config(LM75_DMA_RX, (uint8_t*)LM75_BufferRX, 2); - - /* Enable DMA NACK automatic generation */ - I2C_DMALastTransferCmd(LM75_I2C, ENABLE); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(LM75_I2C, ENABLE); - - /* Test on SB Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send device address for write */ - I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send the device's internal address to write to */ - I2C_SendData(LM75_I2C, LM75_REG_CONF); - - /* Test on TXE FLag (data sent) */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while ((!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BTF))) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send START condition a second time */ - I2C_GenerateSTART(LM75_I2C, ENABLE); - - /* Test on SB Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send LM75 address for read */ - I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Receiver); - - /* Test on ADDR Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(LM75_I2C,ENABLE); - - /* Enable DMA RX Channel */ - DMA_Cmd(LM75_DMA_RX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (!DMA_GetFlagStatus(LM75_DMA_RX_TCFLAG)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(LM75_I2C, ENABLE); - - /* Disable DMA RX Channel */ - DMA_Cmd(LM75_DMA_RX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(LM75_I2C,DISABLE); - - /* Clear DMA RX Transfer Complete Flag */ - DMA_ClearFlag(LM75_DMA_RX_TCFLAG); - - /*!< Return Temperature value */ - return (uint8_t)LM75_BufferRX[0]; -} - -/** - * @brief Write to the configuration register of the LM75. - * @param RegValue: sepecifies the value to be written to LM75 configuration - * register. - * @retval None - */ -uint8_t LM75_WriteConfReg(uint8_t RegValue) -{ - uint8_t LM75_BufferTX = 0; - LM75_BufferTX = (uint8_t)(RegValue); - - /* Test on BUSY Flag */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BUSY)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Configure DMA Peripheral */ - LM75_DMA_Config(LM75_DMA_TX, (uint8_t*)(&LM75_BufferTX), 1); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(LM75_I2C, ENABLE); - - /* Test on SB Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB) == RESET) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Transmit the slave address and enable writing operation */ - I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Transmit the first address for r/w operations */ - I2C_SendData(LM75_I2C, LM75_REG_CONF); - - /* Test on TXE FLag (data sent) */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while ((!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BTF))) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(LM75_I2C,ENABLE); - - /* Enable DMA TX Channel */ - DMA_Cmd(LM75_DMA_TX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (!DMA_GetFlagStatus(LM75_DMA_TX_TCFLAG)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Wait until BTF Flag is set before generating STOP */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while ((!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BTF))) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(LM75_I2C, ENABLE); - - /* Disable DMA TX Channel */ - DMA_Cmd(LM75_DMA_TX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(LM75_I2C,DISABLE); - - /* Clear DMA TX Transfer Complete Flag */ - DMA_ClearFlag(LM75_DMA_TX_TCFLAG); - - return LM75_OK; - -} - -/** - * @brief Enables or disables the LM75. - * @param NewState: specifies the LM75 new status. This parameter can be ENABLE - * or DISABLE. - * @retval None - */ -uint8_t LM75_ShutDown(FunctionalState NewState) -{ - uint8_t LM75_BufferRX[2] ={0,0}; - uint8_t LM75_BufferTX = 0; - __IO uint8_t RegValue = 0; - - /* Test on BUSY Flag */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BUSY)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Configure DMA Peripheral */ - LM75_DMA_Config(LM75_DMA_RX, (uint8_t*)LM75_BufferRX, 2); - - /* Enable DMA NACK automatic generation */ - I2C_DMALastTransferCmd(LM75_I2C, ENABLE); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(LM75_I2C, ENABLE); - - /* Test on SB Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send device address for write */ - I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send the device's internal address to write to */ - I2C_SendData(LM75_I2C, LM75_REG_CONF); - - /* Test on TXE FLag (data sent) */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while ((!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BTF))) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send START condition a second time */ - I2C_GenerateSTART(LM75_I2C, ENABLE); - - /* Test on SB Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send LM75 address for read */ - I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Receiver); - - /* Test on ADDR Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(LM75_I2C,ENABLE); - - /* Enable DMA RX Channel */ - DMA_Cmd(LM75_DMA_RX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (!DMA_GetFlagStatus(LM75_DMA_RX_TCFLAG)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(LM75_I2C, ENABLE); - - /* Disable DMA RX Channel */ - DMA_Cmd(LM75_DMA_RX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(LM75_I2C,DISABLE); - - /* Clear DMA RX Transfer Complete Flag */ - DMA_ClearFlag(LM75_DMA_RX_TCFLAG); - - /*!< Get received data */ - RegValue = (uint8_t)LM75_BufferRX[0]; - - /*---------------------------- Transmission Phase ---------------------------*/ - - /*!< Enable or disable SD bit */ - if (NewState != DISABLE) - { - /*!< Enable LM75 */ - LM75_BufferTX = RegValue & LM75_SD_RESET; - } - else - { - /*!< Disable LM75 */ - LM75_BufferTX = RegValue | LM75_SD_SET; - } - - /* Test on BUSY Flag */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BUSY)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Configure DMA Peripheral */ - LM75_DMA_Config(LM75_DMA_TX, (uint8_t*)(&LM75_BufferTX), 1); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(LM75_I2C, ENABLE); - - /* Test on SB Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB) == RESET) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Transmit the slave address and enable writing operation */ - I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while (!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Transmit the first address for r/w operations */ - I2C_SendData(LM75_I2C, LM75_REG_CONF); - - /* Test on TXE FLag (data sent) */ - LM75_Timeout = LM75_FLAG_TIMEOUT; - while ((!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BTF))) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(LM75_I2C,ENABLE); - - /* Enable DMA TX Channel */ - DMA_Cmd(LM75_DMA_TX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while (!DMA_GetFlagStatus(LM75_DMA_TX_TCFLAG)) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Wait until BTF Flag is set before generating STOP */ - LM75_Timeout = LM75_LONG_TIMEOUT; - while ((!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_BTF))) - { - if((LM75_Timeout--) == 0) return LM75_TIMEOUT_UserCallback(); - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(LM75_I2C, ENABLE); - - /* Disable DMA TX Channel */ - DMA_Cmd(LM75_DMA_TX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(LM75_I2C,DISABLE); - - /* Clear DMA TX Transfer Complete Flag */ - DMA_ClearFlag(LM75_DMA_TX_TCFLAG); - - return LM75_OK; -} - -/** - * @} - */ - - -/** - * @} - */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_tsensor.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_tsensor.h deleted file mode 100644 index 2e0437b26..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_i2c_tsensor.h +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file stm32_eval_i2c_tsensor.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the - * stm32_eval_i2c_tsensor firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32_EVAL_I2C_TSENSOR_H -#define __STM32_EVAL_I2C_TSENSOR_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup Common - * @{ - */ - -/** @addtogroup STM32_EVAL_I2C_TSENSOR - * @{ - */ - -/** @defgroup STM32_EVAL_I2C_TSENSOR_Exported_Types - * @{ - */ - - /** - * @brief IOE DMA Direction - */ -typedef enum -{ - LM75_DMA_TX = 0, - LM75_DMA_RX = 1 -}LM75_DMADirection_TypeDef; - -/** - * @brief TSENSOR Status - */ -typedef enum -{ - LM75_OK = 0, - LM75_FAIL -}LM75_Status_TypDef; - -/** - * @} - */ - -/** @defgroup STM32_EVAL_I2C_TSENSOR_Exported_Constants - * @{ - */ - -/* Uncomment the following line to use Timeout_User_Callback LM75_TimeoutUserCallback(). - If This Callback is enabled, it should be implemented by user in main function . - LM75_TimeoutUserCallback() function is called whenever a timeout condition - occure during communication (waiting on an event that doesn't occur, bus - errors, busy devices ...). */ -/* #define USE_TIMEOUT_USER_CALLBACK */ - -/* Maximum Timeout values for flags and events waiting loops. These timeouts are - not based on accurate values, they just guarantee that the application will - not remain stuck if the I2C communication is corrupted. - You may modify these timeout values depending on CPU frequency and application - conditions (interrupts routines ...). */ -#define LM75_FLAG_TIMEOUT ((uint32_t)0x1000) -#define LM75_LONG_TIMEOUT ((uint32_t)(10 * LM75_FLAG_TIMEOUT)) - - -/** - * @brief Block Size - */ -#define LM75_REG_TEMP 0x00 /*!< Temperature Register of LM75 */ -#define LM75_REG_CONF 0x01 /*!< Configuration Register of LM75 */ -#define LM75_REG_THYS 0x02 /*!< Temperature Register of LM75 */ -#define LM75_REG_TOS 0x03 /*!< Over-temp Shutdown threshold Register of LM75 */ -#define I2C_TIMEOUT ((uint32_t)0x3FFFF) /*!< I2C Time out */ -#define LM75_ADDR 0x90 /*!< LM75 address */ -#define LM75_I2C_SPEED 100000 /*!< I2C Speed */ - - - -/** - * @} - */ - -/** @defgroup STM32_EVAL_I2C_TSENSOR_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32_EVAL_I2C_TSENSOR_Exported_Functions - * @{ - */ -void LM75_DeInit(void); -void LM75_Init(void); -ErrorStatus LM75_GetStatus(void); -uint16_t LM75_ReadTemp(void); -uint16_t LM75_ReadReg(uint8_t RegName); -uint8_t LM75_WriteReg(uint8_t RegName, uint16_t RegValue); -uint8_t LM75_ReadConfReg(void); -uint8_t LM75_WriteConfReg(uint8_t RegValue); -uint8_t LM75_ShutDown(FunctionalState NewState); - -/** - * @brief Timeout user callback function. This function is called when a timeout - * condition occurs during communication with IO Expander. Only protoype - * of this function is decalred in IO Expander driver. Its implementation - * may be done into user application. This function may typically stop - * current operations and reset the I2C peripheral and IO Expander. - * To enable this function use uncomment the define USE_TIMEOUT_USER_CALLBACK - * at the top of this file. - */ -#ifdef USE_TIMEOUT_USER_CALLBACK - uint8_t LM75_TIMEOUT_UserCallback(void); -#else - #define LM75_TIMEOUT_UserCallback() LM75_FAIL -#endif /* USE_TIMEOUT_USER_CALLBACK */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32_EVAL_I2C_TSENSOR_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_sdio_sd.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_sdio_sd.c deleted file mode 100644 index 2f1143f6f..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_sdio_sd.c +++ /dev/null @@ -1,2502 +0,0 @@ -/** - ****************************************************************************** - * @file stm32_eval_sdio_sd.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides a set of functions needed to manage the SDIO SD - * Card memory mounted on STM32xx-EVAL board (refer to stm32_eval.h - * to know about the boards supporting this memory). - * - * - * @verbatim - * - * =================================================================== - * How to use this driver - * =================================================================== - * It implements a high level communication layer for read and write - * from/to this memory. The needed STM32 hardware resources (SDIO and - * GPIO) are defined in stm32xx_eval.h file, and the initialization is - * performed in SD_LowLevel_Init() function declared in stm32xx_eval.c - * file. - * You can easily tailor this driver to any other development board, - * by just adapting the defines for hardware resources and - * SD_LowLevel_Init() function. - * - * A - SD Card Initialization and configuration - * ============================================ - * - To initialize the SD Card, use the SD_Init() function. It - * Initializes the SD Card and put it into StandBy State (Ready - * for data transfer). This function provide the following operations: - * - * 1 - 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 - * "SDIO_INIT_CLK_DIV" define inside the stm32xx_eval.h file. - * The SD Card frequency (SDIO_CK) is computed as follows: - * - * +---------------------------------------------+ - * | SDIO_CK = SDIOCLK / (SDIO_INIT_CLK_DIV + 2) | - * +---------------------------------------------+ - * - * In initialization mode and according to the SD Card standard, - * make sure that the SDIO_CK frequency don't exceed 400KHz. - * - * 2 - 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. - * - * 3 - Configure the SD Card Data transfer frequency. By Default, - * the card transfer frequency is set to 24MHz. You can change - * or adapt this frequency by adjusting the "SDIO_TRANSFER_CLK_DIV" - * define inside the stm32xx_eval.h file. - * The SD Card frequency (SDIO_CK) is computed as follows: - * - * +---------------------------------------------+ - * | SDIO_CK = SDIOCLK / (SDIO_INIT_CLK_DIV + 2) | - * +---------------------------------------------+ - * - * In transfer mode and according to the SD Card standard, - * make sure that the SDIO_CK frequency don't exceed 25MHz - * and 50MHz in High-speed mode switch. - * To be able to use a frequency higher than 24MHz, you should - * use the SDIO peripheral in bypass mode. Refer to the - * corresponding reference manual for more details. - * - * 4 - Select the corresponding SD Card according to the address - * read with the step 2. - * - * 5 - Configure the SD Card in wide bus mode: 4-bits data. - * - * B - SD Card Read operation - * ========================== - * - You can read SD card by using two function: SD_ReadBlock() and - * SD_ReadMultiBlocks() functions. These functions support only - * 512-byte block length. - * - The SD_ReadBlock() function read only one block (512-byte). This - * function can transfer the data using DMA controller or using - * polling mode. To select between DMA or polling mode refer to - * "SD_DMA_MODE" or "SD_POLLING_MODE" inside the stm32_eval_sdio_sd.h - * file and uncomment the corresponding line. By default the SD DMA - * mode is selected - * - The SD_ReadMultiBlocks() function read only mutli blocks (multiple - * of 512-byte). - * - Any read operation should be followed by two functions to check - * if the DMA Controller and SD Card status. - * - SD_ReadWaitOperation(): this function insure that the DMA - * controller has finished all data transfer. - * - SD_GetStatus(): to check that the SD Card has finished the - * data transfer and it is ready for data. - * - * - The DMA transfer is finished by the SDIO Data End interrupt. User - * has to call the SD_ProcessIRQ() function inside the SDIO_IRQHandler(). - * Don't forget to enable the SDIO_IRQn interrupt using the NVIC controller. - * - * C - SD Card Write operation - * =========================== - * - You can write SD card by using two function: SD_WriteBlock() and - * SD_WriteMultiBlocks() functions. These functions support only - * 512-byte block length. - * - The SD_WriteBlock() function write only one block (512-byte). This - * function can transfer the data using DMA controller or using - * polling mode. To select between DMA or polling mode refer to - * "SD_DMA_MODE" or "SD_POLLING_MODE" inside the stm32_eval_sdio_sd.h - * file and uncomment the corresponding line. By default the SD DMA - * mode is selected - * - The SD_WriteMultiBlocks() function write only mutli blocks (multiple - * of 512-byte). - * - Any write operation should be followed by two functions to check - * if the DMA Controller and SD Card status. - * - SD_ReadWaitOperation(): this function insure that the DMA - * controller has finished all data transfer. - * - SD_GetStatus(): to check that the SD Card has finished the - * data transfer and it is ready for data. - * - * - The DMA transfer is finished by the SDIO Data End interrupt. User - * has to call the SD_ProcessIRQ() function inside the SDIO_IRQHandler(). - * Don't forget to enable the SDIO_IRQn interrupt using the NVIC controller. - - * - * D - SD card status - * ================== - * - At any time, you can check the SD Card status and get the SD card - * state by using the SD_GetStatus() function. This function checks - * first if the SD card is still connected and then get the internal - * SD Card transfer state. - * - You can also get the SD card SD Status register by using the - * SD_SendSDStatus() function. - * - * E - Programming Model - * ===================== - * Status = SD_Init(); // Initialization Step as described in section A - * - * // SDIO Interrupt ENABLE - * NVIC_InitStructure.NVIC_IRQChannel = SDIO_IRQn; - * NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - * NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - * NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - * NVIC_Init(&NVIC_InitStructure); - * - * // Write operation as described in Section C - * Status = SD_WriteBlock(buffer, address, 512); - * Status = SD_WaitWriteOperation(); - * while(SD_GetStatus() != SD_TRANSFER_OK); - * - * Status = SD_WriteMultiBlocks(buffer, address, 512, NUMBEROFBLOCKS); - * Status = SD_WaitWriteOperation(); - * while(SD_GetStatus() != SD_TRANSFER_OK); - * - * // Read operation as described in Section B - * Status = SD_ReadBlock(buffer, address, 512); - * Status = SD_WaitReadOperation(); - * while(SD_GetStatus() != SD_TRANSFER_OK); - * - * Status = SD_ReadMultiBlocks(buffer, address, 512, NUMBEROFBLOCKS); - * Status = SD_WaitReadOperation(); - * while(SD_GetStatus() != SD_TRANSFER_OK); - * - * - * STM32 SDIO Pin assignment - * ========================= - * +-----------------------------------------------------------+ - * | Pin assignment | - * +-----------------------------+---------------+-------------+ - * | STM32 SDIO Pins | SD | Pin | - * +-----------------------------+---------------+-------------+ - * | SDIO D2 | D2 | 1 | - * | SDIO D3 | D3 | 2 | - * | SDIO CMD | CMD | 3 | - * | | VCC | 4 (3.3 V)| - * | SDIO CLK | CLK | 5 | - * | | GND | 6 (0 V) | - * | SDIO D0 | D0 | 7 | - * | SDIO D1 | D1 | 8 | - * +-----------------------------+---------------+-------------+ - * - * @endverbatim - * - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval_sdio_sd.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup Common - * @{ - */ - -/** @addtogroup STM32_EVAL_SDIO_SD - * @brief This file provides all the SD Card driver firmware functions. - * @{ - */ - -/** @defgroup STM32_EVAL_SDIO_SD_Private_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SDIO_SD_Private_Defines - * @{ - */ -/** - * @brief SDIO Static flags, TimeOut, FIFO Address - */ -#define NULL 0 -#define SDIO_STATIC_FLAGS ((uint32_t)0x000005FF) -#define SDIO_CMD0TIMEOUT ((uint32_t)0x00010000) - -/** - * @brief Mask for errors Card Status R1 (OCR Register) - */ -#define SD_OCR_ADDR_OUT_OF_RANGE ((uint32_t)0x80000000) -#define SD_OCR_ADDR_MISALIGNED ((uint32_t)0x40000000) -#define SD_OCR_BLOCK_LEN_ERR ((uint32_t)0x20000000) -#define SD_OCR_ERASE_SEQ_ERR ((uint32_t)0x10000000) -#define SD_OCR_BAD_ERASE_PARAM ((uint32_t)0x08000000) -#define SD_OCR_WRITE_PROT_VIOLATION ((uint32_t)0x04000000) -#define SD_OCR_LOCK_UNLOCK_FAILED ((uint32_t)0x01000000) -#define SD_OCR_COM_CRC_FAILED ((uint32_t)0x00800000) -#define SD_OCR_ILLEGAL_CMD ((uint32_t)0x00400000) -#define SD_OCR_CARD_ECC_FAILED ((uint32_t)0x00200000) -#define SD_OCR_CC_ERROR ((uint32_t)0x00100000) -#define SD_OCR_GENERAL_UNKNOWN_ERROR ((uint32_t)0x00080000) -#define SD_OCR_STREAM_READ_UNDERRUN ((uint32_t)0x00040000) -#define SD_OCR_STREAM_WRITE_OVERRUN ((uint32_t)0x00020000) -#define SD_OCR_CID_CSD_OVERWRIETE ((uint32_t)0x00010000) -#define SD_OCR_WP_ERASE_SKIP ((uint32_t)0x00008000) -#define SD_OCR_CARD_ECC_DISABLED ((uint32_t)0x00004000) -#define SD_OCR_ERASE_RESET ((uint32_t)0x00002000) -#define SD_OCR_AKE_SEQ_ERROR ((uint32_t)0x00000008) -#define SD_OCR_ERRORBITS ((uint32_t)0xFDFFE008) - -/** - * @brief Masks for R6 Response - */ -#define SD_R6_GENERAL_UNKNOWN_ERROR ((uint32_t)0x00002000) -#define SD_R6_ILLEGAL_CMD ((uint32_t)0x00004000) -#define SD_R6_COM_CRC_FAILED ((uint32_t)0x00008000) - -#define SD_VOLTAGE_WINDOW_SD ((uint32_t)0x80100000) -#define SD_HIGH_CAPACITY ((uint32_t)0x40000000) -#define SD_STD_CAPACITY ((uint32_t)0x00000000) -#define SD_CHECK_PATTERN ((uint32_t)0x000001AA) - -#define SD_MAX_VOLT_TRIAL ((uint32_t)0x0000FFFF) -#define SD_ALLZERO ((uint32_t)0x00000000) - -#define SD_WIDE_BUS_SUPPORT ((uint32_t)0x00040000) -#define SD_SINGLE_BUS_SUPPORT ((uint32_t)0x00010000) -#define SD_CARD_LOCKED ((uint32_t)0x02000000) - -#define SD_DATATIMEOUT ((uint32_t)0xFFFFFFFF) -#define SD_0TO7BITS ((uint32_t)0x000000FF) -#define SD_8TO15BITS ((uint32_t)0x0000FF00) -#define SD_16TO23BITS ((uint32_t)0x00FF0000) -#define SD_24TO31BITS ((uint32_t)0xFF000000) -#define SD_MAX_DATA_LENGTH ((uint32_t)0x01FFFFFF) - -#define SD_HALFFIFO ((uint32_t)0x00000008) -#define SD_HALFFIFOBYTES ((uint32_t)0x00000020) - -/** - * @brief Command Class Supported - */ -#define SD_CCCC_LOCK_UNLOCK ((uint32_t)0x00000080) -#define SD_CCCC_WRITE_PROT ((uint32_t)0x00000040) -#define SD_CCCC_ERASE ((uint32_t)0x00000020) - -/** - * @brief Following commands are SD Card Specific commands. - * SDIO_APP_CMD should be sent before sending these commands. - */ -#define SDIO_SEND_IF_COND ((uint32_t)0x00000008) - -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SDIO_SD_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SDIO_SD_Private_Variables - * @{ - */ -static uint32_t CardType = SDIO_STD_CAPACITY_SD_CARD_V1_1; -static uint32_t CSD_Tab[4], CID_Tab[4], RCA = 0; -static uint8_t SDSTATUS_Tab[16]; -__IO uint32_t StopCondition = 0; -__IO SD_Error TransferError = SD_OK; -__IO uint32_t TransferEnd = 0; -SD_CardInfo SDCardInfo; - -SDIO_InitTypeDef SDIO_InitStructure; -SDIO_CmdInitTypeDef SDIO_CmdInitStructure; -SDIO_DataInitTypeDef SDIO_DataInitStructure; -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SDIO_SD_Private_Function_Prototypes - * @{ - */ -static SD_Error CmdError(void); -static SD_Error CmdResp1Error(uint8_t cmd); -static SD_Error CmdResp7Error(void); -static SD_Error CmdResp3Error(void); -static SD_Error CmdResp2Error(void); -static SD_Error CmdResp6Error(uint8_t cmd, uint16_t *prca); -static SD_Error SDEnWideBus(FunctionalState NewState); -static SD_Error IsCardProgramming(uint8_t *pstatus); -static SD_Error FindSCR(uint16_t rca, uint32_t *pscr); -uint8_t convert_from_bytes_to_power_of_two(uint16_t NumberOfBytes); - -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SDIO_SD_Private_Functions - * @{ - */ - -/** - * @brief DeInitializes the SDIO interface. - * @param None - * @retval None - */ -void SD_DeInit(void) -{ - SD_LowLevel_DeInit(); -} - -/** - * @brief Initializes the SD Card and put it into StandBy State (Ready for data - * transfer). - * @param None - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_Init(void) -{ - SD_Error errorstatus = SD_OK; - - /* SDIO Peripheral Low Level Init */ - SD_LowLevel_Init(); - - SDIO_DeInit(); - - errorstatus = SD_PowerON(); - - if (errorstatus != SD_OK) - { - /*!< CMD Response TimeOut (wait for CMDSENT flag) */ - return(errorstatus); - } - - errorstatus = SD_InitializeCards(); - - if (errorstatus != SD_OK) - { - /*!< CMD Response TimeOut (wait for CMDSENT flag) */ - return(errorstatus); - } - - /*!< Configure the SDIO peripheral */ - /*!< SDIOCLK = HCLK, SDIO_CK = HCLK/(2 + SDIO_TRANSFER_CLK_DIV) */ - /*!< on STM32F2xx devices, SDIOCLK is fixed to 48MHz */ - SDIO_InitStructure.SDIO_ClockDiv = SDIO_TRANSFER_CLK_DIV; - SDIO_InitStructure.SDIO_ClockEdge = SDIO_ClockEdge_Rising; - SDIO_InitStructure.SDIO_ClockBypass = SDIO_ClockBypass_Disable; - SDIO_InitStructure.SDIO_ClockPowerSave = SDIO_ClockPowerSave_Disable; - SDIO_InitStructure.SDIO_BusWide = SDIO_BusWide_1b; - SDIO_InitStructure.SDIO_HardwareFlowControl = SDIO_HardwareFlowControl_Disable; - SDIO_Init(&SDIO_InitStructure); - - if (errorstatus == SD_OK) - { - /*----------------- Read CSD/CID MSD registers ------------------*/ - errorstatus = SD_GetCardInfo(&SDCardInfo); - } - - if (errorstatus == SD_OK) - { - /*----------------- Select Card --------------------------------*/ - errorstatus = SD_SelectDeselect((uint32_t) (SDCardInfo.RCA << 16)); - } - - if (errorstatus == SD_OK) - { - errorstatus = SD_EnableWideBusOperation(SDIO_BusWide_4b); - } - - return(errorstatus); -} - -/** - * @brief Gets the cuurent sd card data transfer status. - * @param None - * @retval SDTransferState: Data Transfer state. - * This value can be: - * - SD_TRANSFER_OK: No data transfer is acting - * - SD_TRANSFER_BUSY: Data transfer is acting - */ -SDTransferState SD_GetStatus(void) -{ - SDCardState cardstate = SD_CARD_TRANSFER; - - cardstate = SD_GetState(); - - if (cardstate == SD_CARD_TRANSFER) - { - return(SD_TRANSFER_OK); - } - else if(cardstate == SD_CARD_ERROR) - { - return (SD_TRANSFER_ERROR); - } - else - { - return(SD_TRANSFER_BUSY); - } -} - -/** - * @brief Returns the current card's state. - * @param None - * @retval SDCardState: SD Card Error or SD Card Current State. - */ -SDCardState SD_GetState(void) -{ - uint32_t resp1 = 0; - - if(SD_Detect()== SD_PRESENT) - { - if (SD_SendStatus(&resp1) != SD_OK) - { - return SD_CARD_ERROR; - } - else - { - return (SDCardState)((resp1 >> 9) & 0x0F); - } - } - else - { - return SD_CARD_ERROR; - } -} - -/** - * @brief Detect if SD card is correctly plugged in the memory slot. - * @param None - * @retval Return if SD is detected or not - */ -uint8_t SD_Detect(void) -{ - __IO uint8_t status = SD_PRESENT; - - /*!< Check GPIO to detect SD */ - if (GPIO_ReadInputDataBit(SD_DETECT_GPIO_PORT, SD_DETECT_PIN) != Bit_RESET) - { - status = SD_NOT_PRESENT; - } - return status; -} - -/** - * @brief Enquires cards about their operating voltage and configures - * clock controls. - * @param None - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_PowerON(void) -{ - SD_Error errorstatus = SD_OK; - uint32_t response = 0, count = 0, validvoltage = 0; - uint32_t SDType = SD_STD_CAPACITY; - - /*!< Power ON Sequence -----------------------------------------------------*/ - /*!< Configure the SDIO peripheral */ - /*!< SDIOCLK = HCLK, SDIO_CK = HCLK/(2 + SDIO_INIT_CLK_DIV) */ - /*!< on STM32F2xx devices, SDIOCLK is fixed to 48MHz */ - /*!< SDIO_CK for initialization should not exceed 400 KHz */ - SDIO_InitStructure.SDIO_ClockDiv = SDIO_INIT_CLK_DIV; - SDIO_InitStructure.SDIO_ClockEdge = SDIO_ClockEdge_Rising; - SDIO_InitStructure.SDIO_ClockBypass = SDIO_ClockBypass_Disable; - SDIO_InitStructure.SDIO_ClockPowerSave = SDIO_ClockPowerSave_Disable; - SDIO_InitStructure.SDIO_BusWide = SDIO_BusWide_1b; - SDIO_InitStructure.SDIO_HardwareFlowControl = SDIO_HardwareFlowControl_Disable; - SDIO_Init(&SDIO_InitStructure); - - /*!< Set Power State to ON */ - SDIO_SetPowerState(SDIO_PowerState_ON); - - /*!< Enable SDIO Clock */ - SDIO_ClockCmd(ENABLE); - - /*!< CMD0: GO_IDLE_STATE ---------------------------------------------------*/ - /*!< No CMD response required */ - SDIO_CmdInitStructure.SDIO_Argument = 0x0; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_GO_IDLE_STATE; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_No; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdError(); - - if (errorstatus != SD_OK) - { - /*!< CMD Response TimeOut (wait for CMDSENT flag) */ - return(errorstatus); - } - - /*!< CMD8: SEND_IF_COND ----------------------------------------------------*/ - /*!< 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 */ - SDIO_CmdInitStructure.SDIO_Argument = SD_CHECK_PATTERN; - SDIO_CmdInitStructure.SDIO_CmdIndex = SDIO_SEND_IF_COND; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp7Error(); - - if (errorstatus == SD_OK) - { - CardType = SDIO_STD_CAPACITY_SD_CARD_V2_0; /*!< SD Card 2.0 */ - SDType = SD_HIGH_CAPACITY; - } - else - { - /*!< CMD55 */ - SDIO_CmdInitStructure.SDIO_Argument = 0x00; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_CMD; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - errorstatus = CmdResp1Error(SD_CMD_APP_CMD); - } - /*!< CMD55 */ - SDIO_CmdInitStructure.SDIO_Argument = 0x00; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_CMD; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - errorstatus = CmdResp1Error(SD_CMD_APP_CMD); - - /*!< If errorstatus is Command TimeOut, it is a MMC card */ - /*!< If errorstatus is SD_OK it is a SD card: SD card 2.0 (voltage range mismatch) - or SD card 1.x */ - if (errorstatus == SD_OK) - { - /*!< SD CARD */ - /*!< Send ACMD41 SD_APP_OP_COND with Argument 0x80100000 */ - while ((!validvoltage) && (count < SD_MAX_VOLT_TRIAL)) - { - - /*!< SEND CMD55 APP_CMD with RCA as 0 */ - SDIO_CmdInitStructure.SDIO_Argument = 0x00; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_CMD; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_APP_CMD); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - SDIO_CmdInitStructure.SDIO_Argument = SD_VOLTAGE_WINDOW_SD | SDType; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SD_APP_OP_COND; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp3Error(); - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - response = SDIO_GetResponse(SDIO_RESP1); - validvoltage = (((response >> 31) == 1) ? 1 : 0); - count++; - } - if (count >= SD_MAX_VOLT_TRIAL) - { - errorstatus = SD_INVALID_VOLTRANGE; - return(errorstatus); - } - - if (response &= SD_HIGH_CAPACITY) - { - CardType = SDIO_HIGH_CAPACITY_SD_CARD; - } - - }/*!< else MMC Card */ - - return(errorstatus); -} - -/** - * @brief Turns the SDIO output signals off. - * @param None - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_PowerOFF(void) -{ - SD_Error errorstatus = SD_OK; - - /*!< Set Power State to OFF */ - SDIO_SetPowerState(SDIO_PowerState_OFF); - - return(errorstatus); -} - -/** - * @brief Intialises all cards or single card as the case may be Card(s) come - * into standby state. - * @param None - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_InitializeCards(void) -{ - SD_Error errorstatus = SD_OK; - uint16_t rca = 0x01; - - if (SDIO_GetPowerState() == SDIO_PowerState_OFF) - { - errorstatus = SD_REQUEST_NOT_APPLICABLE; - return(errorstatus); - } - - if (SDIO_SECURE_DIGITAL_IO_CARD != CardType) - { - /*!< Send CMD2 ALL_SEND_CID */ - SDIO_CmdInitStructure.SDIO_Argument = 0x0; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_ALL_SEND_CID; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Long; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp2Error(); - - if (SD_OK != errorstatus) - { - return(errorstatus); - } - - CID_Tab[0] = SDIO_GetResponse(SDIO_RESP1); - CID_Tab[1] = SDIO_GetResponse(SDIO_RESP2); - CID_Tab[2] = SDIO_GetResponse(SDIO_RESP3); - CID_Tab[3] = SDIO_GetResponse(SDIO_RESP4); - } - if ((SDIO_STD_CAPACITY_SD_CARD_V1_1 == CardType) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == CardType) || (SDIO_SECURE_DIGITAL_IO_COMBO_CARD == CardType) - || (SDIO_HIGH_CAPACITY_SD_CARD == CardType)) - { - /*!< Send CMD3 SET_REL_ADDR with argument 0 */ - /*!< SD Card publishes its RCA. */ - SDIO_CmdInitStructure.SDIO_Argument = 0x00; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SET_REL_ADDR; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp6Error(SD_CMD_SET_REL_ADDR, &rca); - - if (SD_OK != errorstatus) - { - return(errorstatus); - } - } - - if (SDIO_SECURE_DIGITAL_IO_CARD != CardType) - { - RCA = rca; - - /*!< Send CMD9 SEND_CSD with argument as card's RCA */ - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t)(rca << 16); - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SEND_CSD; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Long; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp2Error(); - - if (SD_OK != errorstatus) - { - return(errorstatus); - } - - CSD_Tab[0] = SDIO_GetResponse(SDIO_RESP1); - CSD_Tab[1] = SDIO_GetResponse(SDIO_RESP2); - CSD_Tab[2] = SDIO_GetResponse(SDIO_RESP3); - CSD_Tab[3] = SDIO_GetResponse(SDIO_RESP4); - } - - errorstatus = SD_OK; /*!< All cards get intialized */ - - return(errorstatus); -} - -/** - * @brief Returns information about specific card. - * @param cardinfo: pointer to a SD_CardInfo structure that contains all SD card - * information. - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_GetCardInfo(SD_CardInfo *cardinfo) -{ - SD_Error errorstatus = SD_OK; - uint8_t tmp = 0; - - cardinfo->CardType = (uint8_t)CardType; - cardinfo->RCA = (uint16_t)RCA; - - /*!< Byte 0 */ - tmp = (uint8_t)((CSD_Tab[0] & 0xFF000000) >> 24); - cardinfo->SD_csd.CSDStruct = (tmp & 0xC0) >> 6; - cardinfo->SD_csd.SysSpecVersion = (tmp & 0x3C) >> 2; - cardinfo->SD_csd.Reserved1 = tmp & 0x03; - - /*!< Byte 1 */ - tmp = (uint8_t)((CSD_Tab[0] & 0x00FF0000) >> 16); - cardinfo->SD_csd.TAAC = tmp; - - /*!< Byte 2 */ - tmp = (uint8_t)((CSD_Tab[0] & 0x0000FF00) >> 8); - cardinfo->SD_csd.NSAC = tmp; - - /*!< Byte 3 */ - tmp = (uint8_t)(CSD_Tab[0] & 0x000000FF); - cardinfo->SD_csd.MaxBusClkFrec = tmp; - - /*!< Byte 4 */ - tmp = (uint8_t)((CSD_Tab[1] & 0xFF000000) >> 24); - cardinfo->SD_csd.CardComdClasses = tmp << 4; - - /*!< Byte 5 */ - tmp = (uint8_t)((CSD_Tab[1] & 0x00FF0000) >> 16); - cardinfo->SD_csd.CardComdClasses |= (tmp & 0xF0) >> 4; - cardinfo->SD_csd.RdBlockLen = tmp & 0x0F; - - /*!< Byte 6 */ - tmp = (uint8_t)((CSD_Tab[1] & 0x0000FF00) >> 8); - cardinfo->SD_csd.PartBlockRead = (tmp & 0x80) >> 7; - cardinfo->SD_csd.WrBlockMisalign = (tmp & 0x40) >> 6; - cardinfo->SD_csd.RdBlockMisalign = (tmp & 0x20) >> 5; - cardinfo->SD_csd.DSRImpl = (tmp & 0x10) >> 4; - cardinfo->SD_csd.Reserved2 = 0; /*!< Reserved */ - - if ((CardType == SDIO_STD_CAPACITY_SD_CARD_V1_1) || (CardType == SDIO_STD_CAPACITY_SD_CARD_V2_0)) - { - cardinfo->SD_csd.DeviceSize = (tmp & 0x03) << 10; - - /*!< Byte 7 */ - tmp = (uint8_t)(CSD_Tab[1] & 0x000000FF); - cardinfo->SD_csd.DeviceSize |= (tmp) << 2; - - /*!< Byte 8 */ - tmp = (uint8_t)((CSD_Tab[2] & 0xFF000000) >> 24); - cardinfo->SD_csd.DeviceSize |= (tmp & 0xC0) >> 6; - - cardinfo->SD_csd.MaxRdCurrentVDDMin = (tmp & 0x38) >> 3; - cardinfo->SD_csd.MaxRdCurrentVDDMax = (tmp & 0x07); - - /*!< Byte 9 */ - tmp = (uint8_t)((CSD_Tab[2] & 0x00FF0000) >> 16); - cardinfo->SD_csd.MaxWrCurrentVDDMin = (tmp & 0xE0) >> 5; - cardinfo->SD_csd.MaxWrCurrentVDDMax = (tmp & 0x1C) >> 2; - cardinfo->SD_csd.DeviceSizeMul = (tmp & 0x03) << 1; - /*!< Byte 10 */ - tmp = (uint8_t)((CSD_Tab[2] & 0x0000FF00) >> 8); - cardinfo->SD_csd.DeviceSizeMul |= (tmp & 0x80) >> 7; - - cardinfo->CardCapacity = (cardinfo->SD_csd.DeviceSize + 1) ; - cardinfo->CardCapacity *= (1 << (cardinfo->SD_csd.DeviceSizeMul + 2)); - cardinfo->CardBlockSize = 1 << (cardinfo->SD_csd.RdBlockLen); - cardinfo->CardCapacity *= cardinfo->CardBlockSize; - } - else if (CardType == SDIO_HIGH_CAPACITY_SD_CARD) - { - /*!< Byte 7 */ - tmp = (uint8_t)(CSD_Tab[1] & 0x000000FF); - cardinfo->SD_csd.DeviceSize = (tmp & 0x3F) << 16; - - /*!< Byte 8 */ - tmp = (uint8_t)((CSD_Tab[2] & 0xFF000000) >> 24); - - cardinfo->SD_csd.DeviceSize |= (tmp << 8); - - /*!< Byte 9 */ - tmp = (uint8_t)((CSD_Tab[2] & 0x00FF0000) >> 16); - - cardinfo->SD_csd.DeviceSize |= (tmp); - - /*!< Byte 10 */ - tmp = (uint8_t)((CSD_Tab[2] & 0x0000FF00) >> 8); - - cardinfo->CardCapacity = (cardinfo->SD_csd.DeviceSize + 1) * 512 * 1024; - cardinfo->CardBlockSize = 512; - } - - - cardinfo->SD_csd.EraseGrSize = (tmp & 0x40) >> 6; - cardinfo->SD_csd.EraseGrMul = (tmp & 0x3F) << 1; - - /*!< Byte 11 */ - tmp = (uint8_t)(CSD_Tab[2] & 0x000000FF); - cardinfo->SD_csd.EraseGrMul |= (tmp & 0x80) >> 7; - cardinfo->SD_csd.WrProtectGrSize = (tmp & 0x7F); - - /*!< Byte 12 */ - tmp = (uint8_t)((CSD_Tab[3] & 0xFF000000) >> 24); - cardinfo->SD_csd.WrProtectGrEnable = (tmp & 0x80) >> 7; - cardinfo->SD_csd.ManDeflECC = (tmp & 0x60) >> 5; - cardinfo->SD_csd.WrSpeedFact = (tmp & 0x1C) >> 2; - cardinfo->SD_csd.MaxWrBlockLen = (tmp & 0x03) << 2; - - /*!< Byte 13 */ - tmp = (uint8_t)((CSD_Tab[3] & 0x00FF0000) >> 16); - cardinfo->SD_csd.MaxWrBlockLen |= (tmp & 0xC0) >> 6; - cardinfo->SD_csd.WriteBlockPaPartial = (tmp & 0x20) >> 5; - cardinfo->SD_csd.Reserved3 = 0; - cardinfo->SD_csd.ContentProtectAppli = (tmp & 0x01); - - /*!< Byte 14 */ - tmp = (uint8_t)((CSD_Tab[3] & 0x0000FF00) >> 8); - cardinfo->SD_csd.FileFormatGrouop = (tmp & 0x80) >> 7; - cardinfo->SD_csd.CopyFlag = (tmp & 0x40) >> 6; - cardinfo->SD_csd.PermWrProtect = (tmp & 0x20) >> 5; - cardinfo->SD_csd.TempWrProtect = (tmp & 0x10) >> 4; - cardinfo->SD_csd.FileFormat = (tmp & 0x0C) >> 2; - cardinfo->SD_csd.ECC = (tmp & 0x03); - - /*!< Byte 15 */ - tmp = (uint8_t)(CSD_Tab[3] & 0x000000FF); - cardinfo->SD_csd.CSD_CRC = (tmp & 0xFE) >> 1; - cardinfo->SD_csd.Reserved4 = 1; - - - /*!< Byte 0 */ - tmp = (uint8_t)((CID_Tab[0] & 0xFF000000) >> 24); - cardinfo->SD_cid.ManufacturerID = tmp; - - /*!< Byte 1 */ - tmp = (uint8_t)((CID_Tab[0] & 0x00FF0000) >> 16); - cardinfo->SD_cid.OEM_AppliID = tmp << 8; - - /*!< Byte 2 */ - tmp = (uint8_t)((CID_Tab[0] & 0x000000FF00) >> 8); - cardinfo->SD_cid.OEM_AppliID |= tmp; - - /*!< Byte 3 */ - tmp = (uint8_t)(CID_Tab[0] & 0x000000FF); - cardinfo->SD_cid.ProdName1 = tmp << 24; - - /*!< Byte 4 */ - tmp = (uint8_t)((CID_Tab[1] & 0xFF000000) >> 24); - cardinfo->SD_cid.ProdName1 |= tmp << 16; - - /*!< Byte 5 */ - tmp = (uint8_t)((CID_Tab[1] & 0x00FF0000) >> 16); - cardinfo->SD_cid.ProdName1 |= tmp << 8; - - /*!< Byte 6 */ - tmp = (uint8_t)((CID_Tab[1] & 0x0000FF00) >> 8); - cardinfo->SD_cid.ProdName1 |= tmp; - - /*!< Byte 7 */ - tmp = (uint8_t)(CID_Tab[1] & 0x000000FF); - cardinfo->SD_cid.ProdName2 = tmp; - - /*!< Byte 8 */ - tmp = (uint8_t)((CID_Tab[2] & 0xFF000000) >> 24); - cardinfo->SD_cid.ProdRev = tmp; - - /*!< Byte 9 */ - tmp = (uint8_t)((CID_Tab[2] & 0x00FF0000) >> 16); - cardinfo->SD_cid.ProdSN = tmp << 24; - - /*!< Byte 10 */ - tmp = (uint8_t)((CID_Tab[2] & 0x0000FF00) >> 8); - cardinfo->SD_cid.ProdSN |= tmp << 16; - - /*!< Byte 11 */ - tmp = (uint8_t)(CID_Tab[2] & 0x000000FF); - cardinfo->SD_cid.ProdSN |= tmp << 8; - - /*!< Byte 12 */ - tmp = (uint8_t)((CID_Tab[3] & 0xFF000000) >> 24); - cardinfo->SD_cid.ProdSN |= tmp; - - /*!< Byte 13 */ - tmp = (uint8_t)((CID_Tab[3] & 0x00FF0000) >> 16); - cardinfo->SD_cid.Reserved1 |= (tmp & 0xF0) >> 4; - cardinfo->SD_cid.ManufactDate = (tmp & 0x0F) << 8; - - /*!< Byte 14 */ - tmp = (uint8_t)((CID_Tab[3] & 0x0000FF00) >> 8); - cardinfo->SD_cid.ManufactDate |= tmp; - - /*!< Byte 15 */ - tmp = (uint8_t)(CID_Tab[3] & 0x000000FF); - cardinfo->SD_cid.CID_CRC = (tmp & 0xFE) >> 1; - cardinfo->SD_cid.Reserved2 = 1; - - return(errorstatus); -} - -/** - * @brief Enables wide bus opeartion for the requeseted card if supported by - * card. - * @param WideMode: Specifies the SD card wide bus mode. - * This parameter can be one of the following values: - * @arg SDIO_BusWide_8b: 8-bit data transfer (Only for MMC) - * @arg SDIO_BusWide_4b: 4-bit data transfer - * @arg SDIO_BusWide_1b: 1-bit data transfer - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_GetCardStatus(SD_CardStatus *cardstatus) -{ - SD_Error errorstatus = SD_OK; - uint8_t tmp = 0; - - errorstatus = SD_SendSDStatus((uint32_t *)SDSTATUS_Tab); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - /*!< Byte 0 */ - tmp = (uint8_t)((SDSTATUS_Tab[0] & 0xC0) >> 6); - cardstatus->DAT_BUS_WIDTH = tmp; - - /*!< Byte 0 */ - tmp = (uint8_t)((SDSTATUS_Tab[0] & 0x20) >> 5); - cardstatus->SECURED_MODE = tmp; - - /*!< Byte 2 */ - tmp = (uint8_t)((SDSTATUS_Tab[2] & 0xFF)); - cardstatus->SD_CARD_TYPE = tmp << 8; - - /*!< Byte 3 */ - tmp = (uint8_t)((SDSTATUS_Tab[3] & 0xFF)); - cardstatus->SD_CARD_TYPE |= tmp; - - /*!< Byte 4 */ - tmp = (uint8_t)(SDSTATUS_Tab[4] & 0xFF); - cardstatus->SIZE_OF_PROTECTED_AREA = tmp << 24; - - /*!< Byte 5 */ - tmp = (uint8_t)(SDSTATUS_Tab[5] & 0xFF); - cardstatus->SIZE_OF_PROTECTED_AREA |= tmp << 16; - - /*!< Byte 6 */ - tmp = (uint8_t)(SDSTATUS_Tab[6] & 0xFF); - cardstatus->SIZE_OF_PROTECTED_AREA |= tmp << 8; - - /*!< Byte 7 */ - tmp = (uint8_t)(SDSTATUS_Tab[7] & 0xFF); - cardstatus->SIZE_OF_PROTECTED_AREA |= tmp; - - /*!< Byte 8 */ - tmp = (uint8_t)((SDSTATUS_Tab[8] & 0xFF)); - cardstatus->SPEED_CLASS = tmp; - - /*!< Byte 9 */ - tmp = (uint8_t)((SDSTATUS_Tab[9] & 0xFF)); - cardstatus->PERFORMANCE_MOVE = tmp; - - /*!< Byte 10 */ - tmp = (uint8_t)((SDSTATUS_Tab[10] & 0xF0) >> 4); - cardstatus->AU_SIZE = tmp; - - /*!< Byte 11 */ - tmp = (uint8_t)(SDSTATUS_Tab[11] & 0xFF); - cardstatus->ERASE_SIZE = tmp << 8; - - /*!< Byte 12 */ - tmp = (uint8_t)(SDSTATUS_Tab[12] & 0xFF); - cardstatus->ERASE_SIZE |= tmp; - - /*!< Byte 13 */ - tmp = (uint8_t)((SDSTATUS_Tab[13] & 0xFC) >> 2); - cardstatus->ERASE_TIMEOUT = tmp; - - /*!< Byte 13 */ - tmp = (uint8_t)((SDSTATUS_Tab[13] & 0x3)); - cardstatus->ERASE_OFFSET = tmp; - - return(errorstatus); -} - -/** - * @brief Enables wide bus opeartion for the requeseted card if supported by - * card. - * @param WideMode: Specifies the SD card wide bus mode. - * This parameter can be one of the following values: - * @arg SDIO_BusWide_8b: 8-bit data transfer (Only for MMC) - * @arg SDIO_BusWide_4b: 4-bit data transfer - * @arg SDIO_BusWide_1b: 1-bit data transfer - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_EnableWideBusOperation(uint32_t WideMode) -{ - SD_Error errorstatus = SD_OK; - - /*!< MMC Card doesn't support this feature */ - if (SDIO_MULTIMEDIA_CARD == CardType) - { - errorstatus = SD_UNSUPPORTED_FEATURE; - return(errorstatus); - } - else if ((SDIO_STD_CAPACITY_SD_CARD_V1_1 == CardType) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == CardType) || (SDIO_HIGH_CAPACITY_SD_CARD == CardType)) - { - if (SDIO_BusWide_8b == WideMode) - { - errorstatus = SD_UNSUPPORTED_FEATURE; - return(errorstatus); - } - else if (SDIO_BusWide_4b == WideMode) - { - errorstatus = SDEnWideBus(ENABLE); - - if (SD_OK == errorstatus) - { - /*!< Configure the SDIO peripheral */ - SDIO_InitStructure.SDIO_ClockDiv = SDIO_TRANSFER_CLK_DIV; - SDIO_InitStructure.SDIO_ClockEdge = SDIO_ClockEdge_Rising; - SDIO_InitStructure.SDIO_ClockBypass = SDIO_ClockBypass_Disable; - SDIO_InitStructure.SDIO_ClockPowerSave = SDIO_ClockPowerSave_Disable; - SDIO_InitStructure.SDIO_BusWide = SDIO_BusWide_4b; - SDIO_InitStructure.SDIO_HardwareFlowControl = SDIO_HardwareFlowControl_Disable; - SDIO_Init(&SDIO_InitStructure); - } - } - else - { - errorstatus = SDEnWideBus(DISABLE); - - if (SD_OK == errorstatus) - { - /*!< Configure the SDIO peripheral */ - SDIO_InitStructure.SDIO_ClockDiv = SDIO_TRANSFER_CLK_DIV; - SDIO_InitStructure.SDIO_ClockEdge = SDIO_ClockEdge_Rising; - SDIO_InitStructure.SDIO_ClockBypass = SDIO_ClockBypass_Disable; - SDIO_InitStructure.SDIO_ClockPowerSave = SDIO_ClockPowerSave_Disable; - SDIO_InitStructure.SDIO_BusWide = SDIO_BusWide_1b; - SDIO_InitStructure.SDIO_HardwareFlowControl = SDIO_HardwareFlowControl_Disable; - SDIO_Init(&SDIO_InitStructure); - } - } - } - - return(errorstatus); -} - -/** - * @brief Selects od Deselects the corresponding card. - * @param addr: Address of the Card to be selected. - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_SelectDeselect(uint32_t addr) -{ - SD_Error errorstatus = SD_OK; - - /*!< Send CMD7 SDIO_SEL_DESEL_CARD */ - SDIO_CmdInitStructure.SDIO_Argument = addr; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SEL_DESEL_CARD; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_SEL_DESEL_CARD); - - return(errorstatus); -} - -/** - * @brief Allows to read one block from a specified address in a card. The Data - * transfer can be managed by DMA mode or Polling mode. - * @note This operation should be followed by two functions to check if the - * DMA Controller and SD Card status. - * - SD_ReadWaitOperation(): this function insure that the DMA - * controller has finished all data transfer. - * - SD_GetStatus(): to check that the SD Card has finished the - * data transfer and it is ready for data. - * @param readbuff: pointer to the buffer that will contain the received data - * @param ReadAddr: Address from where data are to be read. - * @param BlockSize: the SD card Data block size. The Block size should be 512. - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_ReadBlock(uint8_t *readbuff, uint32_t ReadAddr, uint16_t BlockSize) -{ - SD_Error errorstatus = SD_OK; -#if defined (SD_POLLING_MODE) - uint32_t count = 0, *tempbuff = (uint32_t *)readbuff; -#endif - - TransferError = SD_OK; - TransferEnd = 0; - StopCondition = 0; - - SDIO->DCTRL = 0x0; - - - if (CardType == SDIO_HIGH_CAPACITY_SD_CARD) - { - BlockSize = 512; - ReadAddr /= 512; - } - - SDIO_DataInitStructure.SDIO_DataTimeOut = SD_DATATIMEOUT; - SDIO_DataInitStructure.SDIO_DataLength = BlockSize; - SDIO_DataInitStructure.SDIO_DataBlockSize = (uint32_t) 9 << 4; - SDIO_DataInitStructure.SDIO_TransferDir = SDIO_TransferDir_ToSDIO; - SDIO_DataInitStructure.SDIO_TransferMode = SDIO_TransferMode_Block; - SDIO_DataInitStructure.SDIO_DPSM = SDIO_DPSM_Enable; - SDIO_DataConfig(&SDIO_DataInitStructure); - - /*!< Send CMD17 READ_SINGLE_BLOCK */ - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t)ReadAddr; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_READ_SINGLE_BLOCK; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_READ_SINGLE_BLOCK); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - -#if defined (SD_POLLING_MODE) - /*!< In case of single block transfer, no need of stop transfer at all.*/ - /*!< Polling mode */ - while (!(SDIO->STA &(SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDIO_FLAG_DBCKEND | SDIO_FLAG_STBITERR))) - { - if (SDIO_GetFlagStatus(SDIO_FLAG_RXFIFOHF) != RESET) - { - for (count = 0; count < 8; count++) - { - *(tempbuff + count) = SDIO_ReadData(); - } - tempbuff += 8; - } - } - - if (SDIO_GetFlagStatus(SDIO_FLAG_DTIMEOUT) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_DTIMEOUT); - errorstatus = SD_DATA_TIMEOUT; - return(errorstatus); - } - else if (SDIO_GetFlagStatus(SDIO_FLAG_DCRCFAIL) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_DCRCFAIL); - errorstatus = SD_DATA_CRC_FAIL; - return(errorstatus); - } - else if (SDIO_GetFlagStatus(SDIO_FLAG_RXOVERR) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_RXOVERR); - errorstatus = SD_RX_OVERRUN; - return(errorstatus); - } - else if (SDIO_GetFlagStatus(SDIO_FLAG_STBITERR) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_STBITERR); - errorstatus = SD_START_BIT_ERR; - return(errorstatus); - } - while (SDIO_GetFlagStatus(SDIO_FLAG_RXDAVL) != RESET) - { - *tempbuff = SDIO_ReadData(); - tempbuff++; - } - - /*!< Clear all the static flags */ - SDIO_ClearFlag(SDIO_STATIC_FLAGS); - -#elif defined (SD_DMA_MODE) - SDIO_ITConfig(SDIO_IT_DATAEND, ENABLE); - SDIO_DMACmd(ENABLE); - SD_LowLevel_DMA_RxConfig((uint32_t *)readbuff, BlockSize); -#endif - - return(errorstatus); -} - -/** - * @brief Allows to read blocks from a specified address in a card. The Data - * transfer can be managed by DMA mode or Polling mode. - * @note This operation should be followed by two functions to check if the - * DMA Controller and SD Card status. - * - SD_ReadWaitOperation(): this function insure that the DMA - * controller has finished all data transfer. - * - SD_GetStatus(): to check that the SD Card has finished the - * data transfer and it is ready for data. - * @param readbuff: pointer to the buffer that will contain the received data. - * @param ReadAddr: Address from where data are to be read. - * @param BlockSize: the SD card Data block size. The Block size should be 512. - * @param NumberOfBlocks: number of blocks to be read. - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_ReadMultiBlocks(uint8_t *readbuff, uint32_t ReadAddr, uint16_t BlockSize, uint32_t NumberOfBlocks) -{ - SD_Error errorstatus = SD_OK; - TransferError = SD_OK; - TransferEnd = 0; - StopCondition = 1; - - SDIO->DCTRL = 0x0; - - if (CardType == SDIO_HIGH_CAPACITY_SD_CARD) - { - BlockSize = 512; - ReadAddr /= 512; - } - - /*!< Set Block Size for Card */ - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t) BlockSize; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SET_BLOCKLEN; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_SET_BLOCKLEN); - - if (SD_OK != errorstatus) - { - return(errorstatus); - } - - SDIO_DataInitStructure.SDIO_DataTimeOut = SD_DATATIMEOUT; - SDIO_DataInitStructure.SDIO_DataLength = NumberOfBlocks * BlockSize; - SDIO_DataInitStructure.SDIO_DataBlockSize = (uint32_t) 9 << 4; - SDIO_DataInitStructure.SDIO_TransferDir = SDIO_TransferDir_ToSDIO; - SDIO_DataInitStructure.SDIO_TransferMode = SDIO_TransferMode_Block; - SDIO_DataInitStructure.SDIO_DPSM = SDIO_DPSM_Enable; - SDIO_DataConfig(&SDIO_DataInitStructure); - - /*!< Send CMD18 READ_MULT_BLOCK with argument data address */ - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t)ReadAddr; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_READ_MULT_BLOCK; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_READ_MULT_BLOCK); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - SDIO_ITConfig(SDIO_IT_DATAEND, ENABLE); - SDIO_DMACmd(ENABLE); - SD_LowLevel_DMA_RxConfig((uint32_t *)readbuff, (NumberOfBlocks * BlockSize)); - - return(errorstatus); -} - -/** - * @brief This function waits until the SDIO DMA data transfer is finished. - * This function should be called after SDIO_ReadMultiBlocks() function - * to insure that all data sent by the card are already transferred by - * the DMA controller. - * @param None. - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_WaitReadOperation(void) -{ - SD_Error errorstatus = SD_OK; - - while ((SD_DMAEndOfTransferStatus() == RESET) && (TransferEnd == 0) && (TransferError == SD_OK)) - {} - - if (TransferError != SD_OK) - { - return(TransferError); - } - - return(errorstatus); -} - -/** - * @brief Allows to write one block starting from a specified address in a card. - * The Data transfer can be managed by DMA mode or Polling mode. - * @note This operation should be followed by two functions to check if the - * DMA Controller and SD Card status. - * - SD_ReadWaitOperation(): this function insure that the DMA - * controller has finished all data transfer. - * - SD_GetStatus(): to check that the SD Card has finished the - * data transfer and it is ready for data. - * @param writebuff: pointer to the buffer that contain the data to be transferred. - * @param WriteAddr: Address from where data are to be read. - * @param BlockSize: the SD card Data block size. The Block size should be 512. - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_WriteBlock(uint8_t *writebuff, uint32_t WriteAddr, uint16_t BlockSize) -{ - SD_Error errorstatus = SD_OK; - -#if defined (SD_POLLING_MODE) - uint32_t bytestransferred = 0, count = 0, restwords = 0; - uint32_t *tempbuff = (uint32_t *)writebuff; -#endif - - TransferError = SD_OK; - TransferEnd = 0; - StopCondition = 0; - - SDIO->DCTRL = 0x0; - - - if (CardType == SDIO_HIGH_CAPACITY_SD_CARD) - { - BlockSize = 512; - WriteAddr /= 512; - } - - /*!< Send CMD24 WRITE_SINGLE_BLOCK */ - SDIO_CmdInitStructure.SDIO_Argument = WriteAddr; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_WRITE_SINGLE_BLOCK; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_WRITE_SINGLE_BLOCK); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - SDIO_DataInitStructure.SDIO_DataTimeOut = SD_DATATIMEOUT; - SDIO_DataInitStructure.SDIO_DataLength = BlockSize; - SDIO_DataInitStructure.SDIO_DataBlockSize = (uint32_t) 9 << 4; - SDIO_DataInitStructure.SDIO_TransferDir = SDIO_TransferDir_ToCard; - SDIO_DataInitStructure.SDIO_TransferMode = SDIO_TransferMode_Block; - SDIO_DataInitStructure.SDIO_DPSM = SDIO_DPSM_Enable; - SDIO_DataConfig(&SDIO_DataInitStructure); - - /*!< In case of single data block transfer no need of stop command at all */ -#if defined (SD_POLLING_MODE) - while (!(SDIO->STA & (SDIO_FLAG_DBCKEND | SDIO_FLAG_TXUNDERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDIO_FLAG_STBITERR))) - { - if (SDIO_GetFlagStatus(SDIO_FLAG_TXFIFOHE) != RESET) - { - if ((512 - bytestransferred) < 32) - { - restwords = ((512 - bytestransferred) % 4 == 0) ? ((512 - bytestransferred) / 4) : (( 512 - bytestransferred) / 4 + 1); - for (count = 0; count < restwords; count++, tempbuff++, bytestransferred += 4) - { - SDIO_WriteData(*tempbuff); - } - } - else - { - for (count = 0; count < 8; count++) - { - SDIO_WriteData(*(tempbuff + count)); - } - tempbuff += 8; - bytestransferred += 32; - } - } - } - if (SDIO_GetFlagStatus(SDIO_FLAG_DTIMEOUT) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_DTIMEOUT); - errorstatus = SD_DATA_TIMEOUT; - return(errorstatus); - } - else if (SDIO_GetFlagStatus(SDIO_FLAG_DCRCFAIL) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_DCRCFAIL); - errorstatus = SD_DATA_CRC_FAIL; - return(errorstatus); - } - else if (SDIO_GetFlagStatus(SDIO_FLAG_TXUNDERR) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_TXUNDERR); - errorstatus = SD_TX_UNDERRUN; - return(errorstatus); - } - else if (SDIO_GetFlagStatus(SDIO_FLAG_STBITERR) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_STBITERR); - errorstatus = SD_START_BIT_ERR; - return(errorstatus); - } -#elif defined (SD_DMA_MODE) - SDIO_ITConfig(SDIO_IT_DATAEND, ENABLE); - SD_LowLevel_DMA_TxConfig((uint32_t *)writebuff, BlockSize); - SDIO_DMACmd(ENABLE); -#endif - - return(errorstatus); -} - -/** - * @brief Allows to write blocks starting from a specified address in a card. - * The Data transfer can be managed by DMA mode only. - * @note This operation should be followed by two functions to check if the - * DMA Controller and SD Card status. - * - SD_ReadWaitOperation(): this function insure that the DMA - * controller has finished all data transfer. - * - SD_GetStatus(): to check that the SD Card has finished the - * data transfer and it is ready for data. - * @param WriteAddr: Address from where data are to be read. - * @param writebuff: pointer to the buffer that contain the data to be transferred. - * @param BlockSize: the SD card Data block size. The Block size should be 512. - * @param NumberOfBlocks: number of blocks to be written. - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_WriteMultiBlocks(uint8_t *writebuff, uint32_t WriteAddr, uint16_t BlockSize, uint32_t NumberOfBlocks) -{ - SD_Error errorstatus = SD_OK; - __IO uint32_t count = 0; - - TransferError = SD_OK; - TransferEnd = 0; - StopCondition = 1; - - SDIO->DCTRL = 0x0; - - if (CardType == SDIO_HIGH_CAPACITY_SD_CARD) - { - BlockSize = 512; - WriteAddr /= 512; - } - - /*!< To improve performance */ - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t) (RCA << 16); - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_CMD; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - - errorstatus = CmdResp1Error(SD_CMD_APP_CMD); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - /*!< To improve performance */ - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t)NumberOfBlocks; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SET_BLOCK_COUNT; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_SET_BLOCK_COUNT); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - - /*!< Send CMD25 WRITE_MULT_BLOCK with argument data address */ - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t)WriteAddr; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_WRITE_MULT_BLOCK; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_WRITE_MULT_BLOCK); - - if (SD_OK != errorstatus) - { - return(errorstatus); - } - - SDIO_DataInitStructure.SDIO_DataTimeOut = SD_DATATIMEOUT; - SDIO_DataInitStructure.SDIO_DataLength = NumberOfBlocks * BlockSize; - SDIO_DataInitStructure.SDIO_DataBlockSize = (uint32_t) 9 << 4; - SDIO_DataInitStructure.SDIO_TransferDir = SDIO_TransferDir_ToCard; - SDIO_DataInitStructure.SDIO_TransferMode = SDIO_TransferMode_Block; - SDIO_DataInitStructure.SDIO_DPSM = SDIO_DPSM_Enable; - SDIO_DataConfig(&SDIO_DataInitStructure); - - SDIO_ITConfig(SDIO_IT_DATAEND, ENABLE); - SDIO_DMACmd(ENABLE); - SD_LowLevel_DMA_TxConfig((uint32_t *)writebuff, (NumberOfBlocks * BlockSize)); - - return(errorstatus); -} - -/** - * @brief This function waits until the SDIO DMA data transfer is finished. - * This function should be called after SDIO_WriteBlock() and - * SDIO_WriteMultiBlocks() function to insure that all data sent by the - * card are already transferred by the DMA controller. - * @param None. - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_WaitWriteOperation(void) -{ - SD_Error errorstatus = SD_OK; - - while ((SD_DMAEndOfTransferStatus() == RESET) && (TransferEnd == 0) && (TransferError == SD_OK)) - {} - - if (TransferError != SD_OK) - { - return(TransferError); - } - - /*!< Clear all the static flags */ - SDIO_ClearFlag(SDIO_STATIC_FLAGS); - - return(errorstatus); -} - -/** - * @brief Gets the cuurent data transfer state. - * @param None - * @retval SDTransferState: Data Transfer state. - * This value can be: - * - SD_TRANSFER_OK: No data transfer is acting - * - SD_TRANSFER_BUSY: Data transfer is acting - */ -SDTransferState SD_GetTransferState(void) -{ - if (SDIO->STA & (SDIO_FLAG_TXACT | SDIO_FLAG_RXACT)) - { - return(SD_TRANSFER_BUSY); - } - else - { - return(SD_TRANSFER_OK); - } -} - -/** - * @brief Aborts an ongoing data transfer. - * @param None - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_StopTransfer(void) -{ - SD_Error errorstatus = SD_OK; - - /*!< Send CMD12 STOP_TRANSMISSION */ - SDIO->ARG = 0x0; - SDIO->CMD = 0x44C; - errorstatus = CmdResp1Error(SD_CMD_STOP_TRANSMISSION); - - return(errorstatus); -} - -/** - * @brief Allows to erase memory area specified for the given card. - * @param startaddr: the start address. - * @param endaddr: the end address. - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_Erase(uint32_t startaddr, uint32_t endaddr) -{ - SD_Error errorstatus = SD_OK; - uint32_t delay = 0; - __IO uint32_t maxdelay = 0; - uint8_t cardstate = 0; - - /*!< Check if the card coomnd class supports erase command */ - if (((CSD_Tab[1] >> 20) & SD_CCCC_ERASE) == 0) - { - errorstatus = SD_REQUEST_NOT_APPLICABLE; - return(errorstatus); - } - - maxdelay = 120000 / ((SDIO->CLKCR & 0xFF) + 2); - - if (SDIO_GetResponse(SDIO_RESP1) & SD_CARD_LOCKED) - { - errorstatus = SD_LOCK_UNLOCK_FAILED; - return(errorstatus); - } - - if (CardType == SDIO_HIGH_CAPACITY_SD_CARD) - { - startaddr /= 512; - endaddr /= 512; - } - - /*!< According to sd-card spec 1.0 ERASE_GROUP_START (CMD32) and erase_group_end(CMD33) */ - if ((SDIO_STD_CAPACITY_SD_CARD_V1_1 == CardType) || (SDIO_STD_CAPACITY_SD_CARD_V2_0 == CardType) || (SDIO_HIGH_CAPACITY_SD_CARD == CardType)) - { - /*!< Send CMD32 SD_ERASE_GRP_START with argument as addr */ - SDIO_CmdInitStructure.SDIO_Argument = startaddr; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SD_ERASE_GRP_START; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_SD_ERASE_GRP_START); - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - /*!< Send CMD33 SD_ERASE_GRP_END with argument as addr */ - SDIO_CmdInitStructure.SDIO_Argument = endaddr; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SD_ERASE_GRP_END; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_SD_ERASE_GRP_END); - if (errorstatus != SD_OK) - { - return(errorstatus); - } - } - - /*!< Send CMD38 ERASE */ - SDIO_CmdInitStructure.SDIO_Argument = 0; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_ERASE; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_ERASE); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - for (delay = 0; delay < maxdelay; delay++) - {} - - /*!< Wait till the card is in programming state */ - errorstatus = IsCardProgramming(&cardstate); - - while ((errorstatus == SD_OK) && ((SD_CARD_PROGRAMMING == cardstate) || (SD_CARD_RECEIVING == cardstate))) - { - errorstatus = IsCardProgramming(&cardstate); - } - - return(errorstatus); -} - -/** - * @brief Returns the current card's status. - * @param pcardstatus: pointer to the buffer that will contain the SD card - * status (Card Status register). - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_SendStatus(uint32_t *pcardstatus) -{ - SD_Error errorstatus = SD_OK; - - SDIO->ARG = (uint32_t) RCA << 16; - SDIO->CMD = 0x44D; - - errorstatus = CmdResp1Error(SD_CMD_SEND_STATUS); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - *pcardstatus = SDIO->RESP1; - return(errorstatus); -} - -/** - * @brief Returns the current SD card's status. - * @param psdstatus: pointer to the buffer that will contain the SD card status - * (SD Status register). - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_SendSDStatus(uint32_t *psdstatus) -{ - SD_Error errorstatus = SD_OK; - uint32_t count = 0; - - if (SDIO_GetResponse(SDIO_RESP1) & SD_CARD_LOCKED) - { - errorstatus = SD_LOCK_UNLOCK_FAILED; - return(errorstatus); - } - - /*!< Set block size for card if it is not equal to current block size for card. */ - SDIO_CmdInitStructure.SDIO_Argument = 64; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SET_BLOCKLEN; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_SET_BLOCKLEN); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - /*!< CMD55 */ - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t) RCA << 16; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_CMD; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - errorstatus = CmdResp1Error(SD_CMD_APP_CMD); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - SDIO_DataInitStructure.SDIO_DataTimeOut = SD_DATATIMEOUT; - SDIO_DataInitStructure.SDIO_DataLength = 64; - SDIO_DataInitStructure.SDIO_DataBlockSize = SDIO_DataBlockSize_64b; - SDIO_DataInitStructure.SDIO_TransferDir = SDIO_TransferDir_ToSDIO; - SDIO_DataInitStructure.SDIO_TransferMode = SDIO_TransferMode_Block; - SDIO_DataInitStructure.SDIO_DPSM = SDIO_DPSM_Enable; - SDIO_DataConfig(&SDIO_DataInitStructure); - - /*!< Send ACMD13 SD_APP_STAUS with argument as card's RCA.*/ - SDIO_CmdInitStructure.SDIO_Argument = 0; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SD_APP_STAUS; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - errorstatus = CmdResp1Error(SD_CMD_SD_APP_STAUS); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - while (!(SDIO->STA &(SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDIO_FLAG_DBCKEND | SDIO_FLAG_STBITERR))) - { - if (SDIO_GetFlagStatus(SDIO_FLAG_RXFIFOHF) != RESET) - { - for (count = 0; count < 8; count++) - { - *(psdstatus + count) = SDIO_ReadData(); - } - psdstatus += 8; - } - } - - if (SDIO_GetFlagStatus(SDIO_FLAG_DTIMEOUT) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_DTIMEOUT); - errorstatus = SD_DATA_TIMEOUT; - return(errorstatus); - } - else if (SDIO_GetFlagStatus(SDIO_FLAG_DCRCFAIL) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_DCRCFAIL); - errorstatus = SD_DATA_CRC_FAIL; - return(errorstatus); - } - else if (SDIO_GetFlagStatus(SDIO_FLAG_RXOVERR) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_RXOVERR); - errorstatus = SD_RX_OVERRUN; - return(errorstatus); - } - else if (SDIO_GetFlagStatus(SDIO_FLAG_STBITERR) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_STBITERR); - errorstatus = SD_START_BIT_ERR; - return(errorstatus); - } - - while (SDIO_GetFlagStatus(SDIO_FLAG_RXDAVL) != RESET) - { - *psdstatus = SDIO_ReadData(); - psdstatus++; - } - - /*!< Clear all the static status flags*/ - SDIO_ClearFlag(SDIO_STATIC_FLAGS); - - return(errorstatus); -} - -/** - * @brief Allows to process all the interrupts that are high. - * @param None - * @retval SD_Error: SD Card Error code. - */ -SD_Error SD_ProcessIRQSrc(void) -{ - if (StopCondition == 1) - { - SDIO->ARG = 0x0; - SDIO->CMD = 0x44C; - TransferError = CmdResp1Error(SD_CMD_STOP_TRANSMISSION); - } - else - { - TransferError = SD_OK; - } - SDIO_ClearITPendingBit(SDIO_IT_DATAEND); - SDIO_ITConfig(SDIO_IT_DATAEND, DISABLE); - TransferEnd = 1; - return(TransferError); -} - -/** - * @brief Checks for error conditions for CMD0. - * @param None - * @retval SD_Error: SD Card Error code. - */ -static SD_Error CmdError(void) -{ - SD_Error errorstatus = SD_OK; - uint32_t timeout; - - timeout = SDIO_CMD0TIMEOUT; /*!< 10000 */ - - while ((timeout > 0) && (SDIO_GetFlagStatus(SDIO_FLAG_CMDSENT) == RESET)) - { - timeout--; - } - - if (timeout == 0) - { - errorstatus = SD_CMD_RSP_TIMEOUT; - return(errorstatus); - } - - /*!< Clear all the static flags */ - SDIO_ClearFlag(SDIO_STATIC_FLAGS); - - return(errorstatus); -} - -/** - * @brief Checks for error conditions for R7 response. - * @param None - * @retval SD_Error: SD Card Error code. - */ -static SD_Error CmdResp7Error(void) -{ - SD_Error errorstatus = SD_OK; - uint32_t status; - uint32_t timeout = SDIO_CMD0TIMEOUT; - - status = SDIO->STA; - - while (!(status & (SDIO_FLAG_CCRCFAIL | SDIO_FLAG_CMDREND | SDIO_FLAG_CTIMEOUT)) && (timeout > 0)) - { - timeout--; - status = SDIO->STA; - } - - if ((timeout == 0) || (status & SDIO_FLAG_CTIMEOUT)) - { - /*!< Card is not V2.0 complient or card does not support the set voltage range */ - errorstatus = SD_CMD_RSP_TIMEOUT; - SDIO_ClearFlag(SDIO_FLAG_CTIMEOUT); - return(errorstatus); - } - - if (status & SDIO_FLAG_CMDREND) - { - /*!< Card is SD V2.0 compliant */ - errorstatus = SD_OK; - SDIO_ClearFlag(SDIO_FLAG_CMDREND); - return(errorstatus); - } - return(errorstatus); -} - -/** - * @brief Checks for error conditions for R1 response. - * @param cmd: The sent command index. - * @retval SD_Error: SD Card Error code. - */ -static SD_Error CmdResp1Error(uint8_t cmd) -{ - while (!(SDIO->STA & (SDIO_FLAG_CCRCFAIL | SDIO_FLAG_CMDREND | SDIO_FLAG_CTIMEOUT))) - { - } - - SDIO->ICR = SDIO_STATIC_FLAGS; - - return (SD_Error)(SDIO->RESP1 & SD_OCR_ERRORBITS); -} - -/** - * @brief Checks for error conditions for R3 (OCR) response. - * @param None - * @retval SD_Error: SD Card Error code. - */ -static SD_Error CmdResp3Error(void) -{ - SD_Error errorstatus = SD_OK; - uint32_t status; - - status = SDIO->STA; - - while (!(status & (SDIO_FLAG_CCRCFAIL | SDIO_FLAG_CMDREND | SDIO_FLAG_CTIMEOUT))) - { - status = SDIO->STA; - } - - if (status & SDIO_FLAG_CTIMEOUT) - { - errorstatus = SD_CMD_RSP_TIMEOUT; - SDIO_ClearFlag(SDIO_FLAG_CTIMEOUT); - return(errorstatus); - } - /*!< Clear all the static flags */ - SDIO_ClearFlag(SDIO_STATIC_FLAGS); - return(errorstatus); -} - -/** - * @brief Checks for error conditions for R2 (CID or CSD) response. - * @param None - * @retval SD_Error: SD Card Error code. - */ -static SD_Error CmdResp2Error(void) -{ - SD_Error errorstatus = SD_OK; - uint32_t status; - - status = SDIO->STA; - - while (!(status & (SDIO_FLAG_CCRCFAIL | SDIO_FLAG_CTIMEOUT | SDIO_FLAG_CMDREND))) - { - status = SDIO->STA; - } - - if (status & SDIO_FLAG_CTIMEOUT) - { - errorstatus = SD_CMD_RSP_TIMEOUT; - SDIO_ClearFlag(SDIO_FLAG_CTIMEOUT); - return(errorstatus); - } - else if (status & SDIO_FLAG_CCRCFAIL) - { - errorstatus = SD_CMD_CRC_FAIL; - SDIO_ClearFlag(SDIO_FLAG_CCRCFAIL); - return(errorstatus); - } - - /*!< Clear all the static flags */ - SDIO_ClearFlag(SDIO_STATIC_FLAGS); - - return(errorstatus); -} - -/** - * @brief Checks for error conditions for R6 (RCA) response. - * @param cmd: The sent command index. - * @param prca: pointer to the variable that will contain the SD card relative - * address RCA. - * @retval SD_Error: SD Card Error code. - */ -static SD_Error CmdResp6Error(uint8_t cmd, uint16_t *prca) -{ - SD_Error errorstatus = SD_OK; - uint32_t status; - uint32_t response_r1; - - status = SDIO->STA; - - while (!(status & (SDIO_FLAG_CCRCFAIL | SDIO_FLAG_CTIMEOUT | SDIO_FLAG_CMDREND))) - { - status = SDIO->STA; - } - - if (status & SDIO_FLAG_CTIMEOUT) - { - errorstatus = SD_CMD_RSP_TIMEOUT; - SDIO_ClearFlag(SDIO_FLAG_CTIMEOUT); - return(errorstatus); - } - else if (status & SDIO_FLAG_CCRCFAIL) - { - errorstatus = SD_CMD_CRC_FAIL; - SDIO_ClearFlag(SDIO_FLAG_CCRCFAIL); - return(errorstatus); - } - - /*!< Check response received is of desired command */ - if (SDIO_GetCommandResponse() != cmd) - { - errorstatus = SD_ILLEGAL_CMD; - return(errorstatus); - } - - /*!< Clear all the static flags */ - SDIO_ClearFlag(SDIO_STATIC_FLAGS); - - /*!< We have received response, retrieve it. */ - response_r1 = SDIO_GetResponse(SDIO_RESP1); - - if (SD_ALLZERO == (response_r1 & (SD_R6_GENERAL_UNKNOWN_ERROR | SD_R6_ILLEGAL_CMD | SD_R6_COM_CRC_FAILED))) - { - *prca = (uint16_t) (response_r1 >> 16); - return(errorstatus); - } - - if (response_r1 & SD_R6_GENERAL_UNKNOWN_ERROR) - { - return(SD_GENERAL_UNKNOWN_ERROR); - } - - if (response_r1 & SD_R6_ILLEGAL_CMD) - { - return(SD_ILLEGAL_CMD); - } - - if (response_r1 & SD_R6_COM_CRC_FAILED) - { - return(SD_COM_CRC_FAILED); - } - - return(errorstatus); -} - -/** - * @brief Enables or disables the SDIO wide bus mode. - * @param NewState: new state of the SDIO wide bus mode. - * This parameter can be: ENABLE or DISABLE. - * @retval SD_Error: SD Card Error code. - */ -static SD_Error SDEnWideBus(FunctionalState NewState) -{ - SD_Error errorstatus = SD_OK; - - uint32_t scr[2] = {0, 0}; - - if (SDIO_GetResponse(SDIO_RESP1) & SD_CARD_LOCKED) - { - errorstatus = SD_LOCK_UNLOCK_FAILED; - return(errorstatus); - } - - /*!< Get SCR Register */ - errorstatus = FindSCR(RCA, scr); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - /*!< If wide bus operation to be enabled */ - if (NewState == ENABLE) - { - /*!< If requested card supports wide bus operation */ - if ((scr[1] & SD_WIDE_BUS_SUPPORT) != SD_ALLZERO) - { - /*!< Send CMD55 APP_CMD with argument as card's RCA.*/ - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t) RCA << 16; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_CMD; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_APP_CMD); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - /*!< Send ACMD6 APP_CMD with argument as 2 for wide bus mode */ - SDIO_CmdInitStructure.SDIO_Argument = 0x2; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_SD_SET_BUSWIDTH; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_APP_SD_SET_BUSWIDTH); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - return(errorstatus); - } - else - { - errorstatus = SD_REQUEST_NOT_APPLICABLE; - return(errorstatus); - } - } /*!< If wide bus operation to be disabled */ - else - { - /*!< If requested card supports 1 bit mode operation */ - if ((scr[1] & SD_SINGLE_BUS_SUPPORT) != SD_ALLZERO) - { - /*!< Send CMD55 APP_CMD with argument as card's RCA.*/ - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t) RCA << 16; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_CMD; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - - errorstatus = CmdResp1Error(SD_CMD_APP_CMD); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - /*!< Send ACMD6 APP_CMD with argument as 2 for wide bus mode */ - SDIO_CmdInitStructure.SDIO_Argument = 0x00; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_SD_SET_BUSWIDTH; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_APP_SD_SET_BUSWIDTH); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - return(errorstatus); - } - else - { - errorstatus = SD_REQUEST_NOT_APPLICABLE; - return(errorstatus); - } - } -} - -/** - * @brief Checks if the SD card is in programming state. - * @param pstatus: pointer to the variable that will contain the SD card state. - * @retval SD_Error: SD Card Error code. - */ -static SD_Error IsCardProgramming(uint8_t *pstatus) -{ - SD_Error errorstatus = SD_OK; - __IO uint32_t respR1 = 0, status = 0; - - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t) RCA << 16; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SEND_STATUS; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - status = SDIO->STA; - while (!(status & (SDIO_FLAG_CCRCFAIL | SDIO_FLAG_CMDREND | SDIO_FLAG_CTIMEOUT))) - { - status = SDIO->STA; - } - - if (status & SDIO_FLAG_CTIMEOUT) - { - errorstatus = SD_CMD_RSP_TIMEOUT; - SDIO_ClearFlag(SDIO_FLAG_CTIMEOUT); - return(errorstatus); - } - else if (status & SDIO_FLAG_CCRCFAIL) - { - errorstatus = SD_CMD_CRC_FAIL; - SDIO_ClearFlag(SDIO_FLAG_CCRCFAIL); - return(errorstatus); - } - - status = (uint32_t)SDIO_GetCommandResponse(); - - /*!< Check response received is of desired command */ - if (status != SD_CMD_SEND_STATUS) - { - errorstatus = SD_ILLEGAL_CMD; - return(errorstatus); - } - - /*!< Clear all the static flags */ - SDIO_ClearFlag(SDIO_STATIC_FLAGS); - - - /*!< We have received response, retrieve it for analysis */ - respR1 = SDIO_GetResponse(SDIO_RESP1); - - /*!< Find out card status */ - *pstatus = (uint8_t) ((respR1 >> 9) & 0x0000000F); - - if ((respR1 & SD_OCR_ERRORBITS) == SD_ALLZERO) - { - return(errorstatus); - } - - if (respR1 & SD_OCR_ADDR_OUT_OF_RANGE) - { - return(SD_ADDR_OUT_OF_RANGE); - } - - if (respR1 & SD_OCR_ADDR_MISALIGNED) - { - return(SD_ADDR_MISALIGNED); - } - - if (respR1 & SD_OCR_BLOCK_LEN_ERR) - { - return(SD_BLOCK_LEN_ERR); - } - - if (respR1 & SD_OCR_ERASE_SEQ_ERR) - { - return(SD_ERASE_SEQ_ERR); - } - - if (respR1 & SD_OCR_BAD_ERASE_PARAM) - { - return(SD_BAD_ERASE_PARAM); - } - - if (respR1 & SD_OCR_WRITE_PROT_VIOLATION) - { - return(SD_WRITE_PROT_VIOLATION); - } - - if (respR1 & SD_OCR_LOCK_UNLOCK_FAILED) - { - return(SD_LOCK_UNLOCK_FAILED); - } - - if (respR1 & SD_OCR_COM_CRC_FAILED) - { - return(SD_COM_CRC_FAILED); - } - - if (respR1 & SD_OCR_ILLEGAL_CMD) - { - return(SD_ILLEGAL_CMD); - } - - if (respR1 & SD_OCR_CARD_ECC_FAILED) - { - return(SD_CARD_ECC_FAILED); - } - - if (respR1 & SD_OCR_CC_ERROR) - { - return(SD_CC_ERROR); - } - - if (respR1 & SD_OCR_GENERAL_UNKNOWN_ERROR) - { - return(SD_GENERAL_UNKNOWN_ERROR); - } - - if (respR1 & SD_OCR_STREAM_READ_UNDERRUN) - { - return(SD_STREAM_READ_UNDERRUN); - } - - if (respR1 & SD_OCR_STREAM_WRITE_OVERRUN) - { - return(SD_STREAM_WRITE_OVERRUN); - } - - if (respR1 & SD_OCR_CID_CSD_OVERWRIETE) - { - return(SD_CID_CSD_OVERWRITE); - } - - if (respR1 & SD_OCR_WP_ERASE_SKIP) - { - return(SD_WP_ERASE_SKIP); - } - - if (respR1 & SD_OCR_CARD_ECC_DISABLED) - { - return(SD_CARD_ECC_DISABLED); - } - - if (respR1 & SD_OCR_ERASE_RESET) - { - return(SD_ERASE_RESET); - } - - if (respR1 & SD_OCR_AKE_SEQ_ERROR) - { - return(SD_AKE_SEQ_ERROR); - } - - return(errorstatus); -} - -/** - * @brief Find the SD card SCR register value. - * @param rca: selected card address. - * @param pscr: pointer to the buffer that will contain the SCR value. - * @retval SD_Error: SD Card Error code. - */ -static SD_Error FindSCR(uint16_t rca, uint32_t *pscr) -{ - uint32_t index = 0; - SD_Error errorstatus = SD_OK; - uint32_t tempscr[2] = {0, 0}; - - /*!< Set Block Size To 8 Bytes */ - /*!< Send CMD55 APP_CMD with argument as card's RCA */ - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t)8; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SET_BLOCKLEN; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_SET_BLOCKLEN); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - /*!< Send CMD55 APP_CMD with argument as card's RCA */ - SDIO_CmdInitStructure.SDIO_Argument = (uint32_t) RCA << 16; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_APP_CMD; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_APP_CMD); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - SDIO_DataInitStructure.SDIO_DataTimeOut = SD_DATATIMEOUT; - SDIO_DataInitStructure.SDIO_DataLength = 8; - SDIO_DataInitStructure.SDIO_DataBlockSize = SDIO_DataBlockSize_8b; - SDIO_DataInitStructure.SDIO_TransferDir = SDIO_TransferDir_ToSDIO; - SDIO_DataInitStructure.SDIO_TransferMode = SDIO_TransferMode_Block; - SDIO_DataInitStructure.SDIO_DPSM = SDIO_DPSM_Enable; - SDIO_DataConfig(&SDIO_DataInitStructure); - - - /*!< Send ACMD51 SD_APP_SEND_SCR with argument as 0 */ - SDIO_CmdInitStructure.SDIO_Argument = 0x0; - SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_SD_APP_SEND_SCR; - SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_Short; - SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No; - SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable; - SDIO_SendCommand(&SDIO_CmdInitStructure); - - errorstatus = CmdResp1Error(SD_CMD_SD_APP_SEND_SCR); - - if (errorstatus != SD_OK) - { - return(errorstatus); - } - - while (!(SDIO->STA & (SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDIO_FLAG_DBCKEND | SDIO_FLAG_STBITERR))) - { - if (SDIO_GetFlagStatus(SDIO_FLAG_RXDAVL) != RESET) - { - *(tempscr + index) = SDIO_ReadData(); - index++; - } - } - - if (SDIO_GetFlagStatus(SDIO_FLAG_DTIMEOUT) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_DTIMEOUT); - errorstatus = SD_DATA_TIMEOUT; - return(errorstatus); - } - else if (SDIO_GetFlagStatus(SDIO_FLAG_DCRCFAIL) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_DCRCFAIL); - errorstatus = SD_DATA_CRC_FAIL; - return(errorstatus); - } - else if (SDIO_GetFlagStatus(SDIO_FLAG_RXOVERR) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_RXOVERR); - errorstatus = SD_RX_OVERRUN; - return(errorstatus); - } - else if (SDIO_GetFlagStatus(SDIO_FLAG_STBITERR) != RESET) - { - SDIO_ClearFlag(SDIO_FLAG_STBITERR); - errorstatus = SD_START_BIT_ERR; - return(errorstatus); - } - - /*!< Clear all the static flags */ - SDIO_ClearFlag(SDIO_STATIC_FLAGS); - - *(pscr + 1) = ((tempscr[0] & SD_0TO7BITS) << 24) | ((tempscr[0] & SD_8TO15BITS) << 8) | ((tempscr[0] & SD_16TO23BITS) >> 8) | ((tempscr[0] & SD_24TO31BITS) >> 24); - - *(pscr) = ((tempscr[1] & SD_0TO7BITS) << 24) | ((tempscr[1] & SD_8TO15BITS) << 8) | ((tempscr[1] & SD_16TO23BITS) >> 8) | ((tempscr[1] & SD_24TO31BITS) >> 24); - - return(errorstatus); -} - -/** - * @brief Converts the number of bytes in power of two and returns the power. - * @param NumberOfBytes: number of bytes. - * @retval None - */ -uint8_t convert_from_bytes_to_power_of_two(uint16_t NumberOfBytes) -{ - uint8_t count = 0; - - while (NumberOfBytes != 1) - { - NumberOfBytes >>= 1; - count++; - } - return(count); -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_sdio_sd.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_sdio_sd.h deleted file mode 100644 index 1746e2cf0..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_sdio_sd.h +++ /dev/null @@ -1,397 +0,0 @@ -/** - ****************************************************************************** - * @file stm32_eval_sdio_sd.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the SD Card - * stm32_eval_sdio_sd driver firmware library. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32_EVAL_SDIO_SD_H -#define __STM32_EVAL_SDIO_SD_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup Common - * @{ - */ - -/** @addtogroup STM32_EVAL_SDIO_SD - * @{ - */ - -/** @defgroup STM32_EVAL_SDIO_SD_Exported_Types - * @{ - */ -typedef enum -{ -/** - * @brief SDIO specific error defines - */ - SD_CMD_CRC_FAIL = (1), /*!< Command response received (but CRC check failed) */ - SD_DATA_CRC_FAIL = (2), /*!< Data bock sent/received (CRC check Failed) */ - SD_CMD_RSP_TIMEOUT = (3), /*!< Command response timeout */ - SD_DATA_TIMEOUT = (4), /*!< Data time out */ - SD_TX_UNDERRUN = (5), /*!< Transmit FIFO under-run */ - SD_RX_OVERRUN = (6), /*!< Receive FIFO over-run */ - SD_START_BIT_ERR = (7), /*!< Start bit not detected on all data signals in widE bus mode */ - SD_CMD_OUT_OF_RANGE = (8), /*!< CMD's argument was out of range.*/ - SD_ADDR_MISALIGNED = (9), /*!< Misaligned address */ - SD_BLOCK_LEN_ERR = (10), /*!< Transferred block length is not allowed for the card or the number of transferred bytes does not match the block length */ - SD_ERASE_SEQ_ERR = (11), /*!< An error in the sequence of erase command occurs.*/ - SD_BAD_ERASE_PARAM = (12), /*!< An Invalid selection for erase groups */ - SD_WRITE_PROT_VIOLATION = (13), /*!< Attempt to program a write protect block */ - SD_LOCK_UNLOCK_FAILED = (14), /*!< Sequence or password error has been detected in unlock command or if there was an attempt to access a locked card */ - SD_COM_CRC_FAILED = (15), /*!< CRC check of the previous command failed */ - SD_ILLEGAL_CMD = (16), /*!< Command is not legal for the card state */ - SD_CARD_ECC_FAILED = (17), /*!< Card internal ECC was applied but failed to correct the data */ - SD_CC_ERROR = (18), /*!< Internal card controller error */ - SD_GENERAL_UNKNOWN_ERROR = (19), /*!< General or Unknown error */ - SD_STREAM_READ_UNDERRUN = (20), /*!< The card could not sustain data transfer in stream read operation. */ - SD_STREAM_WRITE_OVERRUN = (21), /*!< The card could not sustain data programming in stream mode */ - SD_CID_CSD_OVERWRITE = (22), /*!< CID/CSD overwrite error */ - SD_WP_ERASE_SKIP = (23), /*!< only partial address space was erased */ - SD_CARD_ECC_DISABLED = (24), /*!< Command has been executed without using internal ECC */ - SD_ERASE_RESET = (25), /*!< Erase sequence was cleared before executing because an out of erase sequence command was received */ - SD_AKE_SEQ_ERROR = (26), /*!< Error in sequence of authentication. */ - SD_INVALID_VOLTRANGE = (27), - SD_ADDR_OUT_OF_RANGE = (28), - SD_SWITCH_ERROR = (29), - SD_SDIO_DISABLED = (30), - SD_SDIO_FUNCTION_BUSY = (31), - SD_SDIO_FUNCTION_FAILED = (32), - SD_SDIO_UNKNOWN_FUNCTION = (33), - -/** - * @brief Standard error defines - */ - SD_INTERNAL_ERROR, - SD_NOT_CONFIGURED, - SD_REQUEST_PENDING, - SD_REQUEST_NOT_APPLICABLE, - SD_INVALID_PARAMETER, - SD_UNSUPPORTED_FEATURE, - SD_UNSUPPORTED_HW, - SD_ERROR, - SD_OK = 0 -} SD_Error; - -/** - * @brief SDIO Transfer state - */ -typedef enum -{ - SD_TRANSFER_OK = 0, - SD_TRANSFER_BUSY = 1, - SD_TRANSFER_ERROR -} SDTransferState; - -/** - * @brief SD Card States - */ -typedef enum -{ - SD_CARD_READY = ((uint32_t)0x00000001), - SD_CARD_IDENTIFICATION = ((uint32_t)0x00000002), - SD_CARD_STANDBY = ((uint32_t)0x00000003), - SD_CARD_TRANSFER = ((uint32_t)0x00000004), - SD_CARD_SENDING = ((uint32_t)0x00000005), - SD_CARD_RECEIVING = ((uint32_t)0x00000006), - SD_CARD_PROGRAMMING = ((uint32_t)0x00000007), - SD_CARD_DISCONNECTED = ((uint32_t)0x00000008), - SD_CARD_ERROR = ((uint32_t)0x000000FF) -}SDCardState; - - -/** - * @brief 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; /*!< Reserded */ - __IO uint8_t ContentProtectAppli; /*!< Content protection application */ - __IO uint8_t FileFormatGrouop; /*!< 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*/ -} SD_CSD; - -/** - * @brief Card Identification Data: CID Register - */ -typedef struct -{ - __IO uint8_t ManufacturerID; /*!< ManufacturerID */ - __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 */ -} SD_CID; - -/** - * @brief SD Card Status - */ -typedef struct -{ - __IO uint8_t DAT_BUS_WIDTH; - __IO uint8_t SECURED_MODE; - __IO uint16_t SD_CARD_TYPE; - __IO uint32_t SIZE_OF_PROTECTED_AREA; - __IO uint8_t SPEED_CLASS; - __IO uint8_t PERFORMANCE_MOVE; - __IO uint8_t AU_SIZE; - __IO uint16_t ERASE_SIZE; - __IO uint8_t ERASE_TIMEOUT; - __IO uint8_t ERASE_OFFSET; -} SD_CardStatus; - - -/** - * @brief SD Card information - */ -typedef struct -{ - SD_CSD SD_csd; - SD_CID SD_cid; - uint32_t CardCapacity; /*!< Card Capacity */ - uint32_t CardBlockSize; /*!< Card Block Size */ - uint16_t RCA; - uint8_t CardType; -} SD_CardInfo; - -/** - * @} - */ - -/** @defgroup STM32_EVAL_SDIO_SD_Exported_Constants - * @{ - */ - -/** - * @brief SDIO Commands Index - */ -#define SD_CMD_GO_IDLE_STATE ((uint8_t)0) -#define SD_CMD_SEND_OP_COND ((uint8_t)1) -#define SD_CMD_ALL_SEND_CID ((uint8_t)2) -#define SD_CMD_SET_REL_ADDR ((uint8_t)3) /*!< SDIO_SEND_REL_ADDR for SD Card */ -#define SD_CMD_SET_DSR ((uint8_t)4) -#define SD_CMD_SDIO_SEN_OP_COND ((uint8_t)5) -#define SD_CMD_HS_SWITCH ((uint8_t)6) -#define SD_CMD_SEL_DESEL_CARD ((uint8_t)7) -#define SD_CMD_HS_SEND_EXT_CSD ((uint8_t)8) -#define SD_CMD_SEND_CSD ((uint8_t)9) -#define SD_CMD_SEND_CID ((uint8_t)10) -#define SD_CMD_READ_DAT_UNTIL_STOP ((uint8_t)11) /*!< SD Card doesn't support it */ -#define SD_CMD_STOP_TRANSMISSION ((uint8_t)12) -#define SD_CMD_SEND_STATUS ((uint8_t)13) -#define SD_CMD_HS_BUSTEST_READ ((uint8_t)14) -#define SD_CMD_GO_INACTIVE_STATE ((uint8_t)15) -#define SD_CMD_SET_BLOCKLEN ((uint8_t)16) -#define SD_CMD_READ_SINGLE_BLOCK ((uint8_t)17) -#define SD_CMD_READ_MULT_BLOCK ((uint8_t)18) -#define SD_CMD_HS_BUSTEST_WRITE ((uint8_t)19) -#define SD_CMD_WRITE_DAT_UNTIL_STOP ((uint8_t)20) /*!< SD Card doesn't support it */ -#define SD_CMD_SET_BLOCK_COUNT ((uint8_t)23) /*!< SD Card doesn't support it */ -#define SD_CMD_WRITE_SINGLE_BLOCK ((uint8_t)24) -#define SD_CMD_WRITE_MULT_BLOCK ((uint8_t)25) -#define SD_CMD_PROG_CID ((uint8_t)26) /*!< reserved for manufacturers */ -#define SD_CMD_PROG_CSD ((uint8_t)27) -#define SD_CMD_SET_WRITE_PROT ((uint8_t)28) -#define SD_CMD_CLR_WRITE_PROT ((uint8_t)29) -#define SD_CMD_SEND_WRITE_PROT ((uint8_t)30) -#define SD_CMD_SD_ERASE_GRP_START ((uint8_t)32) /*!< To set the address of the first write - block to be erased. (For SD card only) */ -#define SD_CMD_SD_ERASE_GRP_END ((uint8_t)33) /*!< To set the address of the last write block of the - continuous range to be erased. (For SD card only) */ -#define SD_CMD_ERASE_GRP_START ((uint8_t)35) /*!< To set the address of the first write block to be erased. - (For MMC card only spec 3.31) */ - -#define SD_CMD_ERASE_GRP_END ((uint8_t)36) /*!< To set the address of the last write block of the - continuous range to be erased. (For MMC card only spec 3.31) */ - -#define SD_CMD_ERASE ((uint8_t)38) -#define SD_CMD_FAST_IO ((uint8_t)39) /*!< SD Card doesn't support it */ -#define SD_CMD_GO_IRQ_STATE ((uint8_t)40) /*!< SD Card doesn't support it */ -#define SD_CMD_LOCK_UNLOCK ((uint8_t)42) -#define SD_CMD_APP_CMD ((uint8_t)55) -#define SD_CMD_GEN_CMD ((uint8_t)56) -#define SD_CMD_NO_CMD ((uint8_t)64) - -/** - * @brief Following commands are SD Card Specific commands. - * SDIO_APP_CMD should be sent before sending these commands. - */ -#define SD_CMD_APP_SD_SET_BUSWIDTH ((uint8_t)6) /*!< For SD Card only */ -#define SD_CMD_SD_APP_STAUS ((uint8_t)13) /*!< For SD Card only */ -#define SD_CMD_SD_APP_SEND_NUM_WRITE_BLOCKS ((uint8_t)22) /*!< For SD Card only */ -#define SD_CMD_SD_APP_OP_COND ((uint8_t)41) /*!< For SD Card only */ -#define SD_CMD_SD_APP_SET_CLR_CARD_DETECT ((uint8_t)42) /*!< For SD Card only */ -#define SD_CMD_SD_APP_SEND_SCR ((uint8_t)51) /*!< For SD Card only */ -#define SD_CMD_SDIO_RW_DIRECT ((uint8_t)52) /*!< For SD I/O Card only */ -#define SD_CMD_SDIO_RW_EXTENDED ((uint8_t)53) /*!< For SD I/O Card only */ - -/** - * @brief Following commands are SD Card Specific security commands. - * SDIO_APP_CMD should be sent before sending these commands. - */ -#define SD_CMD_SD_APP_GET_MKB ((uint8_t)43) /*!< For SD Card only */ -#define SD_CMD_SD_APP_GET_MID ((uint8_t)44) /*!< For SD Card only */ -#define SD_CMD_SD_APP_SET_CER_RN1 ((uint8_t)45) /*!< For SD Card only */ -#define SD_CMD_SD_APP_GET_CER_RN2 ((uint8_t)46) /*!< For SD Card only */ -#define SD_CMD_SD_APP_SET_CER_RES2 ((uint8_t)47) /*!< For SD Card only */ -#define SD_CMD_SD_APP_GET_CER_RES1 ((uint8_t)48) /*!< For SD Card only */ -#define SD_CMD_SD_APP_SECURE_READ_MULTIPLE_BLOCK ((uint8_t)18) /*!< For SD Card only */ -#define SD_CMD_SD_APP_SECURE_WRITE_MULTIPLE_BLOCK ((uint8_t)25) /*!< For SD Card only */ -#define SD_CMD_SD_APP_SECURE_ERASE ((uint8_t)38) /*!< For SD Card only */ -#define SD_CMD_SD_APP_CHANGE_SECURE_AREA ((uint8_t)49) /*!< For SD Card only */ -#define SD_CMD_SD_APP_SECURE_WRITE_MKB ((uint8_t)48) /*!< For SD Card only */ - -/* Uncomment the following line to select the SDIO Data transfer mode */ -#define SD_DMA_MODE ((uint32_t)0x00000000) -/*#define SD_POLLING_MODE ((uint32_t)0x00000002)*/ - -/** - * @brief SD detection on its memory slot - */ -#define SD_PRESENT ((uint8_t)0x01) -#define SD_NOT_PRESENT ((uint8_t)0x00) - -/** - * @brief Supported SD Memory Cards - */ -#define SDIO_STD_CAPACITY_SD_CARD_V1_1 ((uint32_t)0x00000000) -#define SDIO_STD_CAPACITY_SD_CARD_V2_0 ((uint32_t)0x00000001) -#define SDIO_HIGH_CAPACITY_SD_CARD ((uint32_t)0x00000002) -#define SDIO_MULTIMEDIA_CARD ((uint32_t)0x00000003) -#define SDIO_SECURE_DIGITAL_IO_CARD ((uint32_t)0x00000004) -#define SDIO_HIGH_SPEED_MULTIMEDIA_CARD ((uint32_t)0x00000005) -#define SDIO_SECURE_DIGITAL_IO_COMBO_CARD ((uint32_t)0x00000006) -#define SDIO_HIGH_CAPACITY_MMC_CARD ((uint32_t)0x00000007) - -/** - * @} - */ - -/** @defgroup STM32_EVAL_SDIO_SD_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32_EVAL_SDIO_SD_Exported_Functions - * @{ - */ -void SD_DeInit(void); -SD_Error SD_Init(void); -SDTransferState SD_GetStatus(void); -SDCardState SD_GetState(void); -uint8_t SD_Detect(void); -SD_Error SD_PowerON(void); -SD_Error SD_PowerOFF(void); -SD_Error SD_InitializeCards(void); -SD_Error SD_GetCardInfo(SD_CardInfo *cardinfo); -SD_Error SD_GetCardStatus(SD_CardStatus *cardstatus); -SD_Error SD_EnableWideBusOperation(uint32_t WideMode); -SD_Error SD_SelectDeselect(uint32_t addr); -SD_Error SD_ReadBlock(uint8_t *readbuff, uint32_t ReadAddr, uint16_t BlockSize); -SD_Error SD_ReadMultiBlocks(uint8_t *readbuff, uint32_t ReadAddr, uint16_t BlockSize, uint32_t NumberOfBlocks); -SD_Error SD_WriteBlock(uint8_t *writebuff, uint32_t WriteAddr, uint16_t BlockSize); -SD_Error SD_WriteMultiBlocks(uint8_t *writebuff, uint32_t WriteAddr, uint16_t BlockSize, uint32_t NumberOfBlocks); -SDTransferState SD_GetTransferState(void); -SD_Error SD_StopTransfer(void); -SD_Error SD_Erase(uint32_t startaddr, uint32_t endaddr); -SD_Error SD_SendStatus(uint32_t *pcardstatus); -SD_Error SD_SendSDStatus(uint32_t *psdstatus); -SD_Error SD_ProcessIRQSrc(void); -SD_Error SD_WaitReadOperation(void); -SD_Error SD_WaitWriteOperation(void); -#ifdef __cplusplus -} -#endif - -#endif /* __STM32_EVAL_SDIO_SD_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_flash.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_flash.c deleted file mode 100644 index 880a1da2e..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_flash.c +++ /dev/null @@ -1,541 +0,0 @@ -/** - ****************************************************************************** - * @file stm32_eval_spi_flash.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides a set of functions needed to manage the SPI M25Pxxx - * FLASH memory mounted on STM32xx-EVAL board (refer to stm32_eval.h - * to know about the boards supporting this memory). - * It implements a high level communication layer for read and write - * from/to this memory. The needed STM32 hardware resources (SPI and - * GPIO) are defined in stm32xx_eval.h file, and the initialization is - * performed in sFLASH_LowLevel_Init() function declared in stm32xx_eval.c - * file. - * You can easily tailor this driver to any other development board, - * by just adapting the defines for hardware resources and - * sFLASH_LowLevel_Init() function. - * - * +-----------------------------------------------------------+ - * | Pin assignment | - * +-----------------------------+---------------+-------------+ - * | STM32 SPI Pins | sFLASH | Pin | - * +-----------------------------+---------------+-------------+ - * | sFLASH_CS_PIN | ChipSelect(/S)| 1 | - * | sFLASH_SPI_MISO_PIN / MISO | DataOut(Q) | 2 | - * | | VCC | 3 (3.3 V)| - * | | GND | 4 (0 V) | - * | sFLASH_SPI_MOSI_PIN / MOSI | DataIn(D) | 5 | - * | sFLASH_SPI_SCK_PIN / SCLK | Clock(C) | 6 | - * | | VCC | 7 (3.3 V)| - * | | VCC | 8 (3.3 V)| - * +-----------------------------+---------------+-------------+ - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval_spi_flash.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup Common - * @{ - */ - -/** @addtogroup STM32_EVAL_SPI_FLASH - * @brief This file includes the M25Pxxx SPI FLASH driver of STM32-EVAL boards. - * @{ - */ - -/** @defgroup STM32_EVAL_SPI_FLASH_Private_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SPI_FLASH_Private_Defines - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32_EVAL_SPI_FLASH_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SPI_FLASH_Private_Variables - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SPI_FLASH_Private_Function_Prototypes - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SPI_FLASH_Private_Functions - * @{ - */ - -/** - * @brief DeInitializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_DeInit(void) -{ - sFLASH_LowLevel_DeInit(); -} - -/** - * @brief Initializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_Init(void) -{ - SPI_InitTypeDef SPI_InitStructure; - - sFLASH_LowLevel_Init(); - - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - - /*!< SPI configuration */ - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; -#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; -#else - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4; -#endif - - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - SPI_InitStructure.SPI_CRCPolynomial = 7; - SPI_Init(sFLASH_SPI, &SPI_InitStructure); - - /*!< Enable the sFLASH_SPI */ - SPI_Cmd(sFLASH_SPI, ENABLE); -} - -/** - * @brief Erases the specified FLASH sector. - * @param SectorAddr: address of the sector to erase. - * @retval None - */ -void sFLASH_EraseSector(uint32_t SectorAddr) -{ - /*!< Send write enable instruction */ - sFLASH_WriteEnable(); - - /*!< Sector Erase */ - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - /*!< Send Sector Erase instruction */ - sFLASH_SendByte(sFLASH_CMD_SE); - /*!< Send SectorAddr high nibble address byte */ - sFLASH_SendByte((SectorAddr & 0xFF0000) >> 16); - /*!< Send SectorAddr medium nibble address byte */ - sFLASH_SendByte((SectorAddr & 0xFF00) >> 8); - /*!< Send SectorAddr low nibble address byte */ - sFLASH_SendByte(SectorAddr & 0xFF); - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - - /*!< Wait the end of Flash writing */ - sFLASH_WaitForWriteEnd(); -} - -/** - * @brief Erases the entire FLASH. - * @param None - * @retval None - */ -void sFLASH_EraseBulk(void) -{ - /*!< Send write enable instruction */ - sFLASH_WriteEnable(); - - /*!< Bulk Erase */ - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - /*!< Send Bulk Erase instruction */ - sFLASH_SendByte(sFLASH_CMD_BE); - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - - /*!< Wait the end of Flash writing */ - sFLASH_WaitForWriteEnd(); -} - -/** - * @brief Writes more than one byte to the FLASH with a single WRITE cycle - * (Page WRITE sequence). - * @note The number of byte can't exceed the FLASH page size. - * @param pBuffer: pointer to the buffer containing the data to be written - * to the FLASH. - * @param WriteAddr: FLASH's internal address to write to. - * @param NumByteToWrite: number of bytes to write to the FLASH, must be equal - * or less than "sFLASH_PAGESIZE" value. - * @retval None - */ -void sFLASH_WritePage(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite) -{ - /*!< Enable the write access to the FLASH */ - sFLASH_WriteEnable(); - - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - /*!< Send "Write to Memory " instruction */ - sFLASH_SendByte(sFLASH_CMD_WRITE); - /*!< Send WriteAddr high nibble address byte to write to */ - sFLASH_SendByte((WriteAddr & 0xFF0000) >> 16); - /*!< Send WriteAddr medium nibble address byte to write to */ - sFLASH_SendByte((WriteAddr & 0xFF00) >> 8); - /*!< Send WriteAddr low nibble address byte to write to */ - sFLASH_SendByte(WriteAddr & 0xFF); - - /*!< while there is data to be written on the FLASH */ - while (NumByteToWrite--) - { - /*!< Send the current byte */ - sFLASH_SendByte(*pBuffer); - /*!< Point on the next byte to be written */ - pBuffer++; - } - - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - - /*!< Wait the end of Flash writing */ - sFLASH_WaitForWriteEnd(); -} - -/** - * @brief Writes block of data to the FLASH. In this function, the number of - * WRITE cycles are reduced, using Page WRITE sequence. - * @param pBuffer: pointer to the buffer containing the data to be written - * to the FLASH. - * @param WriteAddr: FLASH's internal address to write to. - * @param NumByteToWrite: number of bytes to write to the FLASH. - * @retval None - */ -void sFLASH_WriteBuffer(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite) -{ - uint8_t NumOfPage = 0, NumOfSingle = 0, Addr = 0, count = 0, temp = 0; - - Addr = WriteAddr % sFLASH_SPI_PAGESIZE; - count = sFLASH_SPI_PAGESIZE - Addr; - NumOfPage = NumByteToWrite / sFLASH_SPI_PAGESIZE; - NumOfSingle = NumByteToWrite % sFLASH_SPI_PAGESIZE; - - if (Addr == 0) /*!< WriteAddr is sFLASH_PAGESIZE aligned */ - { - if (NumOfPage == 0) /*!< NumByteToWrite < sFLASH_PAGESIZE */ - { - sFLASH_WritePage(pBuffer, WriteAddr, NumByteToWrite); - } - else /*!< NumByteToWrite > sFLASH_PAGESIZE */ - { - while (NumOfPage--) - { - sFLASH_WritePage(pBuffer, WriteAddr, sFLASH_SPI_PAGESIZE); - WriteAddr += sFLASH_SPI_PAGESIZE; - pBuffer += sFLASH_SPI_PAGESIZE; - } - - sFLASH_WritePage(pBuffer, WriteAddr, NumOfSingle); - } - } - else /*!< WriteAddr is not sFLASH_PAGESIZE aligned */ - { - if (NumOfPage == 0) /*!< NumByteToWrite < sFLASH_PAGESIZE */ - { - if (NumOfSingle > count) /*!< (NumByteToWrite + WriteAddr) > sFLASH_PAGESIZE */ - { - temp = NumOfSingle - count; - - sFLASH_WritePage(pBuffer, WriteAddr, count); - WriteAddr += count; - pBuffer += count; - - sFLASH_WritePage(pBuffer, WriteAddr, temp); - } - else - { - sFLASH_WritePage(pBuffer, WriteAddr, NumByteToWrite); - } - } - else /*!< NumByteToWrite > sFLASH_PAGESIZE */ - { - NumByteToWrite -= count; - NumOfPage = NumByteToWrite / sFLASH_SPI_PAGESIZE; - NumOfSingle = NumByteToWrite % sFLASH_SPI_PAGESIZE; - - sFLASH_WritePage(pBuffer, WriteAddr, count); - WriteAddr += count; - pBuffer += count; - - while (NumOfPage--) - { - sFLASH_WritePage(pBuffer, WriteAddr, sFLASH_SPI_PAGESIZE); - WriteAddr += sFLASH_SPI_PAGESIZE; - pBuffer += sFLASH_SPI_PAGESIZE; - } - - if (NumOfSingle != 0) - { - sFLASH_WritePage(pBuffer, WriteAddr, NumOfSingle); - } - } - } -} - -/** - * @brief Reads a block of data from the FLASH. - * @param pBuffer: pointer to the buffer that receives the data read from the FLASH. - * @param ReadAddr: FLASH's internal address to read from. - * @param NumByteToRead: number of bytes to read from the FLASH. - * @retval None - */ -void sFLASH_ReadBuffer(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead) -{ - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - - /*!< Send "Read from Memory " instruction */ - sFLASH_SendByte(sFLASH_CMD_READ); - - /*!< Send ReadAddr high nibble address byte to read from */ - sFLASH_SendByte((ReadAddr & 0xFF0000) >> 16); - /*!< Send ReadAddr medium nibble address byte to read from */ - sFLASH_SendByte((ReadAddr& 0xFF00) >> 8); - /*!< Send ReadAddr low nibble address byte to read from */ - sFLASH_SendByte(ReadAddr & 0xFF); - - while (NumByteToRead--) /*!< while there is data to be read */ - { - /*!< Read a byte from the FLASH */ - *pBuffer = sFLASH_SendByte(sFLASH_DUMMY_BYTE); - /*!< Point to the next location where the byte read will be saved */ - pBuffer++; - } - - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); -} - -/** - * @brief Reads FLASH identification. - * @param None - * @retval FLASH identification - */ -uint32_t sFLASH_ReadID(void) -{ - uint32_t Temp = 0, Temp0 = 0, Temp1 = 0, Temp2 = 0; - - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - - /*!< Send "RDID " instruction */ - sFLASH_SendByte(0x9F); - - /*!< Read a byte from the FLASH */ - Temp0 = sFLASH_SendByte(sFLASH_DUMMY_BYTE); - - /*!< Read a byte from the FLASH */ - Temp1 = sFLASH_SendByte(sFLASH_DUMMY_BYTE); - - /*!< Read a byte from the FLASH */ - Temp2 = sFLASH_SendByte(sFLASH_DUMMY_BYTE); - - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - - Temp = (Temp0 << 16) | (Temp1 << 8) | Temp2; - - return Temp; -} - -/** - * @brief Initiates a read data byte (READ) sequence from the Flash. - * This is done by driving the /CS line low to select the device, then the READ - * instruction is transmitted followed by 3 bytes address. This function exit - * and keep the /CS line low, so the Flash still being selected. With this - * technique the whole content of the Flash is read with a single READ instruction. - * @param ReadAddr: FLASH's internal address to read from. - * @retval None - */ -void sFLASH_StartReadSequence(uint32_t ReadAddr) -{ - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - - /*!< Send "Read from Memory " instruction */ - sFLASH_SendByte(sFLASH_CMD_READ); - - /*!< Send the 24-bit address of the address to read from -------------------*/ - /*!< Send ReadAddr high nibble address byte */ - sFLASH_SendByte((ReadAddr & 0xFF0000) >> 16); - /*!< Send ReadAddr medium nibble address byte */ - sFLASH_SendByte((ReadAddr& 0xFF00) >> 8); - /*!< Send ReadAddr low nibble address byte */ - sFLASH_SendByte(ReadAddr & 0xFF); -} - -/** - * @brief Reads a byte from the SPI Flash. - * @note This function must be used only if the Start_Read_Sequence function - * has been previously called. - * @param None - * @retval Byte Read from the SPI Flash. - */ -uint8_t sFLASH_ReadByte(void) -{ - return (sFLASH_SendByte(sFLASH_DUMMY_BYTE)); -} - -/** - * @brief Sends a byte through the SPI interface and return the byte received - * from the SPI bus. - * @param byte: byte to send. - * @retval The value of the received byte. - */ -uint8_t sFLASH_SendByte(uint8_t byte) -{ - /*!< Loop while DR register in not emplty */ - while (SPI_I2S_GetFlagStatus(sFLASH_SPI, SPI_I2S_FLAG_TXE) == RESET); - - /*!< Send byte through the SPI1 peripheral */ - SPI_I2S_SendData(sFLASH_SPI, byte); - - /*!< Wait to receive a byte */ - while (SPI_I2S_GetFlagStatus(sFLASH_SPI, SPI_I2S_FLAG_RXNE) == RESET); - - /*!< Return the byte read from the SPI bus */ - return SPI_I2S_ReceiveData(sFLASH_SPI); -} - -/** - * @brief Sends a Half Word through the SPI interface and return the Half Word - * received from the SPI bus. - * @param HalfWord: Half Word to send. - * @retval The value of the received Half Word. - */ -uint16_t sFLASH_SendHalfWord(uint16_t HalfWord) -{ - /*!< Loop while DR register in not emplty */ - while (SPI_I2S_GetFlagStatus(sFLASH_SPI, SPI_I2S_FLAG_TXE) == RESET); - - /*!< Send Half Word through the sFLASH peripheral */ - SPI_I2S_SendData(sFLASH_SPI, HalfWord); - - /*!< Wait to receive a Half Word */ - while (SPI_I2S_GetFlagStatus(sFLASH_SPI, SPI_I2S_FLAG_RXNE) == RESET); - - /*!< Return the Half Word read from the SPI bus */ - return SPI_I2S_ReceiveData(sFLASH_SPI); -} - -/** - * @brief Enables the write access to the FLASH. - * @param None - * @retval None - */ -void sFLASH_WriteEnable(void) -{ - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - - /*!< Send "Write Enable" instruction */ - sFLASH_SendByte(sFLASH_CMD_WREN); - - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); -} - -/** - * @brief Polls the status of the Write In Progress (WIP) flag in the FLASH's - * status register and loop until write opertaion has completed. - * @param None - * @retval None - */ -void sFLASH_WaitForWriteEnd(void) -{ - uint8_t flashstatus = 0; - - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - - /*!< Send "Read Status Register" instruction */ - sFLASH_SendByte(sFLASH_CMD_RDSR); - - /*!< Loop as long as the memory is busy with a write cycle */ - do - { - /*!< Send a dummy byte to generate the clock needed by the FLASH - and put the value of the status register in FLASH_Status variable */ - flashstatus = sFLASH_SendByte(sFLASH_DUMMY_BYTE); - - } - while ((flashstatus & sFLASH_WIP_FLAG) == SET); /* Write in progress */ - - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_flash.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_flash.h deleted file mode 100644 index cada05d2f..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_flash.h +++ /dev/null @@ -1,151 +0,0 @@ -/** - ****************************************************************************** - * @file stm32_eval_spi_flash.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the stm32_eval_spi_flash - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32_EVAL_SPI_FLASH_H -#define __STM32_EVAL_SPI_FLASH_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup Common - * @{ - */ - -/** @addtogroup STM32_EVAL_SPI_FLASH - * @{ - */ - -/** @defgroup STM32_EVAL_SPI_FLASH_Exported_Types - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32_EVAL_SPI_FLASH_Exported_Constants - * @{ - */ -/** - * @brief M25P SPI Flash supported commands - */ -#define sFLASH_CMD_WRITE 0x02 /*!< Write to Memory instruction */ -#define sFLASH_CMD_WRSR 0x01 /*!< Write Status Register instruction */ -#define sFLASH_CMD_WREN 0x06 /*!< Write enable instruction */ -#define sFLASH_CMD_READ 0x03 /*!< Read from Memory instruction */ -#define sFLASH_CMD_RDSR 0x05 /*!< Read Status Register instruction */ -#define sFLASH_CMD_RDID 0x9F /*!< Read identification */ -#define sFLASH_CMD_SE 0xD8 /*!< Sector Erase instruction */ -#define sFLASH_CMD_BE 0xC7 /*!< Bulk Erase instruction */ - -#define sFLASH_WIP_FLAG 0x01 /*!< Write In Progress (WIP) flag */ - -#define sFLASH_DUMMY_BYTE 0xA5 -#define sFLASH_SPI_PAGESIZE 0x100 - -#define sFLASH_M25P128_ID 0x202018 -#define sFLASH_M25P64_ID 0x202017 - -/** - * @} - */ - -/** @defgroup STM32_EVAL_SPI_FLASH_Exported_Macros - * @{ - */ -/** - * @brief Select sFLASH: Chip Select pin low - */ -#define sFLASH_CS_LOW() GPIO_ResetBits(sFLASH_CS_GPIO_PORT, sFLASH_CS_PIN) -/** - * @brief Deselect sFLASH: Chip Select pin high - */ -#define sFLASH_CS_HIGH() GPIO_SetBits(sFLASH_CS_GPIO_PORT, sFLASH_CS_PIN) -/** - * @} - */ - - - -/** @defgroup STM32_EVAL_SPI_FLASH_Exported_Functions - * @{ - */ -/** - * @brief High layer functions - */ -void sFLASH_DeInit(void); -void sFLASH_Init(void); -void sFLASH_EraseSector(uint32_t SectorAddr); -void sFLASH_EraseBulk(void); -void sFLASH_WritePage(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite); -void sFLASH_WriteBuffer(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite); -void sFLASH_ReadBuffer(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead); -uint32_t sFLASH_ReadID(void); -void sFLASH_StartReadSequence(uint32_t ReadAddr); - -/** - * @brief Low layer functions - */ -uint8_t sFLASH_ReadByte(void); -uint8_t sFLASH_SendByte(uint8_t byte); -uint16_t sFLASH_SendHalfWord(uint16_t HalfWord); -void sFLASH_WriteEnable(void); -void sFLASH_WaitForWriteEnd(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32_EVAL_SPI_FLASH_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_sd.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_sd.c deleted file mode 100644 index cf077cc62..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_sd.c +++ /dev/null @@ -1,901 +0,0 @@ -/** - ****************************************************************************** - * @file stm32_eval_spi_sd.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides a set of functions needed to manage the SPI SD - * Card memory mounted on STM32xx-EVAL board (refer to stm32_eval.h - * to know about the boards supporting this memory). - * It implements a high level communication layer for read and write - * from/to this memory. The needed STM32 hardware resources (SPI and - * GPIO) are defined in stm32xx_eval.h file, and the initialization is - * performed in SD_LowLevel_Init() function declared in stm32xx_eval.c - * file. - * You can easily tailor this driver to any other development board, - * by just adapting the defines for hardware resources and - * SD_LowLevel_Init() function. - * - * +-------------------------------------------------------+ - * | Pin assignment | - * +-------------------------+---------------+-------------+ - * | STM32 SPI Pins | SD | Pin | - * +-------------------------+---------------+-------------+ - * | SD_SPI_CS_PIN | ChipSelect | 1 | - * | SD_SPI_MOSI_PIN / MOSI | DataIn | 2 | - * | | GND | 3 (0 V) | - * | | VDD | 4 (3.3 V)| - * | SD_SPI_SCK_PIN / SCLK | Clock | 5 | - * | | GND | 6 (0 V) | - * | SD_SPI_MISO_PIN / MISO | DataOut | 7 | - * +-------------------------+---------------+-------------+ - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval_spi_sd.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup Common - * @{ - */ - -/** @addtogroup STM32_EVAL_SPI_SD - * @brief This file includes the SD card driver of STM32-EVAL boards. - * @{ - */ - -/** @defgroup STM32_EVAL_SPI_SD_Private_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SPI_SD_Private_Defines - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32_EVAL_SPI_SD_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SPI_SD_Private_Variables - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SPI_SD_Private_Function_Prototypes - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_SPI_SD_Private_Functions - * @{ - */ - -/** - * @brief DeInitializes the SD/SD communication. - * @param None - * @retval None - */ -void SD_DeInit(void) -{ - SD_LowLevel_DeInit(); -} - -/** - * @brief Initializes the SD/SD communication. - * @param None - * @retval The SD Response: - * - SD_RESPONSE_FAILURE: Sequence failed - * - SD_RESPONSE_NO_ERROR: Sequence succeed - */ -SD_Error SD_Init(void) -{ - uint32_t i = 0; - - /*!< Initialize SD_SPI */ - SD_LowLevel_Init(); - - /*!< SD chip select high */ - SD_CS_HIGH(); - - /*!< Send dummy byte 0xFF, 10 times with CS high */ - /*!< Rise CS and MOSI for 80 clocks cycles */ - for (i = 0; i <= 9; i++) - { - /*!< Send dummy byte 0xFF */ - SD_WriteByte(SD_DUMMY_BYTE); - } - /*------------Put SD in SPI mode--------------*/ - /*!< SD initialized and set to SPI mode properly */ - return (SD_GoIdleState()); -} - -/** - * @brief Detect if SD card is correctly plugged in the memory slot. - * @param None - * @retval Return if SD is detected or not - */ -uint8_t SD_Detect(void) -{ - __IO uint8_t status = SD_PRESENT; - - /*!< Check GPIO to detect SD */ - if (GPIO_ReadInputData(SD_DETECT_GPIO_PORT) & SD_DETECT_PIN) - { - status = SD_NOT_PRESENT; - } - return status; -} - -/** - * @brief Returns information about specific card. - * @param cardinfo: pointer to a SD_CardInfo structure that contains all SD - * card information. - * @retval The SD Response: - * - SD_RESPONSE_FAILURE: Sequence failed - * - SD_RESPONSE_NO_ERROR: Sequence succeed - */ -SD_Error SD_GetCardInfo(SD_CardInfo *cardinfo) -{ - SD_Error status = SD_RESPONSE_FAILURE; - - status = SD_GetCSDRegister(&(cardinfo->SD_csd)); - status = SD_GetCIDRegister(&(cardinfo->SD_cid)); - cardinfo->CardCapacity = (cardinfo->SD_csd.DeviceSize + 1) ; - cardinfo->CardCapacity *= (1 << (cardinfo->SD_csd.DeviceSizeMul + 2)); - cardinfo->CardBlockSize = 1 << (cardinfo->SD_csd.RdBlockLen); - cardinfo->CardCapacity *= cardinfo->CardBlockSize; - - /*!< Returns the reponse */ - return status; -} - -/** - * @brief Reads a block of data from the SD. - * @param pBuffer: pointer to the buffer that receives the data read from the - * SD. - * @param ReadAddr: SD's internal address to read from. - * @param BlockSize: the SD card Data block size. - * @retval The SD Response: - * - SD_RESPONSE_FAILURE: Sequence failed - * - SD_RESPONSE_NO_ERROR: Sequence succeed - */ -SD_Error SD_ReadBlock(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t BlockSize) -{ - uint32_t i = 0; - SD_Error rvalue = SD_RESPONSE_FAILURE; - - /*!< SD chip select low */ - SD_CS_LOW(); - - /*!< Send CMD17 (SD_CMD_READ_SINGLE_BLOCK) to read one block */ - SD_SendCmd(SD_CMD_READ_SINGLE_BLOCK, ReadAddr, 0xFF); - - /*!< Check if the SD acknowledged the read block command: R1 response (0x00: no errors) */ - if (!SD_GetResponse(SD_RESPONSE_NO_ERROR)) - { - /*!< Now look for the data token to signify the start of the data */ - if (!SD_GetResponse(SD_START_DATA_SINGLE_BLOCK_READ)) - { - /*!< Read the SD block data : read NumByteToRead data */ - for (i = 0; i < BlockSize; i++) - { - /*!< Save the received data */ - *pBuffer = SD_ReadByte(); - - /*!< Point to the next location where the byte read will be saved */ - pBuffer++; - } - /*!< Get CRC bytes (not really needed by us, but required by SD) */ - SD_ReadByte(); - SD_ReadByte(); - /*!< Set response value to success */ - rvalue = SD_RESPONSE_NO_ERROR; - } - } - /*!< SD chip select high */ - SD_CS_HIGH(); - - /*!< Send dummy byte: 8 Clock pulses of delay */ - SD_WriteByte(SD_DUMMY_BYTE); - - /*!< Returns the reponse */ - return rvalue; -} - -/** - * @brief Reads multiple block of data from the SD. - * @param pBuffer: pointer to the buffer that receives the data read from the - * SD. - * @param ReadAddr: SD's internal address to read from. - * @param BlockSize: the SD card Data block size. - * @param NumberOfBlocks: number of blocks to be read. - * @retval The SD Response: - * - SD_RESPONSE_FAILURE: Sequence failed - * - SD_RESPONSE_NO_ERROR: Sequence succeed - */ -SD_Error SD_ReadMultiBlocks(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t BlockSize, uint32_t NumberOfBlocks) -{ - uint32_t i = 0, Offset = 0; - SD_Error rvalue = SD_RESPONSE_FAILURE; - - /*!< SD chip select low */ - SD_CS_LOW(); - /*!< Data transfer */ - while (NumberOfBlocks--) - { - /*!< Send CMD17 (SD_CMD_READ_SINGLE_BLOCK) to read one block */ - SD_SendCmd (SD_CMD_READ_SINGLE_BLOCK, ReadAddr + Offset, 0xFF); - /*!< Check if the SD acknowledged the read block command: R1 response (0x00: no errors) */ - if (SD_GetResponse(SD_RESPONSE_NO_ERROR)) - { - return SD_RESPONSE_FAILURE; - } - /*!< Now look for the data token to signify the start of the data */ - if (!SD_GetResponse(SD_START_DATA_SINGLE_BLOCK_READ)) - { - /*!< Read the SD block data : read NumByteToRead data */ - for (i = 0; i < BlockSize; i++) - { - /*!< Read the pointed data */ - *pBuffer = SD_ReadByte(); - /*!< Point to the next location where the byte read will be saved */ - pBuffer++; - } - /*!< Set next read address*/ - Offset += 512; - /*!< get CRC bytes (not really needed by us, but required by SD) */ - SD_ReadByte(); - SD_ReadByte(); - /*!< Set response value to success */ - rvalue = SD_RESPONSE_NO_ERROR; - } - else - { - /*!< Set response value to failure */ - rvalue = SD_RESPONSE_FAILURE; - } - } - /*!< SD chip select high */ - SD_CS_HIGH(); - /*!< Send dummy byte: 8 Clock pulses of delay */ - SD_WriteByte(SD_DUMMY_BYTE); - /*!< Returns the reponse */ - return rvalue; -} - -/** - * @brief Writes a block on the SD - * @param pBuffer: pointer to the buffer containing the data to be written on - * the SD. - * @param WriteAddr: address to write on. - * @param BlockSize: the SD card Data block size. - * @retval The SD Response: - * - SD_RESPONSE_FAILURE: Sequence failed - * - SD_RESPONSE_NO_ERROR: Sequence succeed - */ -SD_Error SD_WriteBlock(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t BlockSize) -{ - uint32_t i = 0; - SD_Error rvalue = SD_RESPONSE_FAILURE; - - /*!< SD chip select low */ - SD_CS_LOW(); - - /*!< Send CMD24 (SD_CMD_WRITE_SINGLE_BLOCK) to write multiple block */ - SD_SendCmd(SD_CMD_WRITE_SINGLE_BLOCK, WriteAddr, 0xFF); - - /*!< Check if the SD acknowledged the write block command: R1 response (0x00: no errors) */ - if (!SD_GetResponse(SD_RESPONSE_NO_ERROR)) - { - /*!< Send a dummy byte */ - SD_WriteByte(SD_DUMMY_BYTE); - - /*!< Send the data token to signify the start of the data */ - SD_WriteByte(0xFE); - - /*!< Write the block data to SD : write count data by block */ - for (i = 0; i < BlockSize; i++) - { - /*!< Send the pointed byte */ - SD_WriteByte(*pBuffer); - /*!< Point to the next location where the byte read will be saved */ - pBuffer++; - } - /*!< Put CRC bytes (not really needed by us, but required by SD) */ - SD_ReadByte(); - SD_ReadByte(); - - /*!< Read data response */ - if (SD_GetDataResponse() == SD_DATA_OK) - { - rvalue = SD_RESPONSE_NO_ERROR; - } - } - /*!< SD chip select high */ - SD_CS_HIGH(); - /*!< Send dummy byte: 8 Clock pulses of delay */ - SD_WriteByte(SD_DUMMY_BYTE); - - /*!< Returns the reponse */ - return rvalue; -} - -/** - * @brief Writes many blocks on the SD - * @param pBuffer: pointer to the buffer containing the data to be written on - * the SD. - * @param WriteAddr: address to write on. - * @param BlockSize: the SD card Data block size. - * @param NumberOfBlocks: number of blocks to be written. - * @retval The SD Response: - * - SD_RESPONSE_FAILURE: Sequence failed - * - SD_RESPONSE_NO_ERROR: Sequence succeed - */ -SD_Error SD_WriteMultiBlocks(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t BlockSize, uint32_t NumberOfBlocks) -{ - uint32_t i = 0, Offset = 0; - SD_Error rvalue = SD_RESPONSE_FAILURE; - - /*!< SD chip select low */ - SD_CS_LOW(); - /*!< Data transfer */ - while (NumberOfBlocks--) - { - /*!< Send CMD24 (SD_CMD_WRITE_SINGLE_BLOCK) to write blocks */ - SD_SendCmd(SD_CMD_WRITE_SINGLE_BLOCK, WriteAddr + Offset, 0xFF); - /*!< Check if the SD acknowledged the write block command: R1 response (0x00: no errors) */ - if (SD_GetResponse(SD_RESPONSE_NO_ERROR)) - { - return SD_RESPONSE_FAILURE; - } - /*!< Send dummy byte */ - SD_WriteByte(SD_DUMMY_BYTE); - /*!< Send the data token to signify the start of the data */ - SD_WriteByte(SD_START_DATA_SINGLE_BLOCK_WRITE); - /*!< Write the block data to SD : write count data by block */ - for (i = 0; i < BlockSize; i++) - { - /*!< Send the pointed byte */ - SD_WriteByte(*pBuffer); - /*!< Point to the next location where the byte read will be saved */ - pBuffer++; - } - /*!< Set next write address */ - Offset += 512; - /*!< Put CRC bytes (not really needed by us, but required by SD) */ - SD_ReadByte(); - SD_ReadByte(); - /*!< Read data response */ - if (SD_GetDataResponse() == SD_DATA_OK) - { - /*!< Set response value to success */ - rvalue = SD_RESPONSE_NO_ERROR; - } - else - { - /*!< Set response value to failure */ - rvalue = SD_RESPONSE_FAILURE; - } - } - /*!< SD chip select high */ - SD_CS_HIGH(); - /*!< Send dummy byte: 8 Clock pulses of delay */ - SD_WriteByte(SD_DUMMY_BYTE); - /*!< Returns the reponse */ - return rvalue; -} - -/** - * @brief Read the CSD card register. - * Reading the contents of the CSD register in SPI mode is a simple - * read-block transaction. - * @param SD_csd: pointer on an SCD register structure - * @retval The SD Response: - * - SD_RESPONSE_FAILURE: Sequence failed - * - SD_RESPONSE_NO_ERROR: Sequence succeed - */ -SD_Error SD_GetCSDRegister(SD_CSD* SD_csd) -{ - uint32_t i = 0; - SD_Error rvalue = SD_RESPONSE_FAILURE; - uint8_t CSD_Tab[16]; - - /*!< SD chip select low */ - SD_CS_LOW(); - /*!< Send CMD9 (CSD register) or CMD10(CSD register) */ - SD_SendCmd(SD_CMD_SEND_CSD, 0, 0xFF); - /*!< Wait for response in the R1 format (0x00 is no errors) */ - if (!SD_GetResponse(SD_RESPONSE_NO_ERROR)) - { - if (!SD_GetResponse(SD_START_DATA_SINGLE_BLOCK_READ)) - { - for (i = 0; i < 16; i++) - { - /*!< Store CSD register value on CSD_Tab */ - CSD_Tab[i] = SD_ReadByte(); - } - } - /*!< Get CRC bytes (not really needed by us, but required by SD) */ - SD_WriteByte(SD_DUMMY_BYTE); - SD_WriteByte(SD_DUMMY_BYTE); - /*!< Set response value to success */ - rvalue = SD_RESPONSE_NO_ERROR; - } - /*!< SD chip select high */ - SD_CS_HIGH(); - /*!< Send dummy byte: 8 Clock pulses of delay */ - SD_WriteByte(SD_DUMMY_BYTE); - - /*!< Byte 0 */ - SD_csd->CSDStruct = (CSD_Tab[0] & 0xC0) >> 6; - SD_csd->SysSpecVersion = (CSD_Tab[0] & 0x3C) >> 2; - SD_csd->Reserved1 = CSD_Tab[0] & 0x03; - - /*!< Byte 1 */ - SD_csd->TAAC = CSD_Tab[1]; - - /*!< Byte 2 */ - SD_csd->NSAC = CSD_Tab[2]; - - /*!< Byte 3 */ - SD_csd->MaxBusClkFrec = CSD_Tab[3]; - - /*!< Byte 4 */ - SD_csd->CardComdClasses = CSD_Tab[4] << 4; - - /*!< Byte 5 */ - SD_csd->CardComdClasses |= (CSD_Tab[5] & 0xF0) >> 4; - SD_csd->RdBlockLen = CSD_Tab[5] & 0x0F; - - /*!< Byte 6 */ - SD_csd->PartBlockRead = (CSD_Tab[6] & 0x80) >> 7; - SD_csd->WrBlockMisalign = (CSD_Tab[6] & 0x40) >> 6; - SD_csd->RdBlockMisalign = (CSD_Tab[6] & 0x20) >> 5; - SD_csd->DSRImpl = (CSD_Tab[6] & 0x10) >> 4; - SD_csd->Reserved2 = 0; /*!< Reserved */ - - SD_csd->DeviceSize = (CSD_Tab[6] & 0x03) << 10; - - /*!< Byte 7 */ - SD_csd->DeviceSize |= (CSD_Tab[7]) << 2; - - /*!< Byte 8 */ - SD_csd->DeviceSize |= (CSD_Tab[8] & 0xC0) >> 6; - - SD_csd->MaxRdCurrentVDDMin = (CSD_Tab[8] & 0x38) >> 3; - SD_csd->MaxRdCurrentVDDMax = (CSD_Tab[8] & 0x07); - - /*!< Byte 9 */ - SD_csd->MaxWrCurrentVDDMin = (CSD_Tab[9] & 0xE0) >> 5; - SD_csd->MaxWrCurrentVDDMax = (CSD_Tab[9] & 0x1C) >> 2; - SD_csd->DeviceSizeMul = (CSD_Tab[9] & 0x03) << 1; - /*!< Byte 10 */ - SD_csd->DeviceSizeMul |= (CSD_Tab[10] & 0x80) >> 7; - - SD_csd->EraseGrSize = (CSD_Tab[10] & 0x40) >> 6; - SD_csd->EraseGrMul = (CSD_Tab[10] & 0x3F) << 1; - - /*!< Byte 11 */ - SD_csd->EraseGrMul |= (CSD_Tab[11] & 0x80) >> 7; - SD_csd->WrProtectGrSize = (CSD_Tab[11] & 0x7F); - - /*!< Byte 12 */ - SD_csd->WrProtectGrEnable = (CSD_Tab[12] & 0x80) >> 7; - SD_csd->ManDeflECC = (CSD_Tab[12] & 0x60) >> 5; - SD_csd->WrSpeedFact = (CSD_Tab[12] & 0x1C) >> 2; - SD_csd->MaxWrBlockLen = (CSD_Tab[12] & 0x03) << 2; - - /*!< Byte 13 */ - SD_csd->MaxWrBlockLen |= (CSD_Tab[13] & 0xC0) >> 6; - SD_csd->WriteBlockPaPartial = (CSD_Tab[13] & 0x20) >> 5; - SD_csd->Reserved3 = 0; - SD_csd->ContentProtectAppli = (CSD_Tab[13] & 0x01); - - /*!< Byte 14 */ - SD_csd->FileFormatGrouop = (CSD_Tab[14] & 0x80) >> 7; - SD_csd->CopyFlag = (CSD_Tab[14] & 0x40) >> 6; - SD_csd->PermWrProtect = (CSD_Tab[14] & 0x20) >> 5; - SD_csd->TempWrProtect = (CSD_Tab[14] & 0x10) >> 4; - SD_csd->FileFormat = (CSD_Tab[14] & 0x0C) >> 2; - SD_csd->ECC = (CSD_Tab[14] & 0x03); - - /*!< Byte 15 */ - SD_csd->CSD_CRC = (CSD_Tab[15] & 0xFE) >> 1; - SD_csd->Reserved4 = 1; - - /*!< Return the reponse */ - return rvalue; -} - -/** - * @brief Read the CID card register. - * Reading the contents of the CID register in SPI mode is a simple - * read-block transaction. - * @param SD_cid: pointer on an CID register structure - * @retval The SD Response: - * - SD_RESPONSE_FAILURE: Sequence failed - * - SD_RESPONSE_NO_ERROR: Sequence succeed - */ -SD_Error SD_GetCIDRegister(SD_CID* SD_cid) -{ - uint32_t i = 0; - SD_Error rvalue = SD_RESPONSE_FAILURE; - uint8_t CID_Tab[16]; - - /*!< SD chip select low */ - SD_CS_LOW(); - - /*!< Send CMD10 (CID register) */ - SD_SendCmd(SD_CMD_SEND_CID, 0, 0xFF); - - /*!< Wait for response in the R1 format (0x00 is no errors) */ - if (!SD_GetResponse(SD_RESPONSE_NO_ERROR)) - { - if (!SD_GetResponse(SD_START_DATA_SINGLE_BLOCK_READ)) - { - /*!< Store CID register value on CID_Tab */ - for (i = 0; i < 16; i++) - { - CID_Tab[i] = SD_ReadByte(); - } - } - /*!< Get CRC bytes (not really needed by us, but required by SD) */ - SD_WriteByte(SD_DUMMY_BYTE); - SD_WriteByte(SD_DUMMY_BYTE); - /*!< Set response value to success */ - rvalue = SD_RESPONSE_NO_ERROR; - } - /*!< SD chip select high */ - SD_CS_HIGH(); - /*!< Send dummy byte: 8 Clock pulses of delay */ - SD_WriteByte(SD_DUMMY_BYTE); - - /*!< Byte 0 */ - SD_cid->ManufacturerID = CID_Tab[0]; - - /*!< Byte 1 */ - SD_cid->OEM_AppliID = CID_Tab[1] << 8; - - /*!< Byte 2 */ - SD_cid->OEM_AppliID |= CID_Tab[2]; - - /*!< Byte 3 */ - SD_cid->ProdName1 = CID_Tab[3] << 24; - - /*!< Byte 4 */ - SD_cid->ProdName1 |= CID_Tab[4] << 16; - - /*!< Byte 5 */ - SD_cid->ProdName1 |= CID_Tab[5] << 8; - - /*!< Byte 6 */ - SD_cid->ProdName1 |= CID_Tab[6]; - - /*!< Byte 7 */ - SD_cid->ProdName2 = CID_Tab[7]; - - /*!< Byte 8 */ - SD_cid->ProdRev = CID_Tab[8]; - - /*!< Byte 9 */ - SD_cid->ProdSN = CID_Tab[9] << 24; - - /*!< Byte 10 */ - SD_cid->ProdSN |= CID_Tab[10] << 16; - - /*!< Byte 11 */ - SD_cid->ProdSN |= CID_Tab[11] << 8; - - /*!< Byte 12 */ - SD_cid->ProdSN |= CID_Tab[12]; - - /*!< Byte 13 */ - SD_cid->Reserved1 |= (CID_Tab[13] & 0xF0) >> 4; - SD_cid->ManufactDate = (CID_Tab[13] & 0x0F) << 8; - - /*!< Byte 14 */ - SD_cid->ManufactDate |= CID_Tab[14]; - - /*!< Byte 15 */ - SD_cid->CID_CRC = (CID_Tab[15] & 0xFE) >> 1; - SD_cid->Reserved2 = 1; - - /*!< Return the reponse */ - return rvalue; -} - -/** - * @brief Send 5 bytes command to the SD card. - * @param Cmd: The user expected command to send to SD card. - * @param Arg: The command argument. - * @param Crc: The CRC. - * @retval None - */ -void SD_SendCmd(uint8_t Cmd, uint32_t Arg, uint8_t Crc) -{ - uint32_t i = 0x00; - - uint8_t Frame[6]; - - Frame[0] = (Cmd | 0x40); /*!< Construct byte 1 */ - - Frame[1] = (uint8_t)(Arg >> 24); /*!< Construct byte 2 */ - - Frame[2] = (uint8_t)(Arg >> 16); /*!< Construct byte 3 */ - - Frame[3] = (uint8_t)(Arg >> 8); /*!< Construct byte 4 */ - - Frame[4] = (uint8_t)(Arg); /*!< Construct byte 5 */ - - Frame[5] = (Crc); /*!< Construct CRC: byte 6 */ - - for (i = 0; i < 6; i++) - { - SD_WriteByte(Frame[i]); /*!< Send the Cmd bytes */ - } -} - -/** - * @brief Get SD card data response. - * @param None - * @retval The SD status: Read data response xxx01 - * - status 010: Data accecpted - * - status 101: Data rejected due to a crc error - * - status 110: Data rejected due to a Write error. - * - status 111: Data rejected due to other error. - */ -uint8_t SD_GetDataResponse(void) -{ - uint32_t i = 0; - uint8_t response, rvalue; - - while (i <= 64) - { - /*!< Read resonse */ - response = SD_ReadByte(); - /*!< Mask unused bits */ - response &= 0x1F; - switch (response) - { - case SD_DATA_OK: - { - rvalue = SD_DATA_OK; - break; - } - case SD_DATA_CRC_ERROR: - return SD_DATA_CRC_ERROR; - case SD_DATA_WRITE_ERROR: - return SD_DATA_WRITE_ERROR; - default: - { - rvalue = SD_DATA_OTHER_ERROR; - break; - } - } - /*!< Exit loop in case of data ok */ - if (rvalue == SD_DATA_OK) - break; - /*!< Increment loop counter */ - i++; - } - - /*!< Wait null data */ - while (SD_ReadByte() == 0); - - /*!< Return response */ - return response; -} - -/** - * @brief Returns the SD response. - * @param None - * @retval The SD Response: - * - SD_RESPONSE_FAILURE: Sequence failed - * - SD_RESPONSE_NO_ERROR: Sequence succeed - */ -SD_Error SD_GetResponse(uint8_t Response) -{ - uint32_t Count = 0xFFF; - - /*!< Check if response is got or a timeout is happen */ - while ((SD_ReadByte() != Response) && Count) - { - Count--; - } - if (Count == 0) - { - /*!< After time out */ - return SD_RESPONSE_FAILURE; - } - else - { - /*!< Right response got */ - return SD_RESPONSE_NO_ERROR; - } -} - -/** - * @brief Returns the SD status. - * @param None - * @retval The SD status. - */ -uint16_t SD_GetStatus(void) -{ - uint16_t Status = 0; - - /*!< SD chip select low */ - SD_CS_LOW(); - - /*!< Send CMD13 (SD_SEND_STATUS) to get SD status */ - SD_SendCmd(SD_CMD_SEND_STATUS, 0, 0xFF); - - Status = SD_ReadByte(); - Status |= (uint16_t)(SD_ReadByte() << 8); - - /*!< SD chip select high */ - SD_CS_HIGH(); - - /*!< Send dummy byte 0xFF */ - SD_WriteByte(SD_DUMMY_BYTE); - - return Status; -} - -/** - * @brief Put SD in Idle state. - * @param None - * @retval The SD Response: - * - SD_RESPONSE_FAILURE: Sequence failed - * - SD_RESPONSE_NO_ERROR: Sequence succeed - */ -SD_Error SD_GoIdleState(void) -{ - /*!< SD chip select low */ - SD_CS_LOW(); - - /*!< Send CMD0 (SD_CMD_GO_IDLE_STATE) to put SD in SPI mode */ - SD_SendCmd(SD_CMD_GO_IDLE_STATE, 0, 0x95); - - /*!< Wait for In Idle State Response (R1 Format) equal to 0x01 */ - if (SD_GetResponse(SD_IN_IDLE_STATE)) - { - /*!< No Idle State Response: return response failue */ - return SD_RESPONSE_FAILURE; - } - /*----------Activates the card initialization process-----------*/ - do - { - /*!< SD chip select high */ - SD_CS_HIGH(); - - /*!< Send Dummy byte 0xFF */ - SD_WriteByte(SD_DUMMY_BYTE); - - /*!< SD chip select low */ - SD_CS_LOW(); - - /*!< Send CMD1 (Activates the card process) until response equal to 0x0 */ - SD_SendCmd(SD_CMD_SEND_OP_COND, 0, 0xFF); - /*!< Wait for no error Response (R1 Format) equal to 0x00 */ - } - while (SD_GetResponse(SD_RESPONSE_NO_ERROR)); - - /*!< SD chip select high */ - SD_CS_HIGH(); - - /*!< Send dummy byte 0xFF */ - SD_WriteByte(SD_DUMMY_BYTE); - - return SD_RESPONSE_NO_ERROR; -} - -/** - * @brief Write a byte on the SD. - * @param Data: byte to send. - * @retval None - */ -uint8_t SD_WriteByte(uint8_t Data) -{ - /*!< Wait until the transmit buffer is empty */ - while(SPI_I2S_GetFlagStatus(SD_SPI, SPI_I2S_FLAG_TXE) == RESET) - { - } - - /*!< Send the byte */ - SPI_I2S_SendData(SD_SPI, Data); - - /*!< Wait to receive a byte*/ - while(SPI_I2S_GetFlagStatus(SD_SPI, SPI_I2S_FLAG_RXNE) == RESET) - { - } - - /*!< Return the byte read from the SPI bus */ - return SPI_I2S_ReceiveData(SD_SPI); -} - -/** - * @brief Read a byte from the SD. - * @param None - * @retval The received byte. - */ -uint8_t SD_ReadByte(void) -{ - uint8_t Data = 0; - - /*!< Wait until the transmit buffer is empty */ - while (SPI_I2S_GetFlagStatus(SD_SPI, SPI_I2S_FLAG_TXE) == RESET) - { - } - /*!< Send the byte */ - SPI_I2S_SendData(SD_SPI, SD_DUMMY_BYTE); - - /*!< Wait until a data is received */ - while (SPI_I2S_GetFlagStatus(SD_SPI, SPI_I2S_FLAG_RXNE) == RESET) - { - } - /*!< Get the received data */ - Data = SPI_I2S_ReceiveData(SD_SPI); - - /*!< Return the shifted data */ - return Data; -} - -/** - * @} - */ - - -/** - * @} - */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_sd.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_sd.h deleted file mode 100644 index 96c28880b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Common/stm32_eval_spi_sd.h +++ /dev/null @@ -1,280 +0,0 @@ -/** - ****************************************************************************** - * @file stm32_eval_spi_sd.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the stm32_eval_spi_sd - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32_EVAL_SPI_SD_H -#define __STM32_EVAL_SPI_SD_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup Common - * @{ - */ - -/** @addtogroup STM32_EVAL_SPI_SD - * @{ - */ - -/** @defgroup STM32_EVAL_SPI_SD_Exported_Types - * @{ - */ - -typedef enum -{ -/** - * @brief SD reponses and error flags - */ - SD_RESPONSE_NO_ERROR = (0x00), - SD_IN_IDLE_STATE = (0x01), - SD_ERASE_RESET = (0x02), - SD_ILLEGAL_COMMAND = (0x04), - SD_COM_CRC_ERROR = (0x08), - SD_ERASE_SEQUENCE_ERROR = (0x10), - SD_ADDRESS_ERROR = (0x20), - SD_PARAMETER_ERROR = (0x40), - SD_RESPONSE_FAILURE = (0xFF), - -/** - * @brief Data response error - */ - SD_DATA_OK = (0x05), - SD_DATA_CRC_ERROR = (0x0B), - SD_DATA_WRITE_ERROR = (0x0D), - SD_DATA_OTHER_ERROR = (0xFF) -} SD_Error; - -/** - * @brief 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; /*!< Reserded */ - __IO uint8_t ContentProtectAppli; /*!< Content protection application */ - __IO uint8_t FileFormatGrouop; /*!< 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*/ -} SD_CSD; - -/** - * @brief Card Identification Data: CID Register - */ -typedef struct -{ - __IO uint8_t ManufacturerID; /*!< ManufacturerID */ - __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 */ -} SD_CID; - -/** - * @brief SD Card information - */ -typedef struct -{ - SD_CSD SD_csd; - SD_CID SD_cid; - uint32_t CardCapacity; /*!< Card Capacity */ - uint32_t CardBlockSize; /*!< Card Block Size */ -} SD_CardInfo; - -/** - * @} - */ - -/** @defgroup STM32_EVAL_SPI_SD_Exported_Constants - * @{ - */ - -/** - * @brief Block Size - */ -#define SD_BLOCK_SIZE 0x200 - -/** - * @brief Dummy byte - */ -#define SD_DUMMY_BYTE 0xFF - -/** - * @brief Start Data tokens: - * Tokens (necessary because at nop/idle (and CS active) only 0xff is - * on the data/command line) - */ -#define SD_START_DATA_SINGLE_BLOCK_READ 0xFE /*!< Data token start byte, Start Single Block Read */ -#define SD_START_DATA_MULTIPLE_BLOCK_READ 0xFE /*!< Data token start byte, Start Multiple Block Read */ -#define SD_START_DATA_SINGLE_BLOCK_WRITE 0xFE /*!< Data token start byte, Start Single Block Write */ -#define SD_START_DATA_MULTIPLE_BLOCK_WRITE 0xFD /*!< Data token start byte, Start Multiple Block Write */ -#define SD_STOP_DATA_MULTIPLE_BLOCK_WRITE 0xFD /*!< Data toke stop byte, Stop Multiple Block Write */ - -/** - * @brief SD detection on its memory slot - */ -#define SD_PRESENT ((uint8_t)0x01) -#define SD_NOT_PRESENT ((uint8_t)0x00) - - -/** - * @brief Commands: CMDxx = CMD-number | 0x40 - */ -#define SD_CMD_GO_IDLE_STATE 0 /*!< CMD0 = 0x40 */ -#define SD_CMD_SEND_OP_COND 1 /*!< CMD1 = 0x41 */ -#define SD_CMD_SEND_CSD 9 /*!< CMD9 = 0x49 */ -#define SD_CMD_SEND_CID 10 /*!< CMD10 = 0x4A */ -#define SD_CMD_STOP_TRANSMISSION 12 /*!< CMD12 = 0x4C */ -#define SD_CMD_SEND_STATUS 13 /*!< CMD13 = 0x4D */ -#define SD_CMD_SET_BLOCKLEN 16 /*!< CMD16 = 0x50 */ -#define SD_CMD_READ_SINGLE_BLOCK 17 /*!< CMD17 = 0x51 */ -#define SD_CMD_READ_MULT_BLOCK 18 /*!< CMD18 = 0x52 */ -#define SD_CMD_SET_BLOCK_COUNT 23 /*!< CMD23 = 0x57 */ -#define SD_CMD_WRITE_SINGLE_BLOCK 24 /*!< CMD24 = 0x58 */ -#define SD_CMD_WRITE_MULT_BLOCK 25 /*!< CMD25 = 0x59 */ -#define SD_CMD_PROG_CSD 27 /*!< CMD27 = 0x5B */ -#define SD_CMD_SET_WRITE_PROT 28 /*!< CMD28 = 0x5C */ -#define SD_CMD_CLR_WRITE_PROT 29 /*!< CMD29 = 0x5D */ -#define SD_CMD_SEND_WRITE_PROT 30 /*!< CMD30 = 0x5E */ -#define SD_CMD_SD_ERASE_GRP_START 32 /*!< CMD32 = 0x60 */ -#define SD_CMD_SD_ERASE_GRP_END 33 /*!< CMD33 = 0x61 */ -#define SD_CMD_UNTAG_SECTOR 34 /*!< CMD34 = 0x62 */ -#define SD_CMD_ERASE_GRP_START 35 /*!< CMD35 = 0x63 */ -#define SD_CMD_ERASE_GRP_END 36 /*!< CMD36 = 0x64 */ -#define SD_CMD_UNTAG_ERASE_GROUP 37 /*!< CMD37 = 0x65 */ -#define SD_CMD_ERASE 38 /*!< CMD38 = 0x66 */ - -/** - * @} - */ - -/** @defgroup STM32_EVAL_SPI_SD_Exported_Macros - * @{ - */ -/** - * @brief Select SD Card: ChipSelect pin low - */ -#define SD_CS_LOW() GPIO_ResetBits(SD_CS_GPIO_PORT, SD_CS_PIN) -/** - * @brief Deselect SD Card: ChipSelect pin high - */ -#define SD_CS_HIGH() GPIO_SetBits(SD_CS_GPIO_PORT, SD_CS_PIN) -/** - * @} - */ - -/** @defgroup STM32_EVAL_SPI_SD_Exported_Functions - * @{ - */ -void SD_DeInit(void); -SD_Error SD_Init(void); -uint8_t SD_Detect(void); -SD_Error SD_GetCardInfo(SD_CardInfo *cardinfo); -SD_Error SD_ReadBlock(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t BlockSize); -SD_Error SD_ReadMultiBlocks(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t BlockSize, uint32_t NumberOfBlocks); -SD_Error SD_WriteBlock(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t BlockSize); -SD_Error SD_WriteMultiBlocks(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t BlockSize, uint32_t NumberOfBlocks); -SD_Error SD_GetCSDRegister(SD_CSD* SD_csd); -SD_Error SD_GetCIDRegister(SD_CID* SD_cid); - -void SD_SendCmd(uint8_t Cmd, uint32_t Arg, uint8_t Crc); -SD_Error SD_GetResponse(uint8_t Response); -uint8_t SD_GetDataResponse(void); -SD_Error SD_GoIdleState(void); -uint16_t SD_GetStatus(void); - -uint8_t SD_WriteByte(uint8_t byte); -uint8_t SD_ReadByte(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32_EVAL_SPI_SD_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Release_Notes.html b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Release_Notes.html deleted file mode 100644 index 8b43b7596..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/Release_Notes.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - - - - - - - - - - Release Notes for STM32 Standard Peripherals Library Utilities - - - - - - - - - - -
-


-

-
- - - - - - -
- - - - - - - - - -
-

Back to Release page

-
-

Release -Notes for STM32 Standard Peripherals Library Utilities (Utilities)

-

Copyright -2011 STMicroelectronics

-

-
-

 

- - - - - - -
-

Contents

-
    -
  1. STM32 Standard Peripherals Library Utilities -update History
  2. -
  3. License
  4. -
- - -

STM32 -Standard -Peripherals Library Utilities update History


V4.5.0 / 07-March-2011

-

Main -Changes

- -
  • stm32_eval_sdio_sd.c\.h: driver improvement
    • SD Clock increased to 24MHz to improve the data transfer performance.
    • Add -new functions to check the SDIO peripheral and SD Card status at any -time: SD_WaitReadOperation(), SD_WaitWriteOperation(). The -software sequence is little bit changed but without any impact on -driver API. For more details, refer to the stm32_eval_sdio_sd.c -driver description.
    • Add -new structure containing the SD Status register parameters. This -structure is called by the -         - SD_SendSDStatus() function.
    • Transfers mode updated
      • Read/Write Block using Polling and DMA modes
      • Read/Write Multi Blocks using DMA mode only
      • Interrupt mode removed
    • Data transfer functions are managing only fixed Block size (512-byte) 
  • STM32100B-EVAL
    • stm32100b_eval_cec.c: fix some strict ANSI-C errors
  • STM32100E-EVAL
    • stm32100e_eval_cec.c: fix some strict ANSI-C errors
-

V4.4.0 / 31-December-2010

-

Main -Changes

- -
    -
  • Add new directory for STM32L152-EVAL board containing the following files:
  • -
      -
    • stm32l152_eval.h/.c, stm32l152_eval_lcd.h/.c, stm32l152_eval_glass_lcd.h/.c, stm32l152_eval_i2c_ee.h/.c
    • -
    -
  • Add support for the STM32100E-EVAL Rev B: SPI FLASH CS pin "sFLASH_CS_PIN" changed from PB.02 to PE.06.
  • -
  • stm32100e_eval_lcd.h/.c: Add support for "LCD_ILI9325" LCD controller.
  • -
  • stm32100e_eval_fsmc_onenand.h/.c driver updated to correct asynchronous and synchronous read operations procedures.
    -
  • -
- -

4.3.0 -- 10/15/2010

-
    -
  1. General
  2. -
- -
    - - - - -
  • I2C EEPROM, Temperature Sensor and IOE Expander drivers updated to use the DMA for read/write transfer and add more robustness
  • -
  • SD Card (SDIO) driver updated to add more robustness
  • SPI Flash and SD Card (SPI) drivers: SPI MISO pin configuration changed to Input Floating 
  • -
- - - -
    -
  1. Utilities
  2. -
- - - - - -
    -
  • Add new directory for STM32100E-EVAL board containing the following files:
  • -
      -
    • stm32100e_eval.h/.c, -stm32100e_eval_lcd.h/.c, stm32100e_eval_cec.h/.c, -stm32100e_eval_fsmc_onenand.h/.c, stm32100e_eval_fsmc_sram.h/.c, -stm32100e_eval_ioe.h/.c
      -
    • -
    -
  • Common
    • stm32_eval_sdio_sd.c: -Update the DMA End of Transfer Check loop inside the SD_ReadBlock(), -SD_WriteBlock(), SD_ReadMultiBlocks() and SD_Write MultiBlocks().
    -
    • stm32_eval_i2c_ee.c/.h
      -
    -
      -
      • Enhanced sEE_WaitEepromStandbyState() function for more robustness.
      • Enhanced Read and Write operations to manage I2C limitations.
      • Add Timeout management with user callback implementation which allows recovering from I2C bus errors.
      • Add -critical sections user callbacks allowing to disable then enable -interrupts when I2C operation require to be not interrupted.
    -
    • stm32_eval_i2c_tsensor.c/.h
      -
    -
      -
      • Enhanced I2C communication functions by using DMA for registers Read and Write operations.
      • Add Timeout management with user callback implementation which allows recovering from I2C bus errors.
    -
  • STM32100B_EVAL
    • stm32100b_eval.h: Add LM75 DMA defines.
    -
    • stm32100b_eval_lcd.c: Change "SPI_FLASH" by "sFLASH" in LCD_DrawBMP() function.
    -
  • STM3210B_EVAL
    • stm3210b_eval.h: Add LM75 DMA defines.
    -
    • stm3210b_eval_lcd.c: Change "SPI_FLASH" by "sFLASH" in LCD_DrawBMP() function.
    -
  • STM3210C_EVAL
    • stm3210c_eval.h: Add EEPROM driver Timeout define.
    -
    • stm3210c_eval_lcd.c: Change "SPI_FLASH" by "sFLASH" in LCD_DrawBMP() function.
    • stm3210c_eval_i2c_ioe.c
      • Enhanced I2C communication functions by using DMA for registers Read and Write operations.
      • Add Timeout management with user callback implementation which allows recovering from I2C bus errors.
      • change IOE_I2C_SPEED from "400000" to "300000".
    -
  • STM3210E_EVAL
    • stm3210e_eval.c: change "void SD_WaitForDMAEndOfTransfer(void)" to "uint32_t SD_DMAEndOfTransferStatus(void)".
    -
    • stm3210e_eval.h: Add LM75 DMA defines.
    -
    • stm3210e_eval_fsmc_nand.h: remove "NAND_CMD_AREA_TRUE1" define.
    -
    • stm3210e_eval_fsmc_nand.c: Update FSMC timing in NAND_Init() function to be aligned with AN2784 application note.
    -
    • stm3210e_eval_fsmc_nor.c
      • NOR_Init() function: add FSMC_AsynchronousWait field to FSMC_NORSRAMInitStructure 
    -
    • stm3210e_eval_fsmc_sram.c
      -
    -
      -
      • Update FSMC timing in SRAM_Init() function to be aligned with AN2784 application note.
        -
      -
      • SRAM_Init() function: add FSMC_AsynchronousWait field to FSMC_NORSRAMInitStructure 
      -
    -
    • stm3210e_eval_lcd.c
      • LCD_FSMCConfig() function: add FSMC_AsynchronousWait field to FSMC_NORSRAMInitStructure 
-
    - - -
- -

4.2.0 -- 04/16/2010

-
    -
  1. General
  2. -
- -
    - - -
  • I2C EEPROM driver -update to use the DMA to -perform data transfer to/from EEPROM memory.
  • - - -
- -
    -
  1. Utilities
  2. -
-
    -
  • STM32_EVAL
  • -
-
    -
      -
    • stm32_eval_i2c_ee.c: -updated to use the DMA to perform data transfer to/from -EEPROM memory. For more details, refer to the description provided -within this file.
    • -
    • stm3210c_eval.c: add low level -functions to configure the DMA (needed for I2C EEPROM driver)
      -
    • -
    • stm3210c_eval_ioe.c: add a delay -in IOE_TS_GetState() function to wait till the end of ADC -conversion
    • -
    • stm3210e_eval_fsmc_nor.c: add PD6 pin configuration in -NOR_Init() function
    • -
    • stm3210b_eval_lcd.c: remove the -second ";" from "static void PutPixel(int16_t x, int16_t y);;" 
    • -
    -
-

4.1.0 -- 03/01/2010

-
    -
  1. General
  2. -
-
    -
  • Add support -for STM32 Low-density Value line (STM32F100x4/6) and -Medium-density Value line (STM32F100x8/B) devices.
  • -
  • Add support for the -STMicroelectronics STM32100B-EVAL evaluation board.
  • -
-
    -
  1. Utilities
  2. -
-
    -
  • STM32_EVAL
  • -
-
    -
      -
    • Add new directory -"Common" containing a common drivers for all STM32 evaluation boards: -fonts.h/.c, stm32_eval_i2c_ee.h/.c, stm32_eval_spi_flash.h/.c, - stm32_eval_i2c_tsensor.h/.c, - stm32_eval_spi_sd.h/.c -and stm32_eval_sdio_sd.h/.c
    • -
    • Add new driver for the -STM32100B-EVAL managing Leds, push button and COM ports.
    • -
    • New HDMI CEC High level -driver.
      -
    • -
    • For all LCD drivers new fonts has -been added.
    • -
    • New FSMC memories -drivers for STM3210E-EVAL board: stm3210e_eval_fsmc_sram.h/.c, stm3210e_eval_fsmc_nor.h/.c -and stm3210e_eval_fsmc_nand.h/.c.
    • -
    -
-

License

-

The -enclosed firmware and all the related documentation are not covered by -a License Agreement, if you need such License you can contact your -local STMicroelectronics office.

- - THE -PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS -WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO -SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR -ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY -CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY -CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH -THEIR PRODUCTS. - -
-
-

For -complete documentation on STMicroelectronics Microcontrollers visit www.st.com

-
-

-
-
-

 

-
- - \ No newline at end of file diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval.c deleted file mode 100644 index a66b88804..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval.c +++ /dev/null @@ -1,624 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100b_eval.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides - * - set of firmware functions to manage Leds, push-button and COM ports - * - low level initialization functions for SD card (on SPI), SPI serial - * flash (sFLASH) and temperature sensor (LM75) - * available on STM32100B-EVAL evaluation board from STMicroelectronics. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32100b_eval.h" -#include "stm32f10x_spi.h" -#include "stm32f10x_i2c.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100B_EVAL - * @{ - */ - -/** @defgroup STM32100B_EVAL_LOW_LEVEL - * @brief This file provides firmware functions to manage Leds, push-buttons, - * COM ports, SD card on SPI, serial flash (sFLASH) and temperature - * sensor (LM75) available on STM32100B-EVAL evaluation board from - * STMicroelectronics. - * @{ - */ - -/** @defgroup STM32100B_EVAL_LOW_LEVEL_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100B_EVAL_LOW_LEVEL_Private_Defines - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100B_EVAL_LOW_LEVEL_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100B_EVAL_LOW_LEVEL_Private_Variables - * @{ - */ -GPIO_TypeDef* GPIO_PORT[LEDn] = {LED1_GPIO_PORT, LED2_GPIO_PORT, LED3_GPIO_PORT, - LED4_GPIO_PORT}; -const uint16_t GPIO_PIN[LEDn] = {LED1_PIN, LED2_PIN, LED3_PIN, - LED4_PIN}; -const uint32_t GPIO_CLK[LEDn] = {LED1_GPIO_CLK, LED2_GPIO_CLK, LED3_GPIO_CLK, - LED4_GPIO_CLK}; - -GPIO_TypeDef* BUTTON_PORT[BUTTONn] = {WAKEUP_BUTTON_GPIO_PORT, TAMPER_BUTTON_GPIO_PORT, - KEY_BUTTON_GPIO_PORT, RIGHT_BUTTON_GPIO_PORT, - LEFT_BUTTON_GPIO_PORT, UP_BUTTON_GPIO_PORT, - DOWN_BUTTON_GPIO_PORT, SEL_BUTTON_GPIO_PORT}; - -const uint16_t BUTTON_PIN[BUTTONn] = {WAKEUP_BUTTON_PIN, TAMPER_BUTTON_PIN, - KEY_BUTTON_PIN, RIGHT_BUTTON_PIN, - LEFT_BUTTON_PIN, UP_BUTTON_PIN, - DOWN_BUTTON_PIN, SEL_BUTTON_PIN}; - -const uint32_t BUTTON_CLK[BUTTONn] = {WAKEUP_BUTTON_GPIO_CLK, TAMPER_BUTTON_GPIO_CLK, - KEY_BUTTON_GPIO_CLK, RIGHT_BUTTON_GPIO_CLK, - LEFT_BUTTON_GPIO_CLK, UP_BUTTON_GPIO_CLK, - DOWN_BUTTON_GPIO_CLK, SEL_BUTTON_GPIO_CLK}; - -const uint16_t BUTTON_EXTI_LINE[BUTTONn] = {WAKEUP_BUTTON_EXTI_LINE, - TAMPER_BUTTON_EXTI_LINE, - KEY_BUTTON_EXTI_LINE, - RIGHT_BUTTON_EXTI_LINE, - LEFT_BUTTON_EXTI_LINE, - UP_BUTTON_EXTI_LINE, - DOWN_BUTTON_EXTI_LINE, - SEL_BUTTON_EXTI_LINE}; - -const uint16_t BUTTON_PORT_SOURCE[BUTTONn] = {WAKEUP_BUTTON_EXTI_PORT_SOURCE, - TAMPER_BUTTON_EXTI_PORT_SOURCE, - KEY_BUTTON_EXTI_PORT_SOURCE, - RIGHT_BUTTON_EXTI_PORT_SOURCE, - LEFT_BUTTON_EXTI_PORT_SOURCE, - UP_BUTTON_EXTI_PORT_SOURCE, - DOWN_BUTTON_EXTI_PORT_SOURCE, - SEL_BUTTON_EXTI_PORT_SOURCE}; - -const uint16_t BUTTON_PIN_SOURCE[BUTTONn] = {WAKEUP_BUTTON_EXTI_PIN_SOURCE, - TAMPER_BUTTON_EXTI_PIN_SOURCE, - KEY_BUTTON_EXTI_PIN_SOURCE, - RIGHT_BUTTON_EXTI_PIN_SOURCE, - LEFT_BUTTON_EXTI_PIN_SOURCE, - UP_BUTTON_EXTI_PIN_SOURCE, - DOWN_BUTTON_EXTI_PIN_SOURCE, - SEL_BUTTON_EXTI_PIN_SOURCE}; - -const uint16_t BUTTON_IRQn[BUTTONn] = {WAKEUP_BUTTON_EXTI_IRQn, TAMPER_BUTTON_EXTI_IRQn, - KEY_BUTTON_EXTI_IRQn, RIGHT_BUTTON_EXTI_IRQn, - LEFT_BUTTON_EXTI_IRQn, UP_BUTTON_EXTI_IRQn, - DOWN_BUTTON_EXTI_IRQn, SEL_BUTTON_EXTI_IRQn}; - -USART_TypeDef* COM_USART[COMn] = {EVAL_COM1, EVAL_COM2}; - -GPIO_TypeDef* COM_TX_PORT[COMn] = {EVAL_COM1_TX_GPIO_PORT, EVAL_COM2_TX_GPIO_PORT}; - -GPIO_TypeDef* COM_RX_PORT[COMn] = {EVAL_COM1_RX_GPIO_PORT, EVAL_COM2_RX_GPIO_PORT}; - -const uint32_t COM_USART_CLK[COMn] = {EVAL_COM1_CLK, EVAL_COM2_CLK}; - -const uint32_t COM_TX_PORT_CLK[COMn] = {EVAL_COM1_TX_GPIO_CLK, EVAL_COM2_TX_GPIO_CLK}; - -const uint32_t COM_RX_PORT_CLK[COMn] = {EVAL_COM1_RX_GPIO_CLK, EVAL_COM2_RX_GPIO_CLK}; - -const uint16_t COM_TX_PIN[COMn] = {EVAL_COM1_TX_PIN, EVAL_COM2_TX_PIN}; - -const uint16_t COM_RX_PIN[COMn] = {EVAL_COM1_RX_PIN, EVAL_COM2_RX_PIN}; - -/** - * @} - */ - - -/** @defgroup STM32100B_EVAL_LOW_LEVEL_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - - -/** @defgroup STM32100B_EVAL_LOW_LEVEL_Private_Functions - * @{ - */ - -/** - * @brief Configures LED GPIO. - * @param Led: Specifies the Led to be configured. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDInit(Led_TypeDef Led) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable the GPIO_LED Clock */ - RCC_APB2PeriphClockCmd(GPIO_CLK[Led], ENABLE); - - /* Configure the GPIO_LED pin */ - GPIO_InitStructure.GPIO_Pin = GPIO_PIN[Led]; - - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure); -} - -/** - * @brief Turns selected LED On. - * @param Led: Specifies the Led to be set on. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDOn(Led_TypeDef Led) -{ - GPIO_PORT[Led]->BSRR = GPIO_PIN[Led]; -} - -/** - * @brief Turns selected LED Off. - * @param Led: Specifies the Led to be set off. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDOff(Led_TypeDef Led) -{ - GPIO_PORT[Led]->BRR = GPIO_PIN[Led]; -} - -/** - * @brief Toggles the selected LED. - * @param Led: Specifies the Led to be toggled. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDToggle(Led_TypeDef Led) -{ - GPIO_PORT[Led]->ODR ^= GPIO_PIN[Led]; -} - -/** - * @brief Configures Button GPIO and EXTI Line. - * @param Button: Specifies the Button to be configured. - * This parameter can be one of following parameters: - * @arg BUTTON_WAKEUP: Wakeup Push Button - * @arg BUTTON_TAMPER: Tamper Push Button - * @arg BUTTON_KEY: Key Push Button - * @arg BUTTON_RIGHT: Joystick Right Push Button - * @arg BUTTON_LEFT: Joystick Left Push Button - * @arg BUTTON_UP: Joystick Up Push Button - * @arg BUTTON_DOWN: Joystick Down Push Button - * @arg BUTTON_SEL: Joystick Sel Push Button - * @param Button_Mode: Specifies Button mode. - * This parameter can be one of following parameters: - * @arg BUTTON_MODE_GPIO: Button will be used as simple IO - * @arg BUTTON_MODE_EXTI: Button will be connected to EXTI line with interrupt - * generation capability - * @retval None - */ -void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode) -{ - GPIO_InitTypeDef GPIO_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable the BUTTON Clock */ - RCC_APB2PeriphClockCmd(BUTTON_CLK[Button] | RCC_APB2Periph_AFIO, ENABLE); - - /* Configure Button pin as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_InitStructure.GPIO_Pin = BUTTON_PIN[Button]; - GPIO_Init(BUTTON_PORT[Button], &GPIO_InitStructure); - - - if (Button_Mode == BUTTON_MODE_EXTI) - { - /* Connect Button EXTI Line to Button GPIO Pin */ - GPIO_EXTILineConfig(BUTTON_PORT_SOURCE[Button], BUTTON_PIN_SOURCE[Button]); - - /* Configure Button EXTI line */ - EXTI_InitStructure.EXTI_Line = BUTTON_EXTI_LINE[Button]; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - - if(Button != BUTTON_WAKEUP) - { - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; - } - else - { - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - } - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable and set Button EXTI Interrupt to the lowest priority */ - NVIC_InitStructure.NVIC_IRQChannel = BUTTON_IRQn[Button]; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - - NVIC_Init(&NVIC_InitStructure); - } -} - -/** - * @brief Returns the selected Button state. - * @param Button: Specifies the Button to be checked. - * This parameter can be one of following parameters: - * @arg BUTTON_WAKEUP: Wakeup Push Button - * @arg BUTTON_TAMPER: Tamper Push Button - * @arg BUTTON_KEY: Key Push Button - * @arg BUTTON_RIGHT: Joystick Right Push Button - * @arg BUTTON_LEFT: Joystick Left Push Button - * @arg BUTTON_UP: Joystick Up Push Button - * @arg BUTTON_DOWN: Joystick Down Push Button - * @arg BUTTON_SEL: Joystick Sel Push Button - * @retval The Button GPIO pin value. - */ -uint32_t STM_EVAL_PBGetState(Button_TypeDef Button) -{ - return GPIO_ReadInputDataBit(BUTTON_PORT[Button], BUTTON_PIN[Button]); -} - - -/** - * @brief Configures COM port. - * @param COM: Specifies the COM port to be configured. - * This parameter can be one of following parameters: - * @arg COM1 - * @arg COM2 - * @param USART_InitStruct: pointer to a USART_InitTypeDef structure that - * contains the configuration information for the specified USART peripheral. - * @retval None - */ -void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_APB2PeriphClockCmd(COM_TX_PORT_CLK[COM] | COM_RX_PORT_CLK[COM] | RCC_APB2Periph_AFIO, ENABLE); - - - /* Enable UART clock */ - if (COM == COM1) - { - RCC_APB2PeriphClockCmd(COM_USART_CLK[COM], ENABLE); - } - else - { - /* Enable the USART2 Pins Software Remapping */ - GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE); - RCC_APB1PeriphClockCmd(COM_USART_CLK[COM], ENABLE); - } - - /* Configure USART Tx as alternate function push-pull */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_InitStructure.GPIO_Pin = COM_TX_PIN[COM]; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(COM_TX_PORT[COM], &GPIO_InitStructure); - - /* Configure USART Rx as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_InitStructure.GPIO_Pin = COM_RX_PIN[COM]; - GPIO_Init(COM_RX_PORT[COM], &GPIO_InitStructure); - - /* USART configuration */ - USART_Init(COM_USART[COM], USART_InitStruct); - - /* Enable USART */ - USART_Cmd(COM_USART[COM], ENABLE); -} - -/** - * @brief DeInitializes the SD/SD communication. - * @param None - * @retval None - */ -void SD_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - SPI_Cmd(SD_SPI, DISABLE); /*!< SD_SPI disable */ - SPI_I2S_DeInit(SD_SPI); /*!< DeInitializes the SD_SPI */ - - /*!< SD_SPI Periph clock disable */ - RCC_APB2PeriphClockCmd(SD_SPI_CLK, DISABLE); - - /*!< Configure SD_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(SD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MISO_PIN; - GPIO_Init(SD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MOSI_PIN; - GPIO_Init(SD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_CS_PIN pin: SD Card CS pin */ - GPIO_InitStructure.GPIO_Pin = SD_CS_PIN; - GPIO_Init(SD_CS_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_DETECT_PIN pin: SD Card detect pin */ - GPIO_InitStructure.GPIO_Pin = SD_DETECT_PIN; - GPIO_Init(SD_DETECT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the SD_SPI and CS pins. - * @param None - * @retval None - */ -void SD_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - SPI_InitTypeDef SPI_InitStructure; - - /*!< SD_SPI_CS_GPIO, SD_SPI_MOSI_GPIO, SD_SPI_MISO_GPIO, SD_SPI_DETECT_GPIO - and SD_SPI_SCK_GPIO Periph clock enable */ - RCC_APB2PeriphClockCmd(SD_CS_GPIO_CLK | SD_SPI_MOSI_GPIO_CLK | SD_SPI_MISO_GPIO_CLK | - SD_SPI_SCK_GPIO_CLK | SD_DETECT_GPIO_CLK, ENABLE); - - /*!< SD_SPI Periph clock enable */ - RCC_APB2PeriphClockCmd(SD_SPI_CLK, ENABLE); - - - /*!< Configure SD_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(SD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MOSI_PIN; - GPIO_Init(SD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MISO_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(SD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_CS_PIN pin: SD Card CS pin */ - GPIO_InitStructure.GPIO_Pin = SD_CS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(SD_CS_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_DETECT_PIN pin: SD Card detect pin */ - GPIO_InitStructure.GPIO_Pin = SD_DETECT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_Init(SD_DETECT_GPIO_PORT, &GPIO_InitStructure); - - /*!< SD_SPI Config */ - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; - - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - SPI_InitStructure.SPI_CRCPolynomial = 7; - SPI_Init(SD_SPI, &SPI_InitStructure); - - SPI_Cmd(SD_SPI, ENABLE); /*!< SD_SPI enable */ -} - -/** - * @brief DeInitializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Disable the sFLASH_SPI */ - SPI_Cmd(sFLASH_SPI, DISABLE); - - /*!< DeInitializes the sFLASH_SPI */ - SPI_I2S_DeInit(sFLASH_SPI); - - /*!< sFLASH_SPI Periph clock disable */ - RCC_APB2PeriphClockCmd(sFLASH_SPI_CLK, DISABLE); - - /*!< Configure sFLASH_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(sFLASH_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MISO_PIN; - GPIO_Init(sFLASH_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MOSI_PIN; - GPIO_Init(sFLASH_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_CS_PIN pin: sFLASH Card CS pin */ - GPIO_InitStructure.GPIO_Pin = sFLASH_CS_PIN; - GPIO_Init(sFLASH_CS_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< sFLASH_SPI_CS_GPIO, sFLASH_SPI_MOSI_GPIO, sFLASH_SPI_MISO_GPIO - and sFLASH_SPI_SCK_GPIO Periph clock enable */ - RCC_APB2PeriphClockCmd(sFLASH_CS_GPIO_CLK | sFLASH_SPI_MOSI_GPIO_CLK | sFLASH_SPI_MISO_GPIO_CLK | - sFLASH_SPI_SCK_GPIO_CLK, ENABLE); - - /*!< sFLASH_SPI Periph clock enable */ - RCC_APB2PeriphClockCmd(sFLASH_SPI_CLK, ENABLE); - - /*!< Configure sFLASH_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(sFLASH_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MOSI_PIN; - GPIO_Init(sFLASH_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MISO_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(sFLASH_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_CS_PIN pin: sFLASH Card CS pin */ - GPIO_InitStructure.GPIO_Pin = sFLASH_CS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(sFLASH_CS_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief DeInitializes the LM75_I2C. - * @param None - * @retval None - */ -void LM75_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Disable LM75_I2C */ - I2C_Cmd(LM75_I2C, DISABLE); - /*!< DeInitializes the LM75_I2C */ - I2C_DeInit(LM75_I2C); - - /*!< LM75_I2C Periph clock disable */ - RCC_APB1PeriphClockCmd(LM75_I2C_CLK, DISABLE); - - /*!< Configure LM75_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(LM75_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SDA_PIN; - GPIO_Init(LM75_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pin: SMBUS ALERT */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SMBUSALERT_PIN; - GPIO_Init(LM75_I2C_SMBUSALERT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the LM75_I2C.. - * @param None - * @retval None - */ -void LM75_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< LM75_I2C Periph clock enable */ - RCC_APB1PeriphClockCmd(LM75_I2C_CLK, ENABLE); - - /*!< LM75_I2C_SCL_GPIO_CLK, LM75_I2C_SDA_GPIO_CLK - and LM75_I2C_SMBUSALERT_GPIO_CLK Periph clock enable */ - RCC_APB2PeriphClockCmd(LM75_I2C_SCL_GPIO_CLK | LM75_I2C_SDA_GPIO_CLK | - LM75_I2C_SMBUSALERT_GPIO_CLK, ENABLE); - - /*!< Configure LM75_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; - GPIO_Init(LM75_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SDA_PIN; - GPIO_Init(LM75_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pin: SMBUS ALERT */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SMBUSALERT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_Init(LM75_I2C_SMBUSALERT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @} - */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval.h deleted file mode 100644 index 4ce0f0048..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval.h +++ /dev/null @@ -1,341 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100b_eval.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains definitions for STM32100B_EVAL's Leds, push-buttons - * COM ports, SD Card on SPI, sFLASH on SPI and Temperature Sensor LM75 on I2C - * hardware resources. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32100B_EVAL_H -#define __STM32100B_EVAL_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100B_EVAL - * @{ - */ - -/** @addtogroup STM32100B_EVAL_LOW_LEVEL - * @{ - */ - -/** @defgroup STM32100B_EVAL_LOW_LEVEL_Exported_Types - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_LOW_LEVEL_Exported_Constants - * @{ - */ -/** @addtogroup STM32100B_EVAL_LOW_LEVEL_LED - * @{ - */ -#define LEDn 4 -#define LED1_PIN GPIO_Pin_6 -#define LED1_GPIO_PORT GPIOC -#define LED1_GPIO_CLK RCC_APB2Periph_GPIOC - -#define LED2_PIN GPIO_Pin_7 -#define LED2_GPIO_PORT GPIOC -#define LED2_GPIO_CLK RCC_APB2Periph_GPIOC - -#define LED3_PIN GPIO_Pin_8 -#define LED3_GPIO_PORT GPIOC -#define LED3_GPIO_CLK RCC_APB2Periph_GPIOC - -#define LED4_PIN GPIO_Pin_9 -#define LED4_GPIO_PORT GPIOC -#define LED4_GPIO_CLK RCC_APB2Periph_GPIOC - -/** - * @} - */ - -/** @addtogroup STM32100B_EVAL_LOW_LEVEL_BUTTON - * @{ - */ -#define BUTTONn 8 - -/** - * @brief Wakeup push-button - */ -#define WAKEUP_BUTTON_PIN GPIO_Pin_0 -#define WAKEUP_BUTTON_GPIO_PORT GPIOA -#define WAKEUP_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOA -#define WAKEUP_BUTTON_EXTI_LINE EXTI_Line0 -#define WAKEUP_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOA -#define WAKEUP_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource0 -#define WAKEUP_BUTTON_EXTI_IRQn EXTI0_IRQn -/** - * @brief Tamper push-button - */ -#define TAMPER_BUTTON_PIN GPIO_Pin_13 -#define TAMPER_BUTTON_GPIO_PORT GPIOC -#define TAMPER_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOC -#define TAMPER_BUTTON_EXTI_LINE EXTI_Line13 -#define TAMPER_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOC -#define TAMPER_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource13 -#define TAMPER_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Key push-button - */ -#define KEY_BUTTON_PIN GPIO_Pin_9 -#define KEY_BUTTON_GPIO_PORT GPIOB -#define KEY_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOB -#define KEY_BUTTON_EXTI_LINE EXTI_Line9 -#define KEY_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOB -#define KEY_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource9 -#define KEY_BUTTON_EXTI_IRQn EXTI9_5_IRQn -/** - * @brief Joystick Right push-button - */ -#define RIGHT_BUTTON_PIN GPIO_Pin_1 -#define RIGHT_BUTTON_GPIO_PORT GPIOE -#define RIGHT_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOE -#define RIGHT_BUTTON_EXTI_LINE EXTI_Line1 -#define RIGHT_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOE -#define RIGHT_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource1 -#define RIGHT_BUTTON_EXTI_IRQn EXTI1_IRQn -/** - * @brief Joystick Left push-button - */ -#define LEFT_BUTTON_PIN GPIO_Pin_0 -#define LEFT_BUTTON_GPIO_PORT GPIOE -#define LEFT_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOE -#define LEFT_BUTTON_EXTI_LINE EXTI_Line0 -#define LEFT_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOE -#define LEFT_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource0 -#define LEFT_BUTTON_EXTI_IRQn EXTI0_IRQn -/** - * @brief Joystick Up push-button - */ -#define UP_BUTTON_PIN GPIO_Pin_8 -#define UP_BUTTON_GPIO_PORT GPIOD -#define UP_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOD -#define UP_BUTTON_EXTI_LINE EXTI_Line8 -#define UP_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOD -#define UP_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource8 -#define UP_BUTTON_EXTI_IRQn EXTI9_5_IRQn -/** - * @brief Joystick Down push-button - */ -#define DOWN_BUTTON_PIN GPIO_Pin_14 -#define DOWN_BUTTON_GPIO_PORT GPIOD -#define DOWN_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOD -#define DOWN_BUTTON_EXTI_LINE EXTI_Line14 -#define DOWN_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOD -#define DOWN_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource14 -#define DOWN_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Joystick Sel push-button - */ -#define SEL_BUTTON_PIN GPIO_Pin_12 -#define SEL_BUTTON_GPIO_PORT GPIOD -#define SEL_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOD -#define SEL_BUTTON_EXTI_LINE EXTI_Line12 -#define SEL_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOD -#define SEL_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource12 -#define SEL_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @} - */ - -/** @addtogroup STM32100B_EVAL_LOW_LEVEL_COM - * @{ - */ -#define COMn 2 - -/** - * @brief Definition for COM port1, connected to USART1 - */ -#define EVAL_COM1 USART1 -#define EVAL_COM1_CLK RCC_APB2Periph_USART1 -#define EVAL_COM1_TX_PIN GPIO_Pin_9 -#define EVAL_COM1_TX_GPIO_PORT GPIOA -#define EVAL_COM1_TX_GPIO_CLK RCC_APB2Periph_GPIOA -#define EVAL_COM1_RX_PIN GPIO_Pin_10 -#define EVAL_COM1_RX_GPIO_PORT GPIOA -#define EVAL_COM1_RX_GPIO_CLK RCC_APB2Periph_GPIOA -#define EVAL_COM1_IRQn USART1_IRQn - -/** - * @brief Definition for COM port2, connected to USART2 (USART2 pins remapped on GPIOD) - */ -#define EVAL_COM2 USART2 -#define EVAL_COM2_CLK RCC_APB1Periph_USART2 -#define EVAL_COM2_TX_PIN GPIO_Pin_5 -#define EVAL_COM2_TX_GPIO_PORT GPIOD -#define EVAL_COM2_TX_GPIO_CLK RCC_APB2Periph_GPIOD -#define EVAL_COM2_RX_PIN GPIO_Pin_6 -#define EVAL_COM2_RX_GPIO_PORT GPIOD -#define EVAL_COM2_RX_GPIO_CLK RCC_APB2Periph_GPIOD -#define EVAL_COM2_IRQn USART2_IRQn - -/** - * @} - */ - -/** @addtogroup STM32100B_EVAL_LOW_LEVEL_SD_SPI - * @{ - */ -/** - * @brief SD SPI Interface pins - */ -#define SD_SPI SPI1 -#define SD_SPI_CLK RCC_APB2Periph_SPI1 -#define SD_SPI_SCK_PIN GPIO_Pin_5 /* PA.05 */ -#define SD_SPI_SCK_GPIO_PORT GPIOA /* GPIOA */ -#define SD_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOA -#define SD_SPI_MISO_PIN GPIO_Pin_6 /* PA.06 */ -#define SD_SPI_MISO_GPIO_PORT GPIOA /* GPIOA */ -#define SD_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOA -#define SD_SPI_MOSI_PIN GPIO_Pin_7 /* PA.07 */ -#define SD_SPI_MOSI_GPIO_PORT GPIOA /* GPIOA */ -#define SD_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOA -#define SD_CS_PIN GPIO_Pin_12 /* PC.12 */ -#define SD_CS_GPIO_PORT GPIOC /* GPIOC */ -#define SD_CS_GPIO_CLK RCC_APB2Periph_GPIOC -#define SD_DETECT_PIN GPIO_Pin_7 /* PE.07 */ -#define SD_DETECT_GPIO_PORT GPIOE /* GPIOE */ -#define SD_DETECT_GPIO_CLK RCC_APB2Periph_GPIOE - -/** - * @} - */ - -/** @addtogroup STM32100B_EVAL_LOW_LEVEL_M25P_FLASH_SPI - * @{ - */ -/** - * @brief M25P FLASH SPI Interface pins - */ -#define sFLASH_SPI SPI1 -#define sFLASH_SPI_CLK RCC_APB2Periph_SPI1 -#define sFLASH_SPI_SCK_PIN GPIO_Pin_5 /* PA.05 */ -#define sFLASH_SPI_SCK_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOA -#define sFLASH_SPI_MISO_PIN GPIO_Pin_6 /* PA.06 */ -#define sFLASH_SPI_MISO_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOA -#define sFLASH_SPI_MOSI_PIN GPIO_Pin_7 /* PA.07 */ -#define sFLASH_SPI_MOSI_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOA -#define sFLASH_CS_PIN GPIO_Pin_9 /* PD.09 */ -#define sFLASH_CS_GPIO_PORT GPIOD /* GPIOD */ -#define sFLASH_CS_GPIO_CLK RCC_APB2Periph_GPIOD - -/** - * @} - */ - -/** @addtogroup STM32100B_EVAL_LOW_LEVEL_TSENSOR_I2C - * @{ - */ -/** - * @brief LM75 Temperature Sensor I2C Interface pins - */ -#define LM75_I2C I2C1 -#define LM75_I2C_CLK RCC_APB1Periph_I2C1 -#define LM75_I2C_SCL_PIN GPIO_Pin_6 /* PB.06 */ -#define LM75_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB -#define LM75_I2C_SDA_PIN GPIO_Pin_7 /* PB.07 */ -#define LM75_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB -#define LM75_I2C_SMBUSALERT_PIN GPIO_Pin_5 /* PB.05 */ -#define LM75_I2C_SMBUSALERT_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SMBUSALERT_GPIO_CLK RCC_APB2Periph_GPIOB -#define LM75_I2C_DR ((uint32_t)0x40005410) - -#define LM75_DMA_CLK RCC_AHBPeriph_DMA1 -#define LM75_DMA_TX_CHANNEL DMA1_Channel6 -#define LM75_DMA_RX_CHANNEL DMA1_Channel7 -#define LM75_DMA_TX_TCFLAG DMA1_FLAG_TC6 -#define LM75_DMA_RX_TCFLAG DMA1_FLAG_TC7 -/** - * @} - */ -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_LOW_LEVEL_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_LOW_LEVEL_Exported_Functions - * @{ - */ -void STM_EVAL_LEDInit(Led_TypeDef Led); -void STM_EVAL_LEDOn(Led_TypeDef Led); -void STM_EVAL_LEDOff(Led_TypeDef Led); -void STM_EVAL_LEDToggle(Led_TypeDef Led); -void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode); -uint32_t STM_EVAL_PBGetState(Button_TypeDef Button); -void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct); -void SD_LowLevel_DeInit(void); -void SD_LowLevel_Init(void); -void sFLASH_LowLevel_DeInit(void); -void sFLASH_LowLevel_Init(void); -void LM75_LowLevel_DeInit(void); -void LM75_LowLevel_Init(void); -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32100B_EVAL_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_cec.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_cec.c deleted file mode 100644 index eefc578df..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_cec.c +++ /dev/null @@ -1,1722 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100b_eval_cec.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides all the STM32100B-EVAL HDMI-CEC firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32100b_eval_cec.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100B_EVAL - * @{ - */ - -/** @defgroup STM32100B_EVAL_CEC - * @brief This file includes the CEC Stack driver for HDMI-CEC Module - * of STM32100B-EVAL board. - * @{ - */ - -/** @defgroup STM32100B_EVAL_CEC_Private_Types - * @{ - */ - -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_CEC_Private_Defines - * @{ - */ - - -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_CEC_Private_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_CEC_Private_Variables - * @{ - */ - -__IO uint32_t ReceivedFrame = 0; -__IO uint32_t SendFrame = 0; -__IO uint32_t BufferCount = 0, TxCounter = 0, RxCounter = 0; -__IO uint8_t BufferPointer[15]; -__IO uint32_t ReceiveStatus = 0; -__IO uint32_t SendStatus = 0; -__IO uint8_t TransErrorCode = 0; -__IO uint8_t RecepErrorCode = 0; -__IO uint8_t MyLogicalAddress = 0; -__IO uint16_t MyPhysicalAddress = 0; -__IO uint8_t DeviceType = 0; -#ifdef HDMI_CEC_USE_DDC -__IO uint8_t pBuffer[256]; -__IO uint16_t NumByteToRead = 255; -#endif -__IO uint8_t CECDevicesNumber = 0; - -HDMI_CEC_Message HDMI_CEC_TX_MessageStructPrivate; -HDMI_CEC_Message HDMI_CEC_RX_MessageStructPrivate; -HDMI_CEC_Message HDMI_CEC_TX_MessageStructure; - -__IO uint8_t FeatureOpcode = 0; -__IO uint8_t AbortReason = 0; -__IO uint8_t DeviceCount = 0; - -HDMI_CEC_Map HDMI_CEC_MapStruct; -HDMI_CEC_Map HDMI_CEC_DeviceMap[14]; - -/* CEC follower addresses */ -uint8_t* HDMI_CEC_Follower_String[13][2] = - { - {(uint8_t *)" TV ", (uint8_t *)"0"}, - {(uint8_t *)"Recording Device 1 ", (uint8_t *)"0"}, - {(uint8_t *)"Recording Device 2 ", (uint8_t *)"0"}, - {(uint8_t *)" Tuner 1 ", (uint8_t *)"0"}, - {(uint8_t *)" Playback Device 1 ", (uint8_t *)"0"}, - {(uint8_t *)" Audio System ", (uint8_t *)"0"}, - {(uint8_t *)" Tuner 2 ", (uint8_t *)"0"}, - {(uint8_t *)" Tuner 3 ", (uint8_t *)"0"}, - {(uint8_t *)" Playback Device 2 ", (uint8_t *)"0"}, - {(uint8_t *)"Recording Device 3 ", (uint8_t *)"0"}, - {(uint8_t *)" Tuner 4 ", (uint8_t *)"0"}, - {(uint8_t *)" Playback Device 3 ", (uint8_t *)"0"}, - {(uint8_t *)" Broadcast ", (uint8_t *)"1"} - }; - -/** - * @} - */ - - -/** @defgroup STM32100B_EVAL_CEC_Private_Function_Prototypes - * @{ - */ -static HDMI_CEC_Error PhysicalAddressDiscovery(void); -static HDMI_CEC_Error LogicalAddressAllocation(void); - - -/** - * @} - */ - - -/** @defgroup STM32100B_EVAL_CEC_Private_Functions - * @{ - */ - -/** - * @brief Initializes the HDMI CEC. - * @param None - * @retval HDMI_CEC_Error: CEC Error code - */ -HDMI_CEC_Error HDMI_CEC_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - CEC_InitTypeDef CEC_InitStructure; - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - uint8_t sendcount = 0; - -#ifdef HDMI_CEC_USE_DDC - I2C_InitTypeDef I2C_InitStructure; - /* Enable CEC_I2C clocks */ - RCC_APB1PeriphClockCmd(HDMI_CEC_I2C_CLK, ENABLE); - - /* Enable CEC_I2C_GPIO and CEC_HPD_GPIO clocks */ - RCC_APB2PeriphClockCmd(HDMI_CEC_I2C_GPIO_CLK | HDMI_CEC_HPD_GPIO_CLK, ENABLE); -#endif - - /* Enable CEC clocks */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_CEC, ENABLE); - - /* Enable CEC_LINE_GPIO clocks */ - RCC_APB2PeriphClockCmd(HDMI_CEC_LINE_GPIO_CLK, ENABLE); - - /* Configure CEC_LINE_GPIO as Output open drain */ - GPIO_InitStructure.GPIO_Pin = HDMI_CEC_LINE_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; - GPIO_Init(HDMI_CEC_LINE_GPIO_PORT, &GPIO_InitStructure); - -#ifdef HDMI_CEC_USE_DDC - /* Configure CEC_I2C_SCL_PIN and CEC_I2C_SDA_PIN as Output open drain */ - GPIO_InitStructure.GPIO_Pin = HDMI_CEC_I2C_SCL_PIN | HDMI_CEC_I2C_SDA_PIN; - GPIO_Init(HDMI_CEC_I2C_GPIO_PORT, &GPIO_InitStructure); - -/* This configuration is only when the HDMI CEC is configured as source. - The HDMI source has to provide the +5V Power signal to the sink. - On STM32100B-EVAL borad, you have to solder the SB4 Solder bridge. - Then, the source will wait for HPD signal to be asserted from the sink. - Once the HPD signal is detected the source shall read the EDID structure - throuhgh the DDC channel. */ - /* Configure CEC_HPD_GPIO as Input pull down */ - GPIO_InitStructure.GPIO_Pin = HDMI_CEC_HPD_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; - GPIO_Init(HDMI_CEC_HPD_GPIO_PORT, &GPIO_InitStructure); - - -/* This configuration is only when the HDMI CEC is configured as sink. - The HDMI sink has to wait for the +5V Power signal from the source. - On STM32100B-EVAL borad, SB4 Solder bridge should be open (default configuration). - Then, the sink will assert the HPD signal to inform the source that the EDID - is ready for read through DDC channel. In this implementation, the EDID structure - is not implemented. */ -/* GPIO_InitStructure.GPIO_Pin = HDMI_CEC_HPD_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(HDMI_CEC_HPD_GPIO_PORT, &GPIO_InitStructure); - - HDMI_CEC_HPD_HIGH(); // Set the Hot plug detect signal */ - - /* Enable CEC_I2C */ - I2C_Cmd(HDMI_CEC_I2C, ENABLE); - - /* I2C configuration */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2; - I2C_InitStructure.I2C_OwnAddress1 = HDMI_CEC_I2C_SLAVE_ADDRESS7; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; - I2C_InitStructure.I2C_ClockSpeed = HDMI_CEC_I2C_CLOCK_SPEED; - I2C_Init(HDMI_CEC_I2C, &I2C_InitStructure); -#endif - - /* Physical Address discovery */ - errorstatus = PhysicalAddressDiscovery(); - - if (errorstatus != HDMI_CEC_OK) - { - /* Device not connected (Physical Address lost) */ - return(errorstatus); - } - - - /* CEC DeInit */ - CEC_DeInit(); - - /* Configure CEC */ - CEC_InitStructure.CEC_BitTimingMode = CEC_BitTimingStdMode; - CEC_InitStructure.CEC_BitPeriodMode = CEC_BitPeriodStdMode; - CEC_Init(&CEC_InitStructure); - - /* Set Prescaler value for APB1 clock = 24MHz */ - CEC_SetPrescaler(0x4AF); - - /* Enable CEC */ - CEC_Cmd(ENABLE); - - /* Logical Address Allocation */ - sendcount = 0; - errorstatus = LogicalAddressAllocation(); - - while ((errorstatus != HDMI_CEC_OK) && sendcount < 0x5) - { - sendcount++; - errorstatus = LogicalAddressAllocation(); - } - - if (errorstatus != HDMI_CEC_OK) - { - /* Device Unregistred */ - return(errorstatus); - } - - HDMI_CEC_CheckConnectedDevices(); - - /* Set the CEC initiator address */ - CEC_OwnAddressConfig(MyLogicalAddress); - - /* Activate CEC interrupts associated to the set of RBTF,RERR, TBTF, TERR flags */ - CEC_ITConfig(ENABLE); - - /* Report physical address*/ - errorstatus = HDMI_CEC_ReportPhysicalAddress(); - sendcount = 0; - - while ((errorstatus != HDMI_CEC_OK) && sendcount < 0x5) - { - sendcount++; - errorstatus = HDMI_CEC_ReportPhysicalAddress(); - } - - if (errorstatus != HDMI_CEC_OK) - { - /* Device Unregistred */ - return(errorstatus); - } - - return errorstatus; -} - -/** - * @brief Transmit message by taking data from typedef struct CEC_Meassage - * @param CEC_TX_MessageStructure: pointer to an CEC_Message structure that contains - * the message to be sent. - * @retval HDMI_CEC_Error: CEC Error code - */ -HDMI_CEC_Error HDMI_CEC_TransmitMessage(HDMI_CEC_Message *HDMI_CEC_TX_MessageStructure) -{ - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - __IO uint32_t count = 0, j = 0; - - SendFrame = 0; - SendStatus = 0; - TxCounter = 0; - BufferCount = 0; - - HDMI_CEC_TX_MessageStructPrivate = *HDMI_CEC_TX_MessageStructure; - - /* Initialize BufferPointer */ - for (j = 0; j < 15; j++) - { - BufferPointer[j] = 0; - } - - BufferPointer[0] = HDMI_CEC_TX_MessageStructPrivate.Opcode; - - for (BufferCount = 1; BufferCount < HDMI_CEC_TX_MessageStructPrivate.TxMessageLength + 1; BufferCount++) - { - BufferPointer[BufferCount] = HDMI_CEC_TX_MessageStructPrivate.Operande[BufferCount-1]; - } - - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - /* Write single Data in the TX Buffer to Transmit through the CEC peripheral */ - CEC_SendDataByte(HDMI_CEC_TX_MessageStructPrivate.Header); - - /* Initiate Message Transmission */ - CEC_StartOfMessage(); - - while ((SendFrame == 0) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - if (SendStatus == 0) - { - errorstatus = (HDMI_CEC_Error) TransErrorCode; - } - - return errorstatus; -} - - -/** - * @brief Get the ESR register status. - * @param None - * @retval HDMI_CEC_Error: CEC Error code - */ -HDMI_CEC_Error HDMI_CEC_GetErrorStatus (void) -{ - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - - /* Bit timing error case*/ - if (CEC_GetFlagStatus(CEC_FLAG_BTE) != RESET) - { - errorstatus = HDMI_CEC_BIT_TIMING; - } - /* Bit period error case */ - if (CEC_GetFlagStatus(CEC_FLAG_BPE) != RESET) - { - errorstatus = HDMI_CEC_BIT_PERIOD; - } - /* Recieve error case */ - if (CEC_GetFlagStatus(CEC_FLAG_RBTFE) != RESET) - { - errorstatus = HDMI_CEC_RX_BLOCK_FINISHED; - } - /* Start bit error case*/ - if (CEC_GetFlagStatus(CEC_FLAG_SBE) != RESET) - { - errorstatus = HDMI_CEC_START_BIT; - } - /* Acknowledge error case*/ - if (CEC_GetFlagStatus(CEC_FLAG_ACKE) != RESET) - { - errorstatus = HDMI_CEC_BLOCK_ACKNOWLEDGE; - } - /* Line error case */ - if (CEC_GetFlagStatus(CEC_FLAG_LINE) != RESET) - { - errorstatus = HDMI_CEC_LINE; - } - /* Transfert error case*/ - if (CEC_GetFlagStatus(CEC_FLAG_TBTFE) != RESET) - { - errorstatus = HDMI_CEC_TX_BLOCK_FINISHED; - } - /* Clear All errors */ - CEC_ClearFlag(CEC_FLAG_RERR); - CEC_ClearFlag(CEC_FLAG_TERR); - return errorstatus; -} - -/** - * @brief Allows to process all the interrupts that are high. - * @param None - * @retval None - */ -void HDMI_CEC_ProcessIRQSrc(void) -{ - /********************** Reception *********************************************/ - /* Check if a reception error occured */ - if (CEC_GetFlagStatus(CEC_FLAG_RERR)) - { - /* Set receive status bit (Error) */ - ReceiveStatus = 0; - ReceivedFrame = 1; - RecepErrorCode = HDMI_CEC_GetErrorStatus(); - CEC_ClearFlag(CEC_FLAG_RERR | CEC_FLAG_RSOM | CEC_FLAG_REOM | CEC_FLAG_RBTF); - } - else if (CEC_GetFlagStatus(CEC_FLAG_RBTF)) - { - /* Check if the byte received is the last one of the message */ - if (CEC_GetFlagStatus(CEC_FLAG_REOM)) - { - HDMI_CEC_RX_MessageStructPrivate.Operande[RxCounter-1] = CEC_ReceiveDataByte(); - HDMI_CEC_RX_MessageStructPrivate.RxMessageLength = RxCounter; - ReceiveStatus = SUCCESS; - ReceivedFrame = 1; - } - /* Check if the byte received is a Header */ - else if (CEC_GetFlagStatus(CEC_FLAG_RSOM)) - { - ReceiveStatus = 0; - HDMI_CEC_RX_MessageStructPrivate.Header = CEC_ReceiveDataByte(); - RxCounter = 0; - } - /* Receive each byte except header in the reception buffer */ - else - { - if (RxCounter != 0) - { - HDMI_CEC_RX_MessageStructPrivate.Operande[RxCounter-1] = CEC_ReceiveDataByte(); - RxCounter++; - } - else - { - HDMI_CEC_RX_MessageStructPrivate.Opcode = CEC_ReceiveDataByte(); - RxCounter++; - } - - } - /* Clear all reception flags */ - CEC_ClearFlag(CEC_FLAG_RSOM | CEC_FLAG_REOM | CEC_FLAG_RBTF); - } - - /********************** Transmission ******************************************/ - /* Check if a transmission error occured */ - if (CEC_GetFlagStatus(CEC_FLAG_TERR)) - { - TransErrorCode = HDMI_CEC_GetErrorStatus(); - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - SendFrame = 1; - SendStatus = 0; - } - /* Check if end of message bit is set in the data to be transmitted */ - else if (CEC_GetFlagStatus(CEC_FLAG_TEOM)) - { - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_RBTF); - CEC_EndOfMessageCmd(DISABLE); - SendFrame = 1; - SendStatus = SUCCESS; - } - /* Check if data byte has been sent */ - else if (CEC_GetFlagStatus(CEC_FLAG_TBTRF)) - { - /* Set EOM bit if the byte to be transmitted is the last one of the TransmitBuffer */ - if (TxCounter == (HDMI_CEC_TX_MessageStructPrivate.TxMessageLength)) - { - CEC_SendDataByte(BufferPointer[TxCounter]); - TxCounter++; - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(ENABLE); - } - else - { - /* Put the byte in the TX Buffer */ - CEC_SendDataByte(BufferPointer[TxCounter]); - TxCounter++; - CEC_ClearFlag(CEC_FLAG_TBTRF); - } - } -} - -/** - * @brief Report physical address to all other devices thus allowing any - device to create a map of the network. - * @param None - * @retval HDMI_CEC_Error: CEC Error code. - */ -HDMI_CEC_Error HDMI_CEC_ReportPhysicalAddress(void) -{ - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - HDMI_CEC_Message HDMI_CEC_TX_Message; - - HDMI_CEC_TX_Message.Header = ((MyLogicalAddress << 4) | 0xF); - HDMI_CEC_TX_Message.Opcode = HDMI_CEC_OPCODE_REPORT_PHYSICAL_ADDRESS; - HDMI_CEC_TX_Message.Operande[0] = MyPhysicalAddress >> 8; - HDMI_CEC_TX_Message.Operande[1] = MyPhysicalAddress & 0xFF; - HDMI_CEC_TX_Message.Operande[2] = DeviceType; - HDMI_CEC_TX_Message.TxMessageLength = 0x03; - - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_Message); - - return errorstatus; -} - -/** - * @brief Handle CEC command receive callback. - * When receiving the STANDBY Opcode commande, the system is entred in - * Stop mode and when wakeup, the PLL is configured as system clock and - * the HSI is selected as PLL source. - * @param None - * @retval None - */ -void HDMI_CEC_CommandCallBack(void) -{ - uint8_t i = 0, sendcount = 0; - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - EXTI_InitTypeDef EXTI_InitStructure; - - switch (HDMI_CEC_RX_MessageStructPrivate.Opcode) - { - case HDMI_CEC_OPCODE_REPORT_PHYSICAL_ADDRESS: - HDMI_CEC_MapStruct.PhysicalAddress_A = HDMI_CEC_RX_MessageStructPrivate.Operande[1] >> 4; - HDMI_CEC_MapStruct.PhysicalAddress_B = HDMI_CEC_RX_MessageStructPrivate.Operande[1] & 0x0F; - HDMI_CEC_MapStruct.PhysicalAddress_C = HDMI_CEC_RX_MessageStructPrivate.Operande[0] >> 4; - HDMI_CEC_MapStruct.PhysicalAddress_D = HDMI_CEC_RX_MessageStructPrivate.Operande[0] & 0x0F; - HDMI_CEC_MapStruct.LogicalAddress = (HDMI_CEC_RX_MessageStructPrivate.Header >> 0x4) & 0x0F; - HDMI_CEC_MapStruct.DeviceType = HDMI_CEC_RX_MessageStructPrivate.Operande[2]; - HDMI_CEC_DeviceMap[DeviceCount] = HDMI_CEC_MapStruct; - HDMI_CEC_Follower_String[(HDMI_CEC_DeviceMap[DeviceCount].LogicalAddress)][1] = (uint8_t *)"1"; - DeviceCount++; - break; - - case HDMI_CEC_OPCODE_STANDBY: - /* CEC Line */ - GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8); - /* Configure the CEC Line as EXTI Line on Falling Edge */ - EXTI_ClearITPendingBit(EXTI_Line8); - EXTI_InitStructure.EXTI_Line = EXTI_Line8; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - /* Request to enter Stop mode */ - PWR_EnterSTOPMode(PWR_Regulator_ON, PWR_STOPEntry_WFI); - - /* Disable the CEC EXTI Line */ - EXTI_InitStructure.EXTI_LineCmd = DISABLE; - EXTI_Init(&EXTI_InitStructure); - /* Configure the PLL Source */ - RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_6); - - /* Enable PLL */ - RCC_PLLCmd(ENABLE); - - /* Wait till PLL is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) - { - } - - /* Select PLL as system clock source */ - RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); - - /* Wait till PLL is used as system clock source */ - while(RCC_GetSYSCLKSource() != 0x08) - { - } - break; - - case HDMI_CEC_OPCODE_GET_CEC_VERSION: - /* Send the Used CEC version */ - HDMI_CEC_TX_MessageStructPrivate.Header = ((MyLogicalAddress << 4) | HDMI_CEC_RX_MessageStructPrivate.Header >> 4); - HDMI_CEC_TX_MessageStructPrivate.Opcode = HDMI_CEC_OPCODE_CEC_VERSION; - HDMI_CEC_TX_MessageStructPrivate.Operande[0] = HDMI_CEC_VERSION; /* CEC Version */ - HDMI_CEC_TX_MessageStructPrivate.TxMessageLength = 0x01; - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_MessageStructPrivate); - - /* Retransmit message until 5 time */ - while ((errorstatus != HDMI_CEC_OK) && sendcount < 0x5) - { - sendcount++; - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_MessageStructPrivate); - } - break; - - case HDMI_CEC_OPCODE_GIVE_PHYSICAL_ADDRESS: - /* Send the Physical address */ - errorstatus = HDMI_CEC_ReportPhysicalAddress(); - sendcount = 0; - /* Retransmit message until 5 time */ - while ((errorstatus != HDMI_CEC_OK) && sendcount < 0x5) - { - sendcount++; - errorstatus = HDMI_CEC_ReportPhysicalAddress(); - } - break; - - case HDMI_CEC_OPCODE_FEATURE_ABORT: - /* The device doesn't support the requested message type, or that it cannot - execute it at the present time. */ - FeatureOpcode = HDMI_CEC_RX_MessageStructPrivate.Operande[0]; - AbortReason = HDMI_CEC_RX_MessageStructPrivate.Operande[1]; - break; - - case HDMI_CEC_OPCODE_GIVE_OSD_NAME: - /* Send the OSD name = STM32100B CEC*/ - HDMI_CEC_TX_MessageStructPrivate.Header = ((MyLogicalAddress << 4) | HDMI_CEC_RX_MessageStructPrivate.Header >> 4); - HDMI_CEC_TX_MessageStructPrivate.Opcode = HDMI_CEC_OPCODE_SET_OSD_NAME; - /* STM32100B*/ - HDMI_CEC_TX_MessageStructPrivate.Operande[0] = 0x53; - HDMI_CEC_TX_MessageStructPrivate.Operande[1] = 0x54; - HDMI_CEC_TX_MessageStructPrivate.Operande[2] = 0x4D; - HDMI_CEC_TX_MessageStructPrivate.Operande[3] = 0x33; - HDMI_CEC_TX_MessageStructPrivate.Operande[4] = 0x32; - HDMI_CEC_TX_MessageStructPrivate.Operande[5] = 0x31; - HDMI_CEC_TX_MessageStructPrivate.Operande[6] = 0x30; - HDMI_CEC_TX_MessageStructPrivate.Operande[7] = 0x30; - HDMI_CEC_TX_MessageStructPrivate.Operande[8] = 0x42; - HDMI_CEC_TX_MessageStructPrivate.Operande[9] = 0x20; - /* CEC */ - HDMI_CEC_TX_MessageStructPrivate.Operande[10] = 0x43; - HDMI_CEC_TX_MessageStructPrivate.Operande[11] = 0x45; - HDMI_CEC_TX_MessageStructPrivate.Operande[12] = 0x43; - HDMI_CEC_TX_MessageStructPrivate.TxMessageLength = 13; - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_MessageStructPrivate); - sendcount = 0; - /* Retransmit message until 5 time */ - while ((errorstatus != HDMI_CEC_OK) && sendcount < 0x5) - { - sendcount++; - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_MessageStructPrivate); - } - break; - - case HDMI_CEC_OPCODE_ROUTING_CHANGE: - for (i = 0;i < 0x14;i++) - { - if ((HDMI_CEC_DeviceMap[i].PhysicalAddress_A == HDMI_CEC_RX_MessageStructPrivate.Operande[1] >> 4) && - (HDMI_CEC_DeviceMap[i].PhysicalAddress_B == HDMI_CEC_RX_MessageStructPrivate.Operande[1]&0x0F) && - (HDMI_CEC_DeviceMap[i].PhysicalAddress_C == HDMI_CEC_RX_MessageStructPrivate.Operande[0] >> 4) && - (HDMI_CEC_DeviceMap[i].PhysicalAddress_D == HDMI_CEC_RX_MessageStructPrivate.Operande[0]&0x0F)) - { - HDMI_CEC_MapStruct.LogicalAddress = (HDMI_CEC_RX_MessageStructPrivate.Header >> 0x4) & 0x0F; - HDMI_CEC_MapStruct.DeviceType = HDMI_CEC_RX_MessageStructPrivate.Operande[2]; - HDMI_CEC_DeviceMap[i] = HDMI_CEC_MapStruct; - } - } - break; - - default: - /* Send Abort feature*/ - HDMI_CEC_TX_MessageStructPrivate.Header = ((MyLogicalAddress << 4) | HDMI_CEC_RX_MessageStructPrivate.Header >> 4); - HDMI_CEC_TX_MessageStructPrivate.Opcode = HDMI_CEC_OPCODE_FEATURE_ABORT; - HDMI_CEC_TX_MessageStructPrivate.Operande[0] = 0x02; /* defines command to be performed */ - HDMI_CEC_TX_MessageStructPrivate.Operande[1] = HDMI_CEC_REFUSED; /* Reason for abort feature */ - HDMI_CEC_TX_MessageStructPrivate.TxMessageLength = 0x02; - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_MessageStructPrivate); - sendcount = 0; - /* Retransmit message until 5 time */ - while ((errorstatus != HDMI_CEC_OK) && sendcount < 0x5) - { - sendcount++; - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_MessageStructPrivate); - } - break; - - } -} - -/** - * @brief Check the connected CEC devices. - * @param None - * @retval HDMI_CEC_Error - */ -HDMI_CEC_Error HDMI_CEC_CheckConnectedDevices(void) -{ - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - uint32_t count = 0, i = 1; - - /*----------------------------- TV device ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x0); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[0][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Recording device 1 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x1); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[1][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - /*----------------------------- Recording device 2 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x2); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[2][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Tuner 1 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x3); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[3][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - /*----------------------------- Playback device 1 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x4); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[4][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Audio system ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x5); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[5][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Tuner 2 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x6); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[6][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Tuner 3 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x7); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[7][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Playback device 2 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x8); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[8][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Recording device 3 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x9); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[9][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - /*----------------------------- Tuner 4 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0xA); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[10][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - /*----------------------------- Playback device 3 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0xB); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[11][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - CECDevicesNumber = i - 1; - - return errorstatus; -} - -/** - * @brief Physical address discovery. - * @param None - * @retval HDMI_CEC_Error: CEC Error code. - */ -static HDMI_CEC_Error PhysicalAddressDiscovery(void) -{ - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; -#ifdef HDMI_CEC_USE_DDC - uint32_t index = 0, i = 0; -#endif - - /*------------------------------ Physical address discovery -----------------*/ - if (HDMI_CEC_ROOT == 0x1) - { - MyPhysicalAddress = 0x0000; - /* The HDMI-CEC here is configured as sink or as a repeater. The configuration - of the +5V power signal and the HPD should be well configured. - Implement here the EDID Structure to be sent to the HDMI source. - For more details please refer to the HDMI specification. - The EDID structure should be sent to the device source using the DDC Channel - and using the HPD signal. */ - } - else - { - -#ifdef HDMI_CEC_USE_DDC - /* The HDMI-CEC here is configured as source or as a repeater. The configuration - of the +5V power signal and the HPD should be well configured. - The source should wait for HPD and then read the EDID structure. */ - while(GPIO_ReadInputDataBit(HDMI_CEC_HPD_GPIO_PORT, HDMI_CEC_HPD_PIN) == RESET) - { - } - /* Wait for 100 ms after HPD was received */ - for(i = 0; i < 0x5FFFF; i++) - { - } - - /* Return the physical address using the I2C by reading the 2 bytes 24 and - 25 form the EDID */ - /* Read the EDID Block 0 and EDID Block 1 at address 0xA0 */ - /*!< While the bus is busy */ - while(I2C_GetFlagStatus(HDMI_CEC_I2C, I2C_FLAG_BUSY)) - { - } - - /*!< Send START condition */ - I2C_GenerateSTART(HDMI_CEC_I2C, ENABLE); - - /*!< Test on EV5 and clear it */ - while(!I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_MODE_SELECT)) - { - } - - /*!< Send EEPROM address for write */ - I2C_Send7bitAddress(HDMI_CEC_I2C, 0xA0, I2C_Direction_Transmitter); - - - /*!< Test on EV6 and clear it */ - while(!I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - } - - /*!< Send the EEPROM's internal address to read from: Only one byte address */ - I2C_SendData(HDMI_CEC_I2C, 0x00); - - /*!< Test on EV8 and clear it */ - while(!I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) - { - } - - /*!< Send STRAT condition a second time */ - I2C_GenerateSTART(HDMI_CEC_I2C, ENABLE); - - /*!< Test on EV5 and clear it */ - while(!I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_MODE_SELECT)) - { - } - - /*!< Send EEPROM address for read */ - I2C_Send7bitAddress(HDMI_CEC_I2C, 0xA1, I2C_Direction_Receiver); - - /*!< Test on EV6 and clear it */ - while(!I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - } - - /* While there is data to be read */ - while (NumByteToRead-- > 1) - { - while(I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_BYTE_RECEIVED)) - { - } - for(i = 0; i < 0xFFF; i++) - { - } - pBuffer[index++] = I2C_ReceiveData(HDMI_CEC_I2C); - } - - /* Disable Acknowledgement */ - I2C_AcknowledgeConfig(HDMI_CEC_I2C, DISABLE); - - /* Send STOP Condition */ - I2C_GenerateSTOP(HDMI_CEC_I2C, ENABLE); - - while(I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_BYTE_RECEIVED)); - pBuffer[index] = I2C_ReceiveData(HDMI_CEC_I2C); - - /* Enable Acknowledgement to be ready for another reception */ - I2C_AcknowledgeConfig(HDMI_CEC_I2C, ENABLE); - MyPhysicalAddress = ((pBuffer[138] << 8) | pBuffer[137]); -#else - MyPhysicalAddress = 0x1000; -#endif - } - - return errorstatus; -} -/** - * @brief Allocate the logical address. - * @param None - * @retval HDMI_CEC_Error: CEC Error code. - */ -static HDMI_CEC_Error LogicalAddressAllocation(void) -{ - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - uint32_t count = 0; - - /*------------------ Logical address allocation -----------------------------*/ - /* Get the device type */ - /* Device type = CEC_TV */ - if (DeviceType == HDMI_CEC_TV) - { - if (HDMI_CEC_ROOT) - { - MyLogicalAddress = 0x00; - } - else - { - CEC_OwnAddressConfig(0xE); /* Own address = 0xE */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0xEE); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the polling message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x0E; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - MyLogicalAddress = 0x0F; - errorstatus = HDMI_CEC_DEVICE_UNREGISTRED; - } - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - } - - /* Device type = CEC_RECORDING */ - if (DeviceType == HDMI_CEC_RECORDING) - { - CEC_OwnAddressConfig(0x1); /* Own address = 0x1 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x11); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x01; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0x2); /* Own address = 0x2 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x22); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x02; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0x9); /* Own address = 0x9 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x99); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x09; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - MyLogicalAddress = 0x0F; - errorstatus = HDMI_CEC_DEVICE_UNREGISTRED; - } - } - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - CEC_EndOfMessageCmd(DISABLE); - } - - /* Device type = CEC_TUNER */ - if (DeviceType == HDMI_CEC_TUNER) - { - CEC_OwnAddressConfig(0x3); /* Own address = 0x3 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x33); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x03; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0x6); /* Own address = 0x6 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x66); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x06; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0x7); /* Own address = 0x7 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x77); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x07; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0xA); /* Own address = 0xA */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0xAA); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x0A; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - MyLogicalAddress = 0x0F; - errorstatus = HDMI_CEC_DEVICE_UNREGISTRED; - } - } - } - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - CEC_EndOfMessageCmd(DISABLE); - } - - /* Device type = CEC_PLAYBACK */ - if (DeviceType == HDMI_CEC_PLAYBACK) - { - CEC_OwnAddressConfig(0x4); /* Own address = 0x4 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x44); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x04; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0x8); /* Own address = 0x8 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x88); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x08; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0xB); /* Own address = 0xBB */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0xBB); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x0B; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - MyLogicalAddress = 0x0F; - errorstatus = HDMI_CEC_DEVICE_UNREGISTRED; - } - } - } - - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - CEC_EndOfMessageCmd(DISABLE); - } - - /* Device type = CEC Audio System */ - if (DeviceType == HDMI_CEC_AUDIOSYSTEM) - { - CEC_OwnAddressConfig(0x5); /* Own address = 0x5 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x55); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x05; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - MyLogicalAddress = 0x0F; - errorstatus = HDMI_CEC_DEVICE_UNREGISTRED; - } - - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - CEC_EndOfMessageCmd(DISABLE); - } - - return errorstatus; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ - - diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_cec.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_cec.h deleted file mode 100644 index bb13ea4be..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_cec.h +++ /dev/null @@ -1,290 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100b_eval_cec.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the stm32100b_eval_cec - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32100B_EVAL_CEC_H -#define __STM32100B_EVAL_CEC_H - -#ifdef __cplusplus -extern "C" -{ -#endif - - /* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100B_EVAL - * @{ - */ - -/** @defgroup STM32100B_EVAL_CEC - * @{ - */ - -/** @defgroup STM32100B_EVAL_CEC_Exported_Types - * @{ - */ -typedef enum -{ - HDMI_CEC_BIT_TIMING = (1), /*!< CEC Bit Timing Error */ - HDMI_CEC_BIT_PERIOD = (2), /*!< CEC Bit Period Error */ - HDMI_CEC_RX_BLOCK_FINISHED = (3), /*!< CEC Receive Block finished Error */ - HDMI_CEC_START_BIT = (4), /*!< CEC Start Bit Error */ - HDMI_CEC_BLOCK_ACKNOWLEDGE = (5), /*!< CEC Block Acknowledge Error */ - HDMI_CEC_LINE = (6), /*!< CEC Line Error */ - HDMI_CEC_TX_BLOCK_FINISHED = (7), /*!< CEC Transmit Block Transfer finished Error */ - HDMI_CEC_DEVICE_UNREGISTRED = (8), /*!< CEC Device Unregistred */ - HDMI_CEC_TIMEOUT = (9), /*!< CEC TimeOut */ - HDMI_CEC_OK = (10) /*!< CEC OK */ -}HDMI_CEC_Error; - -typedef struct -{ - __IO uint8_t PhysicalAddress_A; - __IO uint8_t PhysicalAddress_B; - __IO uint8_t PhysicalAddress_C; - __IO uint8_t PhysicalAddress_D; - __IO uint8_t LogicalAddress; - __IO uint8_t DeviceType; -}HDMI_CEC_Map; - - -#define HDMI_CEC_TX_MESSAGE_LENGTH_MAX ((uint32_t)0x0000000E) -#define HDMI_CEC_TIMEOUT_VALUE ((uint32_t)0x001FFFFF) - -/** -* @brief CEC Init Structure definition -*/ -typedef struct -{ - __IO uint8_t Header; - __IO uint8_t Opcode; - __IO uint8_t Operande[HDMI_CEC_TX_MESSAGE_LENGTH_MAX]; - __IO uint8_t TxMessageLength; - __IO uint8_t RxMessageLength; -}HDMI_CEC_Message; - -/** -* @} -*/ - -/** @defgroup STM32100B_EVAL_CEC_Exported_Constants - * @{ - */ - -/** - * @brief CEC device types - */ -#define HDMI_CEC_TV 0x00 -#define HDMI_CEC_RECORDING 0x01 -#define HDMI_CEC_TUNER 0x03 -#define HDMI_CEC_PLAYBACK 0x04 -#define HDMI_CEC_AUDIOSYSTEM 0x05 - - -/** - * @brief HDMI CEC I2C Interface pins - */ -#define HDMI_CEC_I2C_SCL_PIN GPIO_Pin_10 -#define HDMI_CEC_I2C_SDA_PIN GPIO_Pin_11 -#define HDMI_CEC_I2C_GPIO_PORT GPIOB -#define HDMI_CEC_I2C_GPIO_CLK RCC_APB2Periph_GPIOB -#define HDMI_CEC_I2C I2C2 -#define HDMI_CEC_I2C_CLK RCC_APB1Periph_I2C2 - -/** - * @brief HDMI CEC HPD (Hot Plug Detect) Interface pin - */ -#define HDMI_CEC_HPD_PIN GPIO_Pin_12 -#define HDMI_CEC_HPD_GPIO_PORT GPIOB -#define HDMI_CEC_HPD_GPIO_CLK RCC_APB2Periph_GPIOB - -/** - * @brief HDMI CEC Interface pin - */ -#define HDMI_CEC_LINE_PIN GPIO_Pin_8 -#define HDMI_CEC_LINE_GPIO_PORT GPIOB -#define HDMI_CEC_LINE_GPIO_CLK RCC_APB2Periph_GPIOB - -#define HDMI_CEC_I2C_SLAVE_ADDRESS7 0xA0 -#define HDMI_CEC_I2C_CLOCK_SPEED 100000 - -/** - * @brief HDMI CEC Root (Mainly for TV with a fixed physical address (0.0.0.0)) - * If you want to configure the STM32100B-EVAL board as CEC Root (Sink) - * change the following define to 0x1 - */ -#define HDMI_CEC_ROOT 0x00 - -/** - * @brief To select if the DDC Channel will be used for physical address discovery - * or not. To use the DDC Channel to read the EDID structure uncomment - * the following line. - * If the device is configured as HMDI source it should read his own physical - * address from the sink that is connected to. - */ -/* #define HDMI_CEC_USE_DDC */ - -/** - * @brief CEC version: V1.3a - */ -#define HDMI_CEC_VERSION 0x04 - -/** - * @brief Reason for Abort feature - */ -#define HDMI_CEC_UNRECOGNIZED_OPCODE 0x00 -#define HDMI_CEC_NOT_CORRECT_MODETORESPOND 0x01 -#define HDMI_CEC_CANNOTPROVIDE_SOURCE 0x02 -#define HDMI_CEC_INVALID_OPERAND 0x03 -#define HDMI_CEC_REFUSED 0x04 - -/** - * @brief HDMI CEC specific commands - */ -#define HDMI_CEC_OPCODE_ACTIVE_SOURCE ((uint8_t) 0x82) -#define HDMI_CEC_OPCODE_IMAGE_VIEW_ON ((uint8_t) 0x04) -#define HDMI_CEC_OPCODE_TEXT_VIEW_ON ((uint8_t) 0x0D) -#define HDMI_CEC_OPCODE_INACTIVE_SOURCE ((uint8_t) 0x9D) -#define HDMI_CEC_OPCODE_REQUEST_ACTIVE_SOURCE ((uint8_t) 0x85) -#define HDMI_CEC_OPCODE_ROUTING_CHANGE ((uint8_t) 0x80) -#define HDMI_CEC_OPCODE_ROUTING_INFORMATION ((uint8_t) 0x81) -#define HDMI_CEC_OPCODE_SET_STREAM_PATH ((uint8_t) 0x86) -#define HDMI_CEC_OPCODE_STANDBY ((uint8_t) 0x36) -#define HDMI_CEC_OPCODE_RECORD_OFF ((uint8_t) 0x0B) -#define HDMI_CEC_OPCODE_RECORD_ON ((uint8_t) 0x09) -#define HDMI_CEC_OPCODE_RECORD_STATUS ((uint8_t) 0x0A) -#define HDMI_CEC_OPCODE_RECORD_TV_SCREEN ((uint8_t) 0x0F) -#define HDMI_CEC_OPCODE_CLEAR_ANALOGUE_TIMER ((uint8_t) 0x33) -#define HDMI_CEC_OPCODE_CLEAR_DIGITAL_TIMER ((uint8_t) 0x99) -#define HDMI_CEC_OPCODE_CLEAR_EXTERNAL_TIMER ((uint8_t) 0xA1) -#define HDMI_CEC_OPCODE_SET_ANALOGUE_TIMER ((uint8_t) 0x34) -#define HDMI_CEC_OPCODE_SET_DIGITAL_TIMER ((uint8_t) 0x97) -#define HDMI_CEC_OPCODE_SET_EXTERNAL_TIMER ((uint8_t) 0xA2) -#define HDMI_CEC_OPCODE_SET_TIMER_PROGRAM_TITLE ((uint8_t) 0x67) -#define HDMI_CEC_OPCODE_TIMER_CLEARED_STATUS ((uint8_t) 0x43) -#define HDMI_CEC_OPCODE_TIMER_STATUS ((uint8_t) 0x35) -#define HDMI_CEC_OPCODE_CEC_VERSION ((uint8_t) 0x9E) -#define HDMI_CEC_OPCODE_GET_CEC_VERSION ((uint8_t) 0x9F) -#define HDMI_CEC_OPCODE_GIVE_PHYSICAL_ADDRESS ((uint8_t) 0x83) -#define HDMI_CEC_OPCODE_GET_MENU_LANGUAGE ((uint8_t) 0x91) -#define HDMI_CEC_OPCODE_REPORT_PHYSICAL_ADDRESS ((uint8_t) 0x84) -#define HDMI_CEC_OPCODE_SET_MENU_LANGUAGE ((uint8_t) 0x32) -#define HDMI_CEC_OPCODE_DECK_CONTROL ((uint8_t) 0x42) -#define HDMI_CEC_OPCODE_DECK_STATUS ((uint8_t) 0x1B) -#define HDMI_CEC_OPCODE_GIVE_DECK_STATUS ((uint8_t) 0x1A) -#define HDMI_CEC_OPCODE_PLAY ((uint8_t) 0x41) -#define HDMI_CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS ((uint8_t) 0x08) -#define HDMI_CEC_OPCODE_SELECT_ANALOGUE_SERVICE ((uint8_t) 0x92) -#define HDMI_CEC_OPCODE_SELECT_DIGITAL_SERVICE ((uint8_t) 0x93) -#define HDMI_CEC_OPCODE_TUNER_DEVICE_STATUS ((uint8_t) 0x07) -#define HDMI_CEC_OPCODE_TUNER_STEP_DECREMENT ((uint8_t) 0x06) -#define HDMI_CEC_OPCODE_TUNER_STEP_INCREMENT ((uint8_t) 0x05) -#define HDMI_CEC_OPCODE_DEVICE_VENDOR_ID ((uint8_t) 0x87) -#define HDMI_CEC_OPCODE_GIVE_DEVICE_VENDOR_ID ((uint8_t) 0x8C) -#define HDMI_CEC_OPCODE_VENDOR_COMMAND ((uint8_t) 0x89) -#define HDMI_CEC_OPCODE_VENDOR_COMMAND_WITH_ID ((uint8_t) 0xA0) -#define HDMI_CEC_OPCODE_VENDOR_REMOTE_BUTTON_DOWN ((uint8_t) 0x8A) -#define HDMI_CEC_OPCODE_VENDOR_REMOTE_BUTTON_UP ((uint8_t) 0x8B) -#define HDMI_CEC_OPCODE_SET_OSD_STRING ((uint8_t) 0x64) -#define HDMI_CEC_OPCODE_GIVE_OSD_NAME ((uint8_t) 0x46) -#define HDMI_CEC_OPCODE_SET_OSD_NAME ((uint8_t) 0x47) -#define HDMI_CEC_OPCODE_MENU_REQUEST ((uint8_t) 0x8D) -#define HDMI_CEC_OPCODE_MENU_STATUS ((uint8_t) 0x8E) -#define HDMI_CEC_OPCODE_USER_CONTROL_PRESSED ((uint8_t) 0x44) -#define HDMI_CEC_OPCODE_USER_CONTROL_RELEASED ((uint8_t) 0x45) -#define HDMI_CEC_OPCODE_GIVE_DEVICE_POWER_STATUS ((uint8_t) 0x8F) -#define HDMI_CEC_OPCODE_REPORT_POWER_STATUS ((uint8_t) 0x90) -#define HDMI_CEC_OPCODE_FEATURE_ABORT ((uint8_t) 0x00) -#define HDMI_CEC_OPCODE_ABORT ((uint8_t) 0xFF) -#define HDMI_CEC_OPCODE_GIVE_AUDIO_STATUS ((uint8_t) 0x71) -#define HDMI_CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS ((uint8_t) 0x7D) -#define HDMI_CEC_OPCODE_REPORT_AUDIO_STATUS ((uint8_t) 0x7A) -#define HDMI_CEC_OPCODE_SET_SYSTEM_AUDIO_MODE ((uint8_t) 0x72) -#define HDMI_CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST ((uint8_t) 0x70) -#define HDMI_CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS ((uint8_t) 0x7E) -#define HDMI_CEC_OPCODE_SET_AUDIO_RATE ((uint8_t) 0x9A) - - -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_CEC_Exported_Macros - * @{ - */ -/* HDMI_CEC_HPD: HDMI HPD pin low */ -#define HDMI_CEC_HPD_LOW() GPIO_ResetBits(HDMI_CEC_HPD_GPIO_PORT, HDMI_CEC_HPD_PIN) -/* HDMI_CEC_HPD: HDMI HPD pin high */ -#define HDMI_CEC_HPD_HIGH() GPIO_SetBits(HDMI_CEC_HPD_GPIO_PORT, HDMI_CEC_HPD_PIN) - -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_CEC_Exported_Functions - * @{ - */ -HDMI_CEC_Error HDMI_CEC_Init(void); -HDMI_CEC_Error HDMI_CEC_TransmitMessage(HDMI_CEC_Message *HDMI_CEC_TX_MessageStructure); -HDMI_CEC_Error HDMI_CEC_GetErrorStatus (void); -void HDMI_CEC_ProcessIRQSrc(void); -HDMI_CEC_Error HDMI_CEC_ReportPhysicalAddress(void); -void HDMI_CEC_CommandCallBack(void); -HDMI_CEC_Error HDMI_CEC_CheckConnectedDevices(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32100B_EVAL_CEC_H */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ - diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_lcd.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_lcd.c deleted file mode 100644 index e719b0e25..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_lcd.c +++ /dev/null @@ -1,1875 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100b_eval_lcd.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file includes the LCD driver for AM-240320LTNQW00H (LCD_HX8312), - * AM-240320L8TNQW00H (LCD_ILI9320), AM-240320LDTNQW00H (LCD_SPFD5408B) - * Liquid Crystal Display Module of STM32100B-EVAL board. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32100b_eval_lcd.h" -#include "../Common/fonts.c" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100B_EVAL - * @{ - */ - -/** @defgroup STM32100B_EVAL_LCD - * @brief This file includes the LCD driver for AM-240320LTNQW00H (LCD_HX8312), - * AM-240320L8TNQW00H (LCD_ILI9320), AM-240320LDTNQW00H (LCD_SPFD5408B) - * Liquid Crystal Display Module of STM32100B-EVAL board. - * @{ - */ - -/** @defgroup STM32100B_EVAL_LCD_Private_Types - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_LCD_Private_Defines - * @{ - */ -#define LCD_ILI9320 0x9320 -#define LCD_HX8312 0x8312 -#define LCD_SPFD5408 0x5408 -#define START_BYTE 0x70 -#define SET_INDEX 0x00 -#define READ_STATUS 0x01 -#define LCD_WRITE_REG 0x02 -#define LCD_READ_REG 0x03 -#define MAX_POLY_CORNERS 200 -#define POLY_Y(Z) ((int32_t)((Points + Z)->X)) -#define POLY_X(Z) ((int32_t)((Points + Z)->Y)) -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_LCD_Private_Macros - * @{ - */ -#define ABS(X) ((X) > 0 ? (X) : -(X)) -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_LCD_Private_Variables - * @{ - */ -static sFONT *LCD_Currentfonts; -/* Global variables to set the written text color */ -static __IO uint16_t TextColor = 0x0000, BackColor = 0xFFFF; -static __IO uint32_t LCDType = LCD_ILI9320; -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_LCD_Private_Function_Prototypes - * @{ - */ -#ifndef USE_Delay -static void delay(vu32 nCount); -#endif /* USE_Delay*/ - -static void LCD_WriteRegHX8312(uint8_t LCD_Reg, uint8_t LCD_RegValue); -static void LCD_WriteRegILI9320(uint8_t LCD_Reg, uint16_t LCD_RegValue); -static void PutPixel(int16_t x, int16_t y); -static void LCD_PolyLineRelativeClosed(pPoint Points, uint16_t PointCount, uint16_t Closed); - -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_LCD_Private_Functions - * @{ - */ - -/** - * @brief DeInitializes the LCD. - * @param None - * @retval None - */ -void LCD_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< LCD Display Off */ - LCD_DisplayOff(); - - /*!< LCD_SPI disable */ - SPI_Cmd(LCD_SPI, DISABLE); - - /*!< LCD_SPI DeInit */ - SPI_I2S_DeInit(LCD_SPI); - - /*!< Disable SPI clock */ - RCC_APB1PeriphClockCmd(LCD_SPI_CLK, DISABLE); - - /* Configure NCS in Output Push-Pull mode */ - GPIO_InitStructure.GPIO_Pin = LCD_NCS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(LCD_NCS_GPIO_PORT, &GPIO_InitStructure); - - /* Configure NWR(RNW), RS in Output Push-Pull mode */ - GPIO_InitStructure.GPIO_Pin = LCD_RS_PIN; - GPIO_Init(LCD_RS_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_NWR_PIN; - GPIO_Init(LCD_NWR_GPIO_PORT, &GPIO_InitStructure); - - /* Configure SPI pins: SCK, MISO and MOSI */ - GPIO_InitStructure.GPIO_Pin = LCD_SPI_SCK_PIN; - GPIO_Init(LCD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MISO_PIN; - GPIO_Init(LCD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MOSI_PIN; - GPIO_Init(LCD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Setups the LCD. - * @param None - * @retval None - */ -void LCD_Setup(void) -{ -/* Configure the LCD Control pins --------------------------------------------*/ - LCD_CtrlLinesConfig(); - -/* Configure the LCD_SPI interface ----------------------------------------------*/ - LCD_SPIConfig(); - - if(LCDType == LCD_ILI9320) - { - _delay_(5); /* Delay 50 ms */ - /* Start Initial Sequence ------------------------------------------------*/ - LCD_WriteReg(LCD_REG_229, 0x8000); /* Set the internal vcore voltage */ - LCD_WriteReg(LCD_REG_0, 0x0001); /* Start internal OSC. */ - LCD_WriteReg(LCD_REG_1, 0x0100); /* set SS and SM bit */ - LCD_WriteReg(LCD_REG_2, 0x0700); /* set 1 line inversion */ - LCD_WriteReg(LCD_REG_3, 0x1030); /* set GRAM write direction and BGR=1. */ - LCD_WriteReg(LCD_REG_4, 0x0000); /* Resize register */ - LCD_WriteReg(LCD_REG_8, 0x0202); /* set the back porch and front porch */ - LCD_WriteReg(LCD_REG_9, 0x0000); /* set non-display area refresh cycle ISC[3:0] */ - LCD_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */ - LCD_WriteReg(LCD_REG_12, 0x0000); /* RGB interface setting */ - LCD_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */ - LCD_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity */ - /* Power On sequence -----------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */ - LCD_WriteReg(LCD_REG_33, 0x0000); /* GRAM Vertical Address */ - /* Adjust the Gamma Curve ------------------------------------------------*/ - LCD_WriteReg(LCD_REG_48, 0x0006); - LCD_WriteReg(LCD_REG_49, 0x0101); - LCD_WriteReg(LCD_REG_50, 0x0003); - LCD_WriteReg(LCD_REG_53, 0x0106); - LCD_WriteReg(LCD_REG_54, 0x0b02); - LCD_WriteReg(LCD_REG_55, 0x0302); - LCD_WriteReg(LCD_REG_56, 0x0707); - LCD_WriteReg(LCD_REG_57, 0x0007); - LCD_WriteReg(LCD_REG_60, 0x0600); - LCD_WriteReg(LCD_REG_61, 0x020b); - - /* Set GRAM area ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */ - LCD_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */ - LCD_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_96, 0x2700); /* Gate Scan Line */ - LCD_WriteReg(LCD_REG_97, 0x0001); /* NDL,VLE, REV */ - LCD_WriteReg(LCD_REG_106, 0x0000); /* set scrolling line */ - /* Partial Display Control -----------------------------------------------*/ - LCD_WriteReg(LCD_REG_128, 0x0000); - LCD_WriteReg(LCD_REG_129, 0x0000); - LCD_WriteReg(LCD_REG_130, 0x0000); - LCD_WriteReg(LCD_REG_131, 0x0000); - LCD_WriteReg(LCD_REG_132, 0x0000); - LCD_WriteReg(LCD_REG_133, 0x0000); - /* Panel Control ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_144, 0x0010); - LCD_WriteReg(LCD_REG_146, 0x0000); - LCD_WriteReg(LCD_REG_147, 0x0003); - LCD_WriteReg(LCD_REG_149, 0x0110); - LCD_WriteReg(LCD_REG_151, 0x0000); - LCD_WriteReg(LCD_REG_152, 0x0000); - /* Set GRAM write direction and BGR = 1 */ - /* I/D=01 (Horizontal : increment, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ - } - else if(LCDType == LCD_SPFD5408) - { - /* Start Initial Sequence --------------------------------------------------*/ - LCD_WriteReg(LCD_REG_227, 0x3008); /* Set internal timing */ - LCD_WriteReg(LCD_REG_231, 0x0012); /* Set internal timing */ - LCD_WriteReg(LCD_REG_239, 0x1231); /* Set internal timing */ - LCD_WriteReg(LCD_REG_1, 0x0100); /* Set SS and SM bit */ - LCD_WriteReg(LCD_REG_2, 0x0700); /* Set 1 line inversion */ - LCD_WriteReg(LCD_REG_3, 0x1030); /* Set GRAM write direction and BGR=1. */ - LCD_WriteReg(LCD_REG_4, 0x0000); /* Resize register */ - LCD_WriteReg(LCD_REG_8, 0x0202); /* Set the back porch and front porch */ - LCD_WriteReg(LCD_REG_9, 0x0000); /* Set non-display area refresh cycle ISC[3:0] */ - LCD_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */ - LCD_WriteReg(LCD_REG_12, 0x0000); /* RGB interface setting */ - LCD_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */ - LCD_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity */ - /* Power On sequence -------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_17, 0x0007); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_16, 0x12B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x01BD); /* External reference voltage= Vci */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1400); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x000E); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */ - LCD_WriteReg(LCD_REG_33, 0x013F); /* GRAM Vertical Address */ - /* Adjust the Gamma Curve --------------------------------------------------*/ - LCD_WriteReg(LCD_REG_48, 0x0007); - LCD_WriteReg(LCD_REG_49, 0x0302); - LCD_WriteReg(LCD_REG_50, 0x0105); - LCD_WriteReg(LCD_REG_53, 0x0206); - LCD_WriteReg(LCD_REG_54, 0x0808); - LCD_WriteReg(LCD_REG_55, 0x0206); - LCD_WriteReg(LCD_REG_56, 0x0504); - LCD_WriteReg(LCD_REG_57, 0x0007); - LCD_WriteReg(LCD_REG_60, 0x0105); - LCD_WriteReg(LCD_REG_61, 0x0808); - /* Set GRAM area -----------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */ - LCD_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */ - LCD_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_96, 0xA700); /* Gate Scan Line */ - LCD_WriteReg(LCD_REG_97, 0x0001); /* NDL,VLE, REV */ - LCD_WriteReg(LCD_REG_106, 0x0000); /* Set scrolling line */ - /* Partial Display Control -------------------------------------------------*/ - LCD_WriteReg(LCD_REG_128, 0x0000); - LCD_WriteReg(LCD_REG_129, 0x0000); - LCD_WriteReg(LCD_REG_130, 0x0000); - LCD_WriteReg(LCD_REG_131, 0x0000); - LCD_WriteReg(LCD_REG_132, 0x0000); - LCD_WriteReg(LCD_REG_133, 0x0000); - /* Panel Control -----------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_144, 0x0010); - LCD_WriteReg(LCD_REG_146, 0x0000); - LCD_WriteReg(LCD_REG_147, 0x0003); - LCD_WriteReg(LCD_REG_149, 0x0110); - LCD_WriteReg(LCD_REG_151, 0x0000); - LCD_WriteReg(LCD_REG_152, 0x0000); - /* Set GRAM write direction and BGR = 1 - I/D=01 (Horizontal : increment, Vertical : decrement) - AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - LCD_WriteReg(LCD_REG_7, 0x0112); /* 262K color and display ON */ - } - else if(LCDType == LCD_HX8312) - { - /* Enable the LCD Oscillator ---------------------------------------------*/ - LCD_WriteReg(LCD_REG_1, 0x10); - LCD_WriteReg(LCD_REG_0, 0xA0); - LCD_WriteReg(LCD_REG_3, 0x01); - _delay_(1); /* Delay 10 ms */ - LCD_WriteReg(LCD_REG_3, 0x00); - LCD_WriteReg(LCD_REG_43, 0x04); - - LCD_WriteReg(LCD_REG_40, 0x18); - LCD_WriteReg(LCD_REG_26, 0x05); - LCD_WriteReg(LCD_REG_37, 0x05); - LCD_WriteReg(LCD_REG_25, 0x00); - - /* LCD Power On ----------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_28, 0x73); - LCD_WriteReg(LCD_REG_36, 0x74); - LCD_WriteReg(LCD_REG_30, 0x01); - LCD_WriteReg(LCD_REG_24, 0xC1); - _delay_(1); /* Delay 10 ms */ - LCD_WriteReg(LCD_REG_24, 0xE1); - LCD_WriteReg(LCD_REG_24, 0xF1); - _delay_(6); /* Delay 60 ms */ - LCD_WriteReg(LCD_REG_24, 0xF5); - _delay_(6); /* Delay 60 ms */ - LCD_WriteReg(LCD_REG_27, 0x09); - _delay_(1); /* Delay 10 ms */ - LCD_WriteReg(LCD_REG_31, 0x11); - LCD_WriteReg(LCD_REG_32, 0x0E); - LCD_WriteReg(LCD_REG_30, 0x81); - _delay_(1); /* Delay 10 ms */ - - /* Chip Set --------------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_157, 0x00); - LCD_WriteReg(LCD_REG_192, 0x00); - - LCD_WriteReg(LCD_REG_14, 0x00); - LCD_WriteReg(LCD_REG_15, 0x00); - LCD_WriteReg(LCD_REG_16, 0x00); - LCD_WriteReg(LCD_REG_17, 0x00); - LCD_WriteReg(LCD_REG_18, 0x00); - LCD_WriteReg(LCD_REG_19, 0x00); - LCD_WriteReg(LCD_REG_20, 0x00); - LCD_WriteReg(LCD_REG_21, 0x00); - LCD_WriteReg(LCD_REG_22, 0x00); - LCD_WriteReg(LCD_REG_23, 0x00); - - LCD_WriteReg(LCD_REG_52, 0x01); - LCD_WriteReg(LCD_REG_53, 0x00); - LCD_WriteReg(LCD_REG_75, 0x00); - LCD_WriteReg(LCD_REG_76, 0x00); - LCD_WriteReg(LCD_REG_78, 0x00); - LCD_WriteReg(LCD_REG_79, 0x00); - LCD_WriteReg(LCD_REG_80, 0x00); - - LCD_WriteReg(LCD_REG_60, 0x00); - LCD_WriteReg(LCD_REG_61, 0x00); - LCD_WriteReg(LCD_REG_62, 0x01); - LCD_WriteReg(LCD_REG_63, 0x3F); - LCD_WriteReg(LCD_REG_64, 0x02); - LCD_WriteReg(LCD_REG_65, 0x02); - LCD_WriteReg(LCD_REG_66, 0x00); - LCD_WriteReg(LCD_REG_67, 0x00); - LCD_WriteReg(LCD_REG_68, 0x00); - LCD_WriteReg(LCD_REG_69, 0x00); - LCD_WriteReg(LCD_REG_70, 0xEF); - LCD_WriteReg(LCD_REG_71, 0x00); - LCD_WriteReg(LCD_REG_72, 0x00); - LCD_WriteReg(LCD_REG_73, 0x01); - LCD_WriteReg(LCD_REG_74, 0x3F); - - LCD_WriteReg(LCD_REG_29, 0x08); /* R29:Gate scan direction setting */ - - LCD_WriteReg(LCD_REG_134, 0x00); - LCD_WriteReg(LCD_REG_135, 0x30); - LCD_WriteReg(LCD_REG_136, 0x02); - LCD_WriteReg(LCD_REG_137, 0x05); - - LCD_WriteReg(LCD_REG_141, 0x01); /* R141:Register set-up mode for one line clock */ - LCD_WriteReg(LCD_REG_139, 0x20); /* R139:One line SYSCLK number in one-line */ - LCD_WriteReg(LCD_REG_51, 0x01); /* R51:N line inversion setting */ - LCD_WriteReg(LCD_REG_55, 0x01); /* R55:Scanning method setting */ - LCD_WriteReg(LCD_REG_118, 0x00); - - /* Gamma Set -------------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_143, 0x10); - LCD_WriteReg(LCD_REG_144, 0x67); - LCD_WriteReg(LCD_REG_145, 0x07); - LCD_WriteReg(LCD_REG_146, 0x65); - LCD_WriteReg(LCD_REG_147, 0x07); - LCD_WriteReg(LCD_REG_148, 0x01); - LCD_WriteReg(LCD_REG_149, 0x76); - LCD_WriteReg(LCD_REG_150, 0x56); - LCD_WriteReg(LCD_REG_151, 0x00); - LCD_WriteReg(LCD_REG_152, 0x06); - LCD_WriteReg(LCD_REG_153, 0x03); - LCD_WriteReg(LCD_REG_154, 0x00); - - /* Display On ------------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_1, 0x50); - LCD_WriteReg(LCD_REG_5, 0x04); - LCD_WriteReg(LCD_REG_0, 0x80); - LCD_WriteReg(LCD_REG_59, 0x01); - _delay_(4); /* Delay 40 ms */ - LCD_WriteReg(LCD_REG_0, 0x20); - } -} - - -/** - * @brief Initializes the LCD. - * @param None - * @retval None - */ -void STM32100B_LCD_Init(void) -{ - /* Setups the LCD */ - LCD_Setup(); - /* Try to read new LCD controller ID 0x9320 */ - if (LCD_ReadReg(LCD_REG_0) == LCD_ILI9320) - { - LCDType = LCD_ILI9320; - } - else - { - LCDType = LCD_SPFD5408; - /* Setups the LCD */ - LCD_Setup(); - /* Try to read new LCD controller ID 0x5408 */ - if (LCD_ReadReg(LCD_REG_0) != LCD_SPFD5408) - { - LCDType = LCD_HX8312; - /* Setups the LCD */ - LCD_Setup(); - } - } - LCD_SetFont(&LCD_DEFAULT_FONT); -} - -/** - * @brief Sets the LCD Text and Background colors. - * @param _TextColor: specifies the Text Color. - * @param _BackColor: specifies the Background Color. - * @retval None - */ -void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor) -{ - TextColor = _TextColor; - BackColor = _BackColor; -} - -/** - * @brief Gets the LCD Text and Background colors. - * @param _TextColor: pointer to the variable that will contain the Text - Color. - * @param _BackColor: pointer to the variable that will contain the Background - Color. - * @retval None - */ -void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor) -{ - *_TextColor = TextColor; *_BackColor = BackColor; -} - -/** - * @brief Sets the Text color. - * @param Color: specifies the Text color code RGB(5-6-5). - * @retval None - */ -void LCD_SetTextColor(__IO uint16_t Color) -{ - TextColor = Color; -} - - -/** - * @brief Sets the Background color. - * @param Color: specifies the Background color code RGB(5-6-5). - * @retval None - */ -void LCD_SetBackColor(__IO uint16_t Color) -{ - BackColor = Color; -} - -/** - * @brief Sets the Text Font. - * @param fonts: specifies the font to be used. - * @retval None - */ -void LCD_SetFont(sFONT *fonts) -{ - LCD_Currentfonts = fonts; -} - -/** - * @brief Gets the Text Font. - * @param None. - * @retval the used font. - */ -sFONT *LCD_GetFont(void) -{ - return LCD_Currentfonts; -} - -/** - * @brief Clears the selected line. - * @param Line: the Line to be cleared. - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..n - * @retval None - */ -void LCD_ClearLine(uint8_t Line) -{ - uint16_t refcolumn = LCD_PIXEL_WIDTH - 1; - /* Send the string character by character on lCD */ - while (((refcolumn + 1) & 0xFFFF) >= LCD_Currentfonts->Width) - { - /* Display one character on LCD */ - LCD_DisplayChar(Line, refcolumn, ' '); - /* Decrement the column position by 16 */ - refcolumn -= LCD_Currentfonts->Width; - } -} - - -/** - * @brief Clears the hole LCD. - * @param Color: the color of the background. - * @retval None - */ -void LCD_Clear(uint16_t Color) -{ - uint32_t index = 0; - - LCD_SetCursor(0x00, 0x013F); - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - } - for(index = 0; index < 76800; index++) - { - LCD_WriteRAM(Color); - } - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } -} - - -/** - * @brief Sets the cursor position. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @retval None - */ -void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteReg(LCD_REG_32, Xpos); - LCD_WriteReg(LCD_REG_33, Ypos); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteReg(LCD_REG_66, Xpos); - LCD_WriteReg(LCD_REG_67, ((Ypos & 0x100)>> 8)); - LCD_WriteReg(LCD_REG_68, (Ypos & 0xFF)); - } -} - - -/** - * @brief Draws a character on LCD. - * @param Xpos: the Line where to display the character shape. - * @param Ypos: start column address. - * @param c: pointer to the character data. - * @retval None - */ -void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c) -{ - uint32_t index = 0, i = 0; - uint8_t Xaddress = 0; - - Xaddress = Xpos; - - LCD_SetCursor(Xaddress, Ypos); - - for(index = 0; index < LCD_Currentfonts->Height; index++) - { - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - } - for(i = 0; i < LCD_Currentfonts->Width; i++) - { - if((((c[index] & ((0x80 << ((LCD_Currentfonts->Width / 12 ) * 8 ) ) >> i)) == 0x00) &&(LCD_Currentfonts->Width <= 12))|| - (((c[index] & (0x1 << i)) == 0x00)&&(LCD_Currentfonts->Width > 12 ))) - - { - LCD_WriteRAM(BackColor); - } - else - { - LCD_WriteRAM(TextColor); - } - } - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } - Xaddress++; - LCD_SetCursor(Xaddress, Ypos); - } -} - - -/** - * @brief Displays one character (16dots width, 24dots height). - * @param Line: the Line where to display the character shape . - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..9 - * @param Column: start column address. - * @param Ascii: character ascii code, must be between 0x20 and 0x7E. - * @retval None - */ -void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii) -{ - Ascii -= 32; - LCD_DrawChar(Line, Column, &LCD_Currentfonts->table[Ascii * LCD_Currentfonts->Height]); -} - - -/** - * @brief Displays a maximum of 20 char on the LCD. - * @param Line: the Line where to display the character shape . - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..9 - * @param *ptr: pointer to string to display on LCD. - * @retval None - */ -void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr) -{ - uint16_t refcolumn = LCD_PIXEL_WIDTH - 1; - - /* Send the string character by character on lCD */ - while ((*ptr != 0) & (((refcolumn + 1) & 0xFFFF) >= LCD_Currentfonts->Width)) - { - /* Display one character on LCD */ - LCD_DisplayChar(Line, refcolumn, *ptr); - /* Decrement the column position by 16 */ - refcolumn -= LCD_Currentfonts->Width; - /* Point on the next character */ - ptr++; - } -} - - -/** - * @brief Sets a display window - * @param Xpos: specifies the X buttom left position. - * @param Ypos: specifies the Y buttom left position. - * @param Height: display window height. - * @param Width: display window width. - * @retval None - */ -void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Horizontal GRAM Start Address */ - if(Xpos >= Height) - { - LCD_WriteReg(LCD_REG_80, (Xpos - Height + 1)); - } - else - { - LCD_WriteReg(LCD_REG_80, 0); - } - /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_81, Xpos); - /* Vertical GRAM Start Address */ - if(Ypos >= Width) - { - LCD_WriteReg(LCD_REG_82, (Ypos - Width + 1)); - } - else - { - LCD_WriteReg(LCD_REG_82, 0); - } - /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_83, Ypos); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteReg(LCD_REG_1, 0xD0); - LCD_WriteReg(LCD_REG_5, 0x14); - - LCD_WriteReg(LCD_REG_69, (Xpos - Height + 1)); - LCD_WriteReg(LCD_REG_70, Xpos); - - LCD_WriteReg(LCD_REG_71, (((Ypos - Width + 1) & 0x100)>> 8)); - LCD_WriteReg(LCD_REG_72, ((Ypos - Width + 1) & 0xFF)); - LCD_WriteReg(LCD_REG_73, ((Ypos & 0x100)>> 8)); - LCD_WriteReg(LCD_REG_74, (Ypos & 0xFF)); - } - LCD_SetCursor(Xpos, Ypos); -} - - -/** - * @brief Disables LCD Window mode. - * @param None - * @retval None - */ -void LCD_WindowModeDisable(void) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_SetDisplayWindow(239, 0x13F, 240, 320); - LCD_WriteReg(LCD_REG_3, 0x1018); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteReg(LCD_REG_1, 0x50); - LCD_WriteReg(LCD_REG_5, 0x04); - } - -} - -/** - * @brief Displays a line. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Length: line length. - * @param Direction: line direction. - * This parameter can be one of the following values: Vertical or Horizontal. - * @retval None - */ -void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction) -{ - uint32_t i = 0; - - LCD_SetCursor(Xpos, Ypos); - if(Direction == LCD_DIR_HORIZONTAL) - { - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - } - for(i = 0; i < Length; i++) - { - LCD_WriteRAM(TextColor); - } - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } - } - else - { - for(i = 0; i < Length; i++) - { - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - Xpos++; - LCD_SetCursor(Xpos, Ypos); - } - } -} - - -/** - * @brief Displays a rectangle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Height: display rectangle height. - * @param Width: display rectangle width. - * @retval None - */ -void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width) -{ - LCD_DrawLine(Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - LCD_DrawLine((Xpos + Height), Ypos, Width, LCD_DIR_HORIZONTAL); - - LCD_DrawLine(Xpos, Ypos, Height, LCD_DIR_VERTICAL); - LCD_DrawLine(Xpos, (Ypos - Width + 1), Height, LCD_DIR_VERTICAL); -} - - -/** - * @brief Displays a circle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Radius - * @retval None - */ -void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius) -{ - int32_t D;/* Decision Variable */ - uint32_t CurX;/* Current X Value */ - uint32_t CurY;/* Current Y Value */ - - D = 3 - (Radius << 1); - CurX = 0; - CurY = Radius; - - while (CurX <= CurY) - { - LCD_SetCursor(Xpos + CurX, Ypos + CurY); - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos + CurX, Ypos - CurY); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos - CurX, Ypos + CurY); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos - CurX, Ypos - CurY); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos + CurY, Ypos + CurX); - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos + CurY, Ypos - CurX); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos - CurY, Ypos + CurX); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos - CurY, Ypos - CurX); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - if (D < 0) - { - D += (CurX << 2) + 6; - } - else - { - D += ((CurX - CurY) << 2) + 10; - CurY--; - } - CurX++; - } -} - - -/** - * @brief Displays a monocolor picture. - * @param Pict: pointer to the picture array. - * @retval None - */ -void LCD_DrawMonoPict(const uint32_t *Pict) -{ - uint32_t index = 0, i = 0; - LCD_SetCursor(0, (LCD_PIXEL_WIDTH - 1)); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - } - - for(index = 0; index < 2400; index++) - { - for(i = 0; i < 32; i++) - { - if((Pict[index] & (1 << i)) == 0x00) - { - LCD_WriteRAM(BackColor); - } - else - { - LCD_WriteRAM(TextColor); - } - } - } - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } -} - -#ifdef USE_LCD_DrawBMP -/** - * @brief Displays a bitmap picture loaded in the SPI Flash. - * @param BmpAddress: Bmp picture address in the SPI Flash. - * @retval None - */ -void LCD_DrawBMP(uint32_t BmpAddress) -{ - uint32_t i = 0, size = 0; - /* Read bitmap size */ - sFLASH_ReadBuffer((uint8_t*)&size, BmpAddress + 2, 4); - /* get bitmap data address offset */ - sFLASH_ReadBuffer((uint8_t*)&i, BmpAddress + 10, 4); - - size = (size - i)/2; - sFLASH_StartReadSequence(BmpAddress + i); - /* Disable LCD_SPI */ - SPI_Cmd(LCD_SPI, DISABLE); - /* SPI in 16-bit mode */ - SPI_DataSizeConfig(LCD_SPI, SPI_DataSize_16b); - /* Enable LCD_SPI */ - SPI_Cmd(LCD_SPI, ENABLE); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Set GRAM write direction and BGR = 1 */ - /* I/D=00 (Horizontal : decrement, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1008); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - } - - /* Read bitmap data from SPI Flash and send them to LCD */ - for(i = 0; i < size; i++) - { - LCD_WriteRAM(__REV16(sFLASH_SendHalfWord(0xA5A5))); - } - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } - - /* Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - /* Disable LCD_SPI */ - SPI_Cmd(LCD_SPI, DISABLE); - /* SPI in 8-bit mode */ - SPI_DataSizeConfig(LCD_SPI, SPI_DataSize_8b); - /* Enable LCD_SPI */ - SPI_Cmd(LCD_SPI, ENABLE); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Set GRAM write direction and BGR = 1 */ - /* I/D = 01 (Horizontal : increment, Vertical : decrement) */ - /* AM = 1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - } -} -#endif /* USE_LCD_DrawBMP */ - -/** - * @brief Displays a full rectangle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Height: rectangle height. - * @param Width: rectangle width. - * @retval None - */ -void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) -{ - LCD_SetTextColor(TextColor); - - LCD_DrawLine(Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - LCD_DrawLine((Xpos + Height), Ypos, Width, LCD_DIR_HORIZONTAL); - - LCD_DrawLine(Xpos, Ypos, Height, LCD_DIR_VERTICAL); - LCD_DrawLine(Xpos, (Ypos - Width + 1), Height, LCD_DIR_VERTICAL); - - Width -= 2; - Height--; - Ypos--; - - LCD_SetTextColor(BackColor); - - while(Height--) - { - LCD_DrawLine(++Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - } - - LCD_SetTextColor(TextColor); -} - -/** - * @brief Displays a full circle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Radius - * @retval None - */ -void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) -{ - int32_t D; /* Decision Variable */ - uint32_t CurX;/* Current X Value */ - uint32_t CurY;/* Current Y Value */ - - D = 3 - (Radius << 1); - - CurX = 0; - CurY = Radius; - - LCD_SetTextColor(BackColor); - - while (CurX <= CurY) - { - if(CurY > 0) - { - LCD_DrawLine(Xpos - CurX, Ypos + CurY, 2*CurY, LCD_DIR_HORIZONTAL); - LCD_DrawLine(Xpos + CurX, Ypos + CurY, 2*CurY, LCD_DIR_HORIZONTAL); - } - - if(CurX > 0) - { - LCD_DrawLine(Xpos - CurY, Ypos + CurX, 2*CurX, LCD_DIR_HORIZONTAL); - LCD_DrawLine(Xpos + CurY, Ypos + CurX, 2*CurX, LCD_DIR_HORIZONTAL); - } - if (D < 0) - { - D += (CurX << 2) + 6; - } - else - { - D += ((CurX - CurY) << 2) + 10; - CurY--; - } - CurX++; - } - - LCD_SetTextColor(TextColor); - LCD_DrawCircle(Xpos, Ypos, Radius); -} - -/** - * @brief Displays an uni line (between two points). - * @param x1: specifies the point 1 x position. - * @param y1: specifies the point 1 y position. - * @param x2: specifies the point 2 x position. - * @param y2: specifies the point 2 y position. - * @retval None - */ -void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) -{ - int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, - yinc1 = 0, yinc2 = 0, den = 0, num = 0, numadd = 0, numpixels = 0, - curpixel = 0; - - deltax = ABS(x2 - x1); /* The difference between the x's */ - deltay = ABS(y2 - y1); /* The difference between the y's */ - x = x1; /* Start x off at the first pixel */ - y = y1; /* Start y off at the first pixel */ - - if (x2 >= x1) /* The x-values are increasing */ - { - xinc1 = 1; - xinc2 = 1; - } - else /* The x-values are decreasing */ - { - xinc1 = -1; - xinc2 = -1; - } - - if (y2 >= y1) /* The y-values are increasing */ - { - yinc1 = 1; - yinc2 = 1; - } - else /* The y-values are decreasing */ - { - yinc1 = -1; - yinc2 = -1; - } - - if (deltax >= deltay) /* There is at least one x-value for every y-value */ - { - xinc1 = 0; /* Don't change the x when numerator >= denominator */ - yinc2 = 0; /* Don't change the y for every iteration */ - den = deltax; - num = deltax / 2; - numadd = deltay; - numpixels = deltax; /* There are more x-values than y-values */ - } - else /* There is at least one y-value for every x-value */ - { - xinc2 = 0; /* Don't change the x for every iteration */ - yinc1 = 0; /* Don't change the y when numerator >= denominator */ - den = deltay; - num = deltay / 2; - numadd = deltax; - numpixels = deltay; /* There are more y-values than x-values */ - } - - for (curpixel = 0; curpixel <= numpixels; curpixel++) - { - PutPixel(x, y); /* Draw the current pixel */ - num += numadd; /* Increase the numerator by the top of the fraction */ - if (num >= den) /* Check if numerator >= denominator */ - { - num -= den; /* Calculate the new numerator value */ - x += xinc1; /* Change the x as appropriate */ - y += yinc1; /* Change the y as appropriate */ - } - x += xinc2; /* Change the x as appropriate */ - y += yinc2; /* Change the y as appropriate */ - } -} - -/** - * @brief Displays an polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_PolyLine(pPoint Points, uint16_t PointCount) -{ - int16_t X = 0, Y = 0; - - if(PointCount < 2) - { - return; - } - - while(--PointCount) - { - X = Points->X; - Y = Points->Y; - Points++; - LCD_DrawUniLine(X, Y, Points->X, Points->Y); - } -} - -/** - * @brief Displays an relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @param Closed: specifies if the draw is closed or not. - * 1: closed, 0 : not closed. - * @retval None - */ -static void LCD_PolyLineRelativeClosed(pPoint Points, uint16_t PointCount, uint16_t Closed) -{ - int16_t X = 0, Y = 0; - pPoint First = Points; - - if(PointCount < 2) - { - return; - } - X = Points->X; - Y = Points->Y; - while(--PointCount) - { - Points++; - LCD_DrawUniLine(X, Y, X + Points->X, Y + Points->Y); - X = X + Points->X; - Y = Y + Points->Y; - } - if(Closed) - { - LCD_DrawUniLine(First->X, First->Y, X, Y); - } -} - -/** - * @brief Displays a closed polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLine(Points, PointCount); - LCD_DrawUniLine(Points->X, Points->Y, (Points+PointCount-1)->X, (Points+PointCount-1)->Y); -} - -/** - * @brief Displays a relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLineRelativeClosed(Points, PointCount, 0); -} - -/** - * @brief Displays a closed relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLineRelativeClosed(Points, PointCount, 1); -} - - -/** - * @brief Displays a full polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_FillPolyLine(pPoint Points, uint16_t PointCount) -{ - /* public-domain code by Darel Rex Finley, 2007 */ - uint16_t nodes = 0, nodeX[MAX_POLY_CORNERS], pixelX = 0, pixelY = 0, i = 0, - j = 0, swap = 0; - uint16_t IMAGE_LEFT = 0, IMAGE_RIGHT = 0, IMAGE_TOP = 0, IMAGE_BOTTOM = 0; - - IMAGE_LEFT = IMAGE_RIGHT = Points->X; - IMAGE_TOP= IMAGE_BOTTOM = Points->Y; - - for(i = 1; i < PointCount; i++) - { - pixelX = POLY_X(i); - if(pixelX < IMAGE_LEFT) - { - IMAGE_LEFT = pixelX; - } - if(pixelX > IMAGE_RIGHT) - { - IMAGE_RIGHT = pixelX; - } - - pixelY = POLY_Y(i); - if(pixelY < IMAGE_TOP) - { - IMAGE_TOP = pixelY; - } - if(pixelY > IMAGE_BOTTOM) - { - IMAGE_BOTTOM = pixelY; - } - } - - LCD_SetTextColor(BackColor); - - /* Loop through the rows of the image. */ - for (pixelY = IMAGE_TOP; pixelY < IMAGE_BOTTOM; pixelY++) - { - /* Build a list of nodes. */ - nodes = 0; j = PointCount-1; - - for (i = 0; i < PointCount; i++) - { - if (POLY_Y(i)<(double) pixelY && POLY_Y(j)>=(double) pixelY || POLY_Y(j)<(double) pixelY && POLY_Y(i)>=(double) pixelY) - { - nodeX[nodes++]=(int) (POLY_X(i)+((pixelY-POLY_Y(i))*(POLY_X(j)-POLY_X(i)))/(POLY_Y(j)-POLY_Y(i))); - } - j = i; - } - - /* Sort the nodes, via a simple "Bubble" sort. */ - i = 0; - while (i < nodes-1) - { - if (nodeX[i]>nodeX[i+1]) - { - swap = nodeX[i]; - nodeX[i] = nodeX[i+1]; - nodeX[i+1] = swap; - if(i) - { - i--; - } - } - else - { - i++; - } - } - - /* Fill the pixels between node pairs. */ - for (i = 0; i < nodes; i+=2) - { - if(nodeX[i] >= IMAGE_RIGHT) - { - break; - } - if(nodeX[i+1] > IMAGE_LEFT) - { - if (nodeX[i] < IMAGE_LEFT) - { - nodeX[i]=IMAGE_LEFT; - } - if(nodeX[i+1] > IMAGE_RIGHT) - { - nodeX[i+1] = IMAGE_RIGHT; - } - LCD_SetTextColor(BackColor); - LCD_DrawLine(pixelY, nodeX[i+1], nodeX[i+1] - nodeX[i], LCD_DIR_HORIZONTAL); - LCD_SetTextColor(TextColor); - PutPixel(pixelY, nodeX[i+1]); - PutPixel(pixelY, nodeX[i]); - /* for (j=nodeX[i]; j>8); - - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - - SPI_I2S_SendData(LCD_SPI, (LCD_RegValue & 0xFF)); - - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - - -/** - * @brief Reads the selected LCD Register. - * @param LCD_Reg: address of the selected register. - * @retval LCD Register Value. - */ -uint16_t LCD_ReadReg(uint8_t LCD_Reg) -{ - uint16_t tmp = 0; - uint8_t i = 0; - - /* LCD_SPI prescaler: 4 */ - LCD_SPI->CR1 &= 0xFFC7; - LCD_SPI->CR1 |= 0x0008; - /* Write 16-bit Index (then Read Reg) */ - LCD_WriteRegIndex(LCD_Reg); - /* Read 16-bit Reg */ - /* Reset LCD control line(/CS) and Send Start-Byte */ - LCD_nCS_StartByte(START_BYTE | LCD_READ_REG); - - for(i = 0; i < 5; i++) - { - SPI_I2S_SendData(LCD_SPI, 0xFF); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - /* One byte of invalid dummy data read after the start byte */ - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_RXNE) == RESET) - { - } - SPI_I2S_ReceiveData(LCD_SPI); - } - - SPI_I2S_SendData(LCD_SPI, 0xFF); - - /* Read upper byte */ - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - - /* Read lower byte */ - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_RXNE) == RESET) - { - } - tmp = SPI_I2S_ReceiveData(LCD_SPI); - - - SPI_I2S_SendData(LCD_SPI, 0xFF); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - - /* Read lower byte */ - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_RXNE) == RESET) - { - } - - tmp = ((tmp & 0xFF) << 8) | SPI_I2S_ReceiveData(LCD_SPI); - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - - /* LCD_SPI prescaler: 2 */ - LCD_SPI->CR1 &= 0xFFC7; - - return tmp; -} - - -/** - * @brief Prepare to write to the LCD RAM. - * @param None - * @retval None - */ -void LCD_WriteRAM_Prepare(void) -{ - LCD_WriteRegIndex(LCD_REG_34); /* Select GRAM Reg */ - - /* Reset LCD control line(/CS) and Send Start-Byte */ - LCD_nCS_StartByte(START_BYTE | LCD_WRITE_REG); -} - - -/** - * @brief Writes 1 word to the LCD RAM. - * @param RGB_Code: the pixel color in RGB mode (5-6-5). - * @retval None - */ -void LCD_WriteRAMWord(uint16_t RGB_Code) -{ - - LCD_WriteRAM_Prepare(); - - LCD_WriteRAM(RGB_Code); - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - - -/** - * @brief Writes to the selected LCD HX8312 register. - * @param LCD_Reg: address of the selected register. - * @param LCD_RegValue: value to write to the selected register. - * @retval None - */ -static void LCD_WriteRegHX8312(uint8_t LCD_Reg, uint8_t LCD_RegValue) -{ - uint16_t tmp = 0; - - LCD_CtrlLinesWrite(LCD_NWR_GPIO_PORT, LCD_NWR_PIN, Bit_RESET); - LCD_CtrlLinesWrite(LCD_RS_GPIO_PORT, LCD_RS_PIN, Bit_RESET); - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_RESET); - - tmp = LCD_Reg << 8; - tmp |= LCD_RegValue; - - SPI_I2S_SendData(LCD_SPI, tmp); - - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - - -/** - * @brief Writes to the selected LCD register. - * @param LCD_Reg: address of the selected register. - * @param LCD_RegValue: value to write to the selected register. - * @retval None - */ -void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRegILI9320(LCD_Reg, LCD_RegValue); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRegHX8312(LCD_Reg, ((uint8_t)LCD_RegValue)); - } -} - - -/** - * @brief Writes to the LCD RAM. - * @param RGB_Code: the pixel color in RGB mode (5-6-5). - * @retval None - */ -void LCD_WriteRAM(uint16_t RGB_Code) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - SPI_I2S_SendData(LCD_SPI, RGB_Code >> 8); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - SPI_I2S_SendData(LCD_SPI, RGB_Code & 0xFF); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - } - - if(LCDType == LCD_HX8312) - { - LCD_CtrlLinesWrite(LCD_NWR_GPIO_PORT, LCD_NWR_PIN, Bit_RESET); - LCD_CtrlLinesWrite(LCD_RS_GPIO_PORT, LCD_RS_PIN, Bit_SET); - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_RESET); - SPI_I2S_SendData(LCD_SPI, RGB_Code); - - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } -} - - -/** - * @brief Power on the LCD. - * @param None - * @retval None - */ -void LCD_PowerOn(void) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Power On sequence ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* delay 50 ms */ - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ - } - else if(LCDType == LCD_HX8312) - { - /* Power On Set */ - LCD_WriteReg(LCD_REG_28, 0x73); - LCD_WriteReg(LCD_REG_36, 0x74); - LCD_WriteReg(LCD_REG_30, 0x01); - LCD_WriteReg(LCD_REG_24, 0xC1); - _delay_(1); /* Delay 10 ms */ - LCD_WriteReg(LCD_REG_24, 0xE1); - LCD_WriteReg(LCD_REG_24, 0xF1); - _delay_(6); /* Delay 60 ms */ - LCD_WriteReg(LCD_REG_24, 0xF5); - _delay_(6); /* Delay 60 ms */ - LCD_WriteReg(LCD_REG_27, 0x09); - _delay_(1); /* Delay 10 ms */ - LCD_WriteReg(LCD_REG_31, 0x11); - LCD_WriteReg(LCD_REG_32, 0x0E); - LCD_WriteReg(LCD_REG_30, 0x81); - _delay_(1); /* Delay 10 ms */ - } -} - - -/** - * @brief Enables the Display. - * @param None - * @retval None - */ -void LCD_DisplayOn(void) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Display On */ - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteReg(LCD_REG_1, 0x50); - LCD_WriteReg(LCD_REG_5, 0x04); - /* Display On */ - LCD_WriteReg(LCD_REG_0, 0x80); - LCD_WriteReg(LCD_REG_59, 0x01); - _delay_(4); /* Delay 40 ms */ - LCD_WriteReg(LCD_REG_0, 0x20); - } -} - - -/** - * @brief Disables the Display. - * @param None - * @retval None - */ -void LCD_DisplayOff(void) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Display Off */ - LCD_WriteReg(LCD_REG_7, 0x0); - } - else if(LCDType == LCD_HX8312) - { - /* Display Off */ - LCD_WriteReg(LCD_REG_0, 0xA0); - _delay_(4); /* Delay 40 ms */ - LCD_WriteReg(LCD_REG_59, 0x00); - } -} - - -/** - * @brief Configures LCD control lines in Output Push-Pull mode. - * @param None - * @retval None - */ -void LCD_CtrlLinesConfig(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_APB2PeriphClockCmd(LCD_NCS_GPIO_CLK | LCD_NWR_GPIO_CLK | LCD_RS_GPIO_CLK, ENABLE); - - /* Configure NCS in Output Push-Pull mode */ - GPIO_InitStructure.GPIO_Pin = LCD_NCS_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(LCD_NCS_GPIO_PORT, &GPIO_InitStructure); - - /* Configure NWR(RNW), RS in Output Push-Pull mode */ - GPIO_InitStructure.GPIO_Pin = LCD_RS_PIN; - GPIO_Init(LCD_RS_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_NWR_PIN; - GPIO_Init(LCD_NWR_GPIO_PORT, &GPIO_InitStructure); - - LCD_CtrlLinesWrite(LCD_NWR_GPIO_PORT, LCD_NWR_PIN, Bit_SET); - LCD_CtrlLinesWrite(LCD_RS_GPIO_PORT, LCD_RS_PIN, Bit_SET); -} - - -/** - * @brief Sets or reset LCD control lines. - * @param GPIOx: where x can be B or D to select the GPIO peripheral. - * @param CtrlPins: the Control line. - * This parameter can be: - * @arg LCD_NCS_PIN: Chip Select pin - * @arg LCD_NWR_PIN: Read/Write Selection pin - * @arg LCD_RS_PIN: Register/RAM Selection pin - * @param BitVal: specifies the value to be written to the selected bit. - * This parameter can be: - * @arg Bit_RESET: to clear the port pin - * @arg Bit_SET: to set the port pin - * @retval None - */ -void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, uint16_t CtrlPins, BitAction BitVal) -{ - /* Set or Reset the control line */ - GPIO_WriteBit(GPIOx, CtrlPins, BitVal); -} - - -/** - * @brief Configures the LCD_SPI interface. - * @param None - * @retval None - */ -void LCD_SPIConfig(void) -{ - SPI_InitTypeDef SPI_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_APB2PeriphClockCmd(LCD_SPI_SCK_GPIO_CLK | LCD_SPI_MISO_GPIO_CLK | LCD_SPI_MOSI_GPIO_CLK, ENABLE); - - /* Enable SPI clock */ - RCC_APB1PeriphClockCmd(LCD_SPI_CLK, ENABLE); - - /* Configure SPI pins: SCK, MISO and MOSI */ - GPIO_InitStructure.GPIO_Pin = LCD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(LCD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MISO_PIN; - GPIO_Init(LCD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MOSI_PIN; - GPIO_Init(LCD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - SPI_I2S_DeInit(LCD_SPI); - - /* SPI Config */ - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; - } - else if(LCDType == LCD_HX8312) - { - SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; - } - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - - SPI_Init(LCD_SPI, &SPI_InitStructure); - - /* SPI enable */ - SPI_Cmd(LCD_SPI, ENABLE); -} - -/** - * @brief Displays a pixel. - * @param x: pixel x. - * @param y: pixel y. - * @retval None - */ -static void PutPixel(int16_t x, int16_t y) -{ - if(x < 0 || x > 239 || y < 0 || y > 319) - { - return; - } - LCD_DrawLine(x, y, 1, LCD_DIR_HORIZONTAL); -} - -#ifndef USE_Delay -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -static void delay(vu32 nCount) -{ - vu32 index = 0; - for(index = (34000 * nCount); index != 0; index--) - { - } -} -#endif /* USE_Delay*/ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_lcd.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_lcd.h deleted file mode 100644 index 0de289c6c..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100B_EVAL/stm32100b_eval_lcd.h +++ /dev/null @@ -1,393 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100b_eval_lcd.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the stm32100b_eval_lcd - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32100B_EVAL_LCD_H -#define __STM32100B_EVAL_LCD_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" -#include "../Common/fonts.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100B_EVAL - * @{ - */ - -/** @addtogroup STM32100B_EVAL_LCD - * @{ - */ - - -/** @defgroup STM32100B_EVAL_LCD_Exported_Types - * @{ - */ -typedef struct -{ - int16_t X; - int16_t Y; -} Point, * pPoint; -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_LCD_Exported_Constants - * @{ - */ - -/** - * @brief Uncomment the line below if you want to use LCD_DrawBMP function to - * display a bitmap picture on the LCD. This function assumes that the bitmap - * file is loaded in the SPI Flash (mounted on STM32100B-EVAL board), however - * user can tailor it according to his application hardware requirement. - */ -/*#define USE_LCD_DrawBMP*/ - -/** - * @brief Uncomment the line below if you want to use user defined Delay function - * (for precise timing), otherwise default _delay_ function defined within - * this driver is used (less precise timing). - */ -/* #define USE_Delay */ - -#ifdef USE_Delay -#include "main.h" - - #define _delay_ Delay /* !< User can provide more timing precise _delay_ function - (with 10ms time base), using SysTick for example */ -#else - #define _delay_ delay /* !< Default _delay_ function with less precise timing */ -#endif - - -/** - * @brief LCD Control pins - */ -#define LCD_NCS_PIN GPIO_Pin_2 -#define LCD_NCS_GPIO_PORT GPIOB -#define LCD_NCS_GPIO_CLK RCC_APB2Periph_GPIOB -#define LCD_NWR_PIN GPIO_Pin_15 -#define LCD_NWR_GPIO_PORT GPIOD -#define LCD_NWR_GPIO_CLK RCC_APB2Periph_GPIOD -#define LCD_RS_PIN GPIO_Pin_7 -#define LCD_RS_GPIO_PORT GPIOD -#define LCD_RS_GPIO_CLK RCC_APB2Periph_GPIOD - -/** - * @brief LCD SPI Interface pins - */ -#define LCD_SPI SPI2 -#define LCD_SPI_CLK RCC_APB1Periph_SPI2 -#define LCD_SPI_SCK_PIN GPIO_Pin_13 -#define LCD_SPI_SCK_GPIO_PORT GPIOB -#define LCD_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOB -#define LCD_SPI_MISO_PIN GPIO_Pin_14 -#define LCD_SPI_MISO_GPIO_PORT GPIOB -#define LCD_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOB -#define LCD_SPI_MOSI_PIN GPIO_Pin_15 -#define LCD_SPI_MOSI_GPIO_PORT GPIOB -#define LCD_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOB - - -/** - * @brief LCD Registers - */ -#define LCD_REG_0 0x00 -#define LCD_REG_1 0x01 -#define LCD_REG_2 0x02 -#define LCD_REG_3 0x03 -#define LCD_REG_4 0x04 -#define LCD_REG_5 0x05 -#define LCD_REG_6 0x06 -#define LCD_REG_7 0x07 -#define LCD_REG_8 0x08 -#define LCD_REG_9 0x09 -#define LCD_REG_10 0x0A -#define LCD_REG_12 0x0C -#define LCD_REG_13 0x0D -#define LCD_REG_14 0x0E -#define LCD_REG_15 0x0F -#define LCD_REG_16 0x10 -#define LCD_REG_17 0x11 -#define LCD_REG_18 0x12 -#define LCD_REG_19 0x13 -#define LCD_REG_20 0x14 -#define LCD_REG_21 0x15 -#define LCD_REG_22 0x16 -#define LCD_REG_23 0x17 -#define LCD_REG_24 0x18 -#define LCD_REG_25 0x19 -#define LCD_REG_26 0x1A -#define LCD_REG_27 0x1B -#define LCD_REG_28 0x1C -#define LCD_REG_29 0x1D -#define LCD_REG_30 0x1E -#define LCD_REG_31 0x1F -#define LCD_REG_32 0x20 -#define LCD_REG_33 0x21 -#define LCD_REG_34 0x22 -#define LCD_REG_36 0x24 -#define LCD_REG_37 0x25 -#define LCD_REG_40 0x28 -#define LCD_REG_41 0x29 -#define LCD_REG_43 0x2B -#define LCD_REG_45 0x2D -#define LCD_REG_48 0x30 -#define LCD_REG_49 0x31 -#define LCD_REG_50 0x32 -#define LCD_REG_51 0x33 -#define LCD_REG_52 0x34 -#define LCD_REG_53 0x35 -#define LCD_REG_54 0x36 -#define LCD_REG_55 0x37 -#define LCD_REG_56 0x38 -#define LCD_REG_57 0x39 -#define LCD_REG_59 0x3B -#define LCD_REG_60 0x3C -#define LCD_REG_61 0x3D -#define LCD_REG_62 0x3E -#define LCD_REG_63 0x3F -#define LCD_REG_64 0x40 -#define LCD_REG_65 0x41 -#define LCD_REG_66 0x42 -#define LCD_REG_67 0x43 -#define LCD_REG_68 0x44 -#define LCD_REG_69 0x45 -#define LCD_REG_70 0x46 -#define LCD_REG_71 0x47 -#define LCD_REG_72 0x48 -#define LCD_REG_73 0x49 -#define LCD_REG_74 0x4A -#define LCD_REG_75 0x4B -#define LCD_REG_76 0x4C -#define LCD_REG_77 0x4D -#define LCD_REG_78 0x4E -#define LCD_REG_79 0x4F -#define LCD_REG_80 0x50 -#define LCD_REG_81 0x51 -#define LCD_REG_82 0x52 -#define LCD_REG_83 0x53 -#define LCD_REG_96 0x60 -#define LCD_REG_97 0x61 -#define LCD_REG_106 0x6A -#define LCD_REG_118 0x76 -#define LCD_REG_128 0x80 -#define LCD_REG_129 0x81 -#define LCD_REG_130 0x82 -#define LCD_REG_131 0x83 -#define LCD_REG_132 0x84 -#define LCD_REG_133 0x85 -#define LCD_REG_134 0x86 -#define LCD_REG_135 0x87 -#define LCD_REG_136 0x88 -#define LCD_REG_137 0x89 -#define LCD_REG_139 0x8B -#define LCD_REG_140 0x8C -#define LCD_REG_141 0x8D -#define LCD_REG_143 0x8F -#define LCD_REG_144 0x90 -#define LCD_REG_145 0x91 -#define LCD_REG_146 0x92 -#define LCD_REG_147 0x93 -#define LCD_REG_148 0x94 -#define LCD_REG_149 0x95 -#define LCD_REG_150 0x96 -#define LCD_REG_151 0x97 -#define LCD_REG_152 0x98 -#define LCD_REG_153 0x99 -#define LCD_REG_154 0x9A -#define LCD_REG_157 0x9D -#define LCD_REG_192 0xC0 -#define LCD_REG_193 0xC1 -#define LCD_REG_227 0xE3 -#define LCD_REG_229 0xE5 -#define LCD_REG_231 0xE7 -#define LCD_REG_239 0xEF - - -/** - * @brief LCD color - */ -#define LCD_COLOR_WHITE 0xFFFF -#define LCD_COLOR_BLACK 0x0000 -#define LCD_COLOR_GREY 0xF7DE -#define LCD_COLOR_BLUE 0x001F -#define LCD_COLOR_BLUE2 0x051F -#define LCD_COLOR_RED 0xF800 -#define LCD_COLOR_MAGENTA 0xF81F -#define LCD_COLOR_GREEN 0x07E0 -#define LCD_COLOR_CYAN 0x7FFF -#define LCD_COLOR_YELLOW 0xFFE0 - -/** - * @brief LCD Lines depending on the chosen fonts. - */ -#define LCD_LINE_0 LINE(0) -#define LCD_LINE_1 LINE(1) -#define LCD_LINE_2 LINE(2) -#define LCD_LINE_3 LINE(3) -#define LCD_LINE_4 LINE(4) -#define LCD_LINE_5 LINE(5) -#define LCD_LINE_6 LINE(6) -#define LCD_LINE_7 LINE(7) -#define LCD_LINE_8 LINE(8) -#define LCD_LINE_9 LINE(9) -#define LCD_LINE_10 LINE(10) -#define LCD_LINE_11 LINE(11) -#define LCD_LINE_12 LINE(12) -#define LCD_LINE_13 LINE(13) -#define LCD_LINE_14 LINE(14) -#define LCD_LINE_15 LINE(15) -#define LCD_LINE_16 LINE(16) -#define LCD_LINE_17 LINE(17) -#define LCD_LINE_18 LINE(18) -#define LCD_LINE_19 LINE(19) -#define LCD_LINE_20 LINE(20) -#define LCD_LINE_21 LINE(21) -#define LCD_LINE_22 LINE(22) -#define LCD_LINE_23 LINE(23) -#define LCD_LINE_24 LINE(24) -#define LCD_LINE_25 LINE(25) -#define LCD_LINE_26 LINE(26) -#define LCD_LINE_27 LINE(27) -#define LCD_LINE_28 LINE(28) -#define LCD_LINE_29 LINE(29) - - -/** - * @brief LCD default font - */ -#define LCD_DEFAULT_FONT Font16x24 - -/** - * @brief LCD Direction - */ -#define LCD_DIR_HORIZONTAL 0x0000 -#define LCD_DIR_VERTICAL 0x0001 - -/** - * @brief LCD Size (Width and Height) - */ -#define LCD_PIXEL_WIDTH 0x0140 -#define LCD_PIXEL_HEIGHT 0x00F0 - -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_LCD_Exported_Macros - * @{ - */ -#define ASSEMBLE_RGB(R, G, B) ((((R)& 0xF8) << 8) | (((G) & 0xFC) << 3) | (((B) & 0xF8) >> 3)) - -/** - * @} - */ - -/** @defgroup STM32100B_EVAL_LCD_Exported_Functions - * @{ - */ -void LCD_DeInit(void); -void LCD_Setup(void); -void STM32100B_LCD_Init(void); -void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor); -void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor); -void LCD_SetTextColor(__IO uint16_t Color); -void LCD_SetBackColor(__IO uint16_t Color); -void LCD_ClearLine(uint8_t Line); -void LCD_Clear(uint16_t Color); -void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos); -void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c); -void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii); -void LCD_SetFont(sFONT *fonts); -sFONT *LCD_GetFont(void); -void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr); -void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width); -void LCD_WindowModeDisable(void); -void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction); -void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width); -void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius); -void LCD_DrawMonoPict(const uint32_t *Pict); -void LCD_DrawBMP(uint32_t BmpAddress); -void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2); -void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); -void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius); -void LCD_PolyLine(pPoint Points, uint16_t PointCount); -void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount); -void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount); -void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount); -void LCD_FillPolyLine(pPoint Points, uint16_t PointCount); -void LCD_nCS_StartByte(uint8_t Start_Byte); -void LCD_WriteRegIndex(uint8_t LCD_Reg); -void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue); -void LCD_WriteRAM_Prepare(void); -void LCD_WriteRAMWord(uint16_t RGB_Code); -uint16_t LCD_ReadReg(uint8_t LCD_Reg); -void LCD_WriteRAM(uint16_t RGB_Code); -void LCD_PowerOn(void); -void LCD_DisplayOn(void); -void LCD_DisplayOff(void); - - -void LCD_CtrlLinesConfig(void); -void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, uint16_t CtrlPins, BitAction BitVal); -void LCD_SPIConfig(void); - -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32100B_EVAL_LCD_H */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval.c deleted file mode 100644 index 04964b0bf..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval.c +++ /dev/null @@ -1,762 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100e_eval.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides - * - set of firmware functions to manage Leds, push-button and COM ports - * - low level initialization functions for SD card (on SDIO), SPI serial - * flash (sFLASH) and temperature sensor (LM75) - * available on STM32100E-EVAL evaluation board from STMicroelectronics. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32100e_eval.h" -#include "stm32f10x_spi.h" -#include "stm32f10x_i2c.h" -#include "stm32f10x_dma.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL - * @{ - */ - -/** @defgroup STM32100E_EVAL_LOW_LEVEL - * @brief This file provides firmware functions to manage Leds, push-buttons, - * COM ports, SD card on SDIO, serial flash (sFLASH), serial EEPROM (sEE) - * and temperature sensor (LM75) available on STM32100E-EVAL evaluation - * board from STMicroelectronics. - * @{ - */ - -/** @defgroup STM32100E_EVAL_LOW_LEVEL_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_LOW_LEVEL_Private_Defines - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_LOW_LEVEL_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_LOW_LEVEL_Private_Variables - * @{ - */ -GPIO_TypeDef* GPIO_PORT[LEDn] = {LED1_GPIO_PORT, LED2_GPIO_PORT, LED3_GPIO_PORT, - LED4_GPIO_PORT}; -const uint16_t GPIO_PIN[LEDn] = {LED1_PIN, LED2_PIN, LED3_PIN, - LED4_PIN}; -const uint32_t GPIO_CLK[LEDn] = {LED1_GPIO_CLK, LED2_GPIO_CLK, LED3_GPIO_CLK, - LED4_GPIO_CLK}; - -GPIO_TypeDef* BUTTON_PORT[BUTTONn] = {WAKEUP_BUTTON_GPIO_PORT, TAMPER_BUTTON_GPIO_PORT, - KEY_BUTTON_GPIO_PORT, RIGHT_BUTTON_GPIO_PORT, - LEFT_BUTTON_GPIO_PORT, UP_BUTTON_GPIO_PORT, - DOWN_BUTTON_GPIO_PORT, SEL_BUTTON_GPIO_PORT}; - -const uint16_t BUTTON_PIN[BUTTONn] = {WAKEUP_BUTTON_PIN, TAMPER_BUTTON_PIN, - KEY_BUTTON_PIN, RIGHT_BUTTON_PIN, - LEFT_BUTTON_PIN, UP_BUTTON_PIN, - DOWN_BUTTON_PIN, SEL_BUTTON_PIN}; - -const uint32_t BUTTON_CLK[BUTTONn] = {WAKEUP_BUTTON_GPIO_CLK, TAMPER_BUTTON_GPIO_CLK, - KEY_BUTTON_GPIO_CLK, RIGHT_BUTTON_GPIO_CLK, - LEFT_BUTTON_GPIO_CLK, UP_BUTTON_GPIO_CLK, - DOWN_BUTTON_GPIO_CLK, SEL_BUTTON_GPIO_CLK}; - -const uint16_t BUTTON_EXTI_LINE[BUTTONn] = {WAKEUP_BUTTON_EXTI_LINE, - TAMPER_BUTTON_EXTI_LINE, - KEY_BUTTON_EXTI_LINE, - RIGHT_BUTTON_EXTI_LINE, - LEFT_BUTTON_EXTI_LINE, - UP_BUTTON_EXTI_LINE, - DOWN_BUTTON_EXTI_LINE, - SEL_BUTTON_EXTI_LINE}; - -const uint16_t BUTTON_PORT_SOURCE[BUTTONn] = {WAKEUP_BUTTON_EXTI_PORT_SOURCE, - TAMPER_BUTTON_EXTI_PORT_SOURCE, - KEY_BUTTON_EXTI_PORT_SOURCE, - RIGHT_BUTTON_EXTI_PORT_SOURCE, - LEFT_BUTTON_EXTI_PORT_SOURCE, - UP_BUTTON_EXTI_PORT_SOURCE, - DOWN_BUTTON_EXTI_PORT_SOURCE, - SEL_BUTTON_EXTI_PORT_SOURCE}; - -const uint16_t BUTTON_PIN_SOURCE[BUTTONn] = {WAKEUP_BUTTON_EXTI_PIN_SOURCE, - TAMPER_BUTTON_EXTI_PIN_SOURCE, - KEY_BUTTON_EXTI_PIN_SOURCE, - RIGHT_BUTTON_EXTI_PIN_SOURCE, - LEFT_BUTTON_EXTI_PIN_SOURCE, - UP_BUTTON_EXTI_PIN_SOURCE, - DOWN_BUTTON_EXTI_PIN_SOURCE, - SEL_BUTTON_EXTI_PIN_SOURCE}; - -const uint16_t BUTTON_IRQn[BUTTONn] = {WAKEUP_BUTTON_EXTI_IRQn, TAMPER_BUTTON_EXTI_IRQn, - KEY_BUTTON_EXTI_IRQn, RIGHT_BUTTON_EXTI_IRQn, - LEFT_BUTTON_EXTI_IRQn, UP_BUTTON_EXTI_IRQn, - DOWN_BUTTON_EXTI_IRQn, SEL_BUTTON_EXTI_IRQn}; - -USART_TypeDef* COM_USART[COMn] = {EVAL_COM1, EVAL_COM2}; - -GPIO_TypeDef* COM_TX_PORT[COMn] = {EVAL_COM1_TX_GPIO_PORT, EVAL_COM2_TX_GPIO_PORT}; - -GPIO_TypeDef* COM_RX_PORT[COMn] = {EVAL_COM1_RX_GPIO_PORT, EVAL_COM2_RX_GPIO_PORT}; - -const uint32_t COM_USART_CLK[COMn] = {EVAL_COM1_CLK, EVAL_COM2_CLK}; - -const uint32_t COM_TX_PORT_CLK[COMn] = {EVAL_COM1_TX_GPIO_CLK, EVAL_COM2_TX_GPIO_CLK}; - -const uint32_t COM_RX_PORT_CLK[COMn] = {EVAL_COM1_RX_GPIO_CLK, EVAL_COM2_RX_GPIO_CLK}; - -const uint16_t COM_TX_PIN[COMn] = {EVAL_COM1_TX_PIN, EVAL_COM2_TX_PIN}; - -const uint16_t COM_RX_PIN[COMn] = {EVAL_COM1_RX_PIN, EVAL_COM2_RX_PIN}; - -DMA_InitTypeDef sEEDMA_InitStructure; - -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_LOW_LEVEL_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_LOW_LEVEL_Private_Functions - * @{ - */ - -/** - * @brief Configures LED GPIO. - * @param Led: Specifies the Led to be configured. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDInit(Led_TypeDef Led) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable the GPIO_LED Clock */ - RCC_APB2PeriphClockCmd(GPIO_CLK[Led], ENABLE); - - /* Configure the GPIO_LED pin */ - GPIO_InitStructure.GPIO_Pin = GPIO_PIN[Led]; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - - GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure); -} - -/** - * @brief Turns selected LED On. - * @param Led: Specifies the Led to be set on. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDOn(Led_TypeDef Led) -{ - GPIO_PORT[Led]->BSRR = GPIO_PIN[Led]; -} - -/** - * @brief Turns selected LED Off. - * @param Led: Specifies the Led to be set off. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDOff(Led_TypeDef Led) -{ - GPIO_PORT[Led]->BRR = GPIO_PIN[Led]; -} - -/** - * @brief Toggles the selected LED. - * @param Led: Specifies the Led to be toggled. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDToggle(Led_TypeDef Led) -{ - GPIO_PORT[Led]->ODR ^= GPIO_PIN[Led]; -} - -/** - * @brief Configures Button GPIO and EXTI Line. - * @param Button: Specifies the Button to be configured. - * This parameter can be one of following parameters: - * @arg BUTTON_WAKEUP: Wakeup Push Button - * @arg BUTTON_TAMPER: Tamper Push Button - * @arg BUTTON_KEY: Key Push Button - * @arg BUTTON_RIGHT: Joystick Right Push Button - * @arg BUTTON_LEFT: Joystick Left Push Button - * @arg BUTTON_UP: Joystick Up Push Button - * @arg BUTTON_DOWN: Joystick Down Push Button - * @arg BUTTON_SEL: Joystick Sel Push Button - * @param Button_Mode: Specifies Button mode. - * This parameter can be one of following parameters: - * @arg BUTTON_MODE_GPIO: Button will be used as simple IO - * @arg BUTTON_MODE_EXTI: Button will be connected to EXTI line with interrupt - * generation capability - * @retval None - */ -void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode) -{ - GPIO_InitTypeDef GPIO_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable the BUTTON Clock */ - RCC_APB2PeriphClockCmd(BUTTON_CLK[Button] | RCC_APB2Periph_AFIO, ENABLE); - - /* Configure Button pin as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_InitStructure.GPIO_Pin = BUTTON_PIN[Button]; - GPIO_Init(BUTTON_PORT[Button], &GPIO_InitStructure); - - - if (Button_Mode == BUTTON_MODE_EXTI) - { - /* Connect Button EXTI Line to Button GPIO Pin */ - GPIO_EXTILineConfig(BUTTON_PORT_SOURCE[Button], BUTTON_PIN_SOURCE[Button]); - - /* Configure Button EXTI line */ - EXTI_InitStructure.EXTI_Line = BUTTON_EXTI_LINE[Button]; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - - if(Button != BUTTON_WAKEUP) - { - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; - } - else - { - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - } - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable and set Button EXTI Interrupt to the lowest priority */ - NVIC_InitStructure.NVIC_IRQChannel = BUTTON_IRQn[Button]; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - - NVIC_Init(&NVIC_InitStructure); - } -} - -/** - * @brief Returns the selected Button state. - * @param Button: Specifies the Button to be checked. - * This parameter can be one of following parameters: - * @arg BUTTON_WAKEUP: Wakeup Push Button - * @arg BUTTON_TAMPER: Tamper Push Button - * @arg BUTTON_KEY: Key Push Button - * @arg BUTTON_RIGHT: Joystick Right Push Button - * @arg BUTTON_LEFT: Joystick Left Push Button - * @arg BUTTON_UP: Joystick Up Push Button - * @arg BUTTON_DOWN: Joystick Down Push Button - * @arg BUTTON_SEL: Joystick Sel Push Button - * @retval The Button GPIO pin value. - */ -uint32_t STM_EVAL_PBGetState(Button_TypeDef Button) -{ - return GPIO_ReadInputDataBit(BUTTON_PORT[Button], BUTTON_PIN[Button]); -} - -/** - * @brief Configures COM port. - * @param COM: Specifies the COM port to be configured. - * This parameter can be one of following parameters: - * @arg COM1 - * @arg COM2 - * @param USART_InitStruct: pointer to a USART_InitTypeDef structure that - * contains the configuration information for the specified USART peripheral. - * @retval None - */ -void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_APB2PeriphClockCmd(COM_TX_PORT_CLK[COM] | COM_RX_PORT_CLK[COM] | RCC_APB2Periph_AFIO, ENABLE); - - /* Enable UART clock */ - if (COM == COM1) - { - RCC_APB2PeriphClockCmd(COM_USART_CLK[COM], ENABLE); - } - else - { - RCC_APB1PeriphClockCmd(COM_USART_CLK[COM], ENABLE); - } - - /* Configure USART Tx as alternate function push-pull */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_InitStructure.GPIO_Pin = COM_TX_PIN[COM]; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(COM_TX_PORT[COM], &GPIO_InitStructure); - - /* Configure USART Rx as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_InitStructure.GPIO_Pin = COM_RX_PIN[COM]; - GPIO_Init(COM_RX_PORT[COM], &GPIO_InitStructure); - - /* USART configuration */ - USART_Init(COM_USART[COM], USART_InitStruct); - - /* Enable USART */ - USART_Cmd(COM_USART[COM], ENABLE); -} - -/** - * @brief DeInitializes the SD/SD communication. - * @param None - * @retval None - */ -void SD_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - SPI_Cmd(SD_SPI, DISABLE); /*!< SD_SPI disable */ - SPI_I2S_DeInit(SD_SPI); /*!< DeInitializes the SD_SPI */ - - /*!< SD_SPI Periph clock disable */ - RCC_APB1PeriphClockCmd(SD_SPI_CLK, DISABLE); - - /*!< Configure SD_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(SD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MISO_PIN; - GPIO_Init(SD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MOSI_PIN; - GPIO_Init(SD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_CS_PIN pin: SD Card CS pin */ - GPIO_InitStructure.GPIO_Pin = SD_CS_PIN; - GPIO_Init(SD_CS_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_DETECT_PIN pin: SD Card detect pin */ - GPIO_InitStructure.GPIO_Pin = SD_DETECT_PIN; - GPIO_Init(SD_DETECT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the SD_SPI and CS pins. - * @param None - * @retval None - */ -void SD_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - SPI_InitTypeDef SPI_InitStructure; - - /*!< SD_SPI_CS_GPIO, SD_SPI_MOSI_GPIO, SD_SPI_MISO_GPIO, SD_SPI_DETECT_GPIO - and SD_SPI_SCK_GPIO Periph clock enable */ - RCC_APB2PeriphClockCmd(SD_CS_GPIO_CLK | SD_SPI_MOSI_GPIO_CLK | SD_SPI_MISO_GPIO_CLK | - SD_SPI_SCK_GPIO_CLK | SD_DETECT_GPIO_CLK, ENABLE); - - /*!< SD_SPI Periph clock enable */ - RCC_APB1PeriphClockCmd(SD_SPI_CLK, ENABLE); - - /*!< Configure SD_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(SD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MOSI_PIN; - GPIO_Init(SD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MISO_PIN; - GPIO_Init(SD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_CS_PIN pin: SD Card CS pin */ - GPIO_InitStructure.GPIO_Pin = SD_CS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(SD_CS_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_DETECT_PIN pin: SD Card detect pin */ - GPIO_InitStructure.GPIO_Pin = SD_DETECT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_Init(SD_DETECT_GPIO_PORT, &GPIO_InitStructure); - - /*!< SD_SPI Config */ - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - SPI_InitStructure.SPI_CRCPolynomial = 7; - SPI_Init(SD_SPI, &SPI_InitStructure); - - SPI_Cmd(SD_SPI, ENABLE); /*!< SD_SPI enable */ -} - -/** - * @brief DeInitializes peripherals used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* sEE_I2C Peripheral Disable */ - I2C_Cmd(sEE_I2C, DISABLE); - - /* sEE_I2C DeInit */ - I2C_DeInit(sEE_I2C); - - /*!< sEE_I2C Periph clock disable */ - RCC_APB1PeriphClockCmd(sEE_I2C_CLK, DISABLE); - - /*!< GPIO configuration */ - /*!< Configure sEE_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = sEE_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(sEE_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sEE_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = sEE_I2C_SDA_PIN; - GPIO_Init(sEE_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /* Configure and enable I2C DMA TX Channel interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_TX_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO; - NVIC_InitStructure.NVIC_IRQChannelCmd = DISABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Configure and enable I2C DMA RX Channel interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_RX_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO; - NVIC_Init(&NVIC_InitStructure); - - /* Disable and Deinitialize the DMA channels */ - DMA_Cmd(sEE_I2C_DMA_CHANNEL_TX, DISABLE); - DMA_Cmd(sEE_I2C_DMA_CHANNEL_RX, DISABLE); - DMA_DeInit(sEE_I2C_DMA_CHANNEL_TX); - DMA_DeInit(sEE_I2C_DMA_CHANNEL_RX); -} - -/** - * @brief Initializes peripherals used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /*!< sEE_I2C_SCL_GPIO_CLK and sEE_I2C_SDA_GPIO_CLK Periph clock enable */ - RCC_APB2PeriphClockCmd(sEE_I2C_SCL_GPIO_CLK | sEE_I2C_SDA_GPIO_CLK, ENABLE); - - /*!< sEE_I2C Periph clock enable */ - RCC_APB1PeriphClockCmd(sEE_I2C_CLK, ENABLE); - - /*!< GPIO configuration */ - /*!< Configure sEE_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = sEE_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; - GPIO_Init(sEE_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sEE_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = sEE_I2C_SDA_PIN; - GPIO_Init(sEE_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /* Configure and enable I2C DMA TX Channel interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_TX_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Configure and enable I2C DMA RX Channel interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_RX_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO; - NVIC_Init(&NVIC_InitStructure); - - /*!< I2C DMA TX and RX channels configuration */ - /* Enable the DMA clock */ - RCC_AHBPeriphClockCmd(sEE_I2C_DMA_CLK, ENABLE); - - /* I2C TX DMA Channel configuration */ - DMA_DeInit(sEE_I2C_DMA_CHANNEL_TX); - sEEDMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)sEE_I2C_DR_Address; - sEEDMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)0; /* This parameter will be configured durig communication */ - sEEDMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; /* This parameter will be configured durig communication */ - sEEDMA_InitStructure.DMA_BufferSize = 0xFFFF; /* This parameter will be configured durig communication */ - sEEDMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - sEEDMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - sEEDMA_InitStructure.DMA_PeripheralDataSize = DMA_MemoryDataSize_Byte; - sEEDMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; - sEEDMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - sEEDMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; - sEEDMA_InitStructure.DMA_M2M = DMA_M2M_Disable; - DMA_Init(sEE_I2C_DMA_CHANNEL_TX, &sEEDMA_InitStructure); - - /* I2C RX DMA Channel configuration */ - DMA_DeInit(sEE_I2C_DMA_CHANNEL_RX); - DMA_Init(sEE_I2C_DMA_CHANNEL_RX, &sEEDMA_InitStructure); - - /* Enable the DMA Channels Interrupts */ - DMA_ITConfig(sEE_I2C_DMA_CHANNEL_TX, DMA_IT_TC, ENABLE); - DMA_ITConfig(sEE_I2C_DMA_CHANNEL_RX, DMA_IT_TC, ENABLE); -} - -/** - * @brief Initializes DMA channel used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_LowLevel_DMAConfig(uint32_t pBuffer, uint32_t BufferSize, uint32_t Direction) -{ - /* Initialize the DMA with the new parameters */ - if (Direction == sEE_DIRECTION_TX) - { - /* Configure the DMA Tx Channel with the buffer address and the buffer size */ - sEEDMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)pBuffer; - sEEDMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; - sEEDMA_InitStructure.DMA_BufferSize = (uint32_t)BufferSize; - DMA_Init(sEE_I2C_DMA_CHANNEL_TX, &sEEDMA_InitStructure); - } - else - { - /* Configure the DMA Rx Channel with the buffer address and the buffer size */ - sEEDMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)pBuffer; - sEEDMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; - sEEDMA_InitStructure.DMA_BufferSize = (uint32_t)BufferSize; - DMA_Init(sEE_I2C_DMA_CHANNEL_RX, &sEEDMA_InitStructure); - } -} - -/** - * @brief DeInitializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Disable the sFLASH_SPI */ - SPI_Cmd(sFLASH_SPI, DISABLE); - - /*!< DeInitializes the sFLASH_SPI */ - SPI_I2S_DeInit(sFLASH_SPI); - - /*!< sFLASH_SPI Periph clock disable */ - RCC_APB2PeriphClockCmd(sFLASH_SPI_CLK, DISABLE); - - /*!< Configure sFLASH_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(sFLASH_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MISO_PIN; - GPIO_Init(sFLASH_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MOSI_PIN; - GPIO_Init(sFLASH_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_CS_PIN pin: sFLASH Card CS pin */ - GPIO_InitStructure.GPIO_Pin = sFLASH_CS_PIN; - GPIO_Init(sFLASH_CS_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< sFLASH_SPI_CS_GPIO, sFLASH_SPI_MOSI_GPIO, sFLASH_SPI_MISO_GPIO - and sFLASH_SPI_SCK_GPIO Periph clock enable */ - RCC_APB2PeriphClockCmd(sFLASH_CS_GPIO_CLK | sFLASH_SPI_MOSI_GPIO_CLK | sFLASH_SPI_MISO_GPIO_CLK | - sFLASH_SPI_SCK_GPIO_CLK, ENABLE); - - /*!< sFLASH_SPI Periph clock enable */ - RCC_APB2PeriphClockCmd(sFLASH_SPI_CLK, ENABLE); - - /*!< Configure sFLASH_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(sFLASH_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MOSI_PIN; - GPIO_Init(sFLASH_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MISO_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(sFLASH_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_CS_PIN pin: sFLASH Card CS pin */ - GPIO_InitStructure.GPIO_Pin = sFLASH_CS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(sFLASH_CS_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief DeInitializes the LM75_I2C. - * @param None - * @retval None - */ -void LM75_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Disable LM75_I2C */ - I2C_Cmd(LM75_I2C, DISABLE); - /*!< DeInitializes the LM75_I2C */ - I2C_DeInit(LM75_I2C); - - /*!< LM75_I2C Periph clock disable */ - RCC_APB1PeriphClockCmd(LM75_I2C_CLK, DISABLE); - - /*!< Configure LM75_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(LM75_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SDA_PIN; - GPIO_Init(LM75_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pin: SMBUS ALERT */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SMBUSALERT_PIN; - GPIO_Init(LM75_I2C_SMBUSALERT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the LM75_I2C.. - * @param None - * @retval None - */ -void LM75_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< LM75_I2C Periph clock enable */ - RCC_APB1PeriphClockCmd(LM75_I2C_CLK, ENABLE); - - /*!< LM75_I2C_SCL_GPIO_CLK, LM75_I2C_SDA_GPIO_CLK - and LM75_I2C_SMBUSALERT_GPIO_CLK Periph clock enable */ - RCC_APB2PeriphClockCmd(LM75_I2C_SCL_GPIO_CLK | LM75_I2C_SDA_GPIO_CLK | - LM75_I2C_SMBUSALERT_GPIO_CLK, ENABLE); - - /*!< Configure LM75_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; - GPIO_Init(LM75_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SDA_PIN; - GPIO_Init(LM75_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pin: SMBUS ALERT */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SMBUSALERT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_Init(LM75_I2C_SMBUSALERT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval.h deleted file mode 100644 index fedb659ea..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval.h +++ /dev/null @@ -1,393 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100e_eval.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains definitions for STM32100E_EVAL's Leds, push-buttons - * COM ports, sFLASH (on SPI) and Temperature Sensor LM75 (on I2C) - * hardware resources. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32100E_EVAL_H -#define __STM32100E_EVAL_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL_LOW_LEVEL - * @{ - */ - -/** @defgroup STM32100E_EVAL_LOW_LEVEL_Exported_Types - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_LOW_LEVEL_Exported_Constants - * @{ - */ -/** @addtogroup STM32100E_EVAL_LOW_LEVEL_LED - * @{ - */ -#define LEDn 4 - -#define LED1_PIN GPIO_Pin_6 -#define LED1_GPIO_PORT GPIOF -#define LED1_GPIO_CLK RCC_APB2Periph_GPIOF - -#define LED2_PIN GPIO_Pin_7 -#define LED2_GPIO_PORT GPIOF -#define LED2_GPIO_CLK RCC_APB2Periph_GPIOF - -#define LED3_PIN GPIO_Pin_8 -#define LED3_GPIO_PORT GPIOF -#define LED3_GPIO_CLK RCC_APB2Periph_GPIOF - -#define LED4_PIN GPIO_Pin_9 -#define LED4_GPIO_PORT GPIOF -#define LED4_GPIO_CLK RCC_APB2Periph_GPIOF - -/** - * @} - */ - -/** @addtogroup STM32100E_EVAL_LOW_LEVEL_BUTTON - * @{ - */ -#define BUTTONn 8 - -/** - * @brief Wakeup push-button - */ -#define WAKEUP_BUTTON_PIN GPIO_Pin_0 -#define WAKEUP_BUTTON_GPIO_PORT GPIOA -#define WAKEUP_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOA -#define WAKEUP_BUTTON_EXTI_LINE EXTI_Line0 -#define WAKEUP_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOA -#define WAKEUP_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource0 -#define WAKEUP_BUTTON_EXTI_IRQn EXTI0_IRQn -/** - * @brief Tamper push-button - */ -#define TAMPER_BUTTON_PIN GPIO_Pin_13 -#define TAMPER_BUTTON_GPIO_PORT GPIOC -#define TAMPER_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOC -#define TAMPER_BUTTON_EXTI_LINE EXTI_Line13 -#define TAMPER_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOC -#define TAMPER_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource13 -#define TAMPER_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Key push-button - */ -#define KEY_BUTTON_PIN GPIO_Pin_8 -#define KEY_BUTTON_GPIO_PORT GPIOG -#define KEY_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG -#define KEY_BUTTON_EXTI_LINE EXTI_Line8 -#define KEY_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG -#define KEY_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource8 -#define KEY_BUTTON_EXTI_IRQn EXTI9_5_IRQn -/** - * @brief Joystick Right push-button - */ -#define RIGHT_BUTTON_PIN GPIO_Pin_13 -#define RIGHT_BUTTON_GPIO_PORT GPIOG -#define RIGHT_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG -#define RIGHT_BUTTON_EXTI_LINE EXTI_Line13 -#define RIGHT_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG -#define RIGHT_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource13 -#define RIGHT_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Joystick Left push-button - */ -#define LEFT_BUTTON_PIN GPIO_Pin_14 -#define LEFT_BUTTON_GPIO_PORT GPIOG -#define LEFT_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG -#define LEFT_BUTTON_EXTI_LINE EXTI_Line14 -#define LEFT_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG -#define LEFT_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource14 -#define LEFT_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Joystick Up push-button - */ -#define UP_BUTTON_PIN GPIO_Pin_15 -#define UP_BUTTON_GPIO_PORT GPIOG -#define UP_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG -#define UP_BUTTON_EXTI_LINE EXTI_Line15 -#define UP_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG -#define UP_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource15 -#define UP_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Joystick Down push-button - */ -#define DOWN_BUTTON_PIN GPIO_Pin_11 -#define DOWN_BUTTON_GPIO_PORT GPIOG -#define DOWN_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG -#define DOWN_BUTTON_EXTI_LINE EXTI_Line11 -#define DOWN_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG -#define DOWN_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource11 -#define DOWN_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Joystick Sel push-button - */ -#define SEL_BUTTON_PIN GPIO_Pin_7 -#define SEL_BUTTON_GPIO_PORT GPIOG -#define SEL_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG -#define SEL_BUTTON_EXTI_LINE EXTI_Line7 -#define SEL_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG -#define SEL_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource7 -#define SEL_BUTTON_EXTI_IRQn EXTI9_5_IRQn -/** - * @} - */ - -/** @addtogroup STM32100E_EVAL_LOW_LEVEL_COM - * @{ - */ -#define COMn 2 - -/** - * @brief Definition for COM port1, connected to USART1 - */ -#define EVAL_COM1 USART1 -#define EVAL_COM1_CLK RCC_APB2Periph_USART1 -#define EVAL_COM1_TX_PIN GPIO_Pin_9 -#define EVAL_COM1_TX_GPIO_PORT GPIOA -#define EVAL_COM1_TX_GPIO_CLK RCC_APB2Periph_GPIOA -#define EVAL_COM1_RX_PIN GPIO_Pin_10 -#define EVAL_COM1_RX_GPIO_PORT GPIOA -#define EVAL_COM1_RX_GPIO_CLK RCC_APB2Periph_GPIOA -#define EVAL_COM1_IRQn USART1_IRQn - -/** - * @brief Definition for COM port2, connected to USART2 - */ -#define EVAL_COM2 USART2 -#define EVAL_COM2_CLK RCC_APB1Periph_USART2 -#define EVAL_COM2_TX_PIN GPIO_Pin_2 -#define EVAL_COM2_TX_GPIO_PORT GPIOA -#define EVAL_COM2_TX_GPIO_CLK RCC_APB2Periph_GPIOA -#define EVAL_COM2_RX_PIN GPIO_Pin_3 -#define EVAL_COM2_RX_GPIO_PORT GPIOA -#define EVAL_COM2_RX_GPIO_CLK RCC_APB2Periph_GPIOA -#define EVAL_COM2_IRQn USART2_IRQn - -/** - * @} - */ - -/** @addtogroup STM32100E_EVAL_LOW_LEVEL_SD_FLASH - * @{ - */ -/** - * @brief SD SPI Interface pins - */ -#define SD_SPI SPI2 -#define SD_SPI_CLK RCC_APB1Periph_SPI2 -#define SD_SPI_SCK_PIN GPIO_Pin_13 /* PC.13 */ -#define SD_SPI_SCK_GPIO_PORT GPIOB /* GPIOB */ -#define SD_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOB -#define SD_SPI_MISO_PIN GPIO_Pin_14 /* PC.14 */ -#define SD_SPI_MISO_GPIO_PORT GPIOB /* GPIOB */ -#define SD_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOB -#define SD_SPI_MOSI_PIN GPIO_Pin_15 /* PB.15 */ -#define SD_SPI_MOSI_GPIO_PORT GPIOB /* GPIOB */ -#define SD_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOB -#define SD_CS_PIN GPIO_Pin_6 /* PG.06 */ -#define SD_CS_GPIO_PORT GPIOG /* GPIOG */ -#define SD_CS_GPIO_CLK RCC_APB2Periph_GPIOG -#define SD_DETECT_PIN GPIO_Pin_11 /* PF.11 */ -#define SD_DETECT_GPIO_PORT GPIOF /* GPIOF */ -#define SD_DETECT_GPIO_CLK RCC_APB2Periph_GPIOF - -/** - * @} - */ - -/** @addtogroup STM3210C_EVAL_LOW_LEVEL_I2C_EE - * @{ - */ -/** - * @brief I2C EEPROM Interface pins - */ -#define sEE_I2C I2C2 -#define sEE_I2C_CLK RCC_APB1Periph_I2C2 -#define sEE_I2C_SCL_PIN GPIO_Pin_10 /* PB.10 */ -#define sEE_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */ -#define sEE_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB -#define sEE_I2C_SDA_PIN GPIO_Pin_11 /* PB.11 */ -#define sEE_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */ -#define sEE_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB -#define sEE_M24C64_32 - -#define sEE_I2C_DMA DMA1 -#define sEE_I2C_DMA_CHANNEL_TX DMA1_Channel4 -#define sEE_I2C_DMA_CHANNEL_RX DMA1_Channel5 -#define sEE_I2C_DMA_FLAG_TX_TC DMA1_IT_TC4 -#define sEE_I2C_DMA_FLAG_TX_GL DMA1_IT_GL4 -#define sEE_I2C_DMA_FLAG_RX_TC DMA1_IT_TC5 -#define sEE_I2C_DMA_FLAG_RX_GL DMA1_IT_GL5 -#define sEE_I2C_DMA_CLK RCC_AHBPeriph_DMA1 -#define sEE_I2C_DR_Address ((uint32_t)0x40005810) -#define sEE_USE_DMA - -#define sEE_I2C_DMA_TX_IRQn DMA1_Channel4_IRQn -#define sEE_I2C_DMA_RX_IRQn DMA1_Channel5_IRQn -#define sEE_I2C_DMA_TX_IRQHandler DMA1_Channel4_IRQHandler -#define sEE_I2C_DMA_RX_IRQHandler DMA1_Channel5_IRQHandler -#define sEE_I2C_DMA_PREPRIO 0 -#define sEE_I2C_DMA_SUBPRIO 0 - -#define sEE_DIRECTION_TX 0 -#define sEE_DIRECTION_RX 1 - -/* Time constant for the delay caclulation allowing to have a millisecond - incrementing counter. This value should be equal to (System Clock / 1000). - ie. if system clock = 24MHz then sEE_TIME_CONST should be 24. */ -#define sEE_TIME_CONST 24 - -/** - * @} - */ - -/** @addtogroup STM32100E_EVAL_LOW_LEVEL_M25P_FLASH_SPI - * @{ - */ -/** - * @brief M25P FLASH SPI Interface pins - */ -#define sFLASH_SPI SPI1 -#define sFLASH_SPI_CLK RCC_APB2Periph_SPI1 -#define sFLASH_SPI_SCK_PIN GPIO_Pin_5 /* PA.05 */ -#define sFLASH_SPI_SCK_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOA -#define sFLASH_SPI_MISO_PIN GPIO_Pin_6 /* PA.06 */ -#define sFLASH_SPI_MISO_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOA -#define sFLASH_SPI_MOSI_PIN GPIO_Pin_7 /* PA.07 */ -#define sFLASH_SPI_MOSI_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOA -#define sFLASH_CS_PIN GPIO_Pin_6 /* PE.06 */ -#define sFLASH_CS_GPIO_PORT GPIOE /* GPIOE */ -#define sFLASH_CS_GPIO_CLK RCC_APB2Periph_GPIOE - -/** - * @} - */ - - -/** @addtogroup STM32100E_EVAL_LOW_LEVEL_TSENSOR_I2C - * @{ - */ -/** - * @brief LM75 Temperature Sensor I2C Interface pins - */ -#define LM75_I2C I2C2 -#define LM75_I2C_CLK RCC_APB1Periph_I2C2 -#define LM75_I2C_SCL_PIN GPIO_Pin_10 /* PB.10 */ -#define LM75_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB -#define LM75_I2C_SDA_PIN GPIO_Pin_11 /* PB.11 */ -#define LM75_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB -#define LM75_I2C_SMBUSALERT_PIN GPIO_Pin_12 /* PB.12 */ -#define LM75_I2C_SMBUSALERT_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SMBUSALERT_GPIO_CLK RCC_APB2Periph_GPIOB -#define LM75_I2C_DR ((uint32_t)0x40005810) - -#define LM75_DMA_CLK RCC_AHBPeriph_DMA1 -#define LM75_DMA_TX_CHANNEL DMA1_Channel4 -#define LM75_DMA_RX_CHANNEL DMA1_Channel5 -#define LM75_DMA_TX_TCFLAG DMA1_FLAG_TC4 -#define LM75_DMA_RX_TCFLAG DMA1_FLAG_TC5 - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_LOW_LEVEL_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_LOW_LEVEL_Exported_Functions - * @{ - */ -void STM_EVAL_LEDInit(Led_TypeDef Led); -void STM_EVAL_LEDOn(Led_TypeDef Led); -void STM_EVAL_LEDOff(Led_TypeDef Led); -void STM_EVAL_LEDToggle(Led_TypeDef Led); -void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode); -uint32_t STM_EVAL_PBGetState(Button_TypeDef Button); -void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct); -void SD_LowLevel_DeInit(void); -void SD_LowLevel_Init(void); -void sEE_LowLevel_DeInit(void); -void sEE_LowLevel_Init(void); -void sEE_LowLevel_DMAConfig(uint32_t pBuffer, uint32_t BufferSize, uint32_t Direction); -void sFLASH_LowLevel_DeInit(void); -void sFLASH_LowLevel_Init(void); -void LM75_LowLevel_DeInit(void); -void LM75_LowLevel_Init(void); -/** - * @} - */ -#ifdef __cplusplus -} -#endif - -#endif /* __STM32100E_EVAL_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_cec.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_cec.c deleted file mode 100644 index a7595c303..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_cec.c +++ /dev/null @@ -1,1722 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100e_eval_cec.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides all the STM32100E-EVAL HDMI-CEC firmware functions. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32100e_eval_cec.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL - * @{ - */ - -/** @defgroup STM32100E_EVAL_CEC - * @brief This file includes the CEC Stack driver for HDMI-CEC Module - * of STM32100E-EVAL board. - * @{ - */ - -/** @defgroup STM32100E_EVAL_CEC_Private_Types - * @{ - */ - -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_CEC_Private_Defines - * @{ - */ - - -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_CEC_Private_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_CEC_Private_Variables - * @{ - */ - -__IO uint32_t ReceivedFrame = 0; -__IO uint32_t SendFrame = 0; -__IO uint32_t BufferCount = 0, TxCounter = 0, RxCounter = 0; -__IO uint8_t BufferPointer[15]; -__IO uint32_t ReceiveStatus = 0; -__IO uint32_t SendStatus = 0; -__IO uint8_t TransErrorCode = 0; -__IO uint8_t RecepErrorCode = 0; -__IO uint8_t MyLogicalAddress = 0; -__IO uint16_t MyPhysicalAddress = 0; -__IO uint8_t DeviceType = 0; -#ifdef HDMI_CEC_USE_DDC -__IO uint8_t pBuffer[256]; -__IO uint16_t NumByteToRead = 255; -#endif -__IO uint8_t CECDevicesNumber = 0; - -HDMI_CEC_Message HDMI_CEC_TX_MessageStructPrivate; -HDMI_CEC_Message HDMI_CEC_RX_MessageStructPrivate; -HDMI_CEC_Message HDMI_CEC_TX_MessageStructure; - -__IO uint8_t FeatureOpcode = 0; -__IO uint8_t AbortReason = 0; -__IO uint8_t DeviceCount = 0; - -HDMI_CEC_Map HDMI_CEC_MapStruct; -HDMI_CEC_Map HDMI_CEC_DeviceMap[14]; - -/* CEC follower addresses */ -uint8_t* HDMI_CEC_Follower_String[13][2] = - { - {(uint8_t*)" TV ", (uint8_t*)"0"}, - {(uint8_t*)"Recording Device 1 ", (uint8_t*)"0"}, - {(uint8_t*)"Recording Device 2 ", (uint8_t*)"0"}, - {(uint8_t*)" Tuner 1 ", (uint8_t*)"0"}, - {(uint8_t*)" Playback Device 1 ", (uint8_t*)"0"}, - {(uint8_t*)" Audio System ", (uint8_t*)"0"}, - {(uint8_t*)" Tuner 2 ", (uint8_t*)"0"}, - {(uint8_t*)" Tuner 3 ", (uint8_t*)"0"}, - {(uint8_t*)" Playback Device 2 ", (uint8_t*)"0"}, - {(uint8_t*)"Recording Device 3 ", (uint8_t*)"0"}, - {(uint8_t*)" Tuner 4 ", (uint8_t*)"0"}, - {(uint8_t*)" Playback Device 3 ", (uint8_t*)"0"}, - {(uint8_t*)" Broadcast ", (uint8_t*)"1"} - }; - -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_CEC_Private_Function_Prototypes - * @{ - */ -static HDMI_CEC_Error PhysicalAddressDiscovery(void); -static HDMI_CEC_Error LogicalAddressAllocation(void); - - -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_CEC_Private_Functions - * @{ - */ - -/** - * @brief Initializes the HDMI CEC. - * @param None - * @retval HDMI_CEC_Error: CEC Error code - */ -HDMI_CEC_Error HDMI_CEC_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - CEC_InitTypeDef CEC_InitStructure; - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - uint8_t sendcount = 0; - -#ifdef HDMI_CEC_USE_DDC - I2C_InitTypeDef I2C_InitStructure; - /* Enable CEC_I2C clocks */ - RCC_APB1PeriphClockCmd(HDMI_CEC_I2C_CLK, ENABLE); - - /* Enable CEC_I2C_GPIO and CEC_HPD_GPIO clocks */ - RCC_APB2PeriphClockCmd(HDMI_CEC_I2C_GPIO_CLK | HDMI_CEC_HPD_GPIO_CLK, ENABLE); -#endif - - /* Enable CEC clocks */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_CEC, ENABLE); - - /* Enable CEC_LINE_GPIO clocks */ - RCC_APB2PeriphClockCmd(HDMI_CEC_LINE_GPIO_CLK, ENABLE); - - /* Configure CEC_LINE_GPIO as Output open drain */ - GPIO_InitStructure.GPIO_Pin = HDMI_CEC_LINE_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; - GPIO_Init(HDMI_CEC_LINE_GPIO_PORT, &GPIO_InitStructure); - -#ifdef HDMI_CEC_USE_DDC - /* Configure CEC_I2C_SCL_PIN and CEC_I2C_SDA_PIN as Output open drain */ - GPIO_InitStructure.GPIO_Pin = HDMI_CEC_I2C_SCL_PIN | HDMI_CEC_I2C_SDA_PIN; - GPIO_Init(HDMI_CEC_I2C_GPIO_PORT, &GPIO_InitStructure); - -/* This configuration is only when the HDMI CEC is configured as source. - The HDMI source has to provide the +5V Power signal to the sink. - On STM32100E-EVAL borad, you have to solder the SB4 Solder bridge. - Then, the source will wait for HPD signal to be asserted from the sink. - Once the HPD signal is detected the source shall read the EDID structure - throuhgh the DDC channel. */ - /* Configure CEC_HPD_GPIO as Input pull down */ - GPIO_InitStructure.GPIO_Pin = HDMI_CEC_HPD_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; - GPIO_Init(HDMI_CEC_HPD_GPIO_PORT, &GPIO_InitStructure); - - -/* This configuration is only when the HDMI CEC is configured as sink. - The HDMI sink has to wait for the +5V Power signal from the source. - On STM32100E-EVAL borad, SB4 Solder bridge should be open (default configuration). - Then, the sink will assert the HPD signal to inform the source that the EDID - is ready for read through DDC channel. In this implementation, the EDID structure - is not implemented. */ -/* GPIO_InitStructure.GPIO_Pin = HDMI_CEC_HPD_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(HDMI_CEC_HPD_GPIO_PORT, &GPIO_InitStructure); - - HDMI_CEC_HPD_HIGH(); // Set the Hot plug detect signal */ - - /* Enable CEC_I2C */ - I2C_Cmd(HDMI_CEC_I2C, ENABLE); - - /* I2C configuration */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2; - I2C_InitStructure.I2C_OwnAddress1 = HDMI_CEC_I2C_SLAVE_ADDRESS7; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; - I2C_InitStructure.I2C_ClockSpeed = HDMI_CEC_I2C_CLOCK_SPEED; - I2C_Init(HDMI_CEC_I2C, &I2C_InitStructure); -#endif - - /* Physical Address discovery */ - errorstatus = PhysicalAddressDiscovery(); - - if (errorstatus != HDMI_CEC_OK) - { - /* Device not connected (Physical Address lost) */ - return(errorstatus); - } - - - /* CEC DeInit */ - CEC_DeInit(); - - /* Configure CEC */ - CEC_InitStructure.CEC_BitTimingMode = CEC_BitTimingStdMode; - CEC_InitStructure.CEC_BitPeriodMode = CEC_BitPeriodStdMode; - CEC_Init(&CEC_InitStructure); - - /* Set Prescaler value for APB1 clock = 24MHz */ - CEC_SetPrescaler(0x4AF); - - /* Enable CEC */ - CEC_Cmd(ENABLE); - - /* Logical Address Allocation */ - sendcount = 0; - errorstatus = LogicalAddressAllocation(); - - while ((errorstatus != HDMI_CEC_OK) && sendcount < 0x5) - { - sendcount++; - errorstatus = LogicalAddressAllocation(); - } - - if (errorstatus != HDMI_CEC_OK) - { - /* Device Unregistred */ - return(errorstatus); - } - - HDMI_CEC_CheckConnectedDevices(); - - /* Set the CEC initiator address */ - CEC_OwnAddressConfig(MyLogicalAddress); - - /* Activate CEC interrupts associated to the set of RBTF,RERR, TBTF, TERR flags */ - CEC_ITConfig(ENABLE); - - /* Report physical address*/ - errorstatus = HDMI_CEC_ReportPhysicalAddress(); - sendcount = 0; - - while ((errorstatus != HDMI_CEC_OK) && sendcount < 0x5) - { - sendcount++; - errorstatus = HDMI_CEC_ReportPhysicalAddress(); - } - - if (errorstatus != HDMI_CEC_OK) - { - /* Device Unregistred */ - return(errorstatus); - } - - return errorstatus; -} - -/** - * @brief Transmit message by taking data from typedef struct CEC_Meassage - * @param CEC_TX_MessageStructure: pointer to an CEC_Message structure that contains - * the message to be sent. - * @retval HDMI_CEC_Error: CEC Error code - */ -HDMI_CEC_Error HDMI_CEC_TransmitMessage(HDMI_CEC_Message *HDMI_CEC_TX_MessageStructure) -{ - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - __IO uint32_t count = 0, j = 0; - - SendFrame = 0; - SendStatus = 0; - TxCounter = 0; - BufferCount = 0; - - HDMI_CEC_TX_MessageStructPrivate = *HDMI_CEC_TX_MessageStructure; - - /* Initialize BufferPointer */ - for (j = 0; j < 15; j++) - { - BufferPointer[j] = 0; - } - - BufferPointer[0] = HDMI_CEC_TX_MessageStructPrivate.Opcode; - - for (BufferCount = 1; BufferCount < HDMI_CEC_TX_MessageStructPrivate.TxMessageLength + 1; BufferCount++) - { - BufferPointer[BufferCount] = HDMI_CEC_TX_MessageStructPrivate.Operande[BufferCount-1]; - } - - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - /* Write single Data in the TX Buffer to Transmit through the CEC peripheral */ - CEC_SendDataByte(HDMI_CEC_TX_MessageStructPrivate.Header); - - /* Initiate Message Transmission */ - CEC_StartOfMessage(); - - while ((SendFrame == 0) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - if (SendStatus == 0) - { - errorstatus = (HDMI_CEC_Error) TransErrorCode; - } - - return errorstatus; -} - - -/** - * @brief Get the ESR register status. - * @param None - * @retval HDMI_CEC_Error: CEC Error code - */ -HDMI_CEC_Error HDMI_CEC_GetErrorStatus (void) -{ - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - - /* Bit timing error case*/ - if (CEC_GetFlagStatus(CEC_FLAG_BTE) != RESET) - { - errorstatus = HDMI_CEC_BIT_TIMING; - } - /* Bit period error case */ - if (CEC_GetFlagStatus(CEC_FLAG_BPE) != RESET) - { - errorstatus = HDMI_CEC_BIT_PERIOD; - } - /* Recieve error case */ - if (CEC_GetFlagStatus(CEC_FLAG_RBTFE) != RESET) - { - errorstatus = HDMI_CEC_RX_BLOCK_FINISHED; - } - /* Start bit error case*/ - if (CEC_GetFlagStatus(CEC_FLAG_SBE) != RESET) - { - errorstatus = HDMI_CEC_START_BIT; - } - /* Acknowledge error case*/ - if (CEC_GetFlagStatus(CEC_FLAG_ACKE) != RESET) - { - errorstatus = HDMI_CEC_BLOCK_ACKNOWLEDGE; - } - /* Line error case */ - if (CEC_GetFlagStatus(CEC_FLAG_LINE) != RESET) - { - errorstatus = HDMI_CEC_LINE; - } - /* Transfert error case*/ - if (CEC_GetFlagStatus(CEC_FLAG_TBTFE) != RESET) - { - errorstatus = HDMI_CEC_TX_BLOCK_FINISHED; - } - /* Clear All errors */ - CEC_ClearFlag(CEC_FLAG_RERR); - CEC_ClearFlag(CEC_FLAG_TERR); - return errorstatus; -} - -/** - * @brief Allows to process all the interrupts that are high. - * @param None - * @retval None - */ -void HDMI_CEC_ProcessIRQSrc(void) -{ - /********************** Reception *********************************************/ - /* Check if a reception error occured */ - if (CEC_GetFlagStatus(CEC_FLAG_RERR)) - { - /* Set receive status bit (Error) */ - ReceiveStatus = 0; - ReceivedFrame = 1; - RecepErrorCode = HDMI_CEC_GetErrorStatus(); - CEC_ClearFlag(CEC_FLAG_RERR | CEC_FLAG_RSOM | CEC_FLAG_REOM | CEC_FLAG_RBTF); - } - else if (CEC_GetFlagStatus(CEC_FLAG_RBTF)) - { - /* Check if the byte received is the last one of the message */ - if (CEC_GetFlagStatus(CEC_FLAG_REOM)) - { - HDMI_CEC_RX_MessageStructPrivate.Operande[RxCounter-1] = CEC_ReceiveDataByte(); - HDMI_CEC_RX_MessageStructPrivate.RxMessageLength = RxCounter; - ReceiveStatus = SUCCESS; - ReceivedFrame = 1; - } - /* Check if the byte received is a Header */ - else if (CEC_GetFlagStatus(CEC_FLAG_RSOM)) - { - ReceiveStatus = 0; - HDMI_CEC_RX_MessageStructPrivate.Header = CEC_ReceiveDataByte(); - RxCounter = 0; - } - /* Receive each byte except header in the reception buffer */ - else - { - if (RxCounter != 0) - { - HDMI_CEC_RX_MessageStructPrivate.Operande[RxCounter-1] = CEC_ReceiveDataByte(); - RxCounter++; - } - else - { - HDMI_CEC_RX_MessageStructPrivate.Opcode = CEC_ReceiveDataByte(); - RxCounter++; - } - - } - /* Clear all reception flags */ - CEC_ClearFlag(CEC_FLAG_RSOM | CEC_FLAG_REOM | CEC_FLAG_RBTF); - } - - /********************** Transmission ******************************************/ - /* Check if a transmission error occured */ - if (CEC_GetFlagStatus(CEC_FLAG_TERR)) - { - TransErrorCode = HDMI_CEC_GetErrorStatus(); - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - SendFrame = 1; - SendStatus = 0; - } - /* Check if end of message bit is set in the data to be transmitted */ - else if (CEC_GetFlagStatus(CEC_FLAG_TEOM)) - { - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_RBTF); - CEC_EndOfMessageCmd(DISABLE); - SendFrame = 1; - SendStatus = SUCCESS; - } - /* Check if data byte has been sent */ - else if (CEC_GetFlagStatus(CEC_FLAG_TBTRF)) - { - /* Set EOM bit if the byte to be transmitted is the last one of the TransmitBuffer */ - if (TxCounter == (HDMI_CEC_TX_MessageStructPrivate.TxMessageLength)) - { - CEC_SendDataByte(BufferPointer[TxCounter]); - TxCounter++; - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(ENABLE); - } - else - { - /* Put the byte in the TX Buffer */ - CEC_SendDataByte(BufferPointer[TxCounter]); - TxCounter++; - CEC_ClearFlag(CEC_FLAG_TBTRF); - } - } -} - -/** - * @brief Report physical address to all other devices thus allowing any - device to create a map of the network. - * @param None - * @retval HDMI_CEC_Error: CEC Error code. - */ -HDMI_CEC_Error HDMI_CEC_ReportPhysicalAddress(void) -{ - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - HDMI_CEC_Message HDMI_CEC_TX_Message; - - HDMI_CEC_TX_Message.Header = ((MyLogicalAddress << 4) | 0xF); - HDMI_CEC_TX_Message.Opcode = HDMI_CEC_OPCODE_REPORT_PHYSICAL_ADDRESS; - HDMI_CEC_TX_Message.Operande[0] = MyPhysicalAddress >> 8; - HDMI_CEC_TX_Message.Operande[1] = MyPhysicalAddress & 0xFF; - HDMI_CEC_TX_Message.Operande[2] = DeviceType; - HDMI_CEC_TX_Message.TxMessageLength = 0x03; - - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_Message); - - return errorstatus; -} - -/** - * @brief Handle CEC command receive callback. - * When receiving the STANDBY Opcode commande, the system is entred in - * Stop mode and when wakeup, the PLL is configured as system clock and - * the HSI is selected as PLL source. - * @param None - * @retval None - */ -void HDMI_CEC_CommandCallBack(void) -{ - uint8_t i = 0, sendcount = 0; - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - EXTI_InitTypeDef EXTI_InitStructure; - - switch (HDMI_CEC_RX_MessageStructPrivate.Opcode) - { - case HDMI_CEC_OPCODE_REPORT_PHYSICAL_ADDRESS: - HDMI_CEC_MapStruct.PhysicalAddress_A = HDMI_CEC_RX_MessageStructPrivate.Operande[1] >> 4; - HDMI_CEC_MapStruct.PhysicalAddress_B = HDMI_CEC_RX_MessageStructPrivate.Operande[1] & 0x0F; - HDMI_CEC_MapStruct.PhysicalAddress_C = HDMI_CEC_RX_MessageStructPrivate.Operande[0] >> 4; - HDMI_CEC_MapStruct.PhysicalAddress_D = HDMI_CEC_RX_MessageStructPrivate.Operande[0] & 0x0F; - HDMI_CEC_MapStruct.LogicalAddress = (HDMI_CEC_RX_MessageStructPrivate.Header >> 0x4) & 0x0F; - HDMI_CEC_MapStruct.DeviceType = HDMI_CEC_RX_MessageStructPrivate.Operande[2]; - HDMI_CEC_DeviceMap[DeviceCount] = HDMI_CEC_MapStruct; - HDMI_CEC_Follower_String[(HDMI_CEC_DeviceMap[DeviceCount].LogicalAddress)][1] = (uint8_t*)"1"; - DeviceCount++; - break; - - case HDMI_CEC_OPCODE_STANDBY: - /* CEC Line */ - GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8); - /* Configure the CEC Line as EXTI Line on Falling Edge */ - EXTI_ClearITPendingBit(EXTI_Line8); - EXTI_InitStructure.EXTI_Line = EXTI_Line8; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - /* Request to enter Stop mode */ - PWR_EnterSTOPMode(PWR_Regulator_ON, PWR_STOPEntry_WFI); - - /* Disable the CEC EXTI Line */ - EXTI_InitStructure.EXTI_LineCmd = DISABLE; - EXTI_Init(&EXTI_InitStructure); - /* Configure the PLL Source */ - RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_6); - - /* Enable PLL */ - RCC_PLLCmd(ENABLE); - - /* Wait till PLL is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) - { - } - - /* Select PLL as system clock source */ - RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); - - /* Wait till PLL is used as system clock source */ - while(RCC_GetSYSCLKSource() != 0x08) - { - } - break; - - case HDMI_CEC_OPCODE_GET_CEC_VERSION: - /* Send the Used CEC version */ - HDMI_CEC_TX_MessageStructPrivate.Header = ((MyLogicalAddress << 4) | HDMI_CEC_RX_MessageStructPrivate.Header >> 4); - HDMI_CEC_TX_MessageStructPrivate.Opcode = HDMI_CEC_OPCODE_CEC_VERSION; - HDMI_CEC_TX_MessageStructPrivate.Operande[0] = HDMI_CEC_VERSION; /* CEC Version */ - HDMI_CEC_TX_MessageStructPrivate.TxMessageLength = 0x01; - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_MessageStructPrivate); - - /* Retransmit message until 5 time */ - while ((errorstatus != HDMI_CEC_OK) && sendcount < 0x5) - { - sendcount++; - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_MessageStructPrivate); - } - break; - - case HDMI_CEC_OPCODE_GIVE_PHYSICAL_ADDRESS: - /* Send the Physical address */ - errorstatus = HDMI_CEC_ReportPhysicalAddress(); - sendcount = 0; - /* Retransmit message until 5 time */ - while ((errorstatus != HDMI_CEC_OK) && sendcount < 0x5) - { - sendcount++; - errorstatus = HDMI_CEC_ReportPhysicalAddress(); - } - break; - - case HDMI_CEC_OPCODE_FEATURE_ABORT: - /* The device doesn't support the requested message type, or that it cannot - execute it at the present time. */ - FeatureOpcode = HDMI_CEC_RX_MessageStructPrivate.Operande[0]; - AbortReason = HDMI_CEC_RX_MessageStructPrivate.Operande[1]; - break; - - case HDMI_CEC_OPCODE_GIVE_OSD_NAME: - /* Send the OSD name = STM32100E CEC*/ - HDMI_CEC_TX_MessageStructPrivate.Header = ((MyLogicalAddress << 4) | HDMI_CEC_RX_MessageStructPrivate.Header >> 4); - HDMI_CEC_TX_MessageStructPrivate.Opcode = HDMI_CEC_OPCODE_SET_OSD_NAME; - /* STM32100E*/ - HDMI_CEC_TX_MessageStructPrivate.Operande[0] = 0x53; - HDMI_CEC_TX_MessageStructPrivate.Operande[1] = 0x54; - HDMI_CEC_TX_MessageStructPrivate.Operande[2] = 0x4D; - HDMI_CEC_TX_MessageStructPrivate.Operande[3] = 0x33; - HDMI_CEC_TX_MessageStructPrivate.Operande[4] = 0x32; - HDMI_CEC_TX_MessageStructPrivate.Operande[5] = 0x31; - HDMI_CEC_TX_MessageStructPrivate.Operande[6] = 0x30; - HDMI_CEC_TX_MessageStructPrivate.Operande[7] = 0x30; - HDMI_CEC_TX_MessageStructPrivate.Operande[8] = 0x45; - HDMI_CEC_TX_MessageStructPrivate.Operande[9] = 0x20; - /* CEC */ - HDMI_CEC_TX_MessageStructPrivate.Operande[10] = 0x43; - HDMI_CEC_TX_MessageStructPrivate.Operande[11] = 0x45; - HDMI_CEC_TX_MessageStructPrivate.Operande[12] = 0x43; - HDMI_CEC_TX_MessageStructPrivate.TxMessageLength = 13; - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_MessageStructPrivate); - sendcount = 0; - /* Retransmit message until 5 time */ - while ((errorstatus != HDMI_CEC_OK) && sendcount < 0x5) - { - sendcount++; - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_MessageStructPrivate); - } - break; - - case HDMI_CEC_OPCODE_ROUTING_CHANGE: - for (i = 0;i < 0x14;i++) - { - if ((HDMI_CEC_DeviceMap[i].PhysicalAddress_A == HDMI_CEC_RX_MessageStructPrivate.Operande[1] >> 4) && - (HDMI_CEC_DeviceMap[i].PhysicalAddress_B == HDMI_CEC_RX_MessageStructPrivate.Operande[1]&0x0F) && - (HDMI_CEC_DeviceMap[i].PhysicalAddress_C == HDMI_CEC_RX_MessageStructPrivate.Operande[0] >> 4) && - (HDMI_CEC_DeviceMap[i].PhysicalAddress_D == HDMI_CEC_RX_MessageStructPrivate.Operande[0]&0x0F)) - { - HDMI_CEC_MapStruct.LogicalAddress = (HDMI_CEC_RX_MessageStructPrivate.Header >> 0x4) & 0x0F; - HDMI_CEC_MapStruct.DeviceType = HDMI_CEC_RX_MessageStructPrivate.Operande[2]; - HDMI_CEC_DeviceMap[i] = HDMI_CEC_MapStruct; - } - } - break; - - default: - /* Send Abort feature*/ - HDMI_CEC_TX_MessageStructPrivate.Header = ((MyLogicalAddress << 4) | HDMI_CEC_RX_MessageStructPrivate.Header >> 4); - HDMI_CEC_TX_MessageStructPrivate.Opcode = HDMI_CEC_OPCODE_FEATURE_ABORT; - HDMI_CEC_TX_MessageStructPrivate.Operande[0] = 0x02; /* defines command to be performed */ - HDMI_CEC_TX_MessageStructPrivate.Operande[1] = HDMI_CEC_REFUSED; /* Reason for abort feature */ - HDMI_CEC_TX_MessageStructPrivate.TxMessageLength = 0x02; - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_MessageStructPrivate); - sendcount = 0; - /* Retransmit message until 5 time */ - while ((errorstatus != HDMI_CEC_OK) && sendcount < 0x5) - { - sendcount++; - errorstatus = HDMI_CEC_TransmitMessage(&HDMI_CEC_TX_MessageStructPrivate); - } - break; - - } -} - -/** - * @brief Check the connected CEC devices. - * @param None - * @retval HDMI_CEC_Error - */ -HDMI_CEC_Error HDMI_CEC_CheckConnectedDevices(void) -{ - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - uint32_t count = 0, i = 1; - - /*----------------------------- TV device ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x0); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[0][1] = (uint8_t*)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Recording device 1 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x1); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[1][1] = (uint8_t*)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - /*----------------------------- Recording device 2 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x2); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[2][1] = (uint8_t*)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Tuner 1 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x3); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[3][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - /*----------------------------- Playback device 1 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x4); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[4][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Audio system ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x5); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[5][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Tuner 2 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x6); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[6][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Tuner 3 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x7); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[7][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Playback device 2 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x8); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[8][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - /*----------------------------- Recording device 3 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0x9); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[9][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - /*----------------------------- Tuner 4 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0xA); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[10][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - /*----------------------------- Playback device 3 ---------------------------*/ - CEC_OwnAddressConfig(MyLogicalAddress); /* Own address = MyLogicalAddress */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte((MyLogicalAddress << 4) | 0xB); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_OK) - { - HDMI_CEC_Follower_String[11][1] = (uint8_t *)"1"; - i++; - errorstatus = HDMI_CEC_OK; - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - - CECDevicesNumber = i - 1; - - return errorstatus; -} - -/** - * @brief Physical address discovery. - * @param None - * @retval HDMI_CEC_Error: CEC Error code. - */ -static HDMI_CEC_Error PhysicalAddressDiscovery(void) -{ - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; -#ifdef HDMI_CEC_USE_DDC - uint32_t index = 0, i = 0; -#endif - - /*------------------------------ Physical address discovery -----------------*/ - if (HDMI_CEC_ROOT == 0x1) - { - MyPhysicalAddress = 0x0000; - /* The HDMI-CEC here is configured as sink or as a repeater. The configuration - of the +5V power signal and the HPD should be well configured. - Implement here the EDID Structure to be sent to the HDMI source. - For more details please refer to the HDMI specification. - The EDID structure should be sent to the device source using the DDC Channel - and using the HPD signal. */ - } - else - { - -#ifdef HDMI_CEC_USE_DDC - /* The HDMI-CEC here is configured as source or as a repeater. The configuration - of the +5V power signal and the HPD should be well configured. - The source should wait for HPD and then read the EDID structure. */ - while(GPIO_ReadInputDataBit(HDMI_CEC_HPD_GPIO_PORT, HDMI_CEC_HPD_PIN) == RESET) - { - } - /* Wait for 100 ms after HPD was received */ - for(i = 0; i < 0x5FFFF; i++) - { - } - - /* Return the physical address using the I2C by reading the 2 bytes 24 and - 25 form the EDID */ - /* Read the EDID Block 0 and EDID Block 1 at address 0xA0 */ - /*!< While the bus is busy */ - while(I2C_GetFlagStatus(HDMI_CEC_I2C, I2C_FLAG_BUSY)) - { - } - - /*!< Send START condition */ - I2C_GenerateSTART(HDMI_CEC_I2C, ENABLE); - - /*!< Test on EV5 and clear it */ - while(!I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_MODE_SELECT)) - { - } - - /*!< Send EEPROM address for write */ - I2C_Send7bitAddress(HDMI_CEC_I2C, 0xA0, I2C_Direction_Transmitter); - - - /*!< Test on EV6 and clear it */ - while(!I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - } - - /*!< Send the EEPROM's internal address to read from: Only one byte address */ - I2C_SendData(HDMI_CEC_I2C, 0x00); - - /*!< Test on EV8 and clear it */ - while(!I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) - { - } - - /*!< Send STRAT condition a second time */ - I2C_GenerateSTART(HDMI_CEC_I2C, ENABLE); - - /*!< Test on EV5 and clear it */ - while(!I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_MODE_SELECT)) - { - } - - /*!< Send EEPROM address for read */ - I2C_Send7bitAddress(HDMI_CEC_I2C, 0xA1, I2C_Direction_Receiver); - - /*!< Test on EV6 and clear it */ - while(!I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - } - - /* While there is data to be read */ - while (NumByteToRead-- > 1) - { - while(I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_BYTE_RECEIVED)) - { - } - for(i = 0; i < 0xFFF; i++) - { - } - pBuffer[index++] = I2C_ReceiveData(HDMI_CEC_I2C); - } - - /* Disable Acknowledgement */ - I2C_AcknowledgeConfig(HDMI_CEC_I2C, DISABLE); - - /* Send STOP Condition */ - I2C_GenerateSTOP(HDMI_CEC_I2C, ENABLE); - - while(I2C_CheckEvent(HDMI_CEC_I2C, I2C_EVENT_MASTER_BYTE_RECEIVED)); - pBuffer[index] = I2C_ReceiveData(HDMI_CEC_I2C); - - /* Enable Acknowledgement to be ready for another reception */ - I2C_AcknowledgeConfig(HDMI_CEC_I2C, ENABLE); - MyPhysicalAddress = ((pBuffer[138] << 8) | pBuffer[137]); -#else - MyPhysicalAddress = 0x1000; -#endif - } - - return errorstatus; -} -/** - * @brief Allocate the logical address. - * @param None - * @retval HDMI_CEC_Error: CEC Error code. - */ -static HDMI_CEC_Error LogicalAddressAllocation(void) -{ - HDMI_CEC_Error errorstatus = HDMI_CEC_OK; - uint32_t count = 0; - - /*------------------ Logical address allocation -----------------------------*/ - /* Get the device type */ - /* Device type = CEC_TV */ - if (DeviceType == HDMI_CEC_TV) - { - if (HDMI_CEC_ROOT) - { - MyLogicalAddress = 0x00; - } - else - { - CEC_OwnAddressConfig(0xE); /* Own address = 0xE */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0xEE); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the polling message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x0E; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - MyLogicalAddress = 0x0F; - errorstatus = HDMI_CEC_DEVICE_UNREGISTRED; - } - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF); - CEC_EndOfMessageCmd(DISABLE); - } - - /* Device type = CEC_RECORDING */ - if (DeviceType == HDMI_CEC_RECORDING) - { - CEC_OwnAddressConfig(0x1); /* Own address = 0x1 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x11); - - /* Start of message */ - CEC_StartOfMessage(); - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x01; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0x2); /* Own address = 0x2 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x22); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x02; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0x9); /* Own address = 0x9 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x99); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x09; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - MyLogicalAddress = 0x0F; - errorstatus = HDMI_CEC_DEVICE_UNREGISTRED; - } - } - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - CEC_EndOfMessageCmd(DISABLE); - } - - /* Device type = CEC_TUNER */ - if (DeviceType == HDMI_CEC_TUNER) - { - CEC_OwnAddressConfig(0x3); /* Own address = 0x3 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x33); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x03; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0x6); /* Own address = 0x6 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x66); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x06; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0x7); /* Own address = 0x7 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x77); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x07; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0xA); /* Own address = 0xA */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0xAA); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x0A; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - MyLogicalAddress = 0x0F; - errorstatus = HDMI_CEC_DEVICE_UNREGISTRED; - } - } - } - } - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - CEC_EndOfMessageCmd(DISABLE); - } - - /* Device type = CEC_PLAYBACK */ - if (DeviceType == HDMI_CEC_PLAYBACK) - { - CEC_OwnAddressConfig(0x4); /* Own address = 0x4 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x44); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x04; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0x8); /* Own address = 0x8 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x88); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x08; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - - CEC_EndOfMessageCmd(DISABLE); - - CEC_OwnAddressConfig(0xB); /* Own address = 0xBB */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0xBB); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x0B; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - MyLogicalAddress = 0x0F; - errorstatus = HDMI_CEC_DEVICE_UNREGISTRED; - } - } - } - - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - CEC_EndOfMessageCmd(DISABLE); - } - - /* Device type = CEC Audio System */ - if (DeviceType == HDMI_CEC_AUDIOSYSTEM) - { - CEC_OwnAddressConfig(0x5); /* Own address = 0x5 */ - - CEC_EndOfMessageCmd(ENABLE); - - CEC_SendDataByte(0x55); - - /* Start of message */ - CEC_StartOfMessage(); - - count = 0; - - /* Wait till the header message is sent */ - while ((CEC_GetFlagStatus(CEC_FLAG_TBTRF) == RESET) && (CEC_GetFlagStatus(CEC_FLAG_TERR) == RESET) && (count < HDMI_CEC_TIMEOUT_VALUE)) - { - count++; - } - - if (count >= HDMI_CEC_TIMEOUT_VALUE) - { - errorstatus = HDMI_CEC_TIMEOUT; - return(errorstatus); - } - - errorstatus = HDMI_CEC_GetErrorStatus(); - - if (errorstatus == HDMI_CEC_BLOCK_ACKNOWLEDGE) - { - MyLogicalAddress = 0x05; - errorstatus = HDMI_CEC_OK; - } - else if (errorstatus == HDMI_CEC_OK) - { - MyLogicalAddress = 0x0F; - errorstatus = HDMI_CEC_DEVICE_UNREGISTRED; - } - - /* Clear CEC CSR register */ - CEC_ClearFlag(CEC_FLAG_TBTRF | CEC_FLAG_TERR); - CEC_EndOfMessageCmd(DISABLE); - } - - return errorstatus; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ - - diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_cec.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_cec.h deleted file mode 100644 index e98c82c46..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_cec.h +++ /dev/null @@ -1,290 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100e_eval_cec.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the stm32100e_eval_cec - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32100E_EVAL_CEC_H -#define __STM32100E_EVAL_CEC_H - -#ifdef __cplusplus -extern "C" -{ -#endif - - /* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL - * @{ - */ - -/** @defgroup STM32100E_EVAL_CEC - * @{ - */ - -/** @defgroup STM32100E_EVAL_CEC_Exported_Types - * @{ - */ -typedef enum -{ - HDMI_CEC_BIT_TIMING = (1), /*!< CEC Bit Timing Error */ - HDMI_CEC_BIT_PERIOD = (2), /*!< CEC Bit Period Error */ - HDMI_CEC_RX_BLOCK_FINISHED = (3), /*!< CEC Receive Block finished Error */ - HDMI_CEC_START_BIT = (4), /*!< CEC Start Bit Error */ - HDMI_CEC_BLOCK_ACKNOWLEDGE = (5), /*!< CEC Block Acknowledge Error */ - HDMI_CEC_LINE = (6), /*!< CEC Line Error */ - HDMI_CEC_TX_BLOCK_FINISHED = (7), /*!< CEC Transmit Block Transfer finished Error */ - HDMI_CEC_DEVICE_UNREGISTRED = (8), /*!< CEC Device Unregistred */ - HDMI_CEC_TIMEOUT = (9), /*!< CEC TimeOut */ - HDMI_CEC_OK = (10) /*!< CEC OK */ -}HDMI_CEC_Error; - -typedef struct -{ - __IO uint8_t PhysicalAddress_A; - __IO uint8_t PhysicalAddress_B; - __IO uint8_t PhysicalAddress_C; - __IO uint8_t PhysicalAddress_D; - __IO uint8_t LogicalAddress; - __IO uint8_t DeviceType; -}HDMI_CEC_Map; - - -#define HDMI_CEC_TX_MESSAGE_LENGTH_MAX ((uint32_t)0x0000000E) -#define HDMI_CEC_TIMEOUT_VALUE ((uint32_t)0x001FFFFF) - -/** -* @brief CEC Init Structure definition -*/ -typedef struct -{ - __IO uint8_t Header; - __IO uint8_t Opcode; - __IO uint8_t Operande[HDMI_CEC_TX_MESSAGE_LENGTH_MAX]; - __IO uint8_t TxMessageLength; - __IO uint8_t RxMessageLength; -}HDMI_CEC_Message; - -/** -* @} -*/ - -/** @defgroup STM32100E_EVAL_CEC_Exported_Constants - * @{ - */ - -/** - * @brief CEC device types - */ -#define HDMI_CEC_TV 0x00 -#define HDMI_CEC_RECORDING 0x01 -#define HDMI_CEC_TUNER 0x03 -#define HDMI_CEC_PLAYBACK 0x04 -#define HDMI_CEC_AUDIOSYSTEM 0x05 - - -/** - * @brief HDMI CEC I2C Interface pins - */ -#define HDMI_CEC_I2C_SCL_PIN GPIO_Pin_6 -#define HDMI_CEC_I2C_SDA_PIN GPIO_Pin_7 -#define HDMI_CEC_I2C_GPIO_PORT GPIOB -#define HDMI_CEC_I2C_GPIO_CLK RCC_APB2Periph_GPIOB -#define HDMI_CEC_I2C I2C1 -#define HDMI_CEC_I2C_CLK RCC_APB1Periph_I2C1 - -/** - * @brief HDMI CEC HPD (Hot Plug Detect) Interface pin - */ -#define HDMI_CEC_HPD_PIN GPIO_Pin_9 -#define HDMI_CEC_HPD_GPIO_PORT GPIOB -#define HDMI_CEC_HPD_GPIO_CLK RCC_APB2Periph_GPIOB - -/** - * @brief HDMI CEC Interface pin - */ -#define HDMI_CEC_LINE_PIN GPIO_Pin_8 -#define HDMI_CEC_LINE_GPIO_PORT GPIOB -#define HDMI_CEC_LINE_GPIO_CLK RCC_APB2Periph_GPIOB - -#define HDMI_CEC_I2C_SLAVE_ADDRESS7 0xA0 -#define HDMI_CEC_I2C_CLOCK_SPEED 100000 - -/** - * @brief HDMI CEC Root (Mainly for TV with a fixed physical address (0.0.0.0)) - * If you want to configure the STM32100E-EVAL board as CEC Root (Sink) - * change the following define to 0x1 - */ -#define HDMI_CEC_ROOT 0x00 - -/** - * @brief To select if the DDC Channel will be used for physical address discovery - * or not. To use the DDC Channel to read the EDID structure uncomment - * the following line. - * If the device is configured as HMDI source it should read his own physical - * address from the sink that is connected to. - */ -/* #define HDMI_CEC_USE_DDC */ - -/** - * @brief CEC version: V1.3a - */ -#define HDMI_CEC_VERSION 0x04 - -/** - * @brief Reason for Abort feature - */ -#define HDMI_CEC_UNRECOGNIZED_OPCODE 0x00 -#define HDMI_CEC_NOT_CORRECT_MODETORESPOND 0x01 -#define HDMI_CEC_CANNOTPROVIDE_SOURCE 0x02 -#define HDMI_CEC_INVALID_OPERAND 0x03 -#define HDMI_CEC_REFUSED 0x04 - -/** - * @brief HDMI CEC specific commands - */ -#define HDMI_CEC_OPCODE_ACTIVE_SOURCE ((uint8_t) 0x82) -#define HDMI_CEC_OPCODE_IMAGE_VIEW_ON ((uint8_t) 0x04) -#define HDMI_CEC_OPCODE_TEXT_VIEW_ON ((uint8_t) 0x0D) -#define HDMI_CEC_OPCODE_INACTIVE_SOURCE ((uint8_t) 0x9D) -#define HDMI_CEC_OPCODE_REQUEST_ACTIVE_SOURCE ((uint8_t) 0x85) -#define HDMI_CEC_OPCODE_ROUTING_CHANGE ((uint8_t) 0x80) -#define HDMI_CEC_OPCODE_ROUTING_INFORMATION ((uint8_t) 0x81) -#define HDMI_CEC_OPCODE_SET_STREAM_PATH ((uint8_t) 0x86) -#define HDMI_CEC_OPCODE_STANDBY ((uint8_t) 0x36) -#define HDMI_CEC_OPCODE_RECORD_OFF ((uint8_t) 0x0B) -#define HDMI_CEC_OPCODE_RECORD_ON ((uint8_t) 0x09) -#define HDMI_CEC_OPCODE_RECORD_STATUS ((uint8_t) 0x0A) -#define HDMI_CEC_OPCODE_RECORD_TV_SCREEN ((uint8_t) 0x0F) -#define HDMI_CEC_OPCODE_CLEAR_ANALOGUE_TIMER ((uint8_t) 0x33) -#define HDMI_CEC_OPCODE_CLEAR_DIGITAL_TIMER ((uint8_t) 0x99) -#define HDMI_CEC_OPCODE_CLEAR_EXTERNAL_TIMER ((uint8_t) 0xA1) -#define HDMI_CEC_OPCODE_SET_ANALOGUE_TIMER ((uint8_t) 0x34) -#define HDMI_CEC_OPCODE_SET_DIGITAL_TIMER ((uint8_t) 0x97) -#define HDMI_CEC_OPCODE_SET_EXTERNAL_TIMER ((uint8_t) 0xA2) -#define HDMI_CEC_OPCODE_SET_TIMER_PROGRAM_TITLE ((uint8_t) 0x67) -#define HDMI_CEC_OPCODE_TIMER_CLEARED_STATUS ((uint8_t) 0x43) -#define HDMI_CEC_OPCODE_TIMER_STATUS ((uint8_t) 0x35) -#define HDMI_CEC_OPCODE_CEC_VERSION ((uint8_t) 0x9E) -#define HDMI_CEC_OPCODE_GET_CEC_VERSION ((uint8_t) 0x9F) -#define HDMI_CEC_OPCODE_GIVE_PHYSICAL_ADDRESS ((uint8_t) 0x83) -#define HDMI_CEC_OPCODE_GET_MENU_LANGUAGE ((uint8_t) 0x91) -#define HDMI_CEC_OPCODE_REPORT_PHYSICAL_ADDRESS ((uint8_t) 0x84) -#define HDMI_CEC_OPCODE_SET_MENU_LANGUAGE ((uint8_t) 0x32) -#define HDMI_CEC_OPCODE_DECK_CONTROL ((uint8_t) 0x42) -#define HDMI_CEC_OPCODE_DECK_STATUS ((uint8_t) 0x1B) -#define HDMI_CEC_OPCODE_GIVE_DECK_STATUS ((uint8_t) 0x1A) -#define HDMI_CEC_OPCODE_PLAY ((uint8_t) 0x41) -#define HDMI_CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS ((uint8_t) 0x08) -#define HDMI_CEC_OPCODE_SELECT_ANALOGUE_SERVICE ((uint8_t) 0x92) -#define HDMI_CEC_OPCODE_SELECT_DIGITAL_SERVICE ((uint8_t) 0x93) -#define HDMI_CEC_OPCODE_TUNER_DEVICE_STATUS ((uint8_t) 0x07) -#define HDMI_CEC_OPCODE_TUNER_STEP_DECREMENT ((uint8_t) 0x06) -#define HDMI_CEC_OPCODE_TUNER_STEP_INCREMENT ((uint8_t) 0x05) -#define HDMI_CEC_OPCODE_DEVICE_VENDOR_ID ((uint8_t) 0x87) -#define HDMI_CEC_OPCODE_GIVE_DEVICE_VENDOR_ID ((uint8_t) 0x8C) -#define HDMI_CEC_OPCODE_VENDOR_COMMAND ((uint8_t) 0x89) -#define HDMI_CEC_OPCODE_VENDOR_COMMAND_WITH_ID ((uint8_t) 0xA0) -#define HDMI_CEC_OPCODE_VENDOR_REMOTE_BUTTON_DOWN ((uint8_t) 0x8A) -#define HDMI_CEC_OPCODE_VENDOR_REMOTE_BUTTON_UP ((uint8_t) 0x8B) -#define HDMI_CEC_OPCODE_SET_OSD_STRING ((uint8_t) 0x64) -#define HDMI_CEC_OPCODE_GIVE_OSD_NAME ((uint8_t) 0x46) -#define HDMI_CEC_OPCODE_SET_OSD_NAME ((uint8_t) 0x47) -#define HDMI_CEC_OPCODE_MENU_REQUEST ((uint8_t) 0x8D) -#define HDMI_CEC_OPCODE_MENU_STATUS ((uint8_t) 0x8E) -#define HDMI_CEC_OPCODE_USER_CONTROL_PRESSED ((uint8_t) 0x44) -#define HDMI_CEC_OPCODE_USER_CONTROL_RELEASED ((uint8_t) 0x45) -#define HDMI_CEC_OPCODE_GIVE_DEVICE_POWER_STATUS ((uint8_t) 0x8F) -#define HDMI_CEC_OPCODE_REPORT_POWER_STATUS ((uint8_t) 0x90) -#define HDMI_CEC_OPCODE_FEATURE_ABORT ((uint8_t) 0x00) -#define HDMI_CEC_OPCODE_ABORT ((uint8_t) 0xFF) -#define HDMI_CEC_OPCODE_GIVE_AUDIO_STATUS ((uint8_t) 0x71) -#define HDMI_CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS ((uint8_t) 0x7D) -#define HDMI_CEC_OPCODE_REPORT_AUDIO_STATUS ((uint8_t) 0x7A) -#define HDMI_CEC_OPCODE_SET_SYSTEM_AUDIO_MODE ((uint8_t) 0x72) -#define HDMI_CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST ((uint8_t) 0x70) -#define HDMI_CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS ((uint8_t) 0x7E) -#define HDMI_CEC_OPCODE_SET_AUDIO_RATE ((uint8_t) 0x9A) - - -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_CEC_Exported_Macros - * @{ - */ -/* HDMI_CEC_HPD: HDMI HPD pin low */ -#define HDMI_CEC_HPD_LOW() GPIO_ResetBits(HDMI_CEC_HPD_GPIO_PORT, HDMI_CEC_HPD_PIN) -/* HDMI_CEC_HPD: HDMI HPD pin high */ -#define HDMI_CEC_HPD_HIGH() GPIO_SetBits(HDMI_CEC_HPD_GPIO_PORT, HDMI_CEC_HPD_PIN) - -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_CEC_Exported_Functions - * @{ - */ -HDMI_CEC_Error HDMI_CEC_Init(void); -HDMI_CEC_Error HDMI_CEC_TransmitMessage(HDMI_CEC_Message *HDMI_CEC_TX_MessageStructure); -HDMI_CEC_Error HDMI_CEC_GetErrorStatus (void); -void HDMI_CEC_ProcessIRQSrc(void); -HDMI_CEC_Error HDMI_CEC_ReportPhysicalAddress(void); -void HDMI_CEC_CommandCallBack(void); -HDMI_CEC_Error HDMI_CEC_CheckConnectedDevices(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32100E_EVAL_CEC_H */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ - diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_onenand.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_onenand.c deleted file mode 100644 index 6f9442071..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_onenand.c +++ /dev/null @@ -1,482 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100e_eval_fsmc_onenand.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides a set of functions needed to drive the - * KFG1216U2A/B-DIB6 OneNAND memory mounted on STM32100E-EVAL board. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32100e_eval_fsmc_onenand.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL_FSMC_ONENAND - * @brief This file provides a set of functions needed to drive the - * KFG1216x2A-xxB5 OneNAND memory mounted on STM32100E-EVAL board. - * @{ - */ - -/** @defgroup STM32100E_EVAL_FSMC_ONENAND_Private_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_FSMC_ONENAND_Private_Defines - * @{ - */ -#define BANK1_ONENAND1_ADDR ((uint32_t)0x60000000) -#define ONENAND_BOOTPARTITION_ADDR ((uint32_t)BANK1_ONENAND1_ADDR) - - -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_FSMC_ONENAND_Private_Macros - * @{ - */ -#define OneNAND_WRITE(Address, Data) (*(__IO uint16_t *)(Address) = (Data)) - -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_FSMC_ONENAND_Private_Variables - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_FSMC_ONENAND_Private_Function_Prototypes - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_FSMC_ONENAND_Private_Functions - * @{ - */ - -/** - * @brief Configures the FSMC and GPIOs to interface with the OneNAND memory. - * This function must be called before any write/read operation on the - * OneNAND. - * @param None - * @retval None - */ -void OneNAND_Init(void) -{ - FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; - FSMC_NORSRAMTimingInitTypeDef p; - GPIO_InitTypeDef GPIO_InitStructure; - - - RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); - -/*-- GPIO Configuration ------------------------------------------------------*/ - /* OneNAND Data lines configuration */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOG | RCC_APB2Periph_GPIOE | - RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE); - -/*-- GPIO Configuration ------------------------------------------------------*/ - /*!< OneNAND Data lines configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_8 | GPIO_Pin_9 | - GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | - GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | - GPIO_Pin_15; - GPIO_Init(GPIOE, &GPIO_InitStructure); - - /*!< OneNAND Address lines configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | - GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_12 | GPIO_Pin_13 | - GPIO_Pin_14 | GPIO_Pin_15; - GPIO_Init(GPIOF, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | - GPIO_Pin_4 | GPIO_Pin_5; - GPIO_Init(GPIOG, &GPIO_InitStructure); - - /*!< CLK, NOE and NWE configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 |GPIO_Pin_5; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - /*!< NE1 configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - /*!< NL configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; - GPIO_Init(GPIOB, &GPIO_InitStructure); - GPIO_PinRemapConfig(GPIO_Remap_FSMC_NADV, DISABLE); - - /*!< NWAIT configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - /*-- FSMC Configuration ----------------------------------------------------*/ - p.FSMC_AddressSetupTime = 0x01; - p.FSMC_AddressHoldTime = 0x00; - p.FSMC_DataSetupTime = 0x05; - p.FSMC_BusTurnAroundDuration = 0x02; - p.FSMC_CLKDivision = 0x1; - p.FSMC_DataLatency = 0x01; - p.FSMC_AccessMode = FSMC_AccessMode_B; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Enable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Enable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; - - FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); - FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE); -} - -/** - * @brief Resets the OneNAND memory. - * @param None - * @retval None - */ -void OneNAND_Reset(void) -{ - OneNAND_WRITE(ONENAND_BOOTPARTITION_ADDR, OneNAND_CMD_RESET); -} - -/** - * @brief Reads OneNAND memory's Manufacturer and Device Code. - * @param OneNAND_ID: pointer to a OneNAND_IDTypeDef structure which will hold - * the Manufacturer and Device Code. - * @retval None - */ -void OneNAND_ReadID(OneNAND_IDTypeDef* OneNAND_ID) -{ - uint16_t status = 0x0; - - /* Wait till no ongoing operation */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - - while((status & 0x8000) == 0x8000) - { - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - } - - /* Read ID data */ - OneNAND_ID->Manufacturer_ID = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_MANUFACTERID); - OneNAND_ID->Device_ID = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_DEVICEID); - - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_SYSTEMCONFIGURATION) = 0x40E0; -} - -/** - * @brief Unlocks the specified OneNAND memory block (128Kb). - * @param BlockNumber: specifies the block number to be erased. This parameter - * should be between 0 and 511. - * @retval OneNAND memory Interrupt Status. - */ -uint16_t OneNAND_UnlockBlock(uint32_t BlockNumber) -{ - uint16_t status = 0; - - /* Wait till no ongoing operation */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - - while((status & 0x8000) == 0x8000) - { - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - } - - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_STARTBLOCKADDRESS) = BlockNumber; - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT) = 0x0000; - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_COMMAND) = OneNAND_CMD_UNLOCK; - - /* Wait till the command is completed */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT); - - while((status & 0x8000) != 0x8000) - { - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT); - } - - /* Get the Controller Status */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - - return (status); -} - -/** - * @brief Erases the specified OneNAND memory block (128Kb). - * @param BlockNumber: specifies the block number to be erased. This parameter - * should be between 0 and 511. - * @retval OneNAND memory Interrupt Status. - */ -uint16_t OneNAND_EraseBlock(uint32_t BlockNumber) -{ - uint16_t status = 0x0; - - /* Wait till no ongoing operation */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - - while((status & 0x8000) == 0x8000) - { - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - } - - /* Erase operation */ - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_STARTADDRESS1) = BlockNumber; - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT) = 0x0000; - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_COMMAND) = OneNAND_CMD_ERASE; - - /* Wait till no error is generated */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - - while((status & 0x0400) == 0x0400) - { - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - } - - /* Wait till the command is completed */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT); - - while((status & 0x8000) != 0x8000) - { - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT); - } - - /* Get the Controller Status */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - - return (status); -} - -/** - * @brief Writes a Half-word buffer to the OneNAND memory. - * @param pBuffer: pointer to buffer. - * @param WriteAddr: OneNAND memory internal address from which the data will be - * written. - * @param NumHalfwordToWrite: number of half-words to write. - * @retval OneNAND memory Controller Status. - */ -uint16_t OneNAND_WriteBuffer(uint16_t* pBuffer, OneNAND_ADDRESS Address, uint32_t NumHalfwordToWrite) -{ - uint32_t datacounter = 0; - uint16_t status = 0; - - /* Load the buffer to be written into the DATA RAM0*/ - for(datacounter = 0; datacounter < NumHalfwordToWrite; datacounter++) - { - *(__IO uint16_t *)((BANK1_ONENAND1_ADDR + OneNAND_DATA_RAM_0_0_ADD) + (2*datacounter)) = pBuffer[datacounter]; - } - - /* Write operation from DATA RAM0 to NAND address*/ - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_STARTADDRESS1) = Address.Block; /* NAND Flash block address*/ - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_STARTADDRESINT8_T) = (uint16_t)(Address.Page << 2); /* NAND Flash start page address */ - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_STARTBUFFER) = OneNAND_DATA_RAM_0_0_REG;/* BufferRAM Sector Count (BSC) and BufferRAM Sector Address (BSA).*/ - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT) = 0x0000; - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_COMMAND) = OneNAND_CMD_PROGRAM; /* Command */ - - /* Wait till the command is completed */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT); - - while((status & 0x8000) != 0x8000) - { - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT); - } - - /* Wait till the write interrupt is set */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT); - - while((status & 0x40) != 0x40) - { - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT); - } - - /* Get the Controller Status */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - - return (status); -} - -/** - * @brief Reads a block of data from the OneNAND memory using asynchronous mode. - * @param pBuffer: pointer to the buffer that receives the data read from the - * OneNAND memory. - * @param ReadAddr: OneNAND memory internal address to read from. - * @param NumHalfwordToRead: number of half-words to read. - * @retval None - */ -void OneNAND_AsynchronousRead(uint16_t* pBuffer, OneNAND_ADDRESS Address, uint32_t NumHalfwordToRead) -{ - uint16_t datatmp = 0x0, index = 0; - uint16_t status = 0; - - datatmp = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_SYSTEMCONFIGURATION); - - /* Set the asynchronous read mode */ - OneNAND_WRITE(BANK1_ONENAND1_ADDR + OneNAND_REG_SYSTEMCONFIGURATION, (datatmp& 0x7FFF)); - - /* Load data from the read address to the DATA RAM 1 setor 1 */ - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_STARTADDRESS1) = Address.Block; /* NAND Flash block address*/ - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_STARTADDRESINT8_T) = (uint16_t)(Address.Page << 2); - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_STARTBUFFER) = OneNAND_DATA_RAM_1_0_REG; - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT) = 0x0000; - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_COMMAND) = OneNAND_CMD_LOAD; /* Command */ - - /* Wait till the command is completed */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT); - - while((status & 0x8000) != 0x8000) - { - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT); - } - - /* Read Controller status */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - - /* Read data */ - for(; NumHalfwordToRead != 0x00; NumHalfwordToRead--) /* While there is data to read */ - { - /* Read a Halfword from the memory */ - *pBuffer++ = *(__IO uint16_t *)((BANK1_ONENAND1_ADDR + OneNAND_DATA_RAM_1_0_ADD)+ 2*index); - index++; - } -} - -/** - * @brief Reads a block of data from the OneNAND memory using synchronous mode. - * @param pBuffer: pointer to the buffer that receives the data read from the - * OneNAND memory. - * @param ReadAddr: OneNAND memory internal address to read from. - * @param NumHalfwordToRead: number of half-words to read. - * @retval None - */ -void OneNAND_SynchronousRead(uint16_t* pBuffer, OneNAND_ADDRESS Address, uint32_t NumHalfwordToRead) -{ - uint16_t index = 0; - uint16_t status = 0; - - /* Set the asynchronous read mode */ - OneNAND_WRITE(BANK1_ONENAND1_ADDR + OneNAND_REG_SYSTEMCONFIGURATION, 0xB4C0); - - - /* Load data from the read address to the DATA RAM 1 setor 1 */ - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_STARTADDRESS1) = Address.Block; /* NAND Flash block address*/ - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_STARTADDRESINT8_T) = (uint16_t)(Address.Page << 2); - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_STARTBUFFER) = OneNAND_DATA_RAM_1_0_REG; - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT) = 0x0000; - *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_COMMAND) = OneNAND_CMD_LOAD; /* Command */ - - /* Wait till the command is completed */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT); - - while((status & 0x8000) != 0x8000) - { - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT); - } - - /* Read Controller status */ - status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS); - - /* Read data */ - for(; NumHalfwordToRead != 0x00; NumHalfwordToRead--) /* While there is data to read */ - { - *pBuffer++ = *(__IO uint16_t *)((BANK1_ONENAND1_ADDR + OneNAND_DATA_RAM_1_0_ADD + 2*index)); - index++; - } -} - -/** - * @brief Reads the OneNAND memory Interrupt status. - * @param None - * @retval OneNAND memory Interrupt Status. - */ -uint16_t OneNAND_ReadStatus(void) -{ - __IO uint16_t status = 0x0; - - /* Read Status */ - return (status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_INTERRUPT)); -} - -/** - * @brief Reads the OneNAND Controller status. - * @param None - * @retval OneNAND Controller Status. - */ -uint16_t OneNAND_ReadControllerStatus(void) -{ - __IO uint16_t status = 0x0; - - /* Read Controller Status */ - return (status = *(__IO uint16_t *)(BANK1_ONENAND1_ADDR + OneNAND_REG_CONTROLSTATUS)); -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_onenand.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_onenand.h deleted file mode 100644 index d8bada815..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_onenand.h +++ /dev/null @@ -1,189 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100e_eval_fsmc_onenand.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the - * stm32100e_eval_fsmc_onenand firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32100E_EVAL_FSMC_ONENAND_H -#define __STM32100E_EVAL_FSMC_ONENAND_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL_FSMC_ONENAND - * @{ - */ - -/** @defgroup STM32100E_EVAL_FSMC_ONENAND_Exported_Types - * @{ - */ -typedef struct -{ - uint16_t Manufacturer_ID; - uint16_t Device_ID; -}OneNAND_IDTypeDef; - -/* OneNand Status */ -typedef enum -{ - OneNAND_SUCCESS = 0, - OneNAND_ONGOING, - OneNAND_ERROR, - OneNAND_TIMEOUT -}OneNAND_Status; - -typedef struct -{ - uint16_t Block; - uint16_t Page; -} OneNAND_ADDRESS; -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_FSMC_ONENAND_Exported_Constants - * @{ - */ -/** - * @brief OneNAND memory command - */ -#define OneNAND_CMD_ERASE ((uint16_t)0x0094) -#define OneNAND_CMD_PROGRAM ((uint16_t)0x0080) -#define OneNAND_CMD_RESET ((uint16_t)0x00F0) -#define OneNAND_CMD_READ_ID ((uint16_t)0x0090) -#define OneNAND_CMD_UNLOCK ((uint16_t)0x0023) -#define OneNAND_CMD_LOAD ((uint16_t)0x0000) - -/** - * @brief OneNand Register description - */ -#define OneNAND_REG_MANUFACTERID ((uint32_t)0x1E000) /* Manufacturer identification */ -#define OneNAND_REG_DEVICEID ((uint32_t)0x1E002) /* Device identification */ -#define OneNAND_REG_DATABUFFERSIZE ((uint32_t)0x1E006) /* Data Buffer size */ -#define OneNAND_REG_BOOTBUFFERSIZE ((uint32_t)0x1E008) /* Boot Buffer size */ -#define OneNAND_REG_AMOUNTOFBUFFERS ((uint32_t)0x1E00A) /* Amount of data/boot buffers */ -#define OneNAND_REG_TECHNOLOGY ((uint32_t)0x1E00C) /* Info about technology */ -#define OneNAND_REG_STARTADDRESS1 ((uint32_t)0x1E200) /* Nand Flash Block Address */ -#define OneNAND_REG_STARTADDRESS3 ((uint32_t)0x1E204) /* Destination Block address for copy back program */ -#define OneNAND_REG_STARTADDRESS4 ((uint32_t)0x1E206) /* Destination Page & sector address for copy back program */ -#define OneNAND_REG_STARTADDRESINT8_T ((uint32_t)0x1E20E) /* Nand Flash Page & sector address */ -#define OneNAND_REG_STARTBUFFER ((uint32_t)0x1E400) /* The meaning is with which buffer to start and how many - buffers to use for the data transfer */ -#define OneNAND_REG_COMMAND ((uint32_t)0x1E440) /* Host control and memory operation commands*/ -#define OneNAND_REG_SYSTEMCONFIGURATION ((uint32_t)0x1E442) /* Memory and host interface configuration */ -#define OneNAND_REG_CONTROLSTATUS ((uint32_t)0x1E480) /* Control status and result of memory operation */ -#define OneNAND_REG_INTERRUPT ((uint32_t)0x1E482) /* Memory Command Completion Interrupt Status */ -#define OneNAND_REG_STARTBLOCKADDRESS ((uint32_t)0x1E498) /* Start memory block address in Write Protection mode */ -#define OneNAND_REG_WRITEPROTECTIONSTATUS ((uint32_t)0x1E49C) /* Current memory Write Protection status */ - -/** - * @brief OneNand Memory partition description - */ -#define OneNAND_DATA_RAM_0_0_ADD ((uint32_t)0x0400) /* DataRAM Main page0/sector0 */ -#define OneNAND_DATA_RAM_0_0_REG ((uint32_t)0x0800) /* DataRAM 0_0 is selected with 4 sector */ - -#define OneNAND_DATA_RAM_0_1_ADD ((uint32_t)0x0600) /* DataRAM Main page0/sector1 */ -#define OneNAND_DATA_RAM_0_1_REG ((uint32_t)0x0900) /* DataRAM 0_1 is selected with 4 sector */ - -#define OneNAND_DATA_RAM_0_2_ADD ((uint32_t)0x0800) /* DataRAM Main page0/sector2 */ -#define OneNAND_DATA_RAM_0_2_REG ((uint32_t)0x0A00) /* DataRAM 0_2 is selected with 4 sector */ - -#define OneNAND_DATA_RAM_0_3_ADD ((uint32_t)0x0A00) /* DataRAM Main page0/sector3 */ -#define OneNAND_DATA_RAM_0_3_REG ((uint32_t)0x0B00) /* DataRAM 0_3 is selected with 4 sector */ - -#define OneNAND_DATA_RAM_1_0_ADD ((uint32_t)0x0C00) /* DataRAM Main page1/sector0 */ -#define OneNAND_DATA_RAM_1_0_REG ((uint32_t)0x0C00) /* DataRAM 1_0 is selected with 4 sector */ - -#define OneNAND_DATA_RAM_1_1_ADD ((uint32_t)0x0E00) /* DataRAM Main page1/sector1 */ -#define OneNAND_DATA_RAM_1_1_REG ((uint32_t)0x0D00) /* DataRAM 1_1 is selected with 4 sector */ - -#define OneNAND_DATA_RAM_1_2_ADD ((uint32_t)0x1000) /* DataRAM Main page1/sector2 */ -#define OneNAND_DATA_RAM_1_2_REG ((uint32_t)0x0E00) /* DataRAM 1_2 is selected with 4 sector */ - -#define OneNAND_DATA_RAM_1_3_ADD ((uint32_t)0x1200) /* DataRAM Main page1/sector3 */ -#define OneNAND_DATA_RAM_1_3_REG ((uint32_t)0x0F00) /* DataRAM 1_3 is selected with 4 sector */ - -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_FSMC_ONENAND_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_FSMC_ONENAND_Exported_Functions - * @{ - */ -void OneNAND_Init(void); -void OneNAND_Reset(void); -void OneNAND_ReadID(OneNAND_IDTypeDef* OneNAND_ID); -uint16_t OneNAND_UnlockBlock(uint32_t BlockNumber); -uint16_t OneNAND_EraseBlock(uint32_t BlockNumber); -uint16_t OneNAND_WriteBuffer(uint16_t* pBuffer, OneNAND_ADDRESS Address, uint32_t NumHalfwordToWrite); -void OneNAND_AsynchronousRead(uint16_t* pBuffer, OneNAND_ADDRESS Address, uint32_t NumHalfwordToRead); -void OneNAND_SynchronousRead(uint16_t* pBuffer, OneNAND_ADDRESS Address, uint32_t NumHalfwordToRead); -uint16_t OneNAND_ReadStatus(void); -uint16_t OneNAND_ReadControllerStatus(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32100E_EVAL_FSMC_ONENAND_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_sram.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_sram.c deleted file mode 100644 index 4645fe217..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_sram.c +++ /dev/null @@ -1,237 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100e_eval_fsmc_sram.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides a set of functions needed to drive the - * IS61WV102416BLL SRAM memory mounted on STM32100E-EVAL board. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32100e_eval_fsmc_sram.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL_FSMC_SRAM - * @brief This file provides a set of functions needed to drive the - * IS61WV102416BLL SRAM memory mounted on STM32100E-EVAL board. - * @{ - */ - -/** @defgroup STM32100E_EVAL_FSMC_SRAM_Private_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_FSMC_SRAM_Private_Defines - * @{ - */ -/** - * @brief FSMC Bank 1 NOR/SRAM3 - */ -#define Bank1_SRAM3_ADDR ((uint32_t)0x68000000) -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_FSMC_SRAM_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_FSMC_SRAM_Private_Variables - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_FSMC_SRAM_Private_Function_Prototypes - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_FSMC_SRAM_Private_Functions - * @{ - */ - -/** - * @brief Configures the FSMC and GPIOs to interface with the SRAM memory. - * This function must be called before any write/read operation - * on the SRAM. - * @param None - * @retval None - */ -void SRAM_Init(void) -{ - FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; - FSMC_NORSRAMTimingInitTypeDef p; - GPIO_InitTypeDef GPIO_InitStructure; - - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOG | RCC_APB2Periph_GPIOE | - RCC_APB2Periph_GPIOF, ENABLE); - -/*-- GPIO Configuration ------------------------------------------------------*/ - /*!< SRAM Data lines configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_8 | GPIO_Pin_9 | - GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | - GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | - GPIO_Pin_15; - GPIO_Init(GPIOE, &GPIO_InitStructure); - - /*!< SRAM Address lines configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | - GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_12 | GPIO_Pin_13 | - GPIO_Pin_14 | GPIO_Pin_15; - GPIO_Init(GPIOF, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | - GPIO_Pin_4 | GPIO_Pin_5; - GPIO_Init(GPIOG, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - /*!< NOE and NWE configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 |GPIO_Pin_5; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - /*!< NE3 configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; - GPIO_Init(GPIOG, &GPIO_InitStructure); - - /*!< NBL0, NBL1 configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; - GPIO_Init(GPIOE, &GPIO_InitStructure); - -/*-- FSMC Configuration ------------------------------------------------------*/ - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 3; - p.FSMC_BusTurnAroundDuration = 0; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; - - FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); - - /*!< Enable FSMC Bank1_SRAM Bank */ - FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE); -} - -/** - * @brief Writes a Half-word buffer to the FSMC SRAM memory. - * @param pBuffer : pointer to buffer. - * @param WriteAddr : SRAM memory internal address from which the data will be - * written. - * @param NumHalfwordToWrite : number of half-words to write. - * @retval None - */ -void SRAM_WriteBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite) -{ - for(; NumHalfwordToWrite != 0; NumHalfwordToWrite--) /*!< while there is data to write */ - { - /*!< Transfer data to the memory */ - *(uint16_t *) (Bank1_SRAM3_ADDR + WriteAddr) = *pBuffer++; - - /*!< Increment the address*/ - WriteAddr += 2; - } -} - -/** - * @brief Reads a block of data from the FSMC SRAM memory. - * @param pBuffer : pointer to the buffer that receives the data read from the - * SRAM memory. - * @param ReadAddr : SRAM memory internal address to read from. - * @param NumHalfwordToRead : number of half-words to read. - * @retval None - */ -void SRAM_ReadBuffer(uint16_t* pBuffer, uint32_t ReadAddr, uint32_t NumHalfwordToRead) -{ - for(; NumHalfwordToRead != 0; NumHalfwordToRead--) /*!< while there is data to read */ - { - /*!< Read a half-word from the memory */ - *pBuffer++ = *(__IO uint16_t*) (Bank1_SRAM3_ADDR + ReadAddr); - - /*!< Increment the address*/ - ReadAddr += 2; - } -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_sram.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_sram.h deleted file mode 100644 index 1c80a4ca9..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_fsmc_sram.h +++ /dev/null @@ -1,104 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100e_eval_fsmc_sram.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the - * stm32100e_eval_fsmc_sram firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32100E_EVAL_FSMC_SRAM_H -#define __STM32100E_EVAL_FSMC_SRAM_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL_FSMC_SRAM - * @{ - */ - -/** @defgroup STM32100E_EVAL_FSMC_SRAM_Exported_Types - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_FSMC_SRAM_Exported_Constants - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_FSMC_SRAM_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_FSMC_SRAM_Exported_Functions - * @{ - */ - -void SRAM_Init(void); -void SRAM_WriteBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite); -void SRAM_ReadBuffer(uint16_t* pBuffer, uint32_t ReadAddr, uint32_t NumHalfwordToRead); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32100E_EVAL_FSMC_SRAM_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_ioe.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_ioe.c deleted file mode 100644 index a9e733553..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_ioe.c +++ /dev/null @@ -1,1405 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100e_eval_ioe.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file includes the IO Expander driver for STMPE811 IO Expander - * devices. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - /* File Info : --------------------------------------------------------------- - - Note: - ----- - - This driver uses the DMA method for sending and receiving data on I2C bus - which allow higher efficiency and reliability of the communication. - - SUPPORTED FEATURES: - - Touch Screen Features: Single point mode (Polling/Interrupt). - - TempSensor Feature: accuracy not determined (Polling). - - IO Read/write : Set/Reset and Read (Polling/Interrupt). - - UNSUPPORTED FEATURES: - - Row ADC Feature is not supported (not implemented on STM32100E-EVAL board) - - Joystick: config and Read (Polling/Interrupt) - ----------------------------------------------------------------------------*/ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32100e_eval_ioe.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL - * @{ - */ - -/** @defgroup STM32100E_EVAL_IOE - * @brief This file includes the IO Expander driver for STMPE811 IO Expander - * devices. - * @{ - */ - -/** @defgroup STM32100E_EVAL_IOE_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_IOE_Private_Defines - * @{ - */ -#define TIMEOUT_MAX 0x1000 /* _x? (x - _x): (_x - x); - yDiff = y > _y? (y - _y): (_y - y); - if (xDiff + yDiff > 5) - { - _x = x; - _y = y; - } - } - /* Update the X position */ - TS_State.X = _x; - - /* Update the Y position */ - TS_State.Y = _y; - /* Update the Z Pression index */ - TS_State.Z = IOE_TS_Read_Z(); - - /* Clear the interrupt pending bit and enable the FIFO again */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_FIFO_STA, 0x01); - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_FIFO_STA, 0x00); - - /* Return pointer to the updated structure */ - return &TS_State; -} - -/** - * @brief Returns the temperature row value (in 16 bit format). - * @param None - * @retval The temperature row value. - */ -uint32_t IOE_TempSens_GetData(void) -{ - static __IO uint32_t tmp = 0; - - /* Aquire data enable */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_TEMP_CTRL, 0x03); - - /* Enable the TEMPSENS module */ - tmp = (uint32_t)((I2C_ReadDeviceRegister(IOE_1_ADDR, IOE_REG_TEMP_DATA) & 0x03) << 8); - tmp |= (uint32_t)I2C_ReadDeviceRegister(IOE_1_ADDR, IOE_REG_TEMP_DATA + 1); - - tmp = (uint32_t)((33 * tmp * 100) / 751); - tmp = (uint32_t)((tmp + 5) / 10); - - /* return the temprature row value */ - return tmp; -} - -/** - * @brief Checks the selected Global interrupt source pending bit - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @param Global_IT: the Global interrupt source to be checked, could be: - * @arg Global_IT_GPIO : All IOs interrupt - * @arg Global_IT_ADC : ADC interrupt - * @arg Global_IT_TEMP : Temperature Sensor interrupts - * @arg Global_IT_FE : Touch Screen Controller FIFO Error interrupt - * @arg Global_IT_FF : Touch Screen Controller FIFO Full interrupt - * @arg Global_IT_FOV : Touch Screen Controller FIFO Overrun interrupt - * @arg Global_IT_FTH : Touch Screen Controller FIFO Threshold interrupt - * @arg Global_IT_TOUCH : Touch Screen Controller Touch Detected interrupt - * @retval Status of the checked flag. Could be SET or RESET. - */ -FlagStatus IOE_GetGITStatus(uint8_t DeviceAddr, uint8_t Global_IT) -{ - __IO uint8_t tmp = 0; - - /* get the Interrupt status */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_INT_STA); - - if ((tmp & (uint8_t)Global_IT) != 0) - { - return SET; - } - else - { - return RESET; - } -} - -/** - * @brief Clears the selected Global interrupt pending bit(s) - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @param Global_IT: the Global interrupt to be cleared, could be any combination - * of the following values: - * @arg Global_IT_GPIO : All IOs interrupt - * @arg Global_IT_ADC : ADC interrupt - * @arg Global_IT_TEMP : Temperature Sensor interrupts - * @arg Global_IT_FE : Touch Screen Controller FIFO Error interrupt - * @arg Global_IT_FF : Touch Screen Controller FIFO Full interrupt - * @arg Global_IT_FOV : Touch Screen Controller FIFO Overrun interrupt - * @arg Global_IT_FTH : Touch Screen Controller FIFO Threshold interrupt - * @arg Global_IT_TOUCH : Touch Screen Controller Touch Detected interrupt - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_ClearGITPending(uint8_t DeviceAddr, uint8_t Global_IT) -{ - /* Write 1 to the bits that have to be cleared */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_INT_STA, Global_IT); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Checks the status of the selected IO interrupt pending bit - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @param IO_IT: the IO interrupt to be checked could be IO_ITx Where x can be - * from 0 to 7. - * @retval Status of the checked flag. Could be SET or RESET. - */ -FlagStatus IOE_GetIOITStatus(uint8_t DeviceAddr, uint8_t IO_IT) -{ - uint8_t tmp = 0; - - /* get the Interrupt status */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_GPIO_INT_STA); - - if ((tmp & (uint8_t)IO_IT) != 0) - { - return SET; - } - else - { - return RESET; - } -} - -/** - * @brief Clears the selected IO interrupt pending bit(s). - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @param IO_IT: the IO interrupt to be checked could be IO_ITx Where x can be - * from 0 to 7. - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_ClearIOITPending(uint8_t DeviceAddr, uint8_t IO_IT) -{ - /* Write 1 to the bits that have to be cleared */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_INT_STA, IO_IT); - - /* Clear the Edge detection pending bit*/ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_ED, IO_IT); - - /* Clear the Rising edge pending bit */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_RE, IO_IT); - - /* Clear the Falling edge pending bit */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_FE, IO_IT); - - return IOE_OK; - -} -/** - * @brief Checks if the selected device is correctly configured and - * communicates correctly ont the I2C bus. - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @retval IOE_OK if IOE is operational. Other value if failure. - */ -uint8_t IOE_IsOperational(uint8_t DeviceAddr) -{ - /* Return Error if the ID is not correct */ - if( IOE_ReadID(DeviceAddr) != (uint16_t)STMPE811_ID ) - { - /* Check if a Timeout occured */ - if (IOE_TimeOut == 0) - { - return(IOE_TimeoutUserCallback()); - } - else - { - return IOE_FAILURE; /* ID is not Correct */ - } - } - else - { - return IOE_OK; /* ID is correct */ - } -} - -/** - * @brief Resets the IO Expander by Software (SYS_CTRL1, RESET bit). - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_Reset(uint8_t DeviceAddr) -{ - /* Power Down the IO_Expander */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_SYS_CTRL1, 0x02); - - /* wait for a delay to insure registers erasing */ - _delay_(2); - - /* Power On the Codec after the power off => all registers are reinitialized*/ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_SYS_CTRL1, 0x00); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Reads the selected device's ID. - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @retval The Device ID (two bytes). - */ -uint16_t IOE_ReadID(uint8_t DeviceAddr) -{ - uint16_t tmp = 0; - - /* Read device ID */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, 0); - tmp = (uint32_t)(tmp << 8); - tmp |= (uint32_t)I2C_ReadDeviceRegister(DeviceAddr, 1); - - /* Return the ID */ - return (uint16_t)tmp; -} - -/** - * @brief Configures the selcted IO Expander functionalities. - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @param Fct: the functions to be configured. could be any - * combination of the following values: - * @arg IOE_IO_FCT : IO function - * @arg IOE_TS_FCT : Touch Screen function - * @arg IOE_ADC_FCT : ADC function - * @arg IOE_TEMPSENS_FCT : Tempreature Sensor function - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_FnctCmd(uint8_t DeviceAddr, uint8_t Fct, FunctionalState NewState) -{ - uint8_t tmp = 0; - - /* Get the register value */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_SYS_CTRL2); - - if (NewState != DISABLE) - { - /* Set the Functionalities to be Enabled */ - tmp &= ~(uint8_t)Fct; - } - else - { - /* Set the Functionalities to be Disabled */ - tmp |= (uint8_t)Fct; - } - - /* Set the register value */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_SYS_CTRL2, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Configures the selected pin direction (to be an input or an output) - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @param IO_Pin: IO_Pin_x: Where x can be from 0 to 7. - * @param Direction: could be Direction_IN or Direction_OUT. - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_IOPinConfig(uint8_t DeviceAddr, uint8_t IO_Pin, uint8_t Direction) -{ - uint8_t tmp = 0; - - /* Get all the Pins direction */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_GPIO_DIR); - - if (Direction != Direction_IN) - { - tmp |= (uint8_t)IO_Pin; - } - else - { - tmp &= ~(uint8_t)IO_Pin; - } - - /* Write the register new value */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_DIR, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Enables or disables the Global interrupt. - * @param DeviceAddr: The address of the IOExpander, could be :I OE_1_ADDR. - * @param NewState: could be ENABLE or DISABLE. - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_GITCmd(uint8_t DeviceAddr, FunctionalState NewState) -{ - uint8_t tmp = 0; - - /* Read the Interrupt Control register */ - I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_INT_CTRL); - - if (NewState != DISABLE) - { - /* Set the global interrupts to be Enabled */ - tmp |= (uint8_t)IOE_GIT_EN; - } - else - { - /* Set the global interrupts to be Disabled */ - tmp &= ~(uint8_t)IOE_GIT_EN; - } - - /* Write Back the Interrupt Control register */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_INT_CTRL, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Configures the selected source to generate or not a global interrupt - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * @param Global_IT: the interrupt source to be configured, could be: - * @arg Global_IT_GPIO : All IOs interrupt - * @arg Global_IT_ADC : ADC interrupt - * @arg Global_IT_TEMP : Temperature Sensor interrupts - * @arg Global_IT_FE : Touch Screen Controller FIFO Error interrupt - * @arg Global_IT_FF : Touch Screen Controller FIFO Full interrupt - * @arg Global_IT_FOV : Touch Screen Controller FIFO Overrun interrupt - * @arg Global_IT_FTH : Touch Screen Controller FIFO Threshold interrupt - * @arg Global_IT_TOUCH : Touch Screen Controller Touch Detected interrupt - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_GITConfig(uint8_t DeviceAddr, uint8_t Global_IT, FunctionalState NewState) -{ - uint8_t tmp = 0; - - /* Get the current value of the INT_EN register */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_INT_EN); - - if (NewState != DISABLE) - { - /* Set the interrupts to be Enabled */ - tmp |= (uint8_t)Global_IT; - } - else - { - /* Set the interrupts to be Disabled */ - tmp &= ~(uint8_t)Global_IT; - } - /* Set the register */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_INT_EN, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Configures the selected pins to generate an interrupt or not. - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @param IO_IT: The IO interrupt to be configured. This parameter could be any - * combination of the following values: - * @arg IO_IT_x: where x can be from 0 to 7. - * @param NewState: could be ENABLE or DISABLE. - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_IOITConfig(uint8_t DeviceAddr, uint8_t IO_IT, FunctionalState NewState) -{ - uint8_t tmp = 0; - - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_GPIO_INT_EN); - - if (NewState != DISABLE) - { - /* Set the interrupts to be Enabled */ - tmp |= (uint8_t)IO_IT; - } - else - { - /* Set the interrupts to be Disabled */ - tmp &= ~(uint8_t)IO_IT; - } - - /* Set the register */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_INT_EN, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Configures the touch Screen Controller (Single point detection) - * @param None - * @retval IOE_OK if all initializations are OK. Other value if error. - */ -uint8_t IOE_TS_Config(void) -{ - uint8_t tmp = 0; - - /* Enable TSC Fct: already done in IOE_Config */ - tmp = I2C_ReadDeviceRegister(IOE_1_ADDR, IOE_REG_SYS_CTRL2); - tmp &= ~(uint32_t)(IOE_TS_FCT | IOE_ADC_FCT); - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_SYS_CTRL2, tmp); - - /* Enable the TSC gloabl interrupts */ - tmp = I2C_ReadDeviceRegister(IOE_1_ADDR, IOE_REG_INT_EN); - tmp |= (uint32_t)(IOE_GIT_TOUCH | IOE_GIT_FTH | IOE_GIT_FOV); - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_INT_EN, tmp); - - /* Select Sample Time, bit number and ADC Reference */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_ADC_CTRL1, 0x49); - - /* Wait for ~20 ms */ - _delay_(2); - - /* Select the ADC clock speed: 3.25 MHz */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_ADC_CTRL2, 0x01); - - /* Select TSC pins in non default mode */ - tmp = I2C_ReadDeviceRegister(IOE_1_ADDR, IOE_REG_GPIO_AF); - tmp &= ~(uint8_t)TOUCH_IO_ALL; - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_GPIO_AF, tmp); - - /* Select 2 nF filter capacitor */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_TSC_CFG, 0x9A); - - /* Select single point reading */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_FIFO_TH, 0x01); - - /* Write 0x01 to clear the FIFO memory content. */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_FIFO_STA, 0x01); - - /* Write 0x00 to put the FIFO back into operation mode */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_FIFO_STA, 0x00); - - /* set the data format for Z value: 7 fractional part and 1 whole part */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_TSC_FRACT_XYZ, 0x01); - - /* set the driving capability of the device for TSC pins: 50mA */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_TSC_I_DRIVE, 0x01); - - /* Use no tracking index, touchscreen controller operation mode (XYZ) and - enable the TSC */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_TSC_CTRL, 0x01); - - /* Clear all the status pending bits */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_INT_STA, 0xFF); - - /* Initialize the TS structure to their default values */ - TS_State.TouchDetected = TS_State.X = TS_State.Y = TS_State.Z = 0; - - /* All configuration done */ - return IOE_OK; -} - -/** - * @brief Configures and enables the Temperature sensor module. - * @param None - * @retval IOE_OK if all initializations are OK. Other value if error. - */ -uint8_t IOE_TempSens_Config(void) -{ - __IO uint8_t tmp = 0; - - /* Enable Temperature Sensor Fct: already done in IOE_Config */ - tmp = I2C_ReadDeviceRegister(IOE_1_ADDR, IOE_REG_SYS_CTRL2); - tmp &= ~(uint32_t)(IOE_TEMPSENS_FCT | IOE_ADC_FCT); - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_SYS_CTRL2, tmp); - - /* Enable the TEMPSENS module */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_TEMP_CTRL, 0x01); - - /* Aquire data enable */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_TEMP_CTRL, 0x3); - - /* All configuration done */ - return IOE_OK; -} - -/** - * @brief Configures the selected pin to be in Alternate function or not - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @param IO_Pin: IO_Pin_x, Where x can be from 0 to 7. - * @param NewState: State of the AF for the selected pin, could be - * ENABLE or DISABLE. - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_IOAFConfig(uint8_t DeviceAddr, uint8_t IO_Pin, FunctionalState NewState) -{ - uint8_t tmp = 0; - - /* Get the current state of the GPIO_AF register */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_GPIO_AF); - - if (NewState != DISABLE) - { - /* Enable the selected pins alternate function */ - tmp |= (uint8_t)IO_Pin; - } - else - { - /* Disable the selected pins alternate function */ - tmp &= ~(uint8_t)IO_Pin; - } - - /* Write back the new valu in GPIO_AF register */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_AF, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Configures the Edge for which a transition is detectable for the - * the selected pin. - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @param IO_Pin: IO_Pin_x, Where x can be from 0 to 7. - * @param Edge: The edge which will be detected. This parameter can be one or a - * a combination of follwing values: EDGE_FALLING and EDGE_RISING . - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_IOEdgeConfig(uint8_t DeviceAddr, uint8_t IO_Pin, uint8_t Edge) -{ - uint8_t tmp1 = 0, tmp2 = 0; - - /* Get the registers values */ - tmp1 = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_GPIO_FE); - tmp2 = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_GPIO_RE); - - /* Disable the Falling Edge */ - tmp1 &= ~(uint8_t)IO_Pin; - /* Disable the Falling Edge */ - tmp2 &= ~(uint8_t)IO_Pin; - - /* Enable the Falling edge if selected */ - if (Edge & EDGE_FALLING) - { - tmp1 |= (uint8_t)IO_Pin; - } - - /* Enable the Rising edge if selected */ - if (Edge & EDGE_RISING) - { - tmp2 |= (uint8_t)IO_Pin; - } - - /* Write back the registers values */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_FE, tmp1); - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_RE, tmp2); - - /* if OK return 0 */ - return IOE_OK; -} - -/** - * @brief Configures the Interrupt line active state and format (level/edge) - * @param Polarity: could be - * @arg Polarity_Low: Interrupt line is active Low/Falling edge - * @arg Polarity_High: Interrupt line is active High/Rising edge - * @param Type: Interrupt line activity type, could be one of the following values - * @arg Type_Level: Interrupt line is active in level model - * @arg Type_Edge: Interrupt line is active in edge model - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_ITOutConfig(uint8_t Polarity, uint8_t Type) -{ - uint8_t tmp = 0; - - /* Get the register IOE_REG_INT_CTRL value */ - tmp = I2C_ReadDeviceRegister(IOE_1_ADDR, IOE_REG_INT_CTRL); - - /* Mask the polarity and type bits */ - tmp &= ~(uint8_t)0x06; - - /* Modify the Interrupt Output line configuration */ - tmp |= (uint8_t)(Polarity | Type); - - /* Set the register */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_INT_CTRL, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Writes a value in a register of the device through I2C. - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR. - * @param RegisterAddr: The target register adress - * @param RegisterValue: The target register value to be written - * @retval IOE_OK: if all operations are OK. Other value if error. - */ -uint8_t I2C_WriteDeviceRegister(uint8_t DeviceAddr, uint8_t RegisterAddr, uint8_t RegisterValue) -{ - uint32_t read_verif = 0; - uint8_t IOE_BufferTX = 0; - - /* Get Value to be written */ - IOE_BufferTX = RegisterValue; - - /* Configure DMA Peripheral */ - IOE_DMA_Config(IOE_DMA_TX, (uint8_t*)(&IOE_BufferTX)); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(IOE_I2C, ENABLE); - - /* Test on SB Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_SB) == RESET) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Transmit the slave address and enable writing operation */ - I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Transmit the first address for r/w operations */ - I2C_SendData(IOE_I2C, RegisterAddr); - - /* Test on TXE FLag (data dent) */ - IOE_TimeOut = TIMEOUT_MAX; - while ((!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_BTF))) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(IOE_I2C,ENABLE); - - /* Enable DMA TX Channel */ - DMA_Cmd(IOE_DMA_TX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - IOE_TimeOut = TIMEOUT_MAX; - while (!DMA_GetFlagStatus(IOE_DMA_TX_TCFLAG)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Wait until BTF Flag is set before generating STOP */ - IOE_TimeOut = 2 * TIMEOUT_MAX; - while ((!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_BTF))) - { - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(IOE_I2C, ENABLE); - - /* Disable DMA TX Channel */ - DMA_Cmd(IOE_DMA_TX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(IOE_I2C,DISABLE); - - /* Clear DMA TX Transfer Complete Flag */ - DMA_ClearFlag(IOE_DMA_TX_TCFLAG); - -#ifdef VERIFY_WRITTENDATA - /* Verify (if needed) that the loaded data is correct */ - - /* Read the just written register*/ - read_verif = I2C_ReadDeviceRegister(DeviceAddr, RegisterAddr); - /* Load the register and verify its value */ - if (read_verif != RegisterValue) - { - /* Control data wrongly tranfered */ - read_verif = IOE_FAILURE; - } - else - { - /* Control data correctly transfered */ - read_verif = 0; - } -#endif - - /* Return the verifying value: 0 (Passed) or 1 (Failed) */ - return read_verif; -} - -/** - * @brief Reads a register of the device through I2C. - * @param DeviceAddr: The address of the device, could be : IOE_1_ADDR. - * @param RegisterAddr: The target register adress (between 00x and 0x24) - * @retval The value of the read register (0xAA if Timout occured) - */ -uint8_t I2C_ReadDeviceRegister(uint8_t DeviceAddr, uint8_t RegisterAddr) -{ - uint8_t IOE_BufferRX[2] = {0x00, 0x00}; - - /* Configure DMA Peripheral */ - IOE_DMA_Config(IOE_DMA_RX, (uint8_t*)IOE_BufferRX); - - /* Enable DMA NACK automatic generation */ - I2C_DMALastTransferCmd(IOE_I2C, ENABLE); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(IOE_I2C, ENABLE); - - /* Test on SB Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_SB)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send device address for write */ - I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send the device's internal address to write to */ - I2C_SendData(IOE_I2C, RegisterAddr); - - /* Test on TXE FLag (data dent) */ - IOE_TimeOut = TIMEOUT_MAX; - while ((!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_BTF))) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send START condition a second time */ - I2C_GenerateSTART(IOE_I2C, ENABLE); - - /* Test on SB Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_SB)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send IOExpander address for read */ - I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Receiver); - - /* Test on ADDR Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(IOE_I2C,ENABLE); - - /* Enable DMA RX Channel */ - DMA_Cmd(IOE_DMA_RX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - IOE_TimeOut = 2 * TIMEOUT_MAX; - while (!DMA_GetFlagStatus(IOE_DMA_RX_TCFLAG)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(IOE_I2C, ENABLE); - - /* Disable DMA RX Channel */ - DMA_Cmd(IOE_DMA_RX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(IOE_I2C,DISABLE); - - /* Clear DMA RX Transfer Complete Flag */ - DMA_ClearFlag(IOE_DMA_RX_TCFLAG); - - /* return a pointer to the IOE_Buffer */ - return (uint8_t)IOE_BufferRX[0]; -} - - -/** - * @brief Reads a buffer of 2 bytes from the device registers. - * @param DeviceAddr: The address of the device, could be : IOE_1_ADDR. - * @param RegisterAddr: The target register adress (between 00x and 0x24) - * @retval A pointer to the buffer containing the two returned bytes (in halfword). - */ -uint16_t I2C_ReadDataBuffer(uint8_t DeviceAddr, uint32_t RegisterAddr) -{ - uint8_t tmp= 0; - uint8_t IOE_BufferRX[2] = {0x00, 0x00}; - - /* Configure DMA Peripheral */ - IOE_DMA_Config(IOE_DMA_RX, (uint8_t*)IOE_BufferRX); - - /* Enable DMA NACK automatic generation */ - I2C_DMALastTransferCmd(IOE_I2C, ENABLE); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(IOE_I2C, ENABLE); - - /* Test on SB Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_SB)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send device address for write */ - I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send the device's internal address to write to */ - I2C_SendData(IOE_I2C, RegisterAddr); - - /* Test on TXE FLag (data dent) */ - IOE_TimeOut = TIMEOUT_MAX; - while ((!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_BTF))) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send START condition a second time */ - I2C_GenerateSTART(IOE_I2C, ENABLE); - - /* Test on SB Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_SB)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send IOExpander address for read */ - I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Receiver); - - /* Test on ADDR Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(IOE_I2C,ENABLE); - - /* Enable DMA RX Channel */ - DMA_Cmd(IOE_DMA_RX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - IOE_TimeOut = 2 * TIMEOUT_MAX; - while (!DMA_GetFlagStatus(IOE_DMA_RX_TCFLAG)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(IOE_I2C, ENABLE); - - /* Disable DMA RX Channel */ - DMA_Cmd(IOE_DMA_RX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(IOE_I2C,DISABLE); - - /* Clear DMA RX Transfer Complete Flag */ - DMA_ClearFlag(IOE_DMA_RX_TCFLAG); - - /* Reorganize received data */ - tmp = IOE_BufferRX[0]; - IOE_BufferRX[0] = IOE_BufferRX[1]; - IOE_BufferRX[1] = tmp; - - /* return a pointer to the IOE_Buffer */ - return *(uint16_t *)IOE_BufferRX; -} - -/** - * @brief Return Touch Screen X position value - * @param None - * @retval X position. - */ -static uint16_t IOE_TS_Read_X(void) -{ - int32_t x, xr; - - x = I2C_ReadDataBuffer(IOE_1_ADDR, IOE_REG_TSC_DATA_Y); - - /* first correction */ - xr = (x * 320) >> 12; - /* second correction */ - xr = ((xr * 32)/29) - 17; - - if(xr <= 0) - xr = 0; - - return (uint16_t)(xr); -} - -/** - * @brief Return Touch Screen Y position value - * @param None - * @retval Y position. - */ -static uint16_t IOE_TS_Read_Y(void) -{ - int32_t y, yr; - y= I2C_ReadDataBuffer(IOE_1_ADDR, IOE_REG_TSC_DATA_X); - - yr= (y * 240) >> 12; - yr = ((yr * 240) / 217) - 12; - - if(yr <= 0) - yr = 0; - - return (uint16_t)(yr); -} - -/** - * @brief Return Touch Screen Z position value - * @param None - * @retval Z position. - */ -static uint16_t IOE_TS_Read_Z(void) -{ - uint32_t z; - z = I2C_ReadDataBuffer(IOE_1_ADDR, IOE_REG_TSC_DATA_Z); - - - if(z <= 0) - z = 0; - - return (uint16_t)(z); -} - -/** - * @brief Initializes the GPIO pins used by the IO expander. - * @param None - * @retval None - */ -static void IOE_GPIO_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable IOE_I2C and IOE_I2C_PORT & Alternate Function clocks */ - RCC_APB1PeriphClockCmd(IOE_I2C_CLK, ENABLE); - RCC_APB2PeriphClockCmd(IOE_I2C_SCL_GPIO_CLK | IOE_I2C_SDA_GPIO_CLK | IOE_IT_GPIO_CLK - | RCC_APB2Periph_AFIO, ENABLE); - - /* Reset IOE_I2C IP */ - RCC_APB1PeriphResetCmd(IOE_I2C_CLK, ENABLE); - - /* Release reset signal of IOE_I2C IP */ - RCC_APB1PeriphResetCmd(IOE_I2C_CLK, DISABLE); - - /* IOE_I2C SCL and SDA pins configuration */ - GPIO_InitStructure.GPIO_Pin = IOE_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; - GPIO_Init(IOE_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /* IOE_I2C SCL and SDA pins configuration */ - GPIO_InitStructure.GPIO_Pin = IOE_I2C_SDA_PIN; - GPIO_Init(IOE_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /* Set EXTI pin as Input PullUp - IO_Expander_INT */ - GPIO_InitStructure.GPIO_Pin = IOE_IT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_Init(IOE_IT_GPIO_PORT, &GPIO_InitStructure); - - /* Connect IO Expander IT line to EXTI line */ - GPIO_EXTILineConfig(IOE_IT_EXTI_PORT_SOURCE, IOE_IT_EXTI_PIN_SOURCE); -} - - -/** - * @brief Configure the I2C Peripheral used to communicate with IO_Expanders. - * @param None - * @retval None - */ -static void IOE_I2C_Config(void) -{ - I2C_InitTypeDef I2C_InitStructure; - - /* IOE_I2C configuration */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2; - I2C_InitStructure.I2C_OwnAddress1 = 0x00; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; - I2C_InitStructure.I2C_ClockSpeed = IOE_I2C_SPEED; - - I2C_Init(IOE_I2C, &I2C_InitStructure); -} - - -/** - * @brief Configure the DMA Peripheral used to handle communication via I2C. - * @param None - * @retval None - */ - -static void IOE_DMA_Config(IOE_DMADirection_TypeDef Direction, uint8_t* buffer) -{ - DMA_InitTypeDef DMA_InitStructure; - - RCC_AHBPeriphClockCmd(IOE_DMA_CLK, ENABLE); - - /* Initialize the DMA_PeripheralBaseAddr member */ - DMA_InitStructure.DMA_PeripheralBaseAddr = IOE_I2C_DR; - /* Initialize the DMA_MemoryBaseAddr member */ - DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)buffer; - /* Initialize the DMA_PeripheralInc member */ - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - /* Initialize the DMA_MemoryInc member */ - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - /* Initialize the DMA_PeripheralDataSize member */ - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; - /* Initialize the DMA_MemoryDataSize member */ - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; - /* Initialize the DMA_Mode member */ - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - /* Initialize the DMA_Priority member */ - DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; - /* Initialize the DMA_M2M member */ - DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; - - /* If using DMA for Reception */ - if (Direction == IOE_DMA_RX) - { - /* Initialize the DMA_DIR member */ - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; - - /* Initialize the DMA_BufferSize member */ - DMA_InitStructure.DMA_BufferSize = 2; - - DMA_DeInit(IOE_DMA_RX_CHANNEL); - - DMA_Init(IOE_DMA_RX_CHANNEL, &DMA_InitStructure); - } - /* If using DMA for Transmission */ - else if (Direction == IOE_DMA_TX) - { - /* Initialize the DMA_DIR member */ - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; - - /* Initialize the DMA_BufferSize member */ - DMA_InitStructure.DMA_BufferSize = 1; - - DMA_DeInit(IOE_DMA_TX_CHANNEL); - - DMA_Init(IOE_DMA_TX_CHANNEL, &DMA_InitStructure); - } -} - -/** - * @brief Configures the IO expander Interrupt line and GPIO in EXTI mode. - * @param None - * @retval None - */ -static void IOE_EXTI_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - - /* Enable Button GPIO clock */ - RCC_APB2PeriphClockCmd(IOE_IT_GPIO_CLK | RCC_APB2Periph_AFIO, ENABLE); - - /* Configure Button pin as input floating */ - GPIO_InitStructure.GPIO_Pin = IOE_IT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(IOE_IT_GPIO_PORT, &GPIO_InitStructure); - - /* Connect Button EXTI Line to Button GPIO Pin */ - GPIO_EXTILineConfig(IOE_IT_EXTI_PORT_SOURCE, IOE_IT_EXTI_PIN_SOURCE); - - /* Configure Button EXTI line */ - EXTI_InitStructure.EXTI_Line = IOE_IT_EXTI_LINE; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable and set Button EXTI Interrupt to the lowest priority */ - NVIC_InitStructure.NVIC_IRQChannel = IOE_IT_EXTI_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -#ifndef USE_Delay -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -static void delay(__IO uint32_t nCount) -{ - __IO uint32_t index = 0; - for(index = (100000 * nCount); index != 0; index--) - { - } -} -#endif /* USE_Delay*/ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_ioe.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_ioe.h deleted file mode 100644 index a68433529..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_ioe.h +++ /dev/null @@ -1,491 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100e_eval_ioe.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the IO Expander - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - /* File Info : --------------------------------------------------------------- - SUPPORTED FEATURES: - - Touch Screen Features: Single point mode (Polling/Interrupt). - - TempSensor Feature: accuracy not determined (Polling). - - IO Read/write : Set/Reset and Read (Polling/Interrupt). - - UNSUPPORTED FEATURES: - - Row ADC Feature is not supported (not implemented on STM32100E-EVAL board) - - Joystick: config and Read (Polling/Interrupt) -----------------------------------------------------------------------------*/ - - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32100E_EVAL_IOE_H -#define __STM32100E_EVAL_IOE_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL - * @{ - */ - -/** @defgroup STM32100E_EVAL_IOE - * @{ - */ - -/** @defgroup STM32100E_EVAL_IOE_Exported_Types - * @{ - */ - -/** - * @brief Touch Screen Information structure - */ -typedef struct -{ - uint16_t TouchDetected; - uint16_t X; - uint16_t Y; - uint16_t Z; -}TS_STATE; - - -/** - * @brief IO_Expander Error codes - */ -typedef enum -{ - IOE_OK = 0, - IOE_FAILURE, - IOE_TIMEOUT, - PARAM_ERROR, - IOE1_NOT_OPERATIONAL -}IOE_Status_TypDef; - -/** - * @brief IO bit values - */ -typedef enum -{ - BitReset = 0, - BitSet = 1 -}IOE_BitValue_TypeDef; - -/** - * @brief IOE DMA Direction - */ -typedef enum -{ - IOE_DMA_TX = 0, - IOE_DMA_RX = 1 -}IOE_DMADirection_TypeDef; - -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_IOE_Exported_Constants - * @{ - */ - -/** - * @brief Uncomment the line below to enable verfying each written byte in write - * operation. The I2C_WriteDeviceRegister() function will then compare the - * written and read data and return error status if a mismatch occurs. - */ -/* #define VERIFY_WRITTENDATA */ - -/** - * @brief Uncomment the line below if you want to use user defined Delay function - * (for precise timing), otherwise default _delay_ function defined within - * this driver is used (less precise timing). - */ -/* #define USE_Delay */ - -/** - * @brief Uncomment the line below if you want to use user timeout callback. - * Function prototypes is declared in this file but function body may be - * implemented into user application. - */ -/* #define USE_TIMEOUT_USER_CALLBACK */ - -#ifdef USE_Delay -#include "main.h" - - #define _delay_ Delay /* !< User can provide more timing precise _delay_ function - (with 10ms time base), using SysTick for example */ -#else - #define _delay_ delay /* !< Default _delay_ function with less precise timing */ -#endif - -/*------------------------------------------------------------------------------ - Hardware Configuration -------------------------------------------------------------------------------*/ -/** - * @brief I2C port definitions - */ -#define IOE_I2C I2C2 -#define IOE_I2C_CLK RCC_APB1Periph_I2C2 -#define IOE_I2C_SCL_PIN GPIO_Pin_10 -#define IOE_I2C_SCL_GPIO_PORT GPIOB -#define IOE_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB -#define IOE_I2C_SDA_PIN GPIO_Pin_11 -#define IOE_I2C_SDA_GPIO_PORT GPIOB -#define IOE_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB -#define IOE_I2C_DR ((uint32_t)0x40005810) -#define IOE_I2C_SPEED 300000 - -/** - * @brief IOE DMA definitions - */ -#define IOE_DMA DMA1 -#define IOE_DMA_CLK RCC_AHBPeriph_DMA1 -#define IOE_DMA_TX_CHANNEL DMA1_Channel4 -#define IOE_DMA_RX_CHANNEL DMA1_Channel5 -#define IOE_DMA_TX_TCFLAG DMA1_FLAG_TC4 -#define IOE_DMA_RX_TCFLAG DMA1_FLAG_TC5 - - -/** - * @brief IO Expander Interrupt line on EXTI - */ -#define IOE_IT_PIN GPIO_Pin_12 -#define IOE_IT_GPIO_PORT GPIOA -#define IOE_IT_GPIO_CLK RCC_APB2Periph_GPIOA -#define IOE_IT_EXTI_PORT_SOURCE GPIO_PortSourceGPIOA -#define IOE_IT_EXTI_PIN_SOURCE GPIO_PinSource12 -#define IOE_IT_EXTI_LINE EXTI_Line12 -#define IOE_IT_EXTI_IRQn EXTI15_10_IRQn - - -/** - * @brief The 7 bits IO Expanders adresses and chip IDs - */ -#define IOE_1_ADDR 0x82 -#define STMPE811_ID 0x0811 - - -/*------------------------------------------------------------------------------ - Functional and Interrupt Management -------------------------------------------------------------------------------*/ -/** - * @brief IO Expander Functionalities definitions - */ -#define IOE_ADC_FCT 0x01 -#define IOE_TS_FCT 0x02 -#define IOE_IO_FCT 0x04 -#define IOE_TEMPSENS_FCT 0x08 - -/** - * @brief Interrupt source configuration definitons - */ -#define IOE_ITSRC_TSC 0x01 /* IO_Exapnder 1 */ -#define IOE_ITSRC_TEMPSENS 0x08 /* IO_Exapnder 1 */ - -/** - * @brief Glaobal Interrupts definitions - */ -#define IOE_GIT_GPIO 0x80 -#define IOE_GIT_ADC 0x40 -#define IOE_GIT_TEMP 0x20 -#define IOE_GIT_FE 0x10 -#define IOE_GIT_FF 0x08 -#define IOE_GIT_FOV 0x04 -#define IOE_GIT_FTH 0x02 -#define IOE_GIT_TOUCH 0x01 - -/** - * @brief IO Exapanders Pins definition - */ -#define IO1_IN_ALL_PINS (uint32_t)(IO_Pin_ALL) -#define IO1_OUT_ALL_PINS (uint32_t)(IO_Pin_ALL) - - -/*------------------------------------------------------------------------------ - STMPE811 device register definition -------------------------------------------------------------------------------*/ -/** - * @brief Identification registers - */ -#define IOE_REG_CHP_ID 0x00 -#define IOE_REG_ID_VER 0x02 - -/** - * @brief General Control Registers - */ -#define IOE_REG_SYS_CTRL1 0x03 -#define IOE_REG_SYS_CTRL2 0x04 -#define IOE_REG_SPI_CFG 0x08 - -/** - * @brief Interrupt Control register - */ -#define IOE_REG_INT_CTRL 0x09 -#define IOE_REG_INT_EN 0x0A -#define IOE_REG_INT_STA 0x0B -#define IOE_REG_GPIO_INT_EN 0x0C -#define IOE_REG_GPIO_INT_STA 0x0D - -/** - * @brief GPIO Registers - */ -#define IOE_REG_GPIO_SET_PIN 0x10 -#define IOE_REG_GPIO_CLR_PIN 0x11 -#define IOE_REG_GPIO_MP_STA 0x12 -#define IOE_REG_GPIO_DIR 0x13 -#define IOE_REG_GPIO_ED 0x14 -#define IOE_REG_GPIO_RE 0x15 -#define IOE_REG_GPIO_FE 0x16 -#define IOE_REG_GPIO_AF 0x17 - -/** - * @brief ADC Registers - */ -#define IOE_REG_ADC_INT_EN 0x0E -#define IOE_REG_ADC_INT_STA 0x0F -#define IOE_REG_ADC_CTRL1 0x20 -#define IOE_REG_ADC_CTRL2 0x21 -#define IOE_REG_ADC_CAPT 0x22 -#define IOE_REG_ADC_DATA_CH0 0x30 /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH1 0x32 /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH2 0x34 /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH3 0x36 /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH4 0x38 /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH5 0x3A /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH6 0x3B /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH7 0x3C /* 16-Bit register */ - -/** - * @brief TouchScreen Registers - */ -#define IOE_REG_TSC_CTRL 0x40 -#define IOE_REG_TSC_CFG 0x41 -#define IOE_REG_WDM_TR_X 0x42 -#define IOE_REG_WDM_TR_Y 0x44 -#define IOE_REG_WDM_BL_X 0x46 -#define IOE_REG_WDM_BL_Y 0x48 -#define IOE_REG_FIFO_TH 0x4A -#define IOE_REG_FIFO_STA 0x4B -#define IOE_REG_FIFO_SIZE 0x4C -#define IOE_REG_TSC_DATA_X 0x4D -#define IOE_REG_TSC_DATA_Y 0x4F -#define IOE_REG_TSC_DATA_Z 0x51 -#define IOE_REG_TSC_DATA_XYZ 0x52 -#define IOE_REG_TSC_FRACT_XYZ 0x56 -#define IOE_REG_TSC_DATA 0x57 -#define IOE_REG_TSC_I_DRIVE 0x58 -#define IOE_REG_TSC_SHIELD 0x59 - -/** - * @brief Temperature Sensor registers - */ -#define IOE_REG_TEMP_CTRL 0x60 -#define IOE_REG_TEMP_DATA 0x61 -#define IOE_REG_TEMP_TH 0x62 - -/*------------------------------------------------------------------------------ - Functions parameters defines -------------------------------------------------------------------------------*/ -/** - * @brief Touch Screen Pins definition - */ -#define TOUCH_YD IO_Pin_1 /* IO_Exapnader_1 */ /* Input */ -#define TOUCH_XD IO_Pin_2 /* IO_Exapnader_1 */ /* Input */ -#define TOUCH_YU IO_Pin_3 /* IO_Exapnader_1 */ /* Input */ -#define TOUCH_XU IO_Pin_4 /* IO_Exapnader_1 */ /* Input */ -#define TOUCH_IO_ALL (uint32_t)(IO_Pin_1 | IO_Pin_2 | IO_Pin_3 | IO_Pin_4) - -/** - * @brief IO Pins - */ -#define IO_Pin_0 0x01 -#define IO_Pin_1 0x02 -#define IO_Pin_2 0x04 -#define IO_Pin_3 0x08 -#define IO_Pin_4 0x10 -#define IO_Pin_5 0x20 -#define IO_Pin_6 0x40 -#define IO_Pin_7 0x80 -#define IO_Pin_ALL 0xFF - -/** - * @brief IO Pin directions - */ -#define Direction_IN 0x00 -#define Direction_OUT 0x01 - -/** - * @brief Interrupt Line output parameters - */ -#define Polarity_Low 0x00 -#define Polarity_High 0x04 -#define Type_Level 0x00 -#define Type_Edge 0x02 - -/** - * @brief IO Interrupts - */ -#define IO_IT_0 0x01 -#define IO_IT_1 0x02 -#define IO_IT_2 0x04 -#define IO_IT_3 0x08 -#define IO_IT_4 0x10 -#define IO_IT_5 0x20 -#define IO_IT_6 0x40 -#define IO_IT_7 0x80 -#define ALL_IT 0xFF -#define IOE_TS_IT (uint8_t)(IO_IT_0 | IO_IT_1 | IO_IT_2) - -/** - * @brief Edge detection value - */ -#define EDGE_FALLING 0x01 -#define EDGE_RISING 0x02 - -/** - * @brief Global interrupt Enable bit - */ -#define IOE_GIT_EN 0x01 - -/** - * @} - */ - - - -/** @defgroup STM32100E_EVAL_IOE_Exported_Macros - * @{ - */ -/** - * @} - */ - - - -/** @defgroup STM32100E_EVAL_IOE_Exported_Functions - * @{ - */ - -/** - * @brief Configuration and initialization functions - */ -uint8_t IOE_Config(void); -uint8_t IOE_ITConfig(uint32_t IOE_ITSRC_Source); - -/** - * @brief Timeout user callback function. This function is called when a timeout - * condition occurs during communication with IO Expander. Only protoype - * of this function is decalred in IO Expander driver. Its implementation - * may be done into user application. This function may typically stop - * current operations and reset the I2C peripheral and IO Expander. - * To enable this function use uncomment the define USE_TIMEOUT_USER_CALLBACK - * at the top of this file. - */ -#ifdef USE_TIMEOUT_USER_CALLBACK - uint8_t IOE_TimeoutUserCallback(void); -#else - #define IOE_TimeoutUserCallback() IOE_TIMEOUT -#endif /* USE_TIMEOUT_USER_CALLBACK */ - -/** - * @brief IO pins control functions - */ -uint8_t IOE_WriteIOPin(uint8_t IO_Pin, IOE_BitValue_TypeDef BitVal); -uint8_t IOE_ReadIOPin(uint32_t IO_Pin); - -/** - * @brief Touch Screen controller functions - */ -TS_STATE* IOE_TS_GetState(void); - -/** - * @brief Interrupts Mangement functions - */ -FlagStatus IOE_GetGITStatus(uint8_t DeviceAddr, uint8_t Global_IT); -uint8_t IOE_ClearGITPending(uint8_t DeviceAddr, uint8_t IO_IT); -FlagStatus IOE_GetIOITStatus(uint8_t DeviceAddr, uint8_t IO_IT); -uint8_t IOE_ClearIOITPending(uint8_t DeviceAddr, uint8_t IO_IT); - - -/** - * @brief Temperature Sensor functions - */ -uint32_t IOE_TempSens_GetData(void); - - -/** - * @brief IO-Expander Control functions - */ -uint8_t IOE_IsOperational(uint8_t DeviceAddr); -uint8_t IOE_Reset(uint8_t DeviceAddr); -uint16_t IOE_ReadID(uint8_t DeviceAddr); - -uint8_t IOE_FnctCmd(uint8_t DeviceAddr, uint8_t Fct, FunctionalState NewState); -uint8_t IOE_IOPinConfig(uint8_t DeviceAddr, uint8_t IO_Pin, uint8_t Direction); -uint8_t IOE_GITCmd(uint8_t DeviceAddr, FunctionalState NewState); -uint8_t IOE_GITConfig(uint8_t DeviceAddr, uint8_t Global_IT, FunctionalState NewState); -uint8_t IOE_IOITConfig(uint8_t DeviceAddr, uint8_t IO_IT, FunctionalState NewState); - -/** - * @brief Low Layer functions - */ -uint8_t IOE_TS_Config(void); -uint8_t IOE_TempSens_Config(void); -uint8_t IOE_IOAFConfig(uint8_t DeviceAddr, uint8_t IO_Pin, FunctionalState NewState); -uint8_t IOE_IOEdgeConfig(uint8_t DeviceAddr, uint8_t IO_Pin, uint8_t Edge); -uint8_t IOE_ITOutConfig(uint8_t Polarity, uint8_t Type); - -uint8_t I2C_WriteDeviceRegister(uint8_t DeviceAddr, uint8_t RegisterAddr, uint8_t RegisterValue); -uint8_t I2C_ReadDeviceRegister(uint8_t DeviceAddr, uint8_t RegisterAddr); -uint16_t I2C_ReadDataBuffer(uint8_t DeviceAddr, uint32_t RegisterAddr); -#ifdef __cplusplus -} - -#endif -#endif /* __STM32100E_EVAL_IOE_H */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_lcd.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_lcd.c deleted file mode 100644 index 08905d8d1..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_lcd.c +++ /dev/null @@ -1,1419 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100e_eval_lcd.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file includes the LCD driver for AM-240320L8TNQW00H - * (LCD_ILI9320), AM240320D5TOQW01H (LCD_ILI9325) and AM-240320LDTNQW00H - * (LCD_SPFD5408B) Liquid Crystal Display Module of STM32100E-EVAL board. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32100e_eval_lcd.h" -#include "../Common/fonts.c" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL - * @{ - */ - -/** @defgroup STM32100E_EVAL_LCD - * @brief This file includes the LCD driver for AM-240320L8TNQW00H - * (LCD_ILI9320), AM240320D5TOQW01H (LCD_ILI9325) and AM-240320LDTNQW00H - * (LCD_SPFD5408B) Liquid Crystal Display Module of STM32100E-EVAL board. - * @{ - */ - -/** @defgroup STM32100E_EVAL_LCD_Private_TypesDefinitions - * @{ - */ -typedef struct -{ - __IO uint16_t LCD_REG; - __IO uint16_t LCD_RAM; -} LCD_TypeDef; -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_LCD_Private_Defines - * @{ - */ -/* Note: LCD /CS is CE4 - Bank 4 of NOR/SRAM Bank 1~4 */ -#define LCD_BASE ((uint32_t)(0x60000000 | 0x0C000000)) -#define LCD ((LCD_TypeDef *) LCD_BASE) -#define MAX_POLY_CORNERS 200 -#define POLY_Y(Z) ((int32_t)((Points + Z)->X)) -#define POLY_X(Z) ((int32_t)((Points + Z)->Y)) -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_LCD_Private_Macros - * @{ - */ -#define ABS(X) ((X) > 0 ? (X) : -(X)) -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_LCD_Private_Variables - * @{ - */ -static sFONT *LCD_Currentfonts; -/* Global variables to set the written text color */ -static __IO uint16_t TextColor = 0x0000, BackColor = 0xFFFF; - -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_LCD_Private_FunctionPrototypes - * @{ - */ -#ifndef USE_Delay -static void delay(vu32 nCount); -#endif /* USE_Delay*/ -static void PutPixel(int16_t x, int16_t y); -static void LCD_PolyLineRelativeClosed(pPoint Points, uint16_t PointCount, uint16_t Closed); -/** - * @} - */ - - -/** @defgroup STM32100E_EVAL_LCD_Private_Functions - * @{ - */ - -/** - * @brief DeInitializes the LCD. - * @param None - * @retval None - */ -void LCD_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< LCD Display Off */ - LCD_DisplayOff(); - - /* BANK 4 (of NOR/SRAM Bank 1~4) is disabled */ - FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE); - - /*!< LCD_SPI DeInit */ - FSMC_NORSRAMDeInit(FSMC_Bank1_NORSRAM4); - - /* Set PD.00(D2), PD.01(D3), PD.04(NOE), PD.05(NWE), PD.08(D13), PD.09(D14), - PD.10(D15), PD.14(D0), PD.15(D1) as input floating */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | - GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_14 | - GPIO_Pin_15; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(GPIOD, &GPIO_InitStructure); - /* Set PE.07(D4), PE.08(D5), PE.09(D6), PE.10(D7), PE.11(D8), PE.12(D9), PE.13(D10), - PE.14(D11), PE.15(D12) as alternate function push pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | - GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | - GPIO_Pin_15; - GPIO_Init(GPIOE, &GPIO_InitStructure); - /* Set PF.00(A0 (RS)) as alternate function push pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; - GPIO_Init(GPIOF, &GPIO_InitStructure); - /* Set PG.12(NE4 (LCD/CS)) as alternate function push pull - CE3(LCD /CS) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; - GPIO_Init(GPIOG, &GPIO_InitStructure); -} - -/** - * @brief Initializes the LCD. - * @param None - * @retval None - */ -void STM32100E_LCD_Init(void) -{ - __IO uint32_t lcdid = 0; - -/* Configure the LCD Control pins --------------------------------------------*/ - LCD_CtrlLinesConfig(); -/* Configure the FSMC Parallel interface -------------------------------------*/ - LCD_FSMCConfig(); - - _delay_(5); /* delay 50 ms */ - - /* Read the LCD ID */ - lcdid = LCD_ReadReg(0x00); - - /* Check if the LCD is SPFD5408B Controller */ - if(lcdid == 0x5408) - { - /* Start Initial Sequence ------------------------------------------------*/ - LCD_WriteReg(LCD_REG_1, 0x0100); /* Set SS bit */ - LCD_WriteReg(LCD_REG_2, 0x0700); /* Set 1 line inversion */ - LCD_WriteReg(LCD_REG_3, 0x1030); /* Set GRAM write direction and BGR=1. */ - LCD_WriteReg(LCD_REG_4, 0x0000); /* Resize register */ - LCD_WriteReg(LCD_REG_8, 0x0202); /* Set the back porch and front porch */ - LCD_WriteReg(LCD_REG_9, 0x0000); /* Set non-display area refresh cycle ISC[3:0] */ - LCD_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */ - LCD_WriteReg(LCD_REG_12, 0x0000); /* RGB 18-bit System interface setting */ - LCD_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */ - LCD_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity, no impact */ - /* Power On sequence -----------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_17, 0x0007); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_16, 0x12B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x01BD); /* External reference voltage= Vci */ - _delay_(5); - LCD_WriteReg(LCD_REG_19, 0x1400); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x000E); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */ - LCD_WriteReg(LCD_REG_33, 0x013F); /* GRAM Vertical Address */ - /* Adjust the Gamma Curve (SPFD5408B)-------------------------------------*/ - LCD_WriteReg(LCD_REG_48, 0x0b0d); - LCD_WriteReg(LCD_REG_49, 0x1923); - LCD_WriteReg(LCD_REG_50, 0x1c26); - LCD_WriteReg(LCD_REG_51, 0x261c); - LCD_WriteReg(LCD_REG_52, 0x2419); - LCD_WriteReg(LCD_REG_53, 0x0d0b); - LCD_WriteReg(LCD_REG_54, 0x1006); - LCD_WriteReg(LCD_REG_55, 0x0610); - LCD_WriteReg(LCD_REG_56, 0x0706); - LCD_WriteReg(LCD_REG_57, 0x0304); - LCD_WriteReg(LCD_REG_58, 0x0e05); - LCD_WriteReg(LCD_REG_59, 0x0e01); - LCD_WriteReg(LCD_REG_60, 0x010e); - LCD_WriteReg(LCD_REG_61, 0x050e); - LCD_WriteReg(LCD_REG_62, 0x0403); - LCD_WriteReg(LCD_REG_63, 0x0607); - /* Set GRAM area ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */ - LCD_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */ - LCD_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_96, 0xA700); /* Gate Scan Line */ - LCD_WriteReg(LCD_REG_97, 0x0001); /* NDL, VLE, REV */ - LCD_WriteReg(LCD_REG_106, 0x0000); /* set scrolling line */ - /* Partial Display Control -----------------------------------------------*/ - LCD_WriteReg(LCD_REG_128, 0x0000); - LCD_WriteReg(LCD_REG_129, 0x0000); - LCD_WriteReg(LCD_REG_130, 0x0000); - LCD_WriteReg(LCD_REG_131, 0x0000); - LCD_WriteReg(LCD_REG_132, 0x0000); - LCD_WriteReg(LCD_REG_133, 0x0000); - /* Panel Control ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_144, 0x0010); - LCD_WriteReg(LCD_REG_146, 0x0000); - LCD_WriteReg(LCD_REG_147, 0x0003); - LCD_WriteReg(LCD_REG_149, 0x0110); - LCD_WriteReg(LCD_REG_151, 0x0000); - LCD_WriteReg(LCD_REG_152, 0x0000); - /* Set GRAM write direction and BGR=1 - I/D=01 (Horizontal : increment, Vertical : decrement) - AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - LCD_WriteReg(LCD_REG_7, 0x0112); /* 262K color and display ON */ - LCD_SetFont(&LCD_DEFAULT_FONT); - return; - } - else if(lcdid == 0x9325) /* Check if the LCD is ILI9325 Controller */ - { - /* Start Initial Sequence ------------------------------------------------*/ - LCD_WriteReg(LCD_REG_0, 0x0001); /* Start internal OSC. */ - LCD_WriteReg(LCD_REG_1, 0x0100); /* Set SS and SM bit */ - LCD_WriteReg(LCD_REG_2, 0x0700); /* Set 1 line inversion */ - LCD_WriteReg(LCD_REG_3, 0x1018); /* Set GRAM write direction and BGR=1. */ - LCD_WriteReg(LCD_REG_4, 0x0000); /* Resize register */ - LCD_WriteReg(LCD_REG_8, 0x0202); /* Set the back porch and front porch */ - LCD_WriteReg(LCD_REG_9, 0x0000); /* Set non-display area refresh cycle ISC[3:0] */ - LCD_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */ - LCD_WriteReg(LCD_REG_12, 0x0000); /* RGB interface setting */ - LCD_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */ - LCD_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity */ - - /* Power On sequence -----------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */ - LCD_WriteReg(LCD_REG_33, 0x0000); /* GRAM Vertical Address */ - - /* Adjust the Gamma Curve (ILI9325)---------------------------------------*/ - LCD_WriteReg(LCD_REG_48, 0x0007); - LCD_WriteReg(LCD_REG_49, 0x0302); - LCD_WriteReg(LCD_REG_50, 0x0105); - LCD_WriteReg(LCD_REG_53, 0x0206); - LCD_WriteReg(LCD_REG_54, 0x0808); - LCD_WriteReg(LCD_REG_55, 0x0206); - LCD_WriteReg(LCD_REG_56, 0x0504); - LCD_WriteReg(LCD_REG_57, 0x0007); - LCD_WriteReg(LCD_REG_60, 0x0105); - LCD_WriteReg(LCD_REG_61, 0x0808); - - /* Set GRAM area ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */ - LCD_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */ - LCD_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */ - - LCD_WriteReg(LCD_REG_96, 0xA700); /* Gate Scan Line(GS=1, scan direction is G320~G1) */ - LCD_WriteReg(LCD_REG_97, 0x0001); /* NDL,VLE, REV */ - LCD_WriteReg(LCD_REG_106, 0x0000); /* set scrolling line */ - - /* Partial Display Control -----------------------------------------------*/ - LCD_WriteReg(LCD_REG_128, 0x0000); - LCD_WriteReg(LCD_REG_129, 0x0000); - LCD_WriteReg(LCD_REG_130, 0x0000); - LCD_WriteReg(LCD_REG_131, 0x0000); - LCD_WriteReg(LCD_REG_132, 0x0000); - LCD_WriteReg(LCD_REG_133, 0x0000); - - /* Panel Control ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_144, 0x0010); - LCD_WriteReg(LCD_REG_146, 0x0000); - LCD_WriteReg(LCD_REG_147, 0x0003); - LCD_WriteReg(LCD_REG_149, 0x0110); - LCD_WriteReg(LCD_REG_151, 0x0000); - LCD_WriteReg(LCD_REG_152, 0x0000); - - /* set GRAM write direction and BGR = 1 */ - /* I/D=00 (Horizontal : increment, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - - LCD_WriteReg(LCD_REG_7, 0x0133); /* 262K color and display ON */ - LCD_SetFont(&LCD_DEFAULT_FONT); - return; - } - /* Check if the LCD is ILI9320 Controller */ -/* Start Initial Sequence ----------------------------------------------------*/ - LCD_WriteReg(LCD_REG_229,0x8000); /* Set the internal vcore voltage */ - LCD_WriteReg(LCD_REG_0, 0x0001); /* Start internal OSC. */ - LCD_WriteReg(LCD_REG_1, 0x0100); /* set SS and SM bit */ - LCD_WriteReg(LCD_REG_2, 0x0700); /* set 1 line inversion */ - LCD_WriteReg(LCD_REG_3, 0x1030); /* set GRAM write direction and BGR=1. */ - LCD_WriteReg(LCD_REG_4, 0x0000); /* Resize register */ - LCD_WriteReg(LCD_REG_8, 0x0202); /* set the back porch and front porch */ - LCD_WriteReg(LCD_REG_9, 0x0000); /* set non-display area refresh cycle ISC[3:0] */ - LCD_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */ - LCD_WriteReg(LCD_REG_12, 0x0000); /* RGB interface setting */ - LCD_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */ - LCD_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity */ -/* Power On sequence ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */ - LCD_WriteReg(LCD_REG_33, 0x0000); /* GRAM Vertical Address */ -/* Adjust the Gamma Curve ----------------------------------------------------*/ - LCD_WriteReg(LCD_REG_48, 0x0006); - LCD_WriteReg(LCD_REG_49, 0x0101); - LCD_WriteReg(LCD_REG_50, 0x0003); - LCD_WriteReg(LCD_REG_53, 0x0106); - LCD_WriteReg(LCD_REG_54, 0x0b02); - LCD_WriteReg(LCD_REG_55, 0x0302); - LCD_WriteReg(LCD_REG_56, 0x0707); - LCD_WriteReg(LCD_REG_57, 0x0007); - LCD_WriteReg(LCD_REG_60, 0x0600); - LCD_WriteReg(LCD_REG_61, 0x020b); - -/* Set GRAM area -------------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */ - LCD_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */ - LCD_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_96, 0x2700); /* Gate Scan Line */ - LCD_WriteReg(LCD_REG_97, 0x0001); /* NDL,VLE, REV */ - LCD_WriteReg(LCD_REG_106, 0x0000); /* set scrolling line */ -/* Partial Display Control ---------------------------------------------------*/ - LCD_WriteReg(LCD_REG_128, 0x0000); - LCD_WriteReg(LCD_REG_129, 0x0000); - LCD_WriteReg(LCD_REG_130, 0x0000); - LCD_WriteReg(LCD_REG_131, 0x0000); - LCD_WriteReg(LCD_REG_132, 0x0000); - LCD_WriteReg(LCD_REG_133, 0x0000); -/* Panel Control -------------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_144, 0x0010); - LCD_WriteReg(LCD_REG_146, 0x0000); - LCD_WriteReg(LCD_REG_147, 0x0003); - LCD_WriteReg(LCD_REG_149, 0x0110); - LCD_WriteReg(LCD_REG_151, 0x0000); - LCD_WriteReg(LCD_REG_152, 0x0000); - /* Set GRAM write direction and BGR = 1 */ - /* I/D=01 (Horizontal : increment, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ - LCD_SetFont(&LCD_DEFAULT_FONT); -} - -/** - * @brief Sets the LCD Text and Background colors. - * @param _TextColor: specifies the Text Color. - * @param _BackColor: specifies the Background Color. - * @retval None - */ -void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor) -{ - TextColor = _TextColor; - BackColor = _BackColor; -} - -/** - * @brief Gets the LCD Text and Background colors. - * @param _TextColor: pointer to the variable that will contain the Text - Color. - * @param _BackColor: pointer to the variable that will contain the Background - Color. - * @retval None - */ -void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor) -{ - *_TextColor = TextColor; *_BackColor = BackColor; -} - -/** - * @brief Sets the Text color. - * @param Color: specifies the Text color code RGB(5-6-5). - * @retval None - */ -void LCD_SetTextColor(__IO uint16_t Color) -{ - TextColor = Color; -} - - -/** - * @brief Sets the Background color. - * @param Color: specifies the Background color code RGB(5-6-5). - * @retval None - */ -void LCD_SetBackColor(__IO uint16_t Color) -{ - BackColor = Color; -} - -/** - * @brief Sets the Text Font. - * @param fonts: specifies the font to be used. - * @retval None - */ -void LCD_SetFont(sFONT *fonts) -{ - LCD_Currentfonts = fonts; -} - -/** - * @brief Gets the Text Font. - * @param None. - * @retval the used font. - */ -sFONT *LCD_GetFont(void) -{ - return LCD_Currentfonts; -} - -/** - * @brief Clears the selected line. - * @param Line: the Line to be cleared. - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..n - * @retval None - */ -void LCD_ClearLine(uint8_t Line) -{ - uint16_t refcolumn = LCD_PIXEL_WIDTH - 1; - /* Send the string character by character on lCD */ - while (((refcolumn + 1)&0xFFFF) >= LCD_Currentfonts->Width) - { - /* Display one character on LCD */ - LCD_DisplayChar(Line, refcolumn, ' '); - /* Decrement the column position by 16 */ - refcolumn -= LCD_Currentfonts->Width; - } -} - - -/** - * @brief Clears the hole LCD. - * @param Color: the color of the background. - * @retval None - */ -void LCD_Clear(uint16_t Color) -{ - uint32_t index = 0; - - LCD_SetCursor(0x00, 0x013F); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for(index = 0; index < 76800; index++) - { - LCD->LCD_RAM = Color; - } -} - - -/** - * @brief Sets the cursor position. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @retval None - */ -void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos) -{ - LCD_WriteReg(LCD_REG_32, Xpos); - LCD_WriteReg(LCD_REG_33, Ypos); -} - - -/** - * @brief Draws a character on LCD. - * @param Xpos: the Line where to display the character shape. - * @param Ypos: start column address. - * @param c: pointer to the character data. - * @retval None - */ -void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c) -{ - uint32_t index = 0, i = 0; - uint8_t Xaddress = 0; - - Xaddress = Xpos; - - LCD_SetCursor(Xaddress, Ypos); - - for(index = 0; index < LCD_Currentfonts->Height; index++) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for(i = 0; i < LCD_Currentfonts->Width; i++) - { - if((((c[index] & ((0x80 << ((LCD_Currentfonts->Width / 12 ) * 8 ) ) >> i)) == 0x00) &&(LCD_Currentfonts->Width <= 12))|| - (((c[index] & (0x1 << i)) == 0x00)&&(LCD_Currentfonts->Width > 12 ))) - - { - LCD_WriteRAM(BackColor); - } - else - { - LCD_WriteRAM(TextColor); - } - } - Xaddress++; - LCD_SetCursor(Xaddress, Ypos); - } -} - - -/** - * @brief Displays one character (16dots width, 24dots height). - * @param Line: the Line where to display the character shape . - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..9 - * @param Column: start column address. - * @param Ascii: character ascii code, must be between 0x20 and 0x7E. - * @retval None - */ -void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii) -{ - Ascii -= 32; - LCD_DrawChar(Line, Column, &LCD_Currentfonts->table[Ascii * LCD_Currentfonts->Height]); -} - - -/** - * @brief Displays a maximum of 20 char on the LCD. - * @param Line: the Line where to display the character shape . - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..9 - * @param *ptr: pointer to string to display on LCD. - * @retval None - */ -void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr) -{ - uint16_t refcolumn = LCD_PIXEL_WIDTH - 1; - - /* Send the string character by character on lCD */ - while ((*ptr != 0) & (((refcolumn + 1) & 0xFFFF) >= LCD_Currentfonts->Width)) - { - /* Display one character on LCD */ - LCD_DisplayChar(Line, refcolumn, *ptr); - /* Decrement the column position by 16 */ - refcolumn -= LCD_Currentfonts->Width; - /* Point on the next character */ - ptr++; - } -} - - -/** - * @brief Sets a display window - * @param Xpos: specifies the X buttom left position. - * @param Ypos: specifies the Y buttom left position. - * @param Height: display window height. - * @param Width: display window width. - * @retval None - */ -void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width) -{ - /* Horizontal GRAM Start Address */ - if(Xpos >= Height) - { - LCD_WriteReg(LCD_REG_80, (Xpos - Height + 1)); - } - else - { - LCD_WriteReg(LCD_REG_80, 0); - } - /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_81, Xpos); - /* Vertical GRAM Start Address */ - if(Ypos >= Width) - { - LCD_WriteReg(LCD_REG_82, (Ypos - Width + 1)); - } - else - { - LCD_WriteReg(LCD_REG_82, 0); - } - /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_83, Ypos); - LCD_SetCursor(Xpos, Ypos); -} - - -/** - * @brief Disables LCD Window mode. - * @param None - * @retval None - */ -void LCD_WindowModeDisable(void) -{ - LCD_SetDisplayWindow(239, 0x13F, 240, 320); - LCD_WriteReg(LCD_REG_3, 0x1018); -} - - -/** - * @brief Displays a line. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Length: line length. - * @param Direction: line direction. - * This parameter can be one of the following values: Vertical or Horizontal. - * @retval None - */ -void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction) -{ - uint32_t i = 0; - - LCD_SetCursor(Xpos, Ypos); - if(Direction == LCD_DIR_HORIZONTAL) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for(i = 0; i < Length; i++) - { - LCD_WriteRAM(TextColor); - } - } - else - { - for(i = 0; i < Length; i++) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - Xpos++; - LCD_SetCursor(Xpos, Ypos); - } - } -} - - -/** - * @brief Displays a rectangle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Height: display rectangle height. - * @param Width: display rectangle width. - * @retval None - */ -void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width) -{ - LCD_DrawLine(Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - LCD_DrawLine((Xpos + Height), Ypos, Width, LCD_DIR_HORIZONTAL); - - LCD_DrawLine(Xpos, Ypos, Height, LCD_DIR_VERTICAL); - LCD_DrawLine(Xpos, (Ypos - Width + 1), Height, LCD_DIR_VERTICAL); -} - - -/** - * @brief Displays a circle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Radius - * @retval None - */ -void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius) -{ - int32_t D;/* Decision Variable */ - uint32_t CurX;/* Current X Value */ - uint32_t CurY;/* Current Y Value */ - - D = 3 - (Radius << 1); - CurX = 0; - CurY = Radius; - - while (CurX <= CurY) - { - LCD_SetCursor(Xpos + CurX, Ypos + CurY); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos + CurX, Ypos - CurY); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos - CurX, Ypos + CurY); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos - CurX, Ypos - CurY); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos + CurY, Ypos + CurX); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos + CurY, Ypos - CurX); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos - CurY, Ypos + CurX); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos - CurY, Ypos - CurX); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - if (D < 0) - { - D += (CurX << 2) + 6; - } - else - { - D += ((CurX - CurY) << 2) + 10; - CurY--; - } - CurX++; - } -} - - -/** - * @brief Displays a monocolor picture. - * @param Pict: pointer to the picture array. - * @retval None - */ -void LCD_DrawMonoPict(const uint32_t *Pict) -{ - uint32_t index = 0, i = 0; - LCD_SetCursor(0, (LCD_PIXEL_WIDTH - 1)); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for(index = 0; index < 2400; index++) - { - for(i = 0; i < 32; i++) - { - if((Pict[index] & (1 << i)) == 0x00) - { - LCD_WriteRAM(BackColor); - } - else - { - LCD_WriteRAM(TextColor); - } - } - } -} - - -/** - * @brief Displays a bitmap picture loaded in the internal Flash. - * @param BmpAddress: Bmp picture address in the internal Flash. - * @retval None - */ -void LCD_WriteBMP(uint32_t BmpAddress) -{ - uint32_t index = 0, size = 0; - /* Read bitmap size */ - size = *(__IO uint16_t *) (BmpAddress + 2); - size |= (*(__IO uint16_t *) (BmpAddress + 4)) << 16; - /* Get bitmap data address offset */ - index = *(__IO uint16_t *) (BmpAddress + 10); - index |= (*(__IO uint16_t *) (BmpAddress + 12)) << 16; - size = (size - index)/2; - BmpAddress += index; - /* Set GRAM write direction and BGR = 1 */ - /* I/D=00 (Horizontal : decrement, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1008); - - LCD_WriteRAM_Prepare(); - - for(index = 0; index < size; index++) - { - LCD_WriteRAM(*(__IO uint16_t *)BmpAddress); - BmpAddress += 2; - } - - /* Set GRAM write direction and BGR = 1 */ - /* I/D = 01 (Horizontal : increment, Vertical : decrement) */ - /* AM = 1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); -} - -/** - * @brief Displays a full rectangle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Height: rectangle height. - * @param Width: rectangle width. - * @retval None - */ -void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) -{ - LCD_SetTextColor(TextColor); - - LCD_DrawLine(Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - LCD_DrawLine((Xpos + Height), Ypos, Width, LCD_DIR_HORIZONTAL); - - LCD_DrawLine(Xpos, Ypos, Height, LCD_DIR_VERTICAL); - LCD_DrawLine(Xpos, (Ypos - Width + 1), Height, LCD_DIR_VERTICAL); - - Width -= 2; - Height--; - Ypos--; - - LCD_SetTextColor(BackColor); - - while(Height--) - { - LCD_DrawLine(++Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - } - - LCD_SetTextColor(TextColor); -} - -/** - * @brief Displays a full circle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Radius - * @retval None - */ -void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) -{ - int32_t D; /* Decision Variable */ - uint32_t CurX;/* Current X Value */ - uint32_t CurY;/* Current Y Value */ - - D = 3 - (Radius << 1); - - CurX = 0; - CurY = Radius; - - LCD_SetTextColor(BackColor); - - while (CurX <= CurY) - { - if(CurY > 0) - { - LCD_DrawLine(Xpos - CurX, Ypos + CurY, 2*CurY, LCD_DIR_HORIZONTAL); - LCD_DrawLine(Xpos + CurX, Ypos + CurY, 2*CurY, LCD_DIR_HORIZONTAL); - } - - if(CurX > 0) - { - LCD_DrawLine(Xpos - CurY, Ypos + CurX, 2*CurX, LCD_DIR_HORIZONTAL); - LCD_DrawLine(Xpos + CurY, Ypos + CurX, 2*CurX, LCD_DIR_HORIZONTAL); - } - if (D < 0) - { - D += (CurX << 2) + 6; - } - else - { - D += ((CurX - CurY) << 2) + 10; - CurY--; - } - CurX++; - } - - LCD_SetTextColor(TextColor); - LCD_DrawCircle(Xpos, Ypos, Radius); -} - -/** - * @brief Displays an uni line (between two points). - * @param x1: specifies the point 1 x position. - * @param y1: specifies the point 1 y position. - * @param x2: specifies the point 2 x position. - * @param y2: specifies the point 2 y position. - * @retval None - */ -void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) -{ - int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, - yinc1 = 0, yinc2 = 0, den = 0, num = 0, numadd = 0, numpixels = 0, - curpixel = 0; - - deltax = ABS(x2 - x1); /* The difference between the x's */ - deltay = ABS(y2 - y1); /* The difference between the y's */ - x = x1; /* Start x off at the first pixel */ - y = y1; /* Start y off at the first pixel */ - - if (x2 >= x1) /* The x-values are increasing */ - { - xinc1 = 1; - xinc2 = 1; - } - else /* The x-values are decreasing */ - { - xinc1 = -1; - xinc2 = -1; - } - - if (y2 >= y1) /* The y-values are increasing */ - { - yinc1 = 1; - yinc2 = 1; - } - else /* The y-values are decreasing */ - { - yinc1 = -1; - yinc2 = -1; - } - - if (deltax >= deltay) /* There is at least one x-value for every y-value */ - { - xinc1 = 0; /* Don't change the x when numerator >= denominator */ - yinc2 = 0; /* Don't change the y for every iteration */ - den = deltax; - num = deltax / 2; - numadd = deltay; - numpixels = deltax; /* There are more x-values than y-values */ - } - else /* There is at least one y-value for every x-value */ - { - xinc2 = 0; /* Don't change the x for every iteration */ - yinc1 = 0; /* Don't change the y when numerator >= denominator */ - den = deltay; - num = deltay / 2; - numadd = deltax; - numpixels = deltay; /* There are more y-values than x-values */ - } - - for (curpixel = 0; curpixel <= numpixels; curpixel++) - { - PutPixel(x, y); /* Draw the current pixel */ - num += numadd; /* Increase the numerator by the top of the fraction */ - if (num >= den) /* Check if numerator >= denominator */ - { - num -= den; /* Calculate the new numerator value */ - x += xinc1; /* Change the x as appropriate */ - y += yinc1; /* Change the y as appropriate */ - } - x += xinc2; /* Change the x as appropriate */ - y += yinc2; /* Change the y as appropriate */ - } -} - -/** - * @brief Displays an polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_PolyLine(pPoint Points, uint16_t PointCount) -{ - int16_t X = 0, Y = 0; - - if(PointCount < 2) - { - return; - } - - while(--PointCount) - { - X = Points->X; - Y = Points->Y; - Points++; - LCD_DrawUniLine(X, Y, Points->X, Points->Y); - } -} - -/** - * @brief Displays an relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @param Closed: specifies if the draw is closed or not. - * 1: closed, 0 : not closed. - * @retval None - */ -static void LCD_PolyLineRelativeClosed(pPoint Points, uint16_t PointCount, uint16_t Closed) -{ - int16_t X = 0, Y = 0; - pPoint First = Points; - - if(PointCount < 2) - { - return; - } - X = Points->X; - Y = Points->Y; - while(--PointCount) - { - Points++; - LCD_DrawUniLine(X, Y, X + Points->X, Y + Points->Y); - X = X + Points->X; - Y = Y + Points->Y; - } - if(Closed) - { - LCD_DrawUniLine(First->X, First->Y, X, Y); - } -} - -/** - * @brief Displays a closed polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLine(Points, PointCount); - LCD_DrawUniLine(Points->X, Points->Y, (Points+PointCount-1)->X, (Points+PointCount-1)->Y); -} - -/** - * @brief Displays a relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLineRelativeClosed(Points, PointCount, 0); -} - -/** - * @brief Displays a closed relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLineRelativeClosed(Points, PointCount, 1); -} - - -/** - * @brief Displays a full polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_FillPolyLine(pPoint Points, uint16_t PointCount) -{ - /* public-domain code by Darel Rex Finley, 2007 */ - uint16_t nodes = 0, nodeX[MAX_POLY_CORNERS], pixelX = 0, pixelY = 0, i = 0, - j = 0, swap = 0; - uint16_t IMAGE_LEFT = 0, IMAGE_RIGHT = 0, IMAGE_TOP = 0, IMAGE_BOTTOM = 0; - - IMAGE_LEFT = IMAGE_RIGHT = Points->X; - IMAGE_TOP= IMAGE_BOTTOM = Points->Y; - - for(i = 1; i < PointCount; i++) - { - pixelX = POLY_X(i); - if(pixelX < IMAGE_LEFT) - { - IMAGE_LEFT = pixelX; - } - if(pixelX > IMAGE_RIGHT) - { - IMAGE_RIGHT = pixelX; - } - - pixelY = POLY_Y(i); - if(pixelY < IMAGE_TOP) - { - IMAGE_TOP = pixelY; - } - if(pixelY > IMAGE_BOTTOM) - { - IMAGE_BOTTOM = pixelY; - } - } - - LCD_SetTextColor(BackColor); - - /* Loop through the rows of the image. */ - for (pixelY = IMAGE_TOP; pixelY < IMAGE_BOTTOM; pixelY++) - { - /* Build a list of nodes. */ - nodes = 0; j = PointCount-1; - - for (i = 0; i < PointCount; i++) - { - if (POLY_Y(i)<(double) pixelY && POLY_Y(j)>=(double) pixelY || POLY_Y(j)<(double) pixelY && POLY_Y(i)>=(double) pixelY) - { - nodeX[nodes++]=(int) (POLY_X(i)+((pixelY-POLY_Y(i))*(POLY_X(j)-POLY_X(i)))/(POLY_Y(j)-POLY_Y(i))); - } - j = i; - } - - /* Sort the nodes, via a simple "Bubble" sort. */ - i = 0; - while (i < nodes-1) - { - if (nodeX[i]>nodeX[i+1]) - { - swap = nodeX[i]; - nodeX[i] = nodeX[i+1]; - nodeX[i+1] = swap; - if(i) - { - i--; - } - } - else - { - i++; - } - } - - /* Fill the pixels between node pairs. */ - for (i = 0; i < nodes; i+=2) - { - if(nodeX[i] >= IMAGE_RIGHT) - { - break; - } - if(nodeX[i+1] > IMAGE_LEFT) - { - if (nodeX[i] < IMAGE_LEFT) - { - nodeX[i]=IMAGE_LEFT; - } - if(nodeX[i+1] > IMAGE_RIGHT) - { - nodeX[i+1] = IMAGE_RIGHT; - } - LCD_SetTextColor(BackColor); - LCD_DrawLine(pixelY, nodeX[i+1], nodeX[i+1] - nodeX[i], LCD_DIR_HORIZONTAL); - LCD_SetTextColor(TextColor); - PutPixel(pixelY, nodeX[i+1]); - PutPixel(pixelY, nodeX[i]); - /* for (j=nodeX[i]; jLCD_REG = LCD_Reg; - /* Write 16-bit Reg */ - LCD->LCD_RAM = LCD_RegValue; -} - - -/** - * @brief Reads the selected LCD Register. - * @param LCD_Reg: address of the selected register. - * @retval LCD Register Value. - */ -uint16_t LCD_ReadReg(uint8_t LCD_Reg) -{ - /* Write 16-bit Index (then Read Reg) */ - LCD->LCD_REG = LCD_Reg; - /* Read 16-bit Reg */ - return (LCD->LCD_RAM); -} - - -/** - * @brief Prepare to write to the LCD RAM. - * @param None - * @retval None - */ -void LCD_WriteRAM_Prepare(void) -{ - LCD->LCD_REG = LCD_REG_34; -} - - -/** - * @brief Writes to the LCD RAM. - * @param RGB_Code: the pixel color in RGB mode (5-6-5). - * @retval None - */ -void LCD_WriteRAM(uint16_t RGB_Code) -{ - /* Write 16-bit GRAM Reg */ - LCD->LCD_RAM = RGB_Code; -} - - -/** - * @brief Reads the LCD RAM. - * @param None - * @retval LCD RAM Value. - */ -uint16_t LCD_ReadRAM(void) -{ - /* Write 16-bit Index (then Read Reg) */ - LCD->LCD_REG = LCD_REG_34; /* Select GRAM Reg */ - /* Read 16-bit Reg */ - return LCD->LCD_RAM; -} - - -/** - * @brief Power on the LCD. - * @param None - * @retval None - */ -void LCD_PowerOn(void) -{ -/* Power On sequence ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude*/ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ -} - - -/** - * @brief Enables the Display. - * @param None - * @retval None - */ -void LCD_DisplayOn(void) -{ - /* Display On */ - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ -} - - -/** - * @brief Disables the Display. - * @param None - * @retval None - */ -void LCD_DisplayOff(void) -{ - /* Display Off */ - LCD_WriteReg(LCD_REG_7, 0x0); -} - - -/** - * @brief Configures LCD Control lines (FSMC Pins) in alternate function mode. - * @param None - * @retval None - */ -void LCD_CtrlLinesConfig(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable FSMC, GPIOD, GPIOE, GPIOF, GPIOG and AFIO clocks */ - RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | - RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG | - RCC_APB2Periph_AFIO, ENABLE); - - /* Set PD.00(D2), PD.01(D3), PD.04(NOE), PD.05(NWE), PD.08(D13), PD.09(D14), - PD.10(D15), PD.14(D0), PD.15(D1) as alternate function push pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | - GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_14 | - GPIO_Pin_15; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - /* Set PE.07(D4), PE.08(D5), PE.09(D6), PE.10(D7), PE.11(D8), PE.12(D9), PE.13(D10), - PE.14(D11), PE.15(D12) as alternate function push pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | - GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | - GPIO_Pin_15; - GPIO_Init(GPIOE, &GPIO_InitStructure); - - /* Set PF.00(A0 (RS)) as alternate function push pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; - GPIO_Init(GPIOF, &GPIO_InitStructure); - - /* Set PG.12(NE4 (LCD/CS)) as alternate function push pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; - GPIO_Init(GPIOG, &GPIO_InitStructure); -} - -/** - * @brief Configures the Parallel interface (FSMC) for LCD(Parallel mode) - * @param None - * @retval None - */ -void LCD_FSMCConfig(void) -{ - FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; - FSMC_NORSRAMTimingInitTypeDef p; -/*-- FSMC Configuration ------------------------------------------------------*/ -/*----------------------- SRAM Bank 4 ----------------------------------------*/ - /* FSMC_Bank1_NORSRAM4 configuration */ - p.FSMC_AddressSetupTime = 1; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 2; - p.FSMC_BusTurnAroundDuration = 0; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - /* Color LCD configuration ------------------------------------ - LCD configured as follow: - - Data/Address MUX = Disable - - Memory Type = SRAM - - Data Width = 16bit - - Write Operation = Enable - - Extended Mode = Enable - - Asynchronous Wait = Disable */ - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; - FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); - /* BANK 4 (of NOR/SRAM Bank) is enabled */ - FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE); -} - -/** - * @brief Displays a pixel. - * @param x: pixel x. - * @param y: pixel y. - * @retval None - */ -static void PutPixel(int16_t x, int16_t y) -{ - if(x < 0 || x > 239 || y < 0 || y > 319) - { - return; - } - LCD_DrawLine(x, y, 1, LCD_DIR_HORIZONTAL); -} - -#ifndef USE_Delay -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -static void delay(vu32 nCount) -{ - vu32 index = 0; - for(index = (34000 * nCount); index != 0; index--) - { - } -} -#endif /* USE_Delay*/ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_lcd.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_lcd.h deleted file mode 100644 index f381e960c..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32100E_EVAL/stm32100e_eval_lcd.h +++ /dev/null @@ -1,359 +0,0 @@ -/** - ****************************************************************************** - * @file stm32100e_eval_lcd.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the stm32100e_eval_lcd - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32100E_EVAL_LCD_H -#define __STM32100E_EVAL_LCD_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" -#include "../Common/fonts.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL - * @{ - */ - -/** @addtogroup STM32100E_EVAL_LCD - * @{ - */ - -/** @defgroup STM32100E_EVAL_LCD_Exported_Types - * @{ - */ -typedef struct -{ - int16_t X; - int16_t Y; -} Point, * pPoint; -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_LCD_Exported_Constants - * @{ - */ - -/** - * @brief Uncomment the line below if you want to use user defined Delay function - * (for precise timing), otherwise default _delay_ function defined within - * this driver is used (less precise timing). - */ -/* #define USE_Delay */ - -#ifdef USE_Delay -#include "main.h" - #define _delay_ Delay /* !< User can provide more timing precise _delay_ function - (with 10ms time base), using SysTick for example */ -#else - #define _delay_ delay /* !< Default _delay_ function with less precise timing */ -#endif - -/** - * @brief LCD Registers - */ -#define LCD_REG_0 0x00 -#define LCD_REG_1 0x01 -#define LCD_REG_2 0x02 -#define LCD_REG_3 0x03 -#define LCD_REG_4 0x04 -#define LCD_REG_5 0x05 -#define LCD_REG_6 0x06 -#define LCD_REG_7 0x07 -#define LCD_REG_8 0x08 -#define LCD_REG_9 0x09 -#define LCD_REG_10 0x0A -#define LCD_REG_12 0x0C -#define LCD_REG_13 0x0D -#define LCD_REG_14 0x0E -#define LCD_REG_15 0x0F -#define LCD_REG_16 0x10 -#define LCD_REG_17 0x11 -#define LCD_REG_18 0x12 -#define LCD_REG_19 0x13 -#define LCD_REG_20 0x14 -#define LCD_REG_21 0x15 -#define LCD_REG_22 0x16 -#define LCD_REG_23 0x17 -#define LCD_REG_24 0x18 -#define LCD_REG_25 0x19 -#define LCD_REG_26 0x1A -#define LCD_REG_27 0x1B -#define LCD_REG_28 0x1C -#define LCD_REG_29 0x1D -#define LCD_REG_30 0x1E -#define LCD_REG_31 0x1F -#define LCD_REG_32 0x20 -#define LCD_REG_33 0x21 -#define LCD_REG_34 0x22 -#define LCD_REG_36 0x24 -#define LCD_REG_37 0x25 -#define LCD_REG_40 0x28 -#define LCD_REG_41 0x29 -#define LCD_REG_43 0x2B -#define LCD_REG_45 0x2D -#define LCD_REG_48 0x30 -#define LCD_REG_49 0x31 -#define LCD_REG_50 0x32 -#define LCD_REG_51 0x33 -#define LCD_REG_52 0x34 -#define LCD_REG_53 0x35 -#define LCD_REG_54 0x36 -#define LCD_REG_55 0x37 -#define LCD_REG_56 0x38 -#define LCD_REG_57 0x39 -#define LCD_REG_58 0x3A -#define LCD_REG_59 0x3B -#define LCD_REG_60 0x3C -#define LCD_REG_61 0x3D -#define LCD_REG_62 0x3E -#define LCD_REG_63 0x3F -#define LCD_REG_64 0x40 -#define LCD_REG_65 0x41 -#define LCD_REG_66 0x42 -#define LCD_REG_67 0x43 -#define LCD_REG_68 0x44 -#define LCD_REG_69 0x45 -#define LCD_REG_70 0x46 -#define LCD_REG_71 0x47 -#define LCD_REG_72 0x48 -#define LCD_REG_73 0x49 -#define LCD_REG_74 0x4A -#define LCD_REG_75 0x4B -#define LCD_REG_76 0x4C -#define LCD_REG_77 0x4D -#define LCD_REG_78 0x4E -#define LCD_REG_79 0x4F -#define LCD_REG_80 0x50 -#define LCD_REG_81 0x51 -#define LCD_REG_82 0x52 -#define LCD_REG_83 0x53 -#define LCD_REG_96 0x60 -#define LCD_REG_97 0x61 -#define LCD_REG_106 0x6A -#define LCD_REG_118 0x76 -#define LCD_REG_128 0x80 -#define LCD_REG_129 0x81 -#define LCD_REG_130 0x82 -#define LCD_REG_131 0x83 -#define LCD_REG_132 0x84 -#define LCD_REG_133 0x85 -#define LCD_REG_134 0x86 -#define LCD_REG_135 0x87 -#define LCD_REG_136 0x88 -#define LCD_REG_137 0x89 -#define LCD_REG_139 0x8B -#define LCD_REG_140 0x8C -#define LCD_REG_141 0x8D -#define LCD_REG_143 0x8F -#define LCD_REG_144 0x90 -#define LCD_REG_145 0x91 -#define LCD_REG_146 0x92 -#define LCD_REG_147 0x93 -#define LCD_REG_148 0x94 -#define LCD_REG_149 0x95 -#define LCD_REG_150 0x96 -#define LCD_REG_151 0x97 -#define LCD_REG_152 0x98 -#define LCD_REG_153 0x99 -#define LCD_REG_154 0x9A -#define LCD_REG_157 0x9D -#define LCD_REG_192 0xC0 -#define LCD_REG_193 0xC1 -#define LCD_REG_229 0xE5 - -/** - * @brief LCD color - */ -#define LCD_COLOR_WHITE 0xFFFF -#define LCD_COLOR_BLACK 0x0000 -#define LCD_COLOR_GREY 0xF7DE -#define LCD_COLOR_BLUE 0x001F -#define LCD_COLOR_BLUE2 0x051F -#define LCD_COLOR_RED 0xF800 -#define LCD_COLOR_MAGENTA 0xF81F -#define LCD_COLOR_GREEN 0x07E0 -#define LCD_COLOR_CYAN 0x7FFF -#define LCD_COLOR_YELLOW 0xFFE0 - -/** - * @brief LCD Lines depending on the chosen fonts. - */ -#define LCD_LINE_0 LINE(0) -#define LCD_LINE_1 LINE(1) -#define LCD_LINE_2 LINE(2) -#define LCD_LINE_3 LINE(3) -#define LCD_LINE_4 LINE(4) -#define LCD_LINE_5 LINE(5) -#define LCD_LINE_6 LINE(6) -#define LCD_LINE_7 LINE(7) -#define LCD_LINE_8 LINE(8) -#define LCD_LINE_9 LINE(9) -#define LCD_LINE_10 LINE(10) -#define LCD_LINE_11 LINE(11) -#define LCD_LINE_12 LINE(12) -#define LCD_LINE_13 LINE(13) -#define LCD_LINE_14 LINE(14) -#define LCD_LINE_15 LINE(15) -#define LCD_LINE_16 LINE(16) -#define LCD_LINE_17 LINE(17) -#define LCD_LINE_18 LINE(18) -#define LCD_LINE_19 LINE(19) -#define LCD_LINE_20 LINE(20) -#define LCD_LINE_21 LINE(21) -#define LCD_LINE_22 LINE(22) -#define LCD_LINE_23 LINE(23) -#define LCD_LINE_24 LINE(24) -#define LCD_LINE_25 LINE(25) -#define LCD_LINE_26 LINE(26) -#define LCD_LINE_27 LINE(27) -#define LCD_LINE_28 LINE(28) -#define LCD_LINE_29 LINE(29) - -/** - * @brief LCD default font - */ -#define LCD_DEFAULT_FONT Font16x24 - -/** - * @brief LCD Direction - */ -#define LCD_DIR_HORIZONTAL 0x0000 -#define LCD_DIR_VERTICAL 0x0001 - -/** - * @brief LCD Size (Width and Height) - */ -#define LCD_PIXEL_WIDTH 0x0140 -#define LCD_PIXEL_HEIGHT 0x00F0 - -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_LCD_Exported_Macros - * @{ - */ -#define ASSEMBLE_RGB(R, G, B) ((((R)& 0xF8) << 8) | (((G) & 0xFC) << 3) | (((B) & 0xF8) >> 3)) -/** - * @} - */ - -/** @defgroup STM32100E_EVAL_LCD_Exported_Functions - * @{ - */ -/** @defgroup - * @{ - */ -void LCD_DeInit(void); -void STM32100E_LCD_Init(void); -void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor); -void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor); -void LCD_SetTextColor(__IO uint16_t Color); -void LCD_SetBackColor(__IO uint16_t Color); -void LCD_ClearLine(uint8_t Line); -void LCD_Clear(uint16_t Color); -void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos); -void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c); -void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii); -void LCD_SetFont(sFONT *fonts); -sFONT *LCD_GetFont(void); -void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr); -void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width); -void LCD_WindowModeDisable(void); -void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction); -void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width); -void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius); -void LCD_DrawMonoPict(const uint32_t *Pict); -void LCD_WriteBMP(uint32_t BmpAddress); -void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2); -void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); -void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius); -void LCD_PolyLine(pPoint Points, uint16_t PointCount); -void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount); -void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount); -void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount); -void LCD_FillPolyLine(pPoint Points, uint16_t PointCount); -/** - * @} - */ - -/** @defgroup - * @{ - */ -void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue); -uint16_t LCD_ReadReg(uint8_t LCD_Reg); -void LCD_WriteRAM_Prepare(void); -void LCD_WriteRAM(uint16_t RGB_Code); -uint16_t LCD_ReadRAM(void); -void LCD_PowerOn(void); -void LCD_DisplayOn(void); -void LCD_DisplayOff(void); -/** - * @} - */ - -/** @defgroup - * @{ - */ -void LCD_CtrlLinesConfig(void); -void LCD_FSMCConfig(void); -/** - * @} - */ - -/** - * @} - */ -#ifdef __cplusplus -} -#endif - -#endif /* __STM32100E_EVAL_LCD_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c deleted file mode 100644 index 8e7768a5d..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c +++ /dev/null @@ -1,620 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210b_eval.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides - * - set of firmware functions to manage Leds, push-button and COM ports - * - low level initialization functions for SD card (on SPI), SPI serial - * flash (sFLASH) and temperature sensor (LM75) - * available on STM3210B-EVAL evaluation board from STMicroelectronics. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm3210b_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210B_EVAL - * @{ - */ - -/** @defgroup STM3210B_EVAL_LOW_LEVEL - * @brief This file provides firmware functions to manage Leds, push-buttons, - * COM ports, SD card on SPI, serial flash (sFLASH), serial EEPROM (sEE) - * and temperature sensor (LM75) available on STM3210B-EVAL evaluation - * board from STMicroelectronics. - * @{ - */ - -/** @defgroup STM3210B_EVAL_LOW_LEVEL_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210B_EVAL_LOW_LEVEL_Private_Defines - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210B_EVAL_LOW_LEVEL_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210B_EVAL_LOW_LEVEL_Private_Variables - * @{ - */ -GPIO_TypeDef* GPIO_PORT[LEDn] = {LED1_GPIO_PORT, LED2_GPIO_PORT, LED3_GPIO_PORT, - LED4_GPIO_PORT}; -const uint16_t GPIO_PIN[LEDn] = {LED1_PIN, LED2_PIN, LED3_PIN, - LED4_PIN}; -const uint32_t GPIO_CLK[LEDn] = {LED1_GPIO_CLK, LED2_GPIO_CLK, LED3_GPIO_CLK, - LED4_GPIO_CLK}; - -GPIO_TypeDef* BUTTON_PORT[BUTTONn] = {WAKEUP_BUTTON_GPIO_PORT, TAMPER_BUTTON_GPIO_PORT, - KEY_BUTTON_GPIO_PORT, RIGHT_BUTTON_GPIO_PORT, - LEFT_BUTTON_GPIO_PORT, UP_BUTTON_GPIO_PORT, - DOWN_BUTTON_GPIO_PORT, SEL_BUTTON_GPIO_PORT}; - -const uint16_t BUTTON_PIN[BUTTONn] = {WAKEUP_BUTTON_PIN, TAMPER_BUTTON_PIN, - KEY_BUTTON_PIN, RIGHT_BUTTON_PIN, - LEFT_BUTTON_PIN, UP_BUTTON_PIN, - DOWN_BUTTON_PIN, SEL_BUTTON_PIN}; - -const uint32_t BUTTON_CLK[BUTTONn] = {WAKEUP_BUTTON_GPIO_CLK, TAMPER_BUTTON_GPIO_CLK, - KEY_BUTTON_GPIO_CLK, RIGHT_BUTTON_GPIO_CLK, - LEFT_BUTTON_GPIO_CLK, UP_BUTTON_GPIO_CLK, - DOWN_BUTTON_GPIO_CLK, SEL_BUTTON_GPIO_CLK}; - -const uint16_t BUTTON_EXTI_LINE[BUTTONn] = {WAKEUP_BUTTON_EXTI_LINE, - TAMPER_BUTTON_EXTI_LINE, - KEY_BUTTON_EXTI_LINE, - RIGHT_BUTTON_EXTI_LINE, - LEFT_BUTTON_EXTI_LINE, - UP_BUTTON_EXTI_LINE, - DOWN_BUTTON_EXTI_LINE, - SEL_BUTTON_EXTI_LINE}; - -const uint16_t BUTTON_PORT_SOURCE[BUTTONn] = {WAKEUP_BUTTON_EXTI_PORT_SOURCE, - TAMPER_BUTTON_EXTI_PORT_SOURCE, - KEY_BUTTON_EXTI_PORT_SOURCE, - RIGHT_BUTTON_EXTI_PORT_SOURCE, - LEFT_BUTTON_EXTI_PORT_SOURCE, - UP_BUTTON_EXTI_PORT_SOURCE, - DOWN_BUTTON_EXTI_PORT_SOURCE, - SEL_BUTTON_EXTI_PORT_SOURCE}; - -const uint16_t BUTTON_PIN_SOURCE[BUTTONn] = {WAKEUP_BUTTON_EXTI_PIN_SOURCE, - TAMPER_BUTTON_EXTI_PIN_SOURCE, - KEY_BUTTON_EXTI_PIN_SOURCE, - RIGHT_BUTTON_EXTI_PIN_SOURCE, - LEFT_BUTTON_EXTI_PIN_SOURCE, - UP_BUTTON_EXTI_PIN_SOURCE, - DOWN_BUTTON_EXTI_PIN_SOURCE, - SEL_BUTTON_EXTI_PIN_SOURCE}; - -const uint16_t BUTTON_IRQn[BUTTONn] = {WAKEUP_BUTTON_EXTI_IRQn, TAMPER_BUTTON_EXTI_IRQn, - KEY_BUTTON_EXTI_IRQn, RIGHT_BUTTON_EXTI_IRQn, - LEFT_BUTTON_EXTI_IRQn, UP_BUTTON_EXTI_IRQn, - DOWN_BUTTON_EXTI_IRQn, SEL_BUTTON_EXTI_IRQn}; - -USART_TypeDef* COM_USART[COMn] = {EVAL_COM1, EVAL_COM2}; - -GPIO_TypeDef* COM_TX_PORT[COMn] = {EVAL_COM1_TX_GPIO_PORT, EVAL_COM2_TX_GPIO_PORT}; - -GPIO_TypeDef* COM_RX_PORT[COMn] = {EVAL_COM1_RX_GPIO_PORT, EVAL_COM2_RX_GPIO_PORT}; - -const uint32_t COM_USART_CLK[COMn] = {EVAL_COM1_CLK, EVAL_COM2_CLK}; - -const uint32_t COM_TX_PORT_CLK[COMn] = {EVAL_COM1_TX_GPIO_CLK, EVAL_COM2_TX_GPIO_CLK}; - -const uint32_t COM_RX_PORT_CLK[COMn] = {EVAL_COM1_RX_GPIO_CLK, EVAL_COM2_RX_GPIO_CLK}; - -const uint16_t COM_TX_PIN[COMn] = {EVAL_COM1_TX_PIN, EVAL_COM2_TX_PIN}; - -const uint16_t COM_RX_PIN[COMn] = {EVAL_COM1_RX_PIN, EVAL_COM2_RX_PIN}; - - -/** - * @} - */ - - -/** @defgroup STM3210B_EVAL_LOW_LEVEL_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - - -/** @defgroup STM3210B_EVAL_LOW_LEVEL_Private_Functions - * @{ - */ - -/** - * @brief Configures LED GPIO. - * @param Led: Specifies the Led to be configured. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDInit(Led_TypeDef Led) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable the GPIO_LED Clock */ - RCC_APB2PeriphClockCmd(GPIO_CLK[Led], ENABLE); - - /* Configure the GPIO_LED pin */ - GPIO_InitStructure.GPIO_Pin = GPIO_PIN[Led]; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - - GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure); -} - -/** - * @brief Turns selected LED On. - * @param Led: Specifies the Led to be set on. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDOn(Led_TypeDef Led) -{ - GPIO_PORT[Led]->BSRR = GPIO_PIN[Led]; -} - -/** - * @brief Turns selected LED Off. - * @param Led: Specifies the Led to be set off. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDOff(Led_TypeDef Led) -{ - GPIO_PORT[Led]->BRR = GPIO_PIN[Led]; -} - -/** - * @brief Toggles the selected LED. - * @param Led: Specifies the Led to be toggled. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDToggle(Led_TypeDef Led) -{ - GPIO_PORT[Led]->ODR ^= GPIO_PIN[Led]; -} - -/** - * @brief Configures Button GPIO and EXTI Line. - * @param Button: Specifies the Button to be configured. - * This parameter can be one of following parameters: - * @arg BUTTON_WAKEUP: Wakeup Push Button - * @arg BUTTON_TAMPER: Tamper Push Button - * @arg BUTTON_KEY: Key Push Button - * @arg BUTTON_RIGHT: Joystick Right Push Button - * @arg BUTTON_LEFT: Joystick Left Push Button - * @arg BUTTON_UP: Joystick Up Push Button - * @arg BUTTON_DOWN: Joystick Down Push Button - * @arg BUTTON_SEL: Joystick Sel Push Button - * @param Button_Mode: Specifies Button mode. - * This parameter can be one of following parameters: - * @arg BUTTON_MODE_GPIO: Button will be used as simple IO - * @arg BUTTON_MODE_EXTI: Button will be connected to EXTI line with interrupt - * generation capability - * @retval None - */ -void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode) -{ - GPIO_InitTypeDef GPIO_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable the BUTTON Clock */ - RCC_APB2PeriphClockCmd(BUTTON_CLK[Button] | RCC_APB2Periph_AFIO, ENABLE); - - /* Configure Button pin as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_InitStructure.GPIO_Pin = BUTTON_PIN[Button]; - GPIO_Init(BUTTON_PORT[Button], &GPIO_InitStructure); - - - if (Button_Mode == BUTTON_MODE_EXTI) - { - /* Connect Button EXTI Line to Button GPIO Pin */ - GPIO_EXTILineConfig(BUTTON_PORT_SOURCE[Button], BUTTON_PIN_SOURCE[Button]); - - /* Configure Button EXTI line */ - EXTI_InitStructure.EXTI_Line = BUTTON_EXTI_LINE[Button]; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - - if(Button != BUTTON_WAKEUP) - { - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; - } - else - { - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - } - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable and set Button EXTI Interrupt to the lowest priority */ - NVIC_InitStructure.NVIC_IRQChannel = BUTTON_IRQn[Button]; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - - NVIC_Init(&NVIC_InitStructure); - } -} - -/** - * @brief Returns the selected Button state. - * @param Button: Specifies the Button to be checked. - * This parameter can be one of following parameters: - * @arg BUTTON_WAKEUP: Wakeup Push Button - * @arg BUTTON_TAMPER: Tamper Push Button - * @arg BUTTON_KEY: Key Push Button - * @arg BUTTON_RIGHT: Joystick Right Push Button - * @arg BUTTON_LEFT: Joystick Left Push Button - * @arg BUTTON_UP: Joystick Up Push Button - * @arg BUTTON_DOWN: Joystick Down Push Button - * @arg BUTTON_SEL: Joystick Sel Push Button - * @retval The Button GPIO pin value. - */ -uint32_t STM_EVAL_PBGetState(Button_TypeDef Button) -{ - return GPIO_ReadInputDataBit(BUTTON_PORT[Button], BUTTON_PIN[Button]); -} - -/** - * @brief Configures COM port. - * @param COM: Specifies the COM port to be configured. - * This parameter can be one of following parameters: - * @arg COM1 - * @arg COM2 - * @param USART_InitStruct: pointer to a USART_InitTypeDef structure that - * contains the configuration information for the specified USART peripheral. - * @retval None - */ -void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_APB2PeriphClockCmd(COM_TX_PORT_CLK[COM] | COM_RX_PORT_CLK[COM] | RCC_APB2Periph_AFIO, ENABLE); - - if (COM == COM1) - { - RCC_APB2PeriphClockCmd(COM_USART_CLK[COM], ENABLE); - } - else - { - /* Enable the USART2 Pins Software Remapping */ - GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE); - RCC_APB1PeriphClockCmd(COM_USART_CLK[COM], ENABLE); - } - - /* Configure USART Tx as alternate function push-pull */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_InitStructure.GPIO_Pin = COM_TX_PIN[COM]; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(COM_TX_PORT[COM], &GPIO_InitStructure); - - - /* Configure USART Rx as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_InitStructure.GPIO_Pin = COM_RX_PIN[COM]; - GPIO_Init(COM_RX_PORT[COM], &GPIO_InitStructure); - - /* USART configuration */ - USART_Init(COM_USART[COM], USART_InitStruct); - - /* Enable USART */ - USART_Cmd(COM_USART[COM], ENABLE); -} - -/** - * @brief DeInitializes the SD/SD communication. - * @param None - * @retval None - */ -void SD_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - SPI_Cmd(SD_SPI, DISABLE); /*!< SD_SPI disable */ - SPI_I2S_DeInit(SD_SPI); /*!< DeInitializes the SD_SPI */ - - /*!< SD_SPI Periph clock disable */ - RCC_APB2PeriphClockCmd(SD_SPI_CLK, DISABLE); - - /*!< Configure SD_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(SD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MISO_PIN; - GPIO_Init(SD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MOSI_PIN; - GPIO_Init(SD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_CS_PIN pin: SD Card CS pin */ - GPIO_InitStructure.GPIO_Pin = SD_CS_PIN; - GPIO_Init(SD_CS_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_DETECT_PIN pin: SD Card detect pin */ - GPIO_InitStructure.GPIO_Pin = SD_DETECT_PIN; - GPIO_Init(SD_DETECT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the SD_SPI and CS pins. - * @param None - * @retval None - */ -void SD_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - SPI_InitTypeDef SPI_InitStructure; - - /*!< SD_SPI_CS_GPIO, SD_SPI_MOSI_GPIO, SD_SPI_MISO_GPIO, SD_SPI_DETECT_GPIO - and SD_SPI_SCK_GPIO Periph clock enable */ - RCC_APB2PeriphClockCmd(SD_CS_GPIO_CLK | SD_SPI_MOSI_GPIO_CLK | SD_SPI_MISO_GPIO_CLK | - SD_SPI_SCK_GPIO_CLK | SD_DETECT_GPIO_CLK, ENABLE); - - /*!< SD_SPI Periph clock enable */ - RCC_APB2PeriphClockCmd(SD_SPI_CLK, ENABLE); - - - /*!< Configure SD_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(SD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MOSI_PIN; - GPIO_Init(SD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MISO_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(SD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_CS_PIN pin: SD Card CS pin */ - GPIO_InitStructure.GPIO_Pin = SD_CS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(SD_CS_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_DETECT_PIN pin: SD Card detect pin */ - GPIO_InitStructure.GPIO_Pin = SD_DETECT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_Init(SD_DETECT_GPIO_PORT, &GPIO_InitStructure); - - /*!< SD_SPI Config */ - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4; - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - SPI_InitStructure.SPI_CRCPolynomial = 7; - SPI_Init(SD_SPI, &SPI_InitStructure); - - SPI_Cmd(SD_SPI, ENABLE); /*!< SD_SPI enable */ -} - -/** - * @brief DeInitializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Disable the sFLASH_SPI */ - SPI_Cmd(sFLASH_SPI, DISABLE); - - /*!< DeInitializes the sFLASH_SPI */ - SPI_I2S_DeInit(sFLASH_SPI); - - /*!< sFLASH_SPI Periph clock disable */ - RCC_APB2PeriphClockCmd(sFLASH_SPI_CLK, DISABLE); - - /*!< Configure sFLASH_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(sFLASH_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MISO_PIN; - GPIO_Init(sFLASH_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MOSI_PIN; - GPIO_Init(sFLASH_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_CS_PIN pin: sFLASH Card CS pin */ - GPIO_InitStructure.GPIO_Pin = sFLASH_CS_PIN; - GPIO_Init(sFLASH_CS_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< sFLASH_SPI_CS_GPIO, sFLASH_SPI_MOSI_GPIO, sFLASH_SPI_MISO_GPIO - and sFLASH_SPI_SCK_GPIO Periph clock enable */ - RCC_APB2PeriphClockCmd(sFLASH_CS_GPIO_CLK | sFLASH_SPI_MOSI_GPIO_CLK | sFLASH_SPI_MISO_GPIO_CLK | - sFLASH_SPI_SCK_GPIO_CLK, ENABLE); - - /*!< sFLASH_SPI Periph clock enable */ - RCC_APB2PeriphClockCmd(sFLASH_SPI_CLK, ENABLE); - - /*!< Configure sFLASH_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(sFLASH_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MOSI_PIN; - GPIO_Init(sFLASH_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MISO_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(sFLASH_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_CS_PIN pin: sFLASH Card CS pin */ - GPIO_InitStructure.GPIO_Pin = sFLASH_CS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(sFLASH_CS_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief DeInitializes the LM75_I2C. - * @param None - * @retval None - */ -void LM75_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Disable LM75_I2C */ - I2C_Cmd(LM75_I2C, DISABLE); - /*!< DeInitializes the LM75_I2C */ - I2C_DeInit(LM75_I2C); - - /*!< LM75_I2C Periph clock disable */ - RCC_APB1PeriphClockCmd(LM75_I2C_CLK, DISABLE); - - /*!< Configure LM75_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(LM75_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SDA_PIN; - GPIO_Init(LM75_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pin: SMBUS ALERT */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SMBUSALERT_PIN; - GPIO_Init(LM75_I2C_SMBUSALERT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the LM75_I2C. - * @param None - * @retval None - */ -void LM75_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< LM75_I2C Periph clock enable */ - RCC_APB1PeriphClockCmd(LM75_I2C_CLK, ENABLE); - - /*!< LM75_I2C_SCL_GPIO_CLK, LM75_I2C_SDA_GPIO_CLK - and LM75_I2C_SMBUSALERT_GPIO_CLK Periph clock enable */ - RCC_APB2PeriphClockCmd(LM75_I2C_SCL_GPIO_CLK | LM75_I2C_SDA_GPIO_CLK | - LM75_I2C_SMBUSALERT_GPIO_CLK, ENABLE); - - /*!< Configure LM75_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; - GPIO_Init(LM75_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SDA_PIN; - GPIO_Init(LM75_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pin: SMBUS ALERT */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SMBUSALERT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_Init(LM75_I2C_SMBUSALERT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @} - */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.h deleted file mode 100644 index cd3acded9..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.h +++ /dev/null @@ -1,347 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210b_eval.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains definitions for STM3210B_EVAL's Leds, push-buttons - * COM ports, SD Card (on SPI), sFLASH (on SPI) and Temperature sensor - * LM75 (on I2C) hardware resources. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM3210B_EVAL_H -#define __STM3210B_EVAL_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" -#include "stm32f10x_spi.h" -#include "stm32f10x_i2c.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210B_EVAL - * @{ - */ - -/** @addtogroup STM3210B_EVAL_LOW_LEVEL - * @{ - */ - -/** @defgroup STM3210B_EVAL_LOW_LEVEL_Exported_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210B_EVAL_LOW_LEVEL_Exported_Constants - * @{ - */ -/** @addtogroup STM3210B_EVAL_LOW_LEVEL_LED - * @{ - */ -#define LEDn 4 -#define LED1_PIN GPIO_Pin_6 -#define LED1_GPIO_PORT GPIOC -#define LED1_GPIO_CLK RCC_APB2Periph_GPIOC - -#define LED2_PIN GPIO_Pin_7 -#define LED2_GPIO_PORT GPIOC -#define LED2_GPIO_CLK RCC_APB2Periph_GPIOC - -#define LED3_PIN GPIO_Pin_8 -#define LED3_GPIO_PORT GPIOC -#define LED3_GPIO_CLK RCC_APB2Periph_GPIOC - -#define LED4_PIN GPIO_Pin_9 -#define LED4_GPIO_PORT GPIOC -#define LED4_GPIO_CLK RCC_APB2Periph_GPIOC - -/** - * @} - */ - -/** @addtogroup STM3210B_EVAL_LOW_LEVEL_BUTTON - * @{ - */ -#define BUTTONn 8 - -/** - * @brief Wakeup push-button - */ -#define WAKEUP_BUTTON_PIN GPIO_Pin_0 -#define WAKEUP_BUTTON_GPIO_PORT GPIOA -#define WAKEUP_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOA -#define WAKEUP_BUTTON_EXTI_LINE EXTI_Line0 -#define WAKEUP_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOA -#define WAKEUP_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource0 -#define WAKEUP_BUTTON_EXTI_IRQn EXTI0_IRQn -/** - * @brief Tamper push-button - */ -#define TAMPER_BUTTON_PIN GPIO_Pin_13 -#define TAMPER_BUTTON_GPIO_PORT GPIOC -#define TAMPER_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOC -#define TAMPER_BUTTON_EXTI_LINE EXTI_Line13 -#define TAMPER_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOC -#define TAMPER_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource13 -#define TAMPER_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Key push-button - */ -#define KEY_BUTTON_PIN GPIO_Pin_9 -#define KEY_BUTTON_GPIO_PORT GPIOB -#define KEY_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOB -#define KEY_BUTTON_EXTI_LINE EXTI_Line9 -#define KEY_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOB -#define KEY_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource9 -#define KEY_BUTTON_EXTI_IRQn EXTI9_5_IRQn -/** - * @brief Joystick Right push-button - */ -#define RIGHT_BUTTON_PIN GPIO_Pin_0 -#define RIGHT_BUTTON_GPIO_PORT GPIOE -#define RIGHT_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOE -#define RIGHT_BUTTON_EXTI_LINE EXTI_Line0 -#define RIGHT_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOE -#define RIGHT_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource0 -#define RIGHT_BUTTON_EXTI_IRQn EXTI0_IRQn -/** - * @brief Joystick Left push-button - */ -#define LEFT_BUTTON_PIN GPIO_Pin_1 -#define LEFT_BUTTON_GPIO_PORT GPIOE -#define LEFT_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOE -#define LEFT_BUTTON_EXTI_LINE EXTI_Line1 -#define LEFT_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOE -#define LEFT_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource1 -#define LEFT_BUTTON_EXTI_IRQn EXTI1_IRQn -/** - * @brief Joystick Up push-button - */ -#define UP_BUTTON_PIN GPIO_Pin_8 -#define UP_BUTTON_GPIO_PORT GPIOD -#define UP_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOD -#define UP_BUTTON_EXTI_LINE EXTI_Line8 -#define UP_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOD -#define UP_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource8 -#define UP_BUTTON_EXTI_IRQn EXTI9_5_IRQn -/** - * @brief Joystick Down push-button - */ -#define DOWN_BUTTON_PIN GPIO_Pin_14 -#define DOWN_BUTTON_GPIO_PORT GPIOD -#define DOWN_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOD -#define DOWN_BUTTON_EXTI_LINE EXTI_Line14 -#define DOWN_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOD -#define DOWN_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource14 -#define DOWN_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Joystick Sel push-button - */ -#define SEL_BUTTON_PIN GPIO_Pin_12 -#define SEL_BUTTON_GPIO_PORT GPIOD -#define SEL_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOD -#define SEL_BUTTON_EXTI_LINE EXTI_Line12 -#define SEL_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOD -#define SEL_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource12 -#define SEL_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @} - */ - -/** @addtogroup STM3210B_EVAL_LOW_LEVEL_COM - * @{ - */ -#define COMn 2 - -/** - * @brief Definition for COM port1, connected to USART1 - */ -#define EVAL_COM1 USART1 -#define EVAL_COM1_CLK RCC_APB2Periph_USART1 -#define EVAL_COM1_TX_PIN GPIO_Pin_9 -#define EVAL_COM1_TX_GPIO_PORT GPIOA -#define EVAL_COM1_TX_GPIO_CLK RCC_APB2Periph_GPIOA -#define EVAL_COM1_RX_PIN GPIO_Pin_10 -#define EVAL_COM1_RX_GPIO_PORT GPIOA -#define EVAL_COM1_RX_GPIO_CLK RCC_APB2Periph_GPIOA -#define EVAL_COM1_IRQn USART1_IRQn - -/** - * @brief Definition for COM port2, connected to USART2 (USART2 pins remapped on GPIOD) - */ -#define EVAL_COM2 USART2 -#define EVAL_COM2_CLK RCC_APB1Periph_USART2 -#define EVAL_COM2_TX_PIN GPIO_Pin_5 -#define EVAL_COM2_TX_GPIO_PORT GPIOD -#define EVAL_COM2_TX_GPIO_CLK RCC_APB2Periph_GPIOD -#define EVAL_COM2_RX_PIN GPIO_Pin_6 -#define EVAL_COM2_RX_GPIO_PORT GPIOD -#define EVAL_COM2_RX_GPIO_CLK RCC_APB2Periph_GPIOD -#define EVAL_COM2_IRQn USART2_IRQn - -/** - * @} - */ - -/** @addtogroup STM3210B_EVAL_LOW_LEVEL_SD_SPI - * @{ - */ -/** - * @brief SD SPI Interface pins - */ -#define SD_SPI SPI1 -#define SD_SPI_CLK RCC_APB2Periph_SPI1 -#define SD_SPI_SCK_PIN GPIO_Pin_5 /* PA.05 */ -#define SD_SPI_SCK_GPIO_PORT GPIOA /* GPIOA */ -#define SD_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOA -#define SD_SPI_MISO_PIN GPIO_Pin_6 /* PA.06 */ -#define SD_SPI_MISO_GPIO_PORT GPIOA /* GPIOA */ -#define SD_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOA -#define SD_SPI_MOSI_PIN GPIO_Pin_7 /* PA.07 */ -#define SD_SPI_MOSI_GPIO_PORT GPIOA /* GPIOA */ -#define SD_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOA -#define SD_CS_PIN GPIO_Pin_12 /* PC.12 */ -#define SD_CS_GPIO_PORT GPIOC /* GPIOC */ -#define SD_CS_GPIO_CLK RCC_APB2Periph_GPIOC -#define SD_DETECT_PIN GPIO_Pin_7 /* PE.07 */ -#define SD_DETECT_GPIO_PORT GPIOE /* GPIOE */ -#define SD_DETECT_GPIO_CLK RCC_APB2Periph_GPIOE - -/** - * @} - */ - -/** @addtogroup STM3210B_EVAL_LOW_LEVEL_M25P_FLASH_SPI - * @{ - */ -/** - * @brief M25P FLASH SPI Interface pins - */ -#define sFLASH_SPI SPI1 -#define sFLASH_SPI_CLK RCC_APB2Periph_SPI1 -#define sFLASH_SPI_SCK_PIN GPIO_Pin_5 /* PA.05 */ -#define sFLASH_SPI_SCK_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOA -#define sFLASH_SPI_MISO_PIN GPIO_Pin_6 /* PA.06 */ -#define sFLASH_SPI_MISO_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOA -#define sFLASH_SPI_MOSI_PIN GPIO_Pin_7 /* PA.07 */ -#define sFLASH_SPI_MOSI_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOA -#define sFLASH_CS_PIN GPIO_Pin_4 /* PA.04 */ -#define sFLASH_CS_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_CS_GPIO_CLK RCC_APB2Periph_GPIOA - -/** - * @} - */ - -/** @addtogroup STM3210B_EVAL_LOW_LEVEL_TSENSOR_I2C - * @{ - */ -/** - * @brief LM75 Temperature Sensor I2C Interface pins - */ -#define LM75_I2C I2C1 -#define LM75_I2C_CLK RCC_APB1Periph_I2C1 -#define LM75_I2C_SCL_PIN GPIO_Pin_6 /* PB.06 */ -#define LM75_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB -#define LM75_I2C_SDA_PIN GPIO_Pin_7 /* PB.07 */ -#define LM75_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB -#define LM75_I2C_SMBUSALERT_PIN GPIO_Pin_5 /* PB.05 */ -#define LM75_I2C_SMBUSALERT_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SMBUSALERT_GPIO_CLK RCC_APB2Periph_GPIOB -#define LM75_I2C_DR ((uint32_t)0x40005410) - -#define LM75_DMA_CLK RCC_AHBPeriph_DMA1 -#define LM75_DMA_TX_CHANNEL DMA1_Channel6 -#define LM75_DMA_RX_CHANNEL DMA1_Channel7 -#define LM75_DMA_TX_TCFLAG DMA1_FLAG_TC6 -#define LM75_DMA_RX_TCFLAG DMA1_FLAG_TC7 - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup STM3210B_EVAL_LOW_LEVEL_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM3210B_EVAL_LOW_LEVEL_Exported_Functions - * @{ - */ -void STM_EVAL_LEDInit(Led_TypeDef Led); -void STM_EVAL_LEDOn(Led_TypeDef Led); -void STM_EVAL_LEDOff(Led_TypeDef Led); -void STM_EVAL_LEDToggle(Led_TypeDef Led); -void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode); -uint32_t STM_EVAL_PBGetState(Button_TypeDef Button); -void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct); -void SD_LowLevel_DeInit(void); -void SD_LowLevel_Init(void); -void sFLASH_LowLevel_DeInit(void); -void sFLASH_LowLevel_Init(void); -void LM75_LowLevel_DeInit(void); -void LM75_LowLevel_Init(void); - -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM3210B_EVAL_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval_lcd.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval_lcd.c deleted file mode 100644 index 2e2e3d658..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval_lcd.c +++ /dev/null @@ -1,1878 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210b_eval_lcd.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file includes the LCD driver for AM-240320LTNQW00H (LCD_HX8312), - * AM-240320L8TNQW00H (LCD_ILI9320), AM-240320LDTNQW00H (LCD_SPFD5408B) - * Liquid Crystal Display Module of STM3210B-EVAL board. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm3210b_eval_lcd.h" -#include "../Common/fonts.c" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210B_EVAL - * @{ - */ - -/** @defgroup STM3210B_EVAL_LCD - * @briefThis file includes the LCD driver for AM-240320LTNQW00H (LCD_HX8312), - * AM-240320L8TNQW00H (LCD_ILI9320), AM-240320LDTNQW00H (LCD_SPFD5408B) - * Liquid Crystal Display Module of STM3210B-EVAL board. - * @{ - */ - -/** @defgroup STM3210B_EVAL_LCD_Private_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210B_EVAL_LCD_Private_Defines - * @{ - */ -#define LCD_ILI9320 0x9320 -#define LCD_HX8312 0x8312 -#define LCD_SPFD5408 0x5408 -#define START_BYTE 0x70 -#define SET_INDEX 0x00 -#define READ_STATUS 0x01 -#define LCD_WRITE_REG 0x02 -#define LCD_READ_REG 0x03 -#define MAX_POLY_CORNERS 200 -#define POLY_Y(Z) ((int32_t)((Points + Z)->X)) -#define POLY_X(Z) ((int32_t)((Points + Z)->Y)) -/** - * @} - */ - - -/** @defgroup STM3210B_EVAL_LCD_Private_Macros - * @{ - */ -#define ABS(X) ((X) > 0 ? (X) : -(X)) -/** - * @} - */ - - -/** @defgroup STM3210B_EVAL_LCD_Private_Variables - * @{ - */ -static sFONT *LCD_Currentfonts; -/* Global variables to set the written text color */ -static __IO uint16_t TextColor = 0x0000, BackColor = 0xFFFF; -static __IO uint32_t LCDType = LCD_ILI9320; -/** - * @} - */ - - -/** @defgroup STM3210B_EVAL_LCD_Private_Function_Prototypes - * @{ - */ -#ifndef USE_Delay -static void delay(vu32 nCount); -#endif /* USE_Delay*/ - -static void LCD_WriteRegHX8312(uint8_t LCD_Reg, uint8_t LCD_RegValue); -static void LCD_WriteRegILI9320(uint8_t LCD_Reg, uint16_t LCD_RegValue); -static void PutPixel(int16_t x, int16_t y); -static void LCD_PolyLineRelativeClosed(pPoint Points, uint16_t PointCount, uint16_t Closed); -/** - * @} - */ - - -/** @defgroup STM3210B_EVAL_LCD_Private_Functions - * @{ - */ - -/** - * @brief DeInitializes the LCD. - * @param None - * @retval None - */ -void LCD_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< LCD Display Off */ - LCD_DisplayOff(); - - /*!< LCD_SPI disable */ - SPI_Cmd(LCD_SPI, DISABLE); - - /*!< LCD_SPI DeInit */ - SPI_I2S_DeInit(LCD_SPI); - - /*!< Disable SPI clock */ - RCC_APB1PeriphClockCmd(LCD_SPI_CLK, DISABLE); - - /* Configure NCS in Output Push-Pull mode */ - GPIO_InitStructure.GPIO_Pin = LCD_NCS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(LCD_NCS_GPIO_PORT, &GPIO_InitStructure); - - /* Configure NWR(RNW), RS in Output Push-Pull mode */ - GPIO_InitStructure.GPIO_Pin = LCD_RS_PIN; - GPIO_Init(LCD_RS_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_NWR_PIN; - GPIO_Init(LCD_NWR_GPIO_PORT, &GPIO_InitStructure); - - /* Configure SPI pins: SCK, MISO and MOSI */ - GPIO_InitStructure.GPIO_Pin = LCD_SPI_SCK_PIN; - GPIO_Init(LCD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MISO_PIN; - GPIO_Init(LCD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MOSI_PIN; - GPIO_Init(LCD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Setups the LCD. - * @param None - * @retval None - */ -void LCD_Setup(void) -{ -/* Configure the LCD Control pins --------------------------------------------*/ - LCD_CtrlLinesConfig(); - -/* Configure the LCD_SPI interface ----------------------------------------------*/ - LCD_SPIConfig(); - if(LCDType == LCD_ILI9320) - { - _delay_(5); /* Delay 50 ms */ - /* Start Initial Sequence ------------------------------------------------*/ - LCD_WriteReg(LCD_REG_229, 0x8000); /* Set the internal vcore voltage */ - LCD_WriteReg(LCD_REG_0, 0x0001); /* Start internal OSC. */ - LCD_WriteReg(LCD_REG_1, 0x0100); /* set SS and SM bit */ - LCD_WriteReg(LCD_REG_2, 0x0700); /* set 1 line inversion */ - LCD_WriteReg(LCD_REG_3, 0x1030); /* set GRAM write direction and BGR=1. */ - LCD_WriteReg(LCD_REG_4, 0x0000); /* Resize register */ - LCD_WriteReg(LCD_REG_8, 0x0202); /* set the back porch and front porch */ - LCD_WriteReg(LCD_REG_9, 0x0000); /* set non-display area refresh cycle ISC[3:0] */ - LCD_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */ - LCD_WriteReg(LCD_REG_12, 0x0000); /* RGB interface setting */ - LCD_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */ - LCD_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity */ - /* Power On sequence -----------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */ - LCD_WriteReg(LCD_REG_33, 0x0000); /* GRAM Vertical Address */ - /* Adjust the Gamma Curve ------------------------------------------------*/ - LCD_WriteReg(LCD_REG_48, 0x0006); - LCD_WriteReg(LCD_REG_49, 0x0101); - LCD_WriteReg(LCD_REG_50, 0x0003); - LCD_WriteReg(LCD_REG_53, 0x0106); - LCD_WriteReg(LCD_REG_54, 0x0b02); - LCD_WriteReg(LCD_REG_55, 0x0302); - LCD_WriteReg(LCD_REG_56, 0x0707); - LCD_WriteReg(LCD_REG_57, 0x0007); - LCD_WriteReg(LCD_REG_60, 0x0600); - LCD_WriteReg(LCD_REG_61, 0x020b); - - /* Set GRAM area ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */ - LCD_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */ - LCD_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_96, 0x2700); /* Gate Scan Line */ - LCD_WriteReg(LCD_REG_97, 0x0001); /* NDL,VLE, REV */ - LCD_WriteReg(LCD_REG_106, 0x0000); /* set scrolling line */ - /* Partial Display Control -----------------------------------------------*/ - LCD_WriteReg(LCD_REG_128, 0x0000); - LCD_WriteReg(LCD_REG_129, 0x0000); - LCD_WriteReg(LCD_REG_130, 0x0000); - LCD_WriteReg(LCD_REG_131, 0x0000); - LCD_WriteReg(LCD_REG_132, 0x0000); - LCD_WriteReg(LCD_REG_133, 0x0000); - /* Panel Control ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_144, 0x0010); - LCD_WriteReg(LCD_REG_146, 0x0000); - LCD_WriteReg(LCD_REG_147, 0x0003); - LCD_WriteReg(LCD_REG_149, 0x0110); - LCD_WriteReg(LCD_REG_151, 0x0000); - LCD_WriteReg(LCD_REG_152, 0x0000); - /* Set GRAM write direction and BGR = 1 */ - /* I/D=01 (Horizontal : increment, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ - } - else if(LCDType == LCD_SPFD5408) - { - /* Start Initial Sequence --------------------------------------------------*/ - LCD_WriteReg(LCD_REG_227, 0x3008); /* Set internal timing */ - LCD_WriteReg(LCD_REG_231, 0x0012); /* Set internal timing */ - LCD_WriteReg(LCD_REG_239, 0x1231); /* Set internal timing */ - LCD_WriteReg(LCD_REG_1, 0x0100); /* Set SS and SM bit */ - LCD_WriteReg(LCD_REG_2, 0x0700); /* Set 1 line inversion */ - LCD_WriteReg(LCD_REG_3, 0x1030); /* Set GRAM write direction and BGR=1. */ - LCD_WriteReg(LCD_REG_4, 0x0000); /* Resize register */ - LCD_WriteReg(LCD_REG_8, 0x0202); /* Set the back porch and front porch */ - LCD_WriteReg(LCD_REG_9, 0x0000); /* Set non-display area refresh cycle ISC[3:0] */ - LCD_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */ - LCD_WriteReg(LCD_REG_12, 0x0000); /* RGB interface setting */ - LCD_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */ - LCD_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity */ - /* Power On sequence -------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_17, 0x0007); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_16, 0x12B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x01BD); /* External reference voltage= Vci */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1400); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x000E); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */ - LCD_WriteReg(LCD_REG_33, 0x013F); /* GRAM Vertical Address */ - /* Adjust the Gamma Curve --------------------------------------------------*/ - LCD_WriteReg(LCD_REG_48, 0x0007); - LCD_WriteReg(LCD_REG_49, 0x0302); - LCD_WriteReg(LCD_REG_50, 0x0105); - LCD_WriteReg(LCD_REG_53, 0x0206); - LCD_WriteReg(LCD_REG_54, 0x0808); - LCD_WriteReg(LCD_REG_55, 0x0206); - LCD_WriteReg(LCD_REG_56, 0x0504); - LCD_WriteReg(LCD_REG_57, 0x0007); - LCD_WriteReg(LCD_REG_60, 0x0105); - LCD_WriteReg(LCD_REG_61, 0x0808); - /* Set GRAM area -----------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */ - LCD_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */ - LCD_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_96, 0xA700); /* Gate Scan Line */ - LCD_WriteReg(LCD_REG_97, 0x0001); /* NDL,VLE, REV */ - LCD_WriteReg(LCD_REG_106, 0x0000); /* Set scrolling line */ - /* Partial Display Control -------------------------------------------------*/ - LCD_WriteReg(LCD_REG_128, 0x0000); - LCD_WriteReg(LCD_REG_129, 0x0000); - LCD_WriteReg(LCD_REG_130, 0x0000); - LCD_WriteReg(LCD_REG_131, 0x0000); - LCD_WriteReg(LCD_REG_132, 0x0000); - LCD_WriteReg(LCD_REG_133, 0x0000); - /* Panel Control -----------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_144, 0x0010); - LCD_WriteReg(LCD_REG_146, 0x0000); - LCD_WriteReg(LCD_REG_147, 0x0003); - LCD_WriteReg(LCD_REG_149, 0x0110); - LCD_WriteReg(LCD_REG_151, 0x0000); - LCD_WriteReg(LCD_REG_152, 0x0000); - /* Set GRAM write direction and BGR = 1 - I/D=01 (Horizontal : increment, Vertical : decrement) - AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - LCD_WriteReg(LCD_REG_7, 0x0112); /* 262K color and display ON */ - } - else if(LCDType == LCD_HX8312) - { - /* Enable the LCD Oscillator ---------------------------------------------*/ - LCD_WriteReg(LCD_REG_1, 0x10); - LCD_WriteReg(LCD_REG_0, 0xA0); - LCD_WriteReg(LCD_REG_3, 0x01); - _delay_(1); /* Delay 10 ms */ - LCD_WriteReg(LCD_REG_3, 0x00); - LCD_WriteReg(LCD_REG_43, 0x04); - - LCD_WriteReg(LCD_REG_40, 0x18); - LCD_WriteReg(LCD_REG_26, 0x05); - LCD_WriteReg(LCD_REG_37, 0x05); - LCD_WriteReg(LCD_REG_25, 0x00); - - /* LCD Power On ----------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_28, 0x73); - LCD_WriteReg(LCD_REG_36, 0x74); - LCD_WriteReg(LCD_REG_30, 0x01); - LCD_WriteReg(LCD_REG_24, 0xC1); - _delay_(1); /* Delay 10 ms */ - LCD_WriteReg(LCD_REG_24, 0xE1); - LCD_WriteReg(LCD_REG_24, 0xF1); - _delay_(6); /* Delay 60 ms */ - LCD_WriteReg(LCD_REG_24, 0xF5); - _delay_(6); /* Delay 60 ms */ - LCD_WriteReg(LCD_REG_27, 0x09); - _delay_(1); /* Delay 10 ms */ - LCD_WriteReg(LCD_REG_31, 0x11); - LCD_WriteReg(LCD_REG_32, 0x0E); - LCD_WriteReg(LCD_REG_30, 0x81); - _delay_(1); /* Delay 10 ms */ - - /* Chip Set --------------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_157, 0x00); - LCD_WriteReg(LCD_REG_192, 0x00); - - LCD_WriteReg(LCD_REG_14, 0x00); - LCD_WriteReg(LCD_REG_15, 0x00); - LCD_WriteReg(LCD_REG_16, 0x00); - LCD_WriteReg(LCD_REG_17, 0x00); - LCD_WriteReg(LCD_REG_18, 0x00); - LCD_WriteReg(LCD_REG_19, 0x00); - LCD_WriteReg(LCD_REG_20, 0x00); - LCD_WriteReg(LCD_REG_21, 0x00); - LCD_WriteReg(LCD_REG_22, 0x00); - LCD_WriteReg(LCD_REG_23, 0x00); - - LCD_WriteReg(LCD_REG_52, 0x01); - LCD_WriteReg(LCD_REG_53, 0x00); - LCD_WriteReg(LCD_REG_75, 0x00); - LCD_WriteReg(LCD_REG_76, 0x00); - LCD_WriteReg(LCD_REG_78, 0x00); - LCD_WriteReg(LCD_REG_79, 0x00); - LCD_WriteReg(LCD_REG_80, 0x00); - - LCD_WriteReg(LCD_REG_60, 0x00); - LCD_WriteReg(LCD_REG_61, 0x00); - LCD_WriteReg(LCD_REG_62, 0x01); - LCD_WriteReg(LCD_REG_63, 0x3F); - LCD_WriteReg(LCD_REG_64, 0x02); - LCD_WriteReg(LCD_REG_65, 0x02); - LCD_WriteReg(LCD_REG_66, 0x00); - LCD_WriteReg(LCD_REG_67, 0x00); - LCD_WriteReg(LCD_REG_68, 0x00); - LCD_WriteReg(LCD_REG_69, 0x00); - LCD_WriteReg(LCD_REG_70, 0xEF); - LCD_WriteReg(LCD_REG_71, 0x00); - LCD_WriteReg(LCD_REG_72, 0x00); - LCD_WriteReg(LCD_REG_73, 0x01); - LCD_WriteReg(LCD_REG_74, 0x3F); - - LCD_WriteReg(LCD_REG_29, 0x08); /* R29:Gate scan direction setting */ - - LCD_WriteReg(LCD_REG_134, 0x00); - LCD_WriteReg(LCD_REG_135, 0x30); - LCD_WriteReg(LCD_REG_136, 0x02); - LCD_WriteReg(LCD_REG_137, 0x05); - - LCD_WriteReg(LCD_REG_141, 0x01); /* R141:Register set-up mode for one line clock */ - LCD_WriteReg(LCD_REG_139, 0x20); /* R139:One line SYSCLK number in one-line */ - LCD_WriteReg(LCD_REG_51, 0x01); /* R51:N line inversion setting */ - LCD_WriteReg(LCD_REG_55, 0x01); /* R55:Scanning method setting */ - LCD_WriteReg(LCD_REG_118, 0x00); - - /* Gamma Set -------------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_143, 0x10); - LCD_WriteReg(LCD_REG_144, 0x67); - LCD_WriteReg(LCD_REG_145, 0x07); - LCD_WriteReg(LCD_REG_146, 0x65); - LCD_WriteReg(LCD_REG_147, 0x07); - LCD_WriteReg(LCD_REG_148, 0x01); - LCD_WriteReg(LCD_REG_149, 0x76); - LCD_WriteReg(LCD_REG_150, 0x56); - LCD_WriteReg(LCD_REG_151, 0x00); - LCD_WriteReg(LCD_REG_152, 0x06); - LCD_WriteReg(LCD_REG_153, 0x03); - LCD_WriteReg(LCD_REG_154, 0x00); - - /* Display On ------------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_1, 0x50); - LCD_WriteReg(LCD_REG_5, 0x04); - LCD_WriteReg(LCD_REG_0, 0x80); - LCD_WriteReg(LCD_REG_59, 0x01); - _delay_(4); /* Delay 40 ms */ - LCD_WriteReg(LCD_REG_0, 0x20); - } -} - - -/** - * @brief Initializes the LCD. - * @param None - * @retval None - */ -void STM3210B_LCD_Init(void) -{ - /* Setups the LCD */ - LCD_Setup(); - /* Try to read new LCD controller ID 0x9320 */ - if (LCD_ReadReg(LCD_REG_0) == LCD_ILI9320) - { - LCDType = LCD_ILI9320; - } - else - { - LCDType = LCD_SPFD5408; - /* Setups the LCD */ - LCD_Setup(); - /* Try to read new LCD controller ID 0x5408 */ - if (LCD_ReadReg(LCD_REG_0) != LCD_SPFD5408) - { - LCDType = LCD_HX8312; - /* Setups the LCD */ - LCD_Setup(); - } - } - LCD_SetFont(&LCD_DEFAULT_FONT); -} - -/** - * @brief Sets the LCD Text and Background colors. - * @param _TextColor: specifies the Text Color. - * @param _BackColor: specifies the Background Color. - * @retval None - */ -void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor) -{ - TextColor = _TextColor; - BackColor = _BackColor; -} - -/** - * @brief Gets the LCD Text and Background colors. - * @param _TextColor: pointer to the variable that will contain the Text - Color. - * @param _BackColor: pointer to the variable that will contain the Background - Color. - * @retval None - */ -void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor) -{ - *_TextColor = TextColor; *_BackColor = BackColor; -} - -/** - * @brief Sets the Text color. - * @param Color: specifies the Text color code RGB(5-6-5). - * @retval None - */ -void LCD_SetTextColor(__IO uint16_t Color) -{ - TextColor = Color; -} - - -/** - * @brief Sets the Background color. - * @param Color: specifies the Background color code RGB(5-6-5). - * @retval None - */ -void LCD_SetBackColor(__IO uint16_t Color) -{ - BackColor = Color; -} - -/** - * @brief Sets the Text Font. - * @param fonts: specifies the font to be used. - * @retval None - */ -void LCD_SetFont(sFONT *fonts) -{ - LCD_Currentfonts = fonts; -} - -/** - * @brief Gets the Text Font. - * @param None. - * @retval the used font. - */ -sFONT *LCD_GetFont(void) -{ - return LCD_Currentfonts; -} - -/** - * @brief Clears the selected line. - * @param Line: the Line to be cleared. - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..n - * @retval None - */ -void LCD_ClearLine(uint8_t Line) -{ - uint16_t refcolumn = LCD_PIXEL_WIDTH - 1; - /* Send the string character by character on lCD */ - while (((refcolumn + 1) & 0xFFFF) >= LCD_Currentfonts->Width) - { - /* Display one character on LCD */ - LCD_DisplayChar(Line, refcolumn, ' '); - /* Decrement the column position by 16 */ - refcolumn -= LCD_Currentfonts->Width; - } -} - - -/** - * @brief Clears the hole LCD. - * @param Color: the color of the background. - * @retval None - */ -void LCD_Clear(uint16_t Color) -{ - uint32_t index = 0; - - LCD_SetCursor(0x00, 0x013F); - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - } - for(index = 0; index < 76800; index++) - { - LCD_WriteRAM(Color); - } - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } -} - - -/** - * @brief Sets the cursor position. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @retval None - */ -void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteReg(LCD_REG_32, Xpos); - LCD_WriteReg(LCD_REG_33, Ypos); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteReg(LCD_REG_66, Xpos); - LCD_WriteReg(LCD_REG_67, ((Ypos & 0x100)>> 8)); - LCD_WriteReg(LCD_REG_68, (Ypos & 0xFF)); - } -} - - -/** - * @brief Draws a character on LCD. - * @param Xpos: the Line where to display the character shape. - * @param Ypos: start column address. - * @param c: pointer to the character data. - * @retval None - */ -void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c) -{ - uint32_t index = 0, i = 0; - uint8_t Xaddress = 0; - - Xaddress = Xpos; - - LCD_SetCursor(Xaddress, Ypos); - - for(index = 0; index < LCD_Currentfonts->Height; index++) - { - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - } - for(i = 0; i < LCD_Currentfonts->Width; i++) - { - if((((c[index] & ((0x80 << ((LCD_Currentfonts->Width / 12 ) * 8 ) ) >> i)) == 0x00) &&(LCD_Currentfonts->Width <= 12))|| - (((c[index] & (0x1 << i)) == 0x00)&&(LCD_Currentfonts->Width > 12 ))) - - { - LCD_WriteRAM(BackColor); - } - else - { - LCD_WriteRAM(TextColor); - } - } - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } - Xaddress++; - LCD_SetCursor(Xaddress, Ypos); - } -} - - -/** - * @brief Displays one character (16dots width, 24dots height). - * @param Line: the Line where to display the character shape . - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..9 - * @param Column: start column address. - * @param Ascii: character ascii code, must be between 0x20 and 0x7E. - * @retval None - */ -void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii) -{ - Ascii -= 32; - LCD_DrawChar(Line, Column, &LCD_Currentfonts->table[Ascii * LCD_Currentfonts->Height]); -} - - -/** - * @brief Displays a maximum of 20 char on the LCD. - * @param Line: the Line where to display the character shape . - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..9 - * @param *ptr: pointer to string to display on LCD. - * @retval None - */ -void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr) -{ - uint16_t refcolumn = LCD_PIXEL_WIDTH - 1; - - /* Send the string character by character on lCD */ - while ((*ptr != 0) & (((refcolumn + 1) & 0xFFFF) >= LCD_Currentfonts->Width)) - { - /* Display one character on LCD */ - LCD_DisplayChar(Line, refcolumn, *ptr); - /* Decrement the column position by 16 */ - refcolumn -= LCD_Currentfonts->Width; - /* Point on the next character */ - ptr++; - } -} - - -/** - * @brief Sets a display window - * @param Xpos: specifies the X buttom left position. - * @param Ypos: specifies the Y buttom left position. - * @param Height: display window height. - * @param Width: display window width. - * @retval None - */ -void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Horizontal GRAM Start Address */ - if(Xpos >= Height) - { - LCD_WriteReg(LCD_REG_80, (Xpos - Height + 1)); - } - else - { - LCD_WriteReg(LCD_REG_80, 0); - } - /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_81, Xpos); - /* Vertical GRAM Start Address */ - if(Ypos >= Width) - { - LCD_WriteReg(LCD_REG_82, (Ypos - Width + 1)); - } - else - { - LCD_WriteReg(LCD_REG_82, 0); - } - /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_83, Ypos); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteReg(LCD_REG_1, 0xD0); - LCD_WriteReg(LCD_REG_5, 0x14); - - LCD_WriteReg(LCD_REG_69, (Xpos - Height + 1)); - LCD_WriteReg(LCD_REG_70, Xpos); - - LCD_WriteReg(LCD_REG_71, (((Ypos - Width + 1) & 0x100)>> 8)); - LCD_WriteReg(LCD_REG_72, ((Ypos - Width + 1) & 0xFF)); - LCD_WriteReg(LCD_REG_73, ((Ypos & 0x100)>> 8)); - LCD_WriteReg(LCD_REG_74, (Ypos & 0xFF)); - } - LCD_SetCursor(Xpos, Ypos); -} - - -/** - * @brief Disables LCD Window mode. - * @param None - * @retval None - */ -void LCD_WindowModeDisable(void) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_SetDisplayWindow(239, 0x13F, 240, 320); - LCD_WriteReg(LCD_REG_3, 0x1018); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteReg(LCD_REG_1, 0x50); - LCD_WriteReg(LCD_REG_5, 0x04); - } - -} - - -/** - * @brief Displays a line. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Length: line length. - * @param Direction: line direction. - * This parameter can be one of the following values: Vertical or Horizontal. - * @retval None - */ -void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction) -{ - uint32_t i = 0; - - LCD_SetCursor(Xpos, Ypos); - if(Direction == LCD_DIR_HORIZONTAL) - { - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - } - for(i = 0; i < Length; i++) - { - LCD_WriteRAM(TextColor); - } - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } - } - else - { - for(i = 0; i < Length; i++) - { - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - Xpos++; - LCD_SetCursor(Xpos, Ypos); - } - } -} - - -/** - * @brief Displays a rectangle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Height: display rectangle height. - * @param Width: display rectangle width. - * @retval None - */ -void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width) -{ - LCD_DrawLine(Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - LCD_DrawLine((Xpos + Height), Ypos, Width, LCD_DIR_HORIZONTAL); - - LCD_DrawLine(Xpos, Ypos, Height, LCD_DIR_VERTICAL); - LCD_DrawLine(Xpos, (Ypos - Width + 1), Height, LCD_DIR_VERTICAL); -} - - -/** - * @brief Displays a circle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Radius - * @retval None - */ -void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius) -{ - int32_t D;/* Decision Variable */ - uint32_t CurX;/* Current X Value */ - uint32_t CurY;/* Current Y Value */ - - D = 3 - (Radius << 1); - CurX = 0; - CurY = Radius; - - while (CurX <= CurY) - { - LCD_SetCursor(Xpos + CurX, Ypos + CurY); - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos + CurX, Ypos - CurY); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos - CurX, Ypos + CurY); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos - CurX, Ypos - CurY); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos + CurY, Ypos + CurX); - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos + CurY, Ypos - CurX); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos - CurY, Ypos + CurX); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - LCD_SetCursor(Xpos - CurY, Ypos - CurX); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAMWord(TextColor); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRAM(TextColor); - } - if (D < 0) - { - D += (CurX << 2) + 6; - } - else - { - D += ((CurX - CurY) << 2) + 10; - CurY--; - } - CurX++; - } -} - - -/** - * @brief Displays a monocolor picture. - * @param Pict: pointer to the picture array. - * @retval None - */ -void LCD_DrawMonoPict(const uint32_t *Pict) -{ - uint32_t index = 0, i = 0; - LCD_SetCursor(0, (LCD_PIXEL_WIDTH - 1)); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - } - - for(index = 0; index < 2400; index++) - { - for(i = 0; i < 32; i++) - { - if((Pict[index] & (1 << i)) == 0x00) - { - LCD_WriteRAM(BackColor); - } - else - { - LCD_WriteRAM(TextColor); - } - } - } - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } -} - -#ifdef USE_LCD_DrawBMP -/** - * @brief Displays a bitmap picture loaded in the SPI Flash. - * @param BmpAddress: Bmp picture address in the SPI Flash. - * @retval None - */ -void LCD_DrawBMP(uint32_t BmpAddress) -{ - uint32_t i = 0, size = 0; - /* Read bitmap size */ - sFLASH_ReadBuffer((uint8_t*)&size, BmpAddress + 2, 4); - /* get bitmap data address offset */ - sFLASH_ReadBuffer((uint8_t*)&i, BmpAddress + 10, 4); - - size = (size - i)/2; - sFLASH_StartReadSequence(BmpAddress + i); - /* Disable LCD_SPI */ - SPI_Cmd(LCD_SPI, DISABLE); - /* SPI in 16-bit mode */ - SPI_DataSizeConfig(LCD_SPI, SPI_DataSize_16b); - /* Enable LCD_SPI */ - SPI_Cmd(LCD_SPI, ENABLE); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Set GRAM write direction and BGR = 1 */ - /* I/D=00 (Horizontal : decrement, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1008); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - } - - /* Read bitmap data from SPI Flash and send them to LCD */ - for(i = 0; i < size; i++) - { - LCD_WriteRAM(__REV16(sFLASH_SendHalfWord(0xA5A5))); - } - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } - - /* Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - /* Disable LCD_SPI */ - SPI_Cmd(LCD_SPI, DISABLE); - /* SPI in 8-bit mode */ - SPI_DataSizeConfig(LCD_SPI, SPI_DataSize_8b); - /* Enable LCD_SPI */ - SPI_Cmd(LCD_SPI, ENABLE); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Set GRAM write direction and BGR = 1 */ - /* I/D = 01 (Horizontal : increment, Vertical : decrement) */ - /* AM = 1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - } -} -#endif /* USE_LCD_DrawBMP */ - -/** - * @brief Displays a full rectangle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Height: rectangle height. - * @param Width: rectangle width. - * @retval None - */ -void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) -{ - LCD_SetTextColor(TextColor); - - LCD_DrawLine(Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - LCD_DrawLine((Xpos + Height), Ypos, Width, LCD_DIR_HORIZONTAL); - - LCD_DrawLine(Xpos, Ypos, Height, LCD_DIR_VERTICAL); - LCD_DrawLine(Xpos, (Ypos - Width + 1), Height, LCD_DIR_VERTICAL); - - Width -= 2; - Height--; - Ypos--; - - LCD_SetTextColor(BackColor); - - while(Height--) - { - LCD_DrawLine(++Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - } - - LCD_SetTextColor(TextColor); -} - -/** - * @brief Displays a full circle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Radius - * @retval None - */ -void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) -{ - int32_t D; /* Decision Variable */ - uint32_t CurX;/* Current X Value */ - uint32_t CurY;/* Current Y Value */ - - D = 3 - (Radius << 1); - - CurX = 0; - CurY = Radius; - - LCD_SetTextColor(BackColor); - - while (CurX <= CurY) - { - if(CurY > 0) - { - LCD_DrawLine(Xpos - CurX, Ypos + CurY, 2*CurY, LCD_DIR_HORIZONTAL); - LCD_DrawLine(Xpos + CurX, Ypos + CurY, 2*CurY, LCD_DIR_HORIZONTAL); - } - - if(CurX > 0) - { - LCD_DrawLine(Xpos - CurY, Ypos + CurX, 2*CurX, LCD_DIR_HORIZONTAL); - LCD_DrawLine(Xpos + CurY, Ypos + CurX, 2*CurX, LCD_DIR_HORIZONTAL); - } - if (D < 0) - { - D += (CurX << 2) + 6; - } - else - { - D += ((CurX - CurY) << 2) + 10; - CurY--; - } - CurX++; - } - - LCD_SetTextColor(TextColor); - LCD_DrawCircle(Xpos, Ypos, Radius); -} - -/** - * @brief Displays an uni line (between two points). - * @param x1: specifies the point 1 x position. - * @param y1: specifies the point 1 y position. - * @param x2: specifies the point 2 x position. - * @param y2: specifies the point 2 y position. - * @retval None - */ -void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) -{ - int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, - yinc1 = 0, yinc2 = 0, den = 0, num = 0, numadd = 0, numpixels = 0, - curpixel = 0; - - deltax = ABS(x2 - x1); /* The difference between the x's */ - deltay = ABS(y2 - y1); /* The difference between the y's */ - x = x1; /* Start x off at the first pixel */ - y = y1; /* Start y off at the first pixel */ - - if (x2 >= x1) /* The x-values are increasing */ - { - xinc1 = 1; - xinc2 = 1; - } - else /* The x-values are decreasing */ - { - xinc1 = -1; - xinc2 = -1; - } - - if (y2 >= y1) /* The y-values are increasing */ - { - yinc1 = 1; - yinc2 = 1; - } - else /* The y-values are decreasing */ - { - yinc1 = -1; - yinc2 = -1; - } - - if (deltax >= deltay) /* There is at least one x-value for every y-value */ - { - xinc1 = 0; /* Don't change the x when numerator >= denominator */ - yinc2 = 0; /* Don't change the y for every iteration */ - den = deltax; - num = deltax / 2; - numadd = deltay; - numpixels = deltax; /* There are more x-values than y-values */ - } - else /* There is at least one y-value for every x-value */ - { - xinc2 = 0; /* Don't change the x for every iteration */ - yinc1 = 0; /* Don't change the y when numerator >= denominator */ - den = deltay; - num = deltay / 2; - numadd = deltax; - numpixels = deltay; /* There are more y-values than x-values */ - } - - for (curpixel = 0; curpixel <= numpixels; curpixel++) - { - PutPixel(x, y); /* Draw the current pixel */ - num += numadd; /* Increase the numerator by the top of the fraction */ - if (num >= den) /* Check if numerator >= denominator */ - { - num -= den; /* Calculate the new numerator value */ - x += xinc1; /* Change the x as appropriate */ - y += yinc1; /* Change the y as appropriate */ - } - x += xinc2; /* Change the x as appropriate */ - y += yinc2; /* Change the y as appropriate */ - } -} - -/** - * @brief Displays an polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_PolyLine(pPoint Points, uint16_t PointCount) -{ - int16_t X = 0, Y = 0; - - if(PointCount < 2) - { - return; - } - - while(--PointCount) - { - X = Points->X; - Y = Points->Y; - Points++; - LCD_DrawUniLine(X, Y, Points->X, Points->Y); - } -} - -/** - * @brief Displays an relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @param Closed: specifies if the draw is closed or not. - * 1: closed, 0 : not closed. - * @retval None - */ -static void LCD_PolyLineRelativeClosed(pPoint Points, uint16_t PointCount, uint16_t Closed) -{ - int16_t X = 0, Y = 0; - pPoint First = Points; - - if(PointCount < 2) - { - return; - } - X = Points->X; - Y = Points->Y; - while(--PointCount) - { - Points++; - LCD_DrawUniLine(X, Y, X + Points->X, Y + Points->Y); - X = X + Points->X; - Y = Y + Points->Y; - } - if(Closed) - { - LCD_DrawUniLine(First->X, First->Y, X, Y); - } -} - -/** - * @brief Displays a closed polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLine(Points, PointCount); - LCD_DrawUniLine(Points->X, Points->Y, (Points+PointCount-1)->X, (Points+PointCount-1)->Y); -} - -/** - * @brief Displays a relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLineRelativeClosed(Points, PointCount, 0); -} - -/** - * @brief Displays a closed relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLineRelativeClosed(Points, PointCount, 1); -} - - -/** - * @brief Displays a full polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_FillPolyLine(pPoint Points, uint16_t PointCount) -{ - /* public-domain code by Darel Rex Finley, 2007 */ - uint16_t nodes = 0, nodeX[MAX_POLY_CORNERS], pixelX = 0, pixelY = 0, i = 0, - j = 0, swap = 0; - uint16_t IMAGE_LEFT = 0, IMAGE_RIGHT = 0, IMAGE_TOP = 0, IMAGE_BOTTOM = 0; - - IMAGE_LEFT = IMAGE_RIGHT = Points->X; - IMAGE_TOP= IMAGE_BOTTOM = Points->Y; - - for(i = 1; i < PointCount; i++) - { - pixelX = POLY_X(i); - if(pixelX < IMAGE_LEFT) - { - IMAGE_LEFT = pixelX; - } - if(pixelX > IMAGE_RIGHT) - { - IMAGE_RIGHT = pixelX; - } - - pixelY = POLY_Y(i); - if(pixelY < IMAGE_TOP) - { - IMAGE_TOP = pixelY; - } - if(pixelY > IMAGE_BOTTOM) - { - IMAGE_BOTTOM = pixelY; - } - } - - LCD_SetTextColor(BackColor); - - /* Loop through the rows of the image. */ - for (pixelY = IMAGE_TOP; pixelY < IMAGE_BOTTOM; pixelY++) - { - /* Build a list of nodes. */ - nodes = 0; j = PointCount-1; - - for (i = 0; i < PointCount; i++) - { - if (POLY_Y(i)<(double) pixelY && POLY_Y(j)>=(double) pixelY || POLY_Y(j)<(double) pixelY && POLY_Y(i)>=(double) pixelY) - { - nodeX[nodes++]=(int) (POLY_X(i)+((pixelY-POLY_Y(i))*(POLY_X(j)-POLY_X(i)))/(POLY_Y(j)-POLY_Y(i))); - } - j = i; - } - - /* Sort the nodes, via a simple "Bubble" sort. */ - i = 0; - while (i < nodes-1) - { - if (nodeX[i]>nodeX[i+1]) - { - swap = nodeX[i]; - nodeX[i] = nodeX[i+1]; - nodeX[i+1] = swap; - if(i) - { - i--; - } - } - else - { - i++; - } - } - - /* Fill the pixels between node pairs. */ - for (i = 0; i < nodes; i+=2) - { - if(nodeX[i] >= IMAGE_RIGHT) - { - break; - } - if(nodeX[i+1] > IMAGE_LEFT) - { - if (nodeX[i] < IMAGE_LEFT) - { - nodeX[i]=IMAGE_LEFT; - } - if(nodeX[i+1] > IMAGE_RIGHT) - { - nodeX[i+1] = IMAGE_RIGHT; - } - LCD_SetTextColor(BackColor); - LCD_DrawLine(pixelY, nodeX[i+1], nodeX[i+1] - nodeX[i], LCD_DIR_HORIZONTAL); - LCD_SetTextColor(TextColor); - PutPixel(pixelY, nodeX[i+1]); - PutPixel(pixelY, nodeX[i]); - /* for (j=nodeX[i]; j>8); - - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - - SPI_I2S_SendData(LCD_SPI, (LCD_RegValue & 0xFF)); - - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - - -/** - * @brief Reads the selected LCD Register. - * @param LCD_Reg: address of the selected register. - * @retval LCD Register Value. - */ -uint16_t LCD_ReadReg(uint8_t LCD_Reg) -{ - uint16_t tmp = 0; - uint8_t i = 0; - - /* LCD_SPI prescaler: 4 */ - LCD_SPI->CR1 &= 0xFFC7; - LCD_SPI->CR1 |= 0x0008; - /* Write 16-bit Index (then Read Reg) */ - LCD_WriteRegIndex(LCD_Reg); - /* Read 16-bit Reg */ - /* Reset LCD control line(/CS) and Send Start-Byte */ - LCD_nCS_StartByte(START_BYTE | LCD_READ_REG); - - for(i = 0; i < 5; i++) - { - SPI_I2S_SendData(LCD_SPI, 0xFF); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - /* One byte of invalid dummy data read after the start byte */ - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_RXNE) == RESET) - { - } - SPI_I2S_ReceiveData(LCD_SPI); - } - - SPI_I2S_SendData(LCD_SPI, 0xFF); - - /* Read upper byte */ - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - - /* Read lower byte */ - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_RXNE) == RESET) - { - } - tmp = SPI_I2S_ReceiveData(LCD_SPI); - - - SPI_I2S_SendData(LCD_SPI, 0xFF); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - - /* Read lower byte */ - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_RXNE) == RESET) - { - } - - tmp = ((tmp & 0xFF) << 8) | SPI_I2S_ReceiveData(LCD_SPI); - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - - /* LCD_SPI prescaler: 2 */ - LCD_SPI->CR1 &= 0xFFC7; - - return tmp; -} - - -/** - * @brief Prepare to write to the LCD RAM. - * @param None - * @retval None - */ -void LCD_WriteRAM_Prepare(void) -{ - LCD_WriteRegIndex(LCD_REG_34); /* Select GRAM Reg */ - - /* Reset LCD control line(/CS) and Send Start-Byte */ - LCD_nCS_StartByte(START_BYTE | LCD_WRITE_REG); -} - - -/** - * @brief Writes 1 word to the LCD RAM. - * @param RGB_Code: the pixel color in RGB mode (5-6-5). - * @retval None - */ -void LCD_WriteRAMWord(uint16_t RGB_Code) -{ - - LCD_WriteRAM_Prepare(); - - LCD_WriteRAM(RGB_Code); - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - - -/** - * @brief Writes to the selected LCD HX8312 register. - * @param LCD_Reg: address of the selected register. - * @param LCD_RegValue: value to write to the selected register. - * @retval None - */ -static void LCD_WriteRegHX8312(uint8_t LCD_Reg, uint8_t LCD_RegValue) -{ - uint16_t tmp = 0; - - LCD_CtrlLinesWrite(LCD_NWR_GPIO_PORT, LCD_NWR_PIN, Bit_RESET); - LCD_CtrlLinesWrite(LCD_RS_GPIO_PORT, LCD_RS_PIN, Bit_RESET); - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_RESET); - - tmp = LCD_Reg << 8; - tmp |= LCD_RegValue; - - SPI_I2S_SendData(LCD_SPI, tmp); - - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - - -/** - * @brief Writes to the selected LCD register. - * @param LCD_Reg: address of the selected register. - * @param LCD_RegValue: value to write to the selected register. - * @retval None - */ -void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_WriteRegILI9320(LCD_Reg, LCD_RegValue); - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteRegHX8312(LCD_Reg, ((uint8_t)LCD_RegValue)); - } -} - - -/** - * @brief Writes to the LCD RAM. - * @param RGB_Code: the pixel color in RGB mode (5-6-5). - * @retval None - */ -void LCD_WriteRAM(uint16_t RGB_Code) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - SPI_I2S_SendData(LCD_SPI, RGB_Code >> 8); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - SPI_I2S_SendData(LCD_SPI, RGB_Code & 0xFF); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - } - - if(LCDType == LCD_HX8312) - { - LCD_CtrlLinesWrite(LCD_NWR_GPIO_PORT, LCD_NWR_PIN, Bit_RESET); - LCD_CtrlLinesWrite(LCD_RS_GPIO_PORT, LCD_RS_PIN, Bit_SET); - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_RESET); - SPI_I2S_SendData(LCD_SPI, RGB_Code); - - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } -} - - -/** - * @brief Power on the LCD. - * @param None - * @retval None - */ -void LCD_PowerOn(void) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Power On sequence ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* delay 50 ms */ - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ - } - else if(LCDType == LCD_HX8312) - { - /* Power On Set */ - LCD_WriteReg(LCD_REG_28, 0x73); - LCD_WriteReg(LCD_REG_36, 0x74); - LCD_WriteReg(LCD_REG_30, 0x01); - LCD_WriteReg(LCD_REG_24, 0xC1); - _delay_(1); /* Delay 10 ms */ - LCD_WriteReg(LCD_REG_24, 0xE1); - LCD_WriteReg(LCD_REG_24, 0xF1); - _delay_(6); /* Delay 60 ms */ - LCD_WriteReg(LCD_REG_24, 0xF5); - _delay_(6); /* Delay 60 ms */ - LCD_WriteReg(LCD_REG_27, 0x09); - _delay_(1); /* Delay 10 ms */ - LCD_WriteReg(LCD_REG_31, 0x11); - LCD_WriteReg(LCD_REG_32, 0x0E); - LCD_WriteReg(LCD_REG_30, 0x81); - _delay_(1); /* Delay 10 ms */ - } -} - - -/** - * @brief Enables the Display. - * @param None - * @retval None - */ -void LCD_DisplayOn(void) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Display On */ - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ - } - else if(LCDType == LCD_HX8312) - { - LCD_WriteReg(LCD_REG_1, 0x50); - LCD_WriteReg(LCD_REG_5, 0x04); - /* Display On */ - LCD_WriteReg(LCD_REG_0, 0x80); - LCD_WriteReg(LCD_REG_59, 0x01); - _delay_(4); /* Delay 40 ms */ - LCD_WriteReg(LCD_REG_0, 0x20); - } -} - - -/** - * @brief Disables the Display. - * @param None - * @retval None - */ -void LCD_DisplayOff(void) -{ - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Display Off */ - LCD_WriteReg(LCD_REG_7, 0x0); - } - else if(LCDType == LCD_HX8312) - { - /* Display Off */ - LCD_WriteReg(LCD_REG_0, 0xA0); - _delay_(4); /* Delay 40 ms */ - LCD_WriteReg(LCD_REG_59, 0x00); - } -} - - -/** - * @brief Configures LCD control lines in Output Push-Pull mode. - * @param None - * @retval None - */ -void LCD_CtrlLinesConfig(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_APB2PeriphClockCmd(LCD_NCS_GPIO_CLK | LCD_NWR_GPIO_CLK | LCD_RS_GPIO_CLK, ENABLE); - - /* Configure NCS in Output Push-Pull mode */ - GPIO_InitStructure.GPIO_Pin = LCD_NCS_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(LCD_NCS_GPIO_PORT, &GPIO_InitStructure); - - /* Configure NWR(RNW), RS in Output Push-Pull mode */ - GPIO_InitStructure.GPIO_Pin = LCD_RS_PIN; - GPIO_Init(LCD_RS_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_NWR_PIN; - GPIO_Init(LCD_NWR_GPIO_PORT, &GPIO_InitStructure); - - LCD_CtrlLinesWrite(LCD_NWR_GPIO_PORT, LCD_NWR_PIN, Bit_SET); - LCD_CtrlLinesWrite(LCD_RS_GPIO_PORT, LCD_RS_PIN, Bit_SET); -} - - -/** - * @brief Sets or reset LCD control lines. - * @param GPIOx: where x can be B or D to select the GPIO peripheral. - * @param CtrlPins: the Control line. - * This parameter can be: - * @arg LCD_NCS_PIN: Chip Select pin - * @arg LCD_NWR_PIN: Read/Write Selection pin - * @arg LCD_RS_PIN: Register/RAM Selection pin - * @param BitVal: specifies the value to be written to the selected bit. - * This parameter can be: - * @arg Bit_RESET: to clear the port pin - * @arg Bit_SET: to set the port pin - * @retval None - */ -void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, uint16_t CtrlPins, BitAction BitVal) -{ - /* Set or Reset the control line */ - GPIO_WriteBit(GPIOx, CtrlPins, BitVal); -} - -/** - * @brief Configures the LCD_SPI interface. - * @param None - * @retval None - */ -void LCD_SPIConfig(void) -{ - SPI_InitTypeDef SPI_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_APB2PeriphClockCmd(LCD_SPI_SCK_GPIO_CLK | LCD_SPI_MISO_GPIO_CLK | LCD_SPI_MOSI_GPIO_CLK, ENABLE); - - /* Enable SPI clock */ - RCC_APB1PeriphClockCmd(LCD_SPI_CLK, ENABLE); - - /* Configure SPI pins: SCK, MISO and MOSI */ - GPIO_InitStructure.GPIO_Pin = LCD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(LCD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MISO_PIN; - GPIO_Init(LCD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MOSI_PIN; - GPIO_Init(LCD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - SPI_I2S_DeInit(LCD_SPI); - - /* SPI Config */ - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; - } - else if(LCDType == LCD_HX8312) - { - SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; - } - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - - SPI_Init(LCD_SPI, &SPI_InitStructure); - - /* SPI enable */ - SPI_Cmd(LCD_SPI, ENABLE); -} - -/** - * @brief Displays a pixel. - * @param x: pixel x. - * @param y: pixel y. - * @retval None - */ -static void PutPixel(int16_t x, int16_t y) -{ - if(x < 0 || x > 239 || y < 0 || y > 319) - { - return; - } - LCD_DrawLine(x, y, 1, LCD_DIR_HORIZONTAL); -} - -#ifndef USE_Delay -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -static void delay(vu32 nCount) -{ - vu32 index = 0; - for(index = (100000 * nCount); index != 0; index--) - { - } -} -#endif /* USE_Delay*/ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval_lcd.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval_lcd.h deleted file mode 100644 index 78ba4c52b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval_lcd.h +++ /dev/null @@ -1,394 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210b_eval_lcd.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the stm3210b_eval_lcd - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM3210B_EVAL_LCD_H -#define __STM3210B_EVAL_LCD_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" -#include "../Common/fonts.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210B_EVAL - * @{ - */ - -/** @addtogroup STM3210B_EVAL_LCD - * @{ - */ - - -/** @defgroup STM3210B_EVAL_LCD_Exported_Types - * @{ - */ -typedef struct -{ - int16_t X; - int16_t Y; -} Point, * pPoint; -/** - * @} - */ - - - -/** @defgroup STM3210B_EVAL_LCD_Exported_Constants - * @{ - */ - -/** - * @brief Uncomment the line below if you want to use LCD_DrawBMP function to - * display a bitmap picture on the LCD. This function assumes that the bitmap - * file is loaded in the SPI Flash (mounted on STM3210B-EVAL board), however - * user can tailor it according to his application hardware requirement. - */ -/*#define USE_LCD_DrawBMP*/ - -/** - * @brief Uncomment the line below if you want to use user defined Delay function - * (for precise timing), otherwise default _delay_ function defined within - * this driver is used (less precise timing). - */ -/* #define USE_Delay */ - -#ifdef USE_Delay -#include "main.h" - - #define _delay_ Delay /* !< User can provide more timing precise _delay_ function - (with 10ms time base), using SysTick for example */ -#else - #define _delay_ delay /* !< Default _delay_ function with less precise timing */ -#endif - - -/** - * @brief LCD Control pins - */ -#define LCD_NCS_PIN GPIO_Pin_2 -#define LCD_NCS_GPIO_PORT GPIOB -#define LCD_NCS_GPIO_CLK RCC_APB2Periph_GPIOB -#define LCD_NWR_PIN GPIO_Pin_15 -#define LCD_NWR_GPIO_PORT GPIOD -#define LCD_NWR_GPIO_CLK RCC_APB2Periph_GPIOD -#define LCD_RS_PIN GPIO_Pin_7 -#define LCD_RS_GPIO_PORT GPIOD -#define LCD_RS_GPIO_CLK RCC_APB2Periph_GPIOD - -/** - * @brief LCD SPI Interface pins - */ -#define LCD_SPI SPI2 -#define LCD_SPI_CLK RCC_APB1Periph_SPI2 -#define LCD_SPI_SCK_PIN GPIO_Pin_13 -#define LCD_SPI_SCK_GPIO_PORT GPIOB -#define LCD_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOB -#define LCD_SPI_MISO_PIN GPIO_Pin_14 -#define LCD_SPI_MISO_GPIO_PORT GPIOB -#define LCD_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOB -#define LCD_SPI_MOSI_PIN GPIO_Pin_15 -#define LCD_SPI_MOSI_GPIO_PORT GPIOB -#define LCD_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOB - -/** - * @brief LCD Registers - */ -#define LCD_REG_0 0x00 -#define LCD_REG_1 0x01 -#define LCD_REG_2 0x02 -#define LCD_REG_3 0x03 -#define LCD_REG_4 0x04 -#define LCD_REG_5 0x05 -#define LCD_REG_6 0x06 -#define LCD_REG_7 0x07 -#define LCD_REG_8 0x08 -#define LCD_REG_9 0x09 -#define LCD_REG_10 0x0A -#define LCD_REG_12 0x0C -#define LCD_REG_13 0x0D -#define LCD_REG_14 0x0E -#define LCD_REG_15 0x0F -#define LCD_REG_16 0x10 -#define LCD_REG_17 0x11 -#define LCD_REG_18 0x12 -#define LCD_REG_19 0x13 -#define LCD_REG_20 0x14 -#define LCD_REG_21 0x15 -#define LCD_REG_22 0x16 -#define LCD_REG_23 0x17 -#define LCD_REG_24 0x18 -#define LCD_REG_25 0x19 -#define LCD_REG_26 0x1A -#define LCD_REG_27 0x1B -#define LCD_REG_28 0x1C -#define LCD_REG_29 0x1D -#define LCD_REG_30 0x1E -#define LCD_REG_31 0x1F -#define LCD_REG_32 0x20 -#define LCD_REG_33 0x21 -#define LCD_REG_34 0x22 -#define LCD_REG_36 0x24 -#define LCD_REG_37 0x25 -#define LCD_REG_40 0x28 -#define LCD_REG_41 0x29 -#define LCD_REG_43 0x2B -#define LCD_REG_45 0x2D -#define LCD_REG_48 0x30 -#define LCD_REG_49 0x31 -#define LCD_REG_50 0x32 -#define LCD_REG_51 0x33 -#define LCD_REG_52 0x34 -#define LCD_REG_53 0x35 -#define LCD_REG_54 0x36 -#define LCD_REG_55 0x37 -#define LCD_REG_56 0x38 -#define LCD_REG_57 0x39 -#define LCD_REG_59 0x3B -#define LCD_REG_60 0x3C -#define LCD_REG_61 0x3D -#define LCD_REG_62 0x3E -#define LCD_REG_63 0x3F -#define LCD_REG_64 0x40 -#define LCD_REG_65 0x41 -#define LCD_REG_66 0x42 -#define LCD_REG_67 0x43 -#define LCD_REG_68 0x44 -#define LCD_REG_69 0x45 -#define LCD_REG_70 0x46 -#define LCD_REG_71 0x47 -#define LCD_REG_72 0x48 -#define LCD_REG_73 0x49 -#define LCD_REG_74 0x4A -#define LCD_REG_75 0x4B -#define LCD_REG_76 0x4C -#define LCD_REG_77 0x4D -#define LCD_REG_78 0x4E -#define LCD_REG_79 0x4F -#define LCD_REG_80 0x50 -#define LCD_REG_81 0x51 -#define LCD_REG_82 0x52 -#define LCD_REG_83 0x53 -#define LCD_REG_96 0x60 -#define LCD_REG_97 0x61 -#define LCD_REG_106 0x6A -#define LCD_REG_118 0x76 -#define LCD_REG_128 0x80 -#define LCD_REG_129 0x81 -#define LCD_REG_130 0x82 -#define LCD_REG_131 0x83 -#define LCD_REG_132 0x84 -#define LCD_REG_133 0x85 -#define LCD_REG_134 0x86 -#define LCD_REG_135 0x87 -#define LCD_REG_136 0x88 -#define LCD_REG_137 0x89 -#define LCD_REG_139 0x8B -#define LCD_REG_140 0x8C -#define LCD_REG_141 0x8D -#define LCD_REG_143 0x8F -#define LCD_REG_144 0x90 -#define LCD_REG_145 0x91 -#define LCD_REG_146 0x92 -#define LCD_REG_147 0x93 -#define LCD_REG_148 0x94 -#define LCD_REG_149 0x95 -#define LCD_REG_150 0x96 -#define LCD_REG_151 0x97 -#define LCD_REG_152 0x98 -#define LCD_REG_153 0x99 -#define LCD_REG_154 0x9A -#define LCD_REG_157 0x9D -#define LCD_REG_192 0xC0 -#define LCD_REG_193 0xC1 -#define LCD_REG_227 0xE3 -#define LCD_REG_229 0xE5 -#define LCD_REG_231 0xE7 -#define LCD_REG_239 0xEF - - -/** - * @brief LCD color - */ -#define LCD_COLOR_WHITE 0xFFFF -#define LCD_COLOR_BLACK 0x0000 -#define LCD_COLOR_GREY 0xF7DE -#define LCD_COLOR_BLUE 0x001F -#define LCD_COLOR_BLUE2 0x051F -#define LCD_COLOR_RED 0xF800 -#define LCD_COLOR_MAGENTA 0xF81F -#define LCD_COLOR_GREEN 0x07E0 -#define LCD_COLOR_CYAN 0x7FFF -#define LCD_COLOR_YELLOW 0xFFE0 - -/** - * @brief LCD Lines depending on the chosen fonts. - */ -#define LCD_LINE_0 LINE(0) -#define LCD_LINE_1 LINE(1) -#define LCD_LINE_2 LINE(2) -#define LCD_LINE_3 LINE(3) -#define LCD_LINE_4 LINE(4) -#define LCD_LINE_5 LINE(5) -#define LCD_LINE_6 LINE(6) -#define LCD_LINE_7 LINE(7) -#define LCD_LINE_8 LINE(8) -#define LCD_LINE_9 LINE(9) -#define LCD_LINE_10 LINE(10) -#define LCD_LINE_11 LINE(11) -#define LCD_LINE_12 LINE(12) -#define LCD_LINE_13 LINE(13) -#define LCD_LINE_14 LINE(14) -#define LCD_LINE_15 LINE(15) -#define LCD_LINE_16 LINE(16) -#define LCD_LINE_17 LINE(17) -#define LCD_LINE_18 LINE(18) -#define LCD_LINE_19 LINE(19) -#define LCD_LINE_20 LINE(20) -#define LCD_LINE_21 LINE(21) -#define LCD_LINE_22 LINE(22) -#define LCD_LINE_23 LINE(23) -#define LCD_LINE_24 LINE(24) -#define LCD_LINE_25 LINE(25) -#define LCD_LINE_26 LINE(26) -#define LCD_LINE_27 LINE(27) -#define LCD_LINE_28 LINE(28) -#define LCD_LINE_29 LINE(29) - -/** - * @brief LCD default font - */ -#define LCD_DEFAULT_FONT Font16x24 - -/** - * @brief LCD Direction - */ -#define LCD_DIR_HORIZONTAL 0x0000 -#define LCD_DIR_VERTICAL 0x0001 - -/** - * @brief LCD Size (Width and Height) - */ -#define LCD_PIXEL_WIDTH 0x0140 -#define LCD_PIXEL_HEIGHT 0x00F0 - -/** - * @} - */ - -/** @defgroup STM3210B_EVAL_LCD_Exported_Macros - * @{ - */ -#define ASSEMBLE_RGB(R, G, B) ((((R)& 0xF8) << 8) | (((G) & 0xFC) << 3) | (((B) & 0xF8) >> 3)) -/** - * @} - */ - - - -/** @defgroup STM3210B_EVAL_LCD_Exported_Functions - * @{ - */ -void LCD_DeInit(void); -void LCD_Setup(void); -void STM3210B_LCD_Init(void); -void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor); -void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor); -void LCD_SetTextColor(__IO uint16_t Color); -void LCD_SetBackColor(__IO uint16_t Color); -void LCD_ClearLine(uint8_t Line); -void LCD_Clear(uint16_t Color); -void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos); -void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c); -void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii); -void LCD_SetFont(sFONT *fonts); -sFONT *LCD_GetFont(void); -void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr); -void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width); -void LCD_WindowModeDisable(void); -void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction); -void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width); -void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius); -void LCD_DrawMonoPict(const uint32_t *Pict); -void LCD_DrawBMP(uint32_t BmpAddress); -void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2); -void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); -void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius); -void LCD_PolyLine(pPoint Points, uint16_t PointCount); -void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount); -void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount); -void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount); -void LCD_FillPolyLine(pPoint Points, uint16_t PointCount); - -void LCD_nCS_StartByte(uint8_t Start_Byte); -void LCD_WriteRegIndex(uint8_t LCD_Reg); -void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue); -void LCD_WriteRAM_Prepare(void); -void LCD_WriteRAMWord(uint16_t RGB_Code); -uint16_t LCD_ReadReg(uint8_t LCD_Reg); -void LCD_WriteRAM(uint16_t RGB_Code); -void LCD_PowerOn(void); -void LCD_DisplayOn(void); -void LCD_DisplayOff(void); - -void LCD_CtrlLinesConfig(void); -void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, uint16_t CtrlPins, BitAction BitVal); -void LCD_SPIConfig(void); - -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM3210B_EVAL_LCD_H */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval.c deleted file mode 100644 index 67d49c234..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval.c +++ /dev/null @@ -1,604 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210c_eval.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides - * - set of firmware functions to manage Leds, push-button and COM ports - * - low level initialization functions for SD card (on SPI) and I2C - * serial EEPROM (sEE) - * available on STM3210C-EVAL evaluation board from STMicroelectronics. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm3210c_eval.h" -#include "stm32f10x_spi.h" -#include "stm32f10x_i2c.h" -#include "stm32f10x_dma.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210C_EVAL - * @{ - */ - -/** @defgroup STM3210C_EVAL_LOW_LEVEL - * @brief This file provides firmware functions to manage Leds, push-buttons, - * COM ports, SD card on SPI and EEPROM (sEE) available on STM3210C-EVAL - * evaluation board from STMicroelectronics. - * @{ - */ - -/** @defgroup STM3210C_EVAL_LOW_LEVEL_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210C_EVAL_LOW_LEVEL_Private_Defines - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210C_EVAL_LOW_LEVEL_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210C_EVAL_LOW_LEVEL_Private_Variables - * @{ - */ -GPIO_TypeDef* GPIO_PORT[LEDn] = {LED1_GPIO_PORT, LED2_GPIO_PORT, LED3_GPIO_PORT, - LED4_GPIO_PORT}; -const uint16_t GPIO_PIN[LEDn] = {LED1_PIN, LED2_PIN, LED3_PIN, - LED4_PIN}; -const uint32_t GPIO_CLK[LEDn] = {LED1_GPIO_CLK, LED2_GPIO_CLK, LED3_GPIO_CLK, - LED4_GPIO_CLK}; - -GPIO_TypeDef* BUTTON_PORT[BUTTONn] = {WAKEUP_BUTTON_GPIO_PORT, TAMPER_BUTTON_GPIO_PORT, - KEY_BUTTON_GPIO_PORT}; - -const uint16_t BUTTON_PIN[BUTTONn] = {WAKEUP_BUTTON_PIN, TAMPER_BUTTON_PIN, - KEY_BUTTON_PIN}; - -const uint32_t BUTTON_CLK[BUTTONn] = {WAKEUP_BUTTON_GPIO_CLK, TAMPER_BUTTON_GPIO_CLK, - KEY_BUTTON_GPIO_CLK}; - -const uint16_t BUTTON_EXTI_LINE[BUTTONn] = {WAKEUP_BUTTON_EXTI_LINE, - TAMPER_BUTTON_EXTI_LINE, - KEY_BUTTON_EXTI_LINE}; - -const uint16_t BUTTON_PORT_SOURCE[BUTTONn] = {WAKEUP_BUTTON_EXTI_PORT_SOURCE, - TAMPER_BUTTON_EXTI_PORT_SOURCE, - KEY_BUTTON_EXTI_PORT_SOURCE}; - -const uint16_t BUTTON_PIN_SOURCE[BUTTONn] = {WAKEUP_BUTTON_EXTI_PIN_SOURCE, - TAMPER_BUTTON_EXTI_PIN_SOURCE, - KEY_BUTTON_EXTI_PIN_SOURCE}; - -const uint16_t BUTTON_IRQn[BUTTONn] = {WAKEUP_BUTTON_EXTI_IRQn, TAMPER_BUTTON_EXTI_IRQn, - KEY_BUTTON_EXTI_IRQn}; - -USART_TypeDef* COM_USART[COMn] = {EVAL_COM1}; - -GPIO_TypeDef* COM_TX_PORT[COMn] = {EVAL_COM1_TX_GPIO_PORT}; - -GPIO_TypeDef* COM_RX_PORT[COMn] = {EVAL_COM1_RX_GPIO_PORT}; - -const uint32_t COM_USART_CLK[COMn] = {EVAL_COM1_CLK}; - -const uint32_t COM_TX_PORT_CLK[COMn] = {EVAL_COM1_TX_GPIO_CLK}; - -const uint32_t COM_RX_PORT_CLK[COMn] = {EVAL_COM1_RX_GPIO_CLK}; - -const uint16_t COM_TX_PIN[COMn] = {EVAL_COM1_TX_PIN}; - -const uint16_t COM_RX_PIN[COMn] = {EVAL_COM1_RX_PIN}; - -DMA_InitTypeDef sEEDMA_InitStructure; - -/** - * @} - */ - - -/** @defgroup STM3210C_EVAL_LOW_LEVEL_Private_FunctionPrototypes - * @{ - */ -/** - * @} - */ - -/** @defgroup STM3210C_EVAL_LOW_LEVEL_Private_Functions - * @{ - */ - -/** - * @brief Configures LED GPIO. - * @param Led: Specifies the Led to be configured. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDInit(Led_TypeDef Led) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable the GPIO_LED Clock */ - RCC_APB2PeriphClockCmd(GPIO_CLK[Led], ENABLE); - - /* Configure the GPIO_LED pin */ - GPIO_InitStructure.GPIO_Pin = GPIO_PIN[Led]; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - - GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure); -} - -/** - * @brief Turns selected LED On. - * @param Led: Specifies the Led to be set on. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDOn(Led_TypeDef Led) -{ - GPIO_PORT[Led]->BSRR = GPIO_PIN[Led]; -} - -/** - * @brief Turns selected LED Off. - * @param Led: Specifies the Led to be set off. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDOff(Led_TypeDef Led) -{ - GPIO_PORT[Led]->BRR = GPIO_PIN[Led]; -} - -/** - * @brief Toggles the selected LED. - * @param Led: Specifies the Led to be toggled. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDToggle(Led_TypeDef Led) -{ - GPIO_PORT[Led]->ODR ^= GPIO_PIN[Led]; -} - -/** - * @brief Configures Button GPIO and EXTI Line. - * @param Button: Specifies the Button to be configured. - * This parameter can be one of following parameters: - * @arg BUTTON_WAKEUP: Wakeup Push Button - * @arg BUTTON_TAMPER: Tamper Push Button - * @arg BUTTON_KEY: Key Push Button - * @arg BUTTON_RIGHT: Joystick Right Push Button - * @arg BUTTON_LEFT: Joystick Left Push Button - * @arg BUTTON_UP: Joystick Up Push Button - * @arg BUTTON_DOWN: Joystick Down Push Button - * @arg BUTTON_SEL: Joystick Sel Push Button - * @param Button_Mode: Specifies Button mode. - * This parameter can be one of following parameters: - * @arg BUTTON_MODE_GPIO: Button will be used as simple IO - * @arg BUTTON_MODE_EXTI: Button will be connected to EXTI line with interrupt - * generation capability - * @retval None - */ -void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode) -{ - GPIO_InitTypeDef GPIO_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable the BUTTON Clock */ - RCC_APB2PeriphClockCmd(BUTTON_CLK[Button] | RCC_APB2Periph_AFIO, ENABLE); - - /* Configure Button pin as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_InitStructure.GPIO_Pin = BUTTON_PIN[Button]; - GPIO_Init(BUTTON_PORT[Button], &GPIO_InitStructure); - - - if (Button_Mode == BUTTON_MODE_EXTI) - { - /* Connect Button EXTI Line to Button GPIO Pin */ - GPIO_EXTILineConfig(BUTTON_PORT_SOURCE[Button], BUTTON_PIN_SOURCE[Button]); - - /* Configure Button EXTI line */ - EXTI_InitStructure.EXTI_Line = BUTTON_EXTI_LINE[Button]; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - - if(Button != BUTTON_WAKEUP) - { - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; - } - else - { - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - } - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable and set Button EXTI Interrupt to the lowest priority */ - NVIC_InitStructure.NVIC_IRQChannel = BUTTON_IRQn[Button]; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - - NVIC_Init(&NVIC_InitStructure); - } -} - -/** - * @brief Returns the selected Button state. - * @param Button: Specifies the Button to be checked. - * This parameter can be one of following parameters: - * @arg BUTTON_WAKEUP: Wakeup Push Button - * @arg BUTTON_TAMPER: Tamper Push Button - * @arg BUTTON_KEY: Key Push Button - * @arg BUTTON_RIGHT: Joystick Right Push Button - * @arg BUTTON_LEFT: Joystick Left Push Button - * @arg BUTTON_UP: Joystick Up Push Button - * @arg BUTTON_DOWN: Joystick Down Push Button - * @arg BUTTON_SEL: Joystick Sel Push Button - * @retval The Button GPIO pin value. - */ -uint32_t STM_EVAL_PBGetState(Button_TypeDef Button) -{ - return GPIO_ReadInputDataBit(BUTTON_PORT[Button], BUTTON_PIN[Button]); -} - - -/** - * @brief Configures COM port. - * @param COM: Specifies the COM port to be configured. - * This parameter can be one of following parameters: - * @arg COM1 - * @arg COM2 - * @param USART_InitStruct: pointer to a USART_InitTypeDef structure that - * contains the configuration information for the specified USART peripheral. - * @retval None - */ -void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_APB2PeriphClockCmd(COM_TX_PORT_CLK[COM] | COM_RX_PORT_CLK[COM] | RCC_APB2Periph_AFIO, ENABLE); - - if (COM == COM1) - { - /* Enable the USART2 Pins Software Remapping */ - GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE); - RCC_APB1PeriphClockCmd(COM_USART_CLK[COM], ENABLE); - } - - /* Configure USART Tx as alternate function push-pull */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_InitStructure.GPIO_Pin = COM_TX_PIN[COM]; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(COM_TX_PORT[COM], &GPIO_InitStructure); - - /* Configure USART Rx as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_InitStructure.GPIO_Pin = COM_RX_PIN[COM]; - GPIO_Init(COM_RX_PORT[COM], &GPIO_InitStructure); - - /* USART configuration */ - USART_Init(COM_USART[COM], USART_InitStruct); - - /* Enable USART */ - USART_Cmd(COM_USART[COM], ENABLE); -} - -/** - * @brief DeInitializes the SD/SD communication. - * @param None - * @retval None - */ -void SD_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - SPI_Cmd(SD_SPI, DISABLE); /*!< SD_SPI disable */ - SPI_I2S_DeInit(SD_SPI); /*!< DeInitializes the SD_SPI */ - - /*!< SD_SPI Periph clock disable */ - RCC_APB1PeriphClockCmd(SD_SPI_CLK, DISABLE); - /*!< DeRemap SPI3 Pins */ - GPIO_PinRemapConfig(GPIO_Remap_SPI3, DISABLE); - - /*!< Configure SD_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(SD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MISO_PIN; - GPIO_Init(SD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MOSI_PIN; - GPIO_Init(SD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_CS_PIN pin: SD Card CS pin */ - GPIO_InitStructure.GPIO_Pin = SD_CS_PIN; - GPIO_Init(SD_CS_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_DETECT_PIN pin: SD Card detect pin */ - GPIO_InitStructure.GPIO_Pin = SD_DETECT_PIN; - GPIO_Init(SD_DETECT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the SD_SPI and CS pins. - * @param None - * @retval None - */ -void SD_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - SPI_InitTypeDef SPI_InitStructure; - - /*!< SD_SPI_CS_GPIO, SD_SPI_MOSI_GPIO, SD_SPI_MISO_GPIO, SD_SPI_DETECT_GPIO - and SD_SPI_SCK_GPIO Periph clock enable */ - RCC_APB2PeriphClockCmd(SD_CS_GPIO_CLK | SD_SPI_MOSI_GPIO_CLK | SD_SPI_MISO_GPIO_CLK | - SD_SPI_SCK_GPIO_CLK | SD_DETECT_GPIO_CLK, ENABLE); - - /*!< SD_SPI Periph clock enable */ - RCC_APB1PeriphClockCmd(SD_SPI_CLK, ENABLE); - /*!< AFIO Periph clock enable */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); - /*!< Remap SPI3 Pins */ - GPIO_PinRemapConfig(GPIO_Remap_SPI3,ENABLE); - - /*!< Configure SD_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(SD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MOSI_PIN; - GPIO_Init(SD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MISO_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(SD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_CS_PIN pin: SD Card CS pin */ - GPIO_InitStructure.GPIO_Pin = SD_CS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(SD_CS_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_DETECT_PIN pin: SD Card detect pin */ - GPIO_InitStructure.GPIO_Pin = SD_DETECT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_Init(SD_DETECT_GPIO_PORT, &GPIO_InitStructure); - - /*!< SD_SPI Config */ - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - SPI_InitStructure.SPI_CRCPolynomial = 7; - SPI_Init(SD_SPI, &SPI_InitStructure); - - SPI_Cmd(SD_SPI, ENABLE); /*!< SD_SPI enable */ -} - -/** - * @brief DeInitializes peripherals used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* sEE_I2C Peripheral Disable */ - I2C_Cmd(sEE_I2C, DISABLE); - - /* sEE_I2C DeInit */ - I2C_DeInit(sEE_I2C); - - /*!< sEE_I2C Periph clock disable */ - RCC_APB1PeriphClockCmd(sEE_I2C_CLK, DISABLE); - - /*!< GPIO configuration */ - /*!< Configure sEE_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = sEE_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(sEE_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sEE_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = sEE_I2C_SDA_PIN; - GPIO_Init(sEE_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /* Configure and enable I2C DMA TX Channel interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_TX_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO; - NVIC_InitStructure.NVIC_IRQChannelCmd = DISABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Configure and enable I2C DMA RX Channel interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_RX_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO; - NVIC_Init(&NVIC_InitStructure); - - /* Disable and Deinitialize the DMA channels */ - DMA_Cmd(sEE_I2C_DMA_CHANNEL_TX, DISABLE); - DMA_Cmd(sEE_I2C_DMA_CHANNEL_RX, DISABLE); - DMA_DeInit(sEE_I2C_DMA_CHANNEL_TX); - DMA_DeInit(sEE_I2C_DMA_CHANNEL_RX); -} - -/** - * @brief Initializes peripherals used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /*!< sEE_I2C_SCL_GPIO_CLK and sEE_I2C_SDA_GPIO_CLK Periph clock enable */ - RCC_APB2PeriphClockCmd(sEE_I2C_SCL_GPIO_CLK | sEE_I2C_SDA_GPIO_CLK, ENABLE); - - /*!< sEE_I2C Periph clock enable */ - RCC_APB1PeriphClockCmd(sEE_I2C_CLK, ENABLE); - - /*!< GPIO configuration */ - /*!< Configure sEE_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = sEE_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; - GPIO_Init(sEE_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sEE_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = sEE_I2C_SDA_PIN; - GPIO_Init(sEE_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /* Configure and enable I2C DMA TX Channel interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_TX_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Configure and enable I2C DMA RX Channel interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_RX_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO; - NVIC_Init(&NVIC_InitStructure); - - /*!< I2C DMA TX and RX channels configuration */ - /* Enable the DMA clock */ - RCC_AHBPeriphClockCmd(sEE_I2C_DMA_CLK, ENABLE); - - /* I2C TX DMA Channel configuration */ - DMA_DeInit(sEE_I2C_DMA_CHANNEL_TX); - sEEDMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)sEE_I2C_DR_Address; - sEEDMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)0; /* This parameter will be configured durig communication */ - sEEDMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; /* This parameter will be configured durig communication */ - sEEDMA_InitStructure.DMA_BufferSize = 0xFFFF; /* This parameter will be configured durig communication */ - sEEDMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - sEEDMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - sEEDMA_InitStructure.DMA_PeripheralDataSize = DMA_MemoryDataSize_Byte; - sEEDMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; - sEEDMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - sEEDMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; - sEEDMA_InitStructure.DMA_M2M = DMA_M2M_Disable; - DMA_Init(sEE_I2C_DMA_CHANNEL_TX, &sEEDMA_InitStructure); - - /* I2C RX DMA Channel configuration */ - DMA_DeInit(sEE_I2C_DMA_CHANNEL_RX); - DMA_Init(sEE_I2C_DMA_CHANNEL_RX, &sEEDMA_InitStructure); - - /* Enable the DMA Channels Interrupts */ - DMA_ITConfig(sEE_I2C_DMA_CHANNEL_TX, DMA_IT_TC, ENABLE); - DMA_ITConfig(sEE_I2C_DMA_CHANNEL_RX, DMA_IT_TC, ENABLE); -} - - -/** - * @brief Initializes DMA channel used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_LowLevel_DMAConfig(uint32_t pBuffer, uint32_t BufferSize, uint32_t Direction) -{ - /* Initialize the DMA with the new parameters */ - if (Direction == sEE_DIRECTION_TX) - { - /* Configure the DMA Tx Channel with the buffer address and the buffer size */ - sEEDMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)pBuffer; - sEEDMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; - sEEDMA_InitStructure.DMA_BufferSize = (uint32_t)BufferSize; - DMA_Init(sEE_I2C_DMA_CHANNEL_TX, &sEEDMA_InitStructure); - } - else - { - /* Configure the DMA Rx Channel with the buffer address and the buffer size */ - sEEDMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)pBuffer; - sEEDMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; - sEEDMA_InitStructure.DMA_BufferSize = (uint32_t)BufferSize; - DMA_Init(sEE_I2C_DMA_CHANNEL_RX, &sEEDMA_InitStructure); - } -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval.h deleted file mode 100644 index bc51d07c3..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval.h +++ /dev/null @@ -1,277 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210c_eval.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains definitions for STM3210C_EVAL's Leds, push-buttons - * COM ports, SD Card on SPI and sEE on I2C hardware resources. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 210 STMicroelectronics

- */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM3210C_EVAL_H -#define __STM3210C_EVAL_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210C_EVAL - * @{ - */ - -/** @addtogroup STM3210C_EVAL_LOW_LEVEL - * @{ - */ - -/** @defgroup STM3210C_EVAL_LOW_LEVEL_Exported_Types - * @{ - */ -/** - * @} - */ - -/** @defgroup STM3210C_EVAL_LOW_LEVEL_Exported_Constants - * @{ - */ - -/** @addtogroup STM3210C_EVAL_LOW_LEVEL_LED - * @{ - */ -#define LEDn 4 - -#define LED1_PIN GPIO_Pin_7 -#define LED1_GPIO_PORT GPIOD -#define LED1_GPIO_CLK RCC_APB2Periph_GPIOD - -#define LED2_PIN GPIO_Pin_13 -#define LED2_GPIO_PORT GPIOD -#define LED2_GPIO_CLK RCC_APB2Periph_GPIOD - -#define LED3_PIN GPIO_Pin_3 -#define LED3_GPIO_PORT GPIOD -#define LED3_GPIO_CLK RCC_APB2Periph_GPIOD - -#define LED4_PIN GPIO_Pin_4 -#define LED4_GPIO_PORT GPIOD -#define LED4_GPIO_CLK RCC_APB2Periph_GPIOD - - -/** - * @} - */ - -/** @addtogroup STM3210C_EVAL_LOW_LEVEL_BUTTON - * @{ - */ -#define BUTTONn 3 /*!< Joystick pins are connected to - an IO Expander (accessible through - I2C1 interface) */ - -/** - * @brief Wakeup push-button - */ -#define WAKEUP_BUTTON_PIN GPIO_Pin_0 -#define WAKEUP_BUTTON_GPIO_PORT GPIOA -#define WAKEUP_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOA -#define WAKEUP_BUTTON_EXTI_LINE EXTI_Line0 -#define WAKEUP_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOA -#define WAKEUP_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource0 -#define WAKEUP_BUTTON_EXTI_IRQn EXTI0_IRQn - -/** - * @brief Tamper push-button - */ -#define TAMPER_BUTTON_PIN GPIO_Pin_13 -#define TAMPER_BUTTON_GPIO_PORT GPIOC -#define TAMPER_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOC -#define TAMPER_BUTTON_EXTI_LINE EXTI_Line13 -#define TAMPER_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOC -#define TAMPER_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource13 -#define TAMPER_BUTTON_EXTI_IRQn EXTI15_10_IRQn - -/** - * @brief Key push-button - */ -#define KEY_BUTTON_PIN GPIO_Pin_9 -#define KEY_BUTTON_GPIO_PORT GPIOB -#define KEY_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOB -#define KEY_BUTTON_EXTI_LINE EXTI_Line9 -#define KEY_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOB -#define KEY_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource9 -#define KEY_BUTTON_EXTI_IRQn EXTI9_5_IRQn -/** - * @} - */ - -/** @addtogroup STM3210C_EVAL_LOW_LEVEL_COM - * @{ - */ -#define COMn 1 - -/** - * @brief Definition for COM port1, connected to USART2 (USART2 pins remapped on GPIOD) - */ -#define EVAL_COM1 USART2 -#define EVAL_COM1_CLK RCC_APB1Periph_USART2 -#define EVAL_COM1_TX_PIN GPIO_Pin_5 -#define EVAL_COM1_TX_GPIO_PORT GPIOD -#define EVAL_COM1_TX_GPIO_CLK RCC_APB2Periph_GPIOD -#define EVAL_COM1_RX_PIN GPIO_Pin_6 -#define EVAL_COM1_RX_GPIO_PORT GPIOD -#define EVAL_COM1_RX_GPIO_CLK RCC_APB2Periph_GPIOD -#define EVAL_COM1_IRQn USART2_IRQn - -/** - * @} - */ - -/** @addtogroup STM3210B_EVAL_SD_SPI - * @{ - */ -/** - * @brief SD SPI Interface pins - */ -#define SD_SPI SPI3 -#define SD_SPI_CLK RCC_APB1Periph_SPI3 -#define SD_SPI_SCK_PIN GPIO_Pin_10 /* PC.10 */ -#define SD_SPI_SCK_GPIO_PORT GPIOC /* GPIOC */ -#define SD_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOC -#define SD_SPI_MISO_PIN GPIO_Pin_11 /* PC.11 */ -#define SD_SPI_MISO_GPIO_PORT GPIOC /* GPIOC */ -#define SD_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOC -#define SD_SPI_MOSI_PIN GPIO_Pin_12 /* PC.12 */ -#define SD_SPI_MOSI_GPIO_PORT GPIOC /* GPIOC */ -#define SD_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOC -#define SD_CS_PIN GPIO_Pin_4 /* PA.04 */ -#define SD_CS_GPIO_PORT GPIOA /* GPIOA */ -#define SD_CS_GPIO_CLK RCC_APB2Periph_GPIOA -#define SD_DETECT_PIN GPIO_Pin_0 /* PE.00 */ -#define SD_DETECT_GPIO_PORT GPIOE /* GPIOE */ -#define SD_DETECT_GPIO_CLK RCC_APB2Periph_GPIOE - -/** - * @} - */ - -/** @addtogroup STM3210C_EVAL_LOW_LEVEL_I2C_EE - * @{ - */ -/** - * @brief I2C EEPROM Interface pins - */ -#define sEE_I2C I2C1 -#define sEE_I2C_CLK RCC_APB1Periph_I2C1 -#define sEE_I2C_SCL_PIN GPIO_Pin_6 /* PB.06 */ -#define sEE_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */ -#define sEE_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB -#define sEE_I2C_SDA_PIN GPIO_Pin_7 /* PB.07 */ -#define sEE_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */ -#define sEE_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB -#define sEE_M24C64_32 - -#define sEE_I2C_DMA DMA1 -#define sEE_I2C_DMA_CHANNEL_TX DMA1_Channel6 -#define sEE_I2C_DMA_CHANNEL_RX DMA1_Channel7 -#define sEE_I2C_DMA_FLAG_TX_TC DMA1_IT_TC6 -#define sEE_I2C_DMA_FLAG_TX_GL DMA1_IT_GL6 -#define sEE_I2C_DMA_FLAG_RX_TC DMA1_IT_TC7 -#define sEE_I2C_DMA_FLAG_RX_GL DMA1_IT_GL7 -#define sEE_I2C_DMA_CLK RCC_AHBPeriph_DMA1 -#define sEE_I2C_DR_Address ((uint32_t)0x40005410) -#define sEE_USE_DMA - -#define sEE_I2C_DMA_TX_IRQn DMA1_Channel6_IRQn -#define sEE_I2C_DMA_RX_IRQn DMA1_Channel7_IRQn -#define sEE_I2C_DMA_TX_IRQHandler DMA1_Channel6_IRQHandler -#define sEE_I2C_DMA_RX_IRQHandler DMA1_Channel7_IRQHandler -#define sEE_I2C_DMA_PREPRIO 0 -#define sEE_I2C_DMA_SUBPRIO 0 - -#define sEE_DIRECTION_TX 0 -#define sEE_DIRECTION_RX 1 - -/* Time constant for the delay caclulation allowing to have a millisecond - incrementing counter. This value should be equal to (System Clock / 1000). - ie. if system clock = 72MHz then sEE_TIME_CONST should be 72. */ -#define sEE_TIME_CONST 72 - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup STM3210C_EVAL_LOW_LEVEL_Exported_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210C_EVAL_LOW_LEVEL_Exported_Functions - * @{ - */ -void STM_EVAL_LEDInit(Led_TypeDef Led); -void STM_EVAL_LEDOn(Led_TypeDef Led); -void STM_EVAL_LEDOff(Led_TypeDef Led); -void STM_EVAL_LEDToggle(Led_TypeDef Led); -void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode); -uint32_t STM_EVAL_PBGetState(Button_TypeDef Button); -void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct); -void SD_LowLevel_DeInit(void); -void SD_LowLevel_Init(void); -void sEE_LowLevel_DeInit(void); -void sEE_LowLevel_Init(void); -void sEE_LowLevel_DMAConfig(uint32_t pBuffer, uint32_t BufferSize, uint32_t Direction); -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM3210C_EVAL_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_ioe.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_ioe.c deleted file mode 100644 index 5873564ce..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_ioe.c +++ /dev/null @@ -1,1594 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210c_eval_ioe.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file includes the IO Expander driver for STMPE811 IO Expander - * devices. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - /* File Info : --------------------------------------------------------------- - - Note: - ----- - - This driver uses the DMA method for sending and receiving data on I2C bus - which allow higher efficiency and reliability of the communication. - - SUPPORTED FEATURES: - - IO Read/write : Set/Reset and Read (Polling/Interrupt) - - Joystick: config and Read (Polling/Interrupt) - - Touch Screen Features: Single point mode (Polling/Interrupt) - - TempSensor Feature: accuracy not determined (Polling). - - UNSUPPORTED FEATURES: - - Row ADC Feature is not supported (not implemented on STM3210C-EVAL board) - ----------------------------------------------------------------------------*/ - -/* Includes ------------------------------------------------------------------*/ -#include "stm3210c_eval_ioe.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210C_EVAL - * @{ - */ - -/** @defgroup STM3210C_EVAL_IOE - * @brief This file includes the IO Expander driver for STMPE811 IO Expander - * devices. - * @{ - */ - -/** @defgroup STM3210C_EVAL_IOE_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210C_EVAL_IOE_Private_Defines - * @{ - */ -#define TIMEOUT_MAX 0x1000 /* 0; count--); - - if(TS_State.TouchDetected) - { - x = IOE_TS_Read_X(); - y = IOE_TS_Read_Y(); - xDiff = x > _x? (x - _x): (_x - x); - yDiff = y > _y? (y - _y): (_y - y); - if (xDiff + yDiff > 5) - { - _x = x; - _y = y; - } - } - /* Update the X position */ - TS_State.X = _x; - - /* Update the Y position */ - TS_State.Y = _y; - - /* Update the Z Pression index */ - TS_State.Z = IOE_TS_Read_Z(); - - /* Clear the interrupt pending bit and enable the FIFO again */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_FIFO_STA, 0x01); - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_FIFO_STA, 0x00); - - /* Return pointer to the updated structure */ - return &TS_State; -} - -/** - * @brief Returns the temperature row value (in 16 bit format). - * @param None - * @retval The temperature row value. - */ -uint32_t IOE_TempSens_GetData(void) -{ - static __IO uint32_t tmp = 0; - - /* Aquire data enable */ - I2C_WriteDeviceRegister(IOE_2_ADDR, IOE_REG_TEMP_CTRL, 0x03); - - /* Enable the TEMPSENS module */ - tmp = (uint32_t)((I2C_ReadDeviceRegister(IOE_2_ADDR, IOE_REG_TEMP_DATA) & 0x03) << 8); - tmp |= (uint32_t)I2C_ReadDeviceRegister(IOE_2_ADDR, IOE_REG_TEMP_DATA + 1); - - tmp = (uint32_t)((33 * tmp * 100) / 751); - tmp = (uint32_t)((tmp + 5) / 10); - - /* return the temprature row value */ - return tmp; -} - -/** - * @brief Checks the selected Global interrupt source pending bit - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param Global_IT: the Global interrupt source to be checked, could be: - * @arg Global_IT_GPIO : All IOs interrupt - * @arg Global_IT_ADC : ADC interrupt - * @arg Global_IT_TEMP : Temperature Sensor interrupts - * @arg Global_IT_FE : Touch Screen Controller FIFO Error interrupt - * @arg Global_IT_FF : Touch Screen Controller FIFO Full interrupt - * @arg Global_IT_FOV : Touch Screen Controller FIFO Overrun interrupt - * @arg Global_IT_FTH : Touch Screen Controller FIFO Threshold interrupt - * @arg Global_IT_TOUCH : Touch Screen Controller Touch Detected interrupt - * @retval Status of the checked flag. Could be SET or RESET. - */ -FlagStatus IOE_GetGITStatus(uint8_t DeviceAddr, uint8_t Global_IT) -{ - __IO uint8_t tmp = 0; - - /* get the Interrupt status */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_INT_STA); - - if ((tmp & (uint8_t)Global_IT) != 0) - { - return SET; - } - else - { - return RESET; - } -} - -/** - * @brief Clears the selected Global interrupt pending bit(s) - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param Global_IT: the Global interrupt to be cleared, could be any combination - * of the following values: - * @arg Global_IT_GPIO : All IOs interrupt - * @arg Global_IT_ADC : ADC interrupt - * @arg Global_IT_TEMP : Temperature Sensor interrupts - * @arg Global_IT_FE : Touch Screen Controller FIFO Error interrupt - * @arg Global_IT_FF : Touch Screen Controller FIFO Full interrupt - * @arg Global_IT_FOV : Touch Screen Controller FIFO Overrun interrupt - * @arg Global_IT_FTH : Touch Screen Controller FIFO Threshold interrupt - * @arg Global_IT_TOUCH : Touch Screen Controller Touch Detected interrupt - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_ClearGITPending(uint8_t DeviceAddr, uint8_t Global_IT) -{ - /* Write 1 to the bits that have to be cleared */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_INT_STA, Global_IT); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Checks the status of the selected IO interrupt pending bit - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param IO_IT: the IO interrupt to be checked could be IO_ITx Where x can be - * from 0 to 7. - * @retval Status of the checked flag. Could be SET or RESET. - */ -FlagStatus IOE_GetIOITStatus(uint8_t DeviceAddr, uint8_t IO_IT) -{ - uint8_t tmp = 0; - - /* get the Interrupt status */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_GPIO_INT_STA); - - if ((tmp & (uint8_t)IO_IT) != 0) - { - return SET; - } - else - { - return RESET; - } -} - -/** - * @brief Clears the selected IO interrupt pending bit(s). - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param IO_IT: the IO interrupt to be checked could be IO_ITx Where x can be - * from 0 to 7. - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_ClearIOITPending(uint8_t DeviceAddr, uint8_t IO_IT) -{ - /* Write 1 to the bits that have to be cleared */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_INT_STA, IO_IT); - - /* Clear the Edge detection pending bit*/ - I2C_WriteDeviceRegister(IOE_2_ADDR, IOE_REG_GPIO_ED, IO_IT); - - /* Clear the Rising edge pending bit */ - I2C_WriteDeviceRegister(IOE_2_ADDR, IOE_REG_GPIO_RE, IO_IT); - - /* Clear the Falling edge pending bit */ - I2C_WriteDeviceRegister(IOE_2_ADDR, IOE_REG_GPIO_FE, IO_IT); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Checks if the selected device is correctly configured and - * communicates correctly ont the I2C bus. - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @retval IOE_OK if IOE is operational. Other value if failure. - */ -uint8_t IOE_IsOperational(uint8_t DeviceAddr) -{ - /* Return Error if the ID is not correct */ - if( IOE_ReadID(DeviceAddr) != (uint16_t)STMPE811_ID ) - { - /* Check if a Timeout occured */ - if (IOE_TimeOut == 0) - { - return (IOE_TimeoutUserCallback()); - } - else - { - return IOE_FAILURE; /* ID is not Correct */ - } - } - else - { - return IOE_OK; /* ID is correct */ - } -} - -/** - * @brief Resets the IO Expander by Software (SYS_CTRL1, RESET bit). - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_Reset(uint8_t DeviceAddr) -{ - /* Power Down the IO_Expander */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_SYS_CTRL1, 0x02); - - /* wait for a delay to insure registers erasing */ - _delay_(2); - - /* Power On the Codec after the power off => all registers are reinitialized*/ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_SYS_CTRL1, 0x00); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Reads the selected device's ID. - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @retval The Device ID (two bytes). - */ -uint16_t IOE_ReadID(uint8_t DeviceAddr) -{ - uint16_t tmp = 0; - - /* Read device ID */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, 0); - tmp = (uint32_t)(tmp << 8); - tmp |= (uint32_t)I2C_ReadDeviceRegister(DeviceAddr, 1); - - /* Return the ID */ - return (uint16_t)tmp; -} - -/** - * @brief Configures the selcted IO Expander functionalities. - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param IOE_TEMPSENS_FCT: the functions to be configured. could be any - * combination of the following values: - * @arg IOE_IO_FCT : IO function - * @arg IOE_TS_FCT : Touch Screen function - * @arg IOE_ADC_FCT : ADC function - * @arg IOE_TEMPSENS_FCT : Tempreature Sensor function - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_FnctCmd(uint8_t DeviceAddr, uint8_t Fct, FunctionalState NewState) -{ - uint8_t tmp = 0; - - /* Get the register value */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_SYS_CTRL2); - - if (NewState != DISABLE) - { - /* Set the Functionalities to be Enabled */ - tmp &= ~(uint8_t)Fct; - } - else - { - /* Set the Functionalities to be Disabled */ - tmp |= (uint8_t)Fct; - } - - /* Set the register value */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_SYS_CTRL2, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Configures the selected pin direction (to be an input or an output) - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param IO_Pin: IO_Pin_x: Where x can be from 0 to 7. - * @param Direction: could be Direction_IN or Direction_OUT. - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_IOPinConfig(uint8_t DeviceAddr, uint8_t IO_Pin, uint8_t Direction) -{ - uint8_t tmp = 0; - - /* Get all the Pins direction */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_GPIO_DIR); - - if (Direction != Direction_IN) - { - tmp |= (uint8_t)IO_Pin; - } - else - { - tmp &= ~(uint8_t)IO_Pin; - } - - /* Write the register new value */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_DIR, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Enables or disables the Global interrupt. - * @param DeviceAddr: The address of the IOExpander, could be :I OE_1_ADDR - * or IOE_2_ADDR. - * @param NewState: could be ENABLE or DISABLE. - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_GITCmd(uint8_t DeviceAddr, FunctionalState NewState) -{ - uint8_t tmp = 0; - - /* Read the Interrupt Control register */ - I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_INT_CTRL); - - if (NewState != DISABLE) - { - /* Set the global interrupts to be Enabled */ - tmp |= (uint8_t)IOE_GIT_EN; - } - else - { - /* Set the global interrupts to be Disabled */ - tmp &= ~(uint8_t)IOE_GIT_EN; - } - - /* Write Back the Interrupt Control register */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_INT_CTRL, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Configures the selected source to generate or not a global interrupt - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param Global_IT: the interrupt source to be configured, could be: - * @arg Global_IT_GPIO : All IOs interrupt - * @arg Global_IT_ADC : ADC interrupt - * @arg Global_IT_TEMP : Temperature Sensor interrupts - * @arg Global_IT_FE : Touch Screen Controller FIFO Error interrupt - * @arg Global_IT_FF : Touch Screen Controller FIFO Full interrupt - * @arg Global_IT_FOV : Touch Screen Controller FIFO Overrun interrupt - * @arg Global_IT_FTH : Touch Screen Controller FIFO Threshold interrupt - * @arg Global_IT_TOUCH : Touch Screen Controller Touch Detected interrupt - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_GITConfig(uint8_t DeviceAddr, uint8_t Global_IT, FunctionalState NewState) -{ - uint8_t tmp = 0; - - /* Get the current value of the INT_EN register */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_INT_EN); - - if (NewState != DISABLE) - { - /* Set the interrupts to be Enabled */ - tmp |= (uint8_t)Global_IT; - } - else - { - /* Set the interrupts to be Disabled */ - tmp &= ~(uint8_t)Global_IT; - } - /* Set the register */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_INT_EN, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Configures the selected pins to generate an interrupt or not. - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param IO_IT: The IO interrupt to be configured. This parameter could be any - * combination of the following values: - * @arg IO_IT_x: where x can be from 0 to 7. - * @param NewState: could be ENABLE or DISABLE. - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_IOITConfig(uint8_t DeviceAddr, uint8_t IO_IT, FunctionalState NewState) -{ - uint8_t tmp = 0; - - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_GPIO_INT_EN); - - if (NewState != DISABLE) - { - /* Set the interrupts to be Enabled */ - tmp |= (uint8_t)IO_IT; - } - else - { - /* Set the interrupts to be Disabled */ - tmp &= ~(uint8_t)IO_IT; - } - - /* Set the register */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_INT_EN, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Configures the touch Screen Controller (Single point detection) - * @param None - * @retval IOE_OK if all initializations are OK. Other value if error. - */ -uint8_t IOE_TS_Config(void) -{ - uint8_t tmp = 0; - - /* Enable TSC Fct: already done in IOE_Config */ - tmp = I2C_ReadDeviceRegister(IOE_1_ADDR, IOE_REG_SYS_CTRL2); - tmp &= ~(uint32_t)(IOE_TS_FCT | IOE_ADC_FCT); - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_SYS_CTRL2, tmp); - - /* Enable the TSC gloabl interrupts */ - tmp = I2C_ReadDeviceRegister(IOE_1_ADDR, IOE_REG_INT_EN); - tmp |= (uint32_t)(IOE_GIT_TOUCH | IOE_GIT_FTH | IOE_GIT_FOV); - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_INT_EN, tmp); - - /* Select Sample Time, bit number and ADC Reference */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_ADC_CTRL1, 0x49); - - /* Wait for ~20 ms */ - _delay_(2); - - /* Select the ADC clock speed: 3.25 MHz */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_ADC_CTRL2, 0x01); - - /* Select TSC pins in non default mode */ - tmp = I2C_ReadDeviceRegister(IOE_1_ADDR, IOE_REG_GPIO_AF); - tmp &= ~(uint8_t)TOUCH_IO_ALL; - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_GPIO_AF, tmp); - - /* Select 2 nF filter capacitor */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_TSC_CFG, 0x9A); - - /* Select single point reading */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_FIFO_TH, 0x01); - - /* Write 0x01 to clear the FIFO memory content. */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_FIFO_STA, 0x01); - - /* Write 0x00 to put the FIFO back into operation mode */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_FIFO_STA, 0x00); - - /* set the data format for Z value: 7 fractional part and 1 whole part */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_TSC_FRACT_XYZ, 0x01); - - /* set the driving capability of the device for TSC pins: 50mA */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_TSC_I_DRIVE, 0x01); - - /* Use no tracking index, touchscreen controller operation mode (XYZ) and - enable the TSC */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_TSC_CTRL, 0x01); - - /* Clear all the status pending bits */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_INT_STA, 0xFF); - - /* Initialize the TS structure to their default values */ - TS_State.TouchDetected = TS_State.X = TS_State.Y = TS_State.Z = 0; - - /* All configuration done */ - return IOE_OK; -} - -/** - * @brief Configures and enables the Temperature sensor module. - * @param None - * @retval IOE_OK if all initializations are OK. Other value if error. - */ -uint8_t IOE_TempSens_Config(void) -{ - __IO uint8_t tmp = 0; - - /* Enable Temperature Sensor Fct: already done in IOE_Config */ - tmp = I2C_ReadDeviceRegister(IOE_2_ADDR, IOE_REG_SYS_CTRL2); - tmp &= ~(uint32_t)(IOE_TEMPSENS_FCT | IOE_ADC_FCT); - I2C_WriteDeviceRegister(IOE_2_ADDR, IOE_REG_SYS_CTRL2, tmp); - - /* Enable the TEMPSENS module */ - I2C_WriteDeviceRegister(IOE_2_ADDR, IOE_REG_TEMP_CTRL, 0x01); - - /* Aquire data enable */ - I2C_WriteDeviceRegister(IOE_2_ADDR, IOE_REG_TEMP_CTRL, 0x3); - - /* All configuration done */ - return IOE_OK; -} - -/** - * @brief Configures the selected pin to be in Alternate function or not - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param IO_Pin: IO_Pin_x, Where x can be from 0 to 7. - * @param NewState: State of the AF for the selected pin, could be - * ENABLE or DISABLE. - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_IOAFConfig(uint8_t DeviceAddr, uint8_t IO_Pin, FunctionalState NewState) -{ - uint8_t tmp = 0; - - /* Get the current state of the GPIO_AF register */ - tmp = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_GPIO_AF); - - if (NewState != DISABLE) - { - /* Enable the selected pins alternate function */ - tmp |= (uint8_t)IO_Pin; - } - else - { - /* Disable the selected pins alternate function */ - tmp &= ~(uint8_t)IO_Pin; - } - - /* Write back the new valu in GPIO_AF register */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_AF, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Configures the Edge for which a transition is detectable for the - * the selected pin. - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param IO_Pin: IO_Pin_x, Where x can be from 0 to 7. - * @param Edge: The edge which will be detected. This parameter can be one or a - * a combination of follwing values: EDGE_FALLING and EDGE_RISING . - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_IOEdgeConfig(uint8_t DeviceAddr, uint8_t IO_Pin, uint8_t Edge) -{ - uint8_t tmp1 = 0, tmp2 = 0; - - /* Get the registers values */ - tmp1 = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_GPIO_FE); - tmp2 = I2C_ReadDeviceRegister(DeviceAddr, IOE_REG_GPIO_RE); - - /* Disable the Falling Edge */ - tmp1 &= ~(uint8_t)IO_Pin; - /* Disable the Falling Edge */ - tmp2 &= ~(uint8_t)IO_Pin; - - /* Enable the Falling edge if selected */ - if (Edge & EDGE_FALLING) - { - tmp1 |= (uint8_t)IO_Pin; - } - - /* Enable the Rising edge if selected */ - if (Edge & EDGE_RISING) - { - tmp2 |= (uint8_t)IO_Pin; - } - - /* Write back the registers values */ - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_FE, tmp1); - I2C_WriteDeviceRegister(DeviceAddr, IOE_REG_GPIO_RE, tmp2); - - /* if OK return 0 */ - return IOE_OK; -} - -/** - * @brief Configures the Interrupt line active state and format (level/edge) - * @param Polarity: could be - * @arg Polarity_Low: Interrupt line is active Low/Falling edge - * @arg Polarity_High: Interrupt line is active High/Rising edge - * @param Type: Interrupt line activity type, could be one of the following values - * @arg Type_Level: Interrupt line is active in level model - * @arg Type_Edge: Interrupt line is active in edge model - * @retval IOE_OK: if all initializations are OK. Other value if error. - */ -uint8_t IOE_ITOutConfig(uint8_t Polarity, uint8_t Type) -{ - uint8_t tmp = 0; - - /* Get the register IOE_REG_INT_CTRL value */ - tmp = I2C_ReadDeviceRegister(IOE_1_ADDR, IOE_REG_INT_CTRL); - - /* Mask the polarity and type bits */ - tmp &= ~(uint8_t)0x06; - - /* Modify the Interrupt Output line configuration */ - tmp |= (uint8_t)(Polarity | Type); - - /* Set the register */ - I2C_WriteDeviceRegister(IOE_1_ADDR, IOE_REG_INT_CTRL, tmp); - - - /* Get the register IOE_REG_INT_CTRL value */ - tmp = I2C_ReadDeviceRegister(IOE_2_ADDR, IOE_REG_INT_CTRL); - /* Mask the polarity and type bits */ - tmp &= ~(uint8_t)0x06; - - /* Modify the Interrupt Output line configuration */ - tmp |= (uint8_t)(Polarity | Type); - - /* Set the register */ - I2C_WriteDeviceRegister(IOE_2_ADDR, IOE_REG_INT_CTRL, tmp); - - /* If all OK return IOE_OK */ - return IOE_OK; -} - -/** - * @brief Writes a value in a register of the device through I2C. - * @param DeviceAddr: The address of the IOExpander, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param RegisterAddr: The target register adress - * @param RegisterValue: The target register value to be written - * @retval IOE_OK: if all operations are OK. Other value if error. - */ -uint8_t I2C_WriteDeviceRegister(uint8_t DeviceAddr, uint8_t RegisterAddr, uint8_t RegisterValue) -{ - uint32_t read_verif = 0; - uint8_t IOE_BufferTX = 0; - - /* Get Value to be written */ - IOE_BufferTX = RegisterValue; - - /* Configure DMA Peripheral */ - IOE_DMA_Config(IOE_DMA_TX, (uint8_t*)(&IOE_BufferTX)); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(IOE_I2C, ENABLE); - - /* Test on SB Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_SB) == RESET) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Transmit the slave address and enable writing operation */ - I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Transmit the first address for r/w operations */ - I2C_SendData(IOE_I2C, RegisterAddr); - - /* Test on TXE FLag (data dent) */ - IOE_TimeOut = TIMEOUT_MAX; - while ((!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_BTF))) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(IOE_I2C,ENABLE); - - /* Enable DMA TX Channel */ - DMA_Cmd(IOE_DMA_TX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - IOE_TimeOut = TIMEOUT_MAX; - while (!DMA_GetFlagStatus(IOE_DMA_TX_TCFLAG)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Wait until BTF Flag is set before generating STOP */ - IOE_TimeOut = 2 * TIMEOUT_MAX; - while ((!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_BTF))) - { - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(IOE_I2C, ENABLE); - - /* Disable DMA TX Channel */ - DMA_Cmd(IOE_DMA_TX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(IOE_I2C,DISABLE); - - /* Clear DMA TX Transfer Complete Flag */ - DMA_ClearFlag(IOE_DMA_TX_TCFLAG); - -#ifdef VERIFY_WRITTENDATA - /* Verify (if needed) that the loaded data is correct */ - - /* Read the just written register*/ - read_verif = I2C_ReadDeviceRegister(DeviceAddr, RegisterAddr); - /* Load the register and verify its value */ - if (read_verif != RegisterValue) - { - /* Control data wrongly tranfered */ - read_verif = IOE_FAILURE; - } - else - { - /* Control data correctly transfered */ - read_verif = 0; - } -#endif - - /* Return the verifying value: 0 (Passed) or 1 (Failed) */ - return read_verif; -} - -/** - * @brief Reads a register of the device through I2C. - * @param DeviceAddr: The address of the device, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param RegisterAddr: The target register adress (between 00x and 0x24) - * @retval The value of the read register (0xAA if Timout occured) - */ -uint8_t I2C_ReadDeviceRegister(uint8_t DeviceAddr, uint8_t RegisterAddr) -{ - uint8_t IOE_BufferRX[2] = {0x00, 0x00}; - - /* Configure DMA Peripheral */ - IOE_DMA_Config(IOE_DMA_RX, (uint8_t*)IOE_BufferRX); - - /* Enable DMA NACK automatic generation */ - I2C_DMALastTransferCmd(IOE_I2C, ENABLE); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(IOE_I2C, ENABLE); - - /* Test on SB Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_SB)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send device address for write */ - I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send the device's internal address to write to */ - I2C_SendData(IOE_I2C, RegisterAddr); - - /* Test on TXE FLag (data dent) */ - IOE_TimeOut = TIMEOUT_MAX; - while ((!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_BTF))) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send START condition a second time */ - I2C_GenerateSTART(IOE_I2C, ENABLE); - - /* Test on SB Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_SB)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send IOExpander address for read */ - I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Receiver); - - /* Test on ADDR Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(IOE_I2C,ENABLE); - - /* Enable DMA RX Channel */ - DMA_Cmd(IOE_DMA_RX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - IOE_TimeOut = 2 * TIMEOUT_MAX; - while (!DMA_GetFlagStatus(IOE_DMA_RX_TCFLAG)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(IOE_I2C, ENABLE); - - /* Disable DMA RX Channel */ - DMA_Cmd(IOE_DMA_RX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(IOE_I2C,DISABLE); - - /* Clear DMA RX Transfer Complete Flag */ - DMA_ClearFlag(IOE_DMA_RX_TCFLAG); - - /* return a pointer to the IOE_Buffer */ - return (uint8_t)IOE_BufferRX[0]; -} - - -/** - * @brief Reads a buffer of 2 bytes from the device registers. - * @param DeviceAddr: The address of the device, could be : IOE_1_ADDR - * or IOE_2_ADDR. - * @param RegisterAddr: The target register adress (between 00x and 0x24) - * @retval A pointer to the buffer containing the two returned bytes (in halfword). - */ -uint16_t I2C_ReadDataBuffer(uint8_t DeviceAddr, uint32_t RegisterAddr) -{ - uint8_t tmp= 0; - uint8_t IOE_BufferRX[2] = {0x00, 0x00}; - - /* Configure DMA Peripheral */ - IOE_DMA_Config(IOE_DMA_RX, (uint8_t*)IOE_BufferRX); - - /* Enable DMA NACK automatic generation */ - I2C_DMALastTransferCmd(IOE_I2C, ENABLE); - - /* Enable the I2C peripheral */ - I2C_GenerateSTART(IOE_I2C, ENABLE); - - /* Test on SB Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_SB)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send device address for write */ - I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Transmitter); - - /* Test on ADDR Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send the device's internal address to write to */ - I2C_SendData(IOE_I2C, RegisterAddr); - - /* Test on TXE FLag (data dent) */ - IOE_TimeOut = TIMEOUT_MAX; - while ((!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_TXE)) && (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_BTF))) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send START condition a second time */ - I2C_GenerateSTART(IOE_I2C, ENABLE); - - /* Test on SB Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_GetFlagStatus(IOE_I2C,I2C_FLAG_SB)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send IOExpander address for read */ - I2C_Send7bitAddress(IOE_I2C, DeviceAddr, I2C_Direction_Receiver); - - /* Test on ADDR Flag */ - IOE_TimeOut = TIMEOUT_MAX; - while (!I2C_CheckEvent(IOE_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Enable I2C DMA request */ - I2C_DMACmd(IOE_I2C,ENABLE); - - /* Enable DMA RX Channel */ - DMA_Cmd(IOE_DMA_RX_CHANNEL, ENABLE); - - /* Wait until DMA Transfer Complete */ - IOE_TimeOut = 2 * TIMEOUT_MAX; - while (!DMA_GetFlagStatus(IOE_DMA_RX_TCFLAG)) - { - if (IOE_TimeOut-- == 0) return(IOE_TimeoutUserCallback()); - } - - /* Send STOP Condition */ - I2C_GenerateSTOP(IOE_I2C, ENABLE); - - /* Disable DMA RX Channel */ - DMA_Cmd(IOE_DMA_RX_CHANNEL, DISABLE); - - /* Disable I2C DMA request */ - I2C_DMACmd(IOE_I2C,DISABLE); - - /* Clear DMA RX Transfer Complete Flag */ - DMA_ClearFlag(IOE_DMA_RX_TCFLAG); - - /* Reorganize received data */ - tmp = IOE_BufferRX[0]; - IOE_BufferRX[0] = IOE_BufferRX[1]; - IOE_BufferRX[1] = tmp; - - /* return a pointer to the IOE_Buffer */ - return *(uint16_t *)IOE_BufferRX; -} - -/** - * @brief Return Touch Screen X position value - * @param None - * @retval X position. - */ -static uint16_t IOE_TS_Read_X(void) -{ - int32_t x, xr; - - x = I2C_ReadDataBuffer(IOE_1_ADDR, IOE_REG_TSC_DATA_Y); - - /* first correction */ - xr = (x * 320) >> 12; - /* second correction */ - xr = ((xr * 32)/29) - 17; - - if(xr <= 0) - xr = 0; - - return (uint16_t)(xr); -} - -/** - * @brief Return Touch Screen Y position value - * @param None - * @retval Y position. - */ -static uint16_t IOE_TS_Read_Y(void) -{ - int32_t y, yr; - y= I2C_ReadDataBuffer(IOE_1_ADDR, IOE_REG_TSC_DATA_X); - - yr= (y * 240) >> 12; - yr = ((yr * 240) / 217) - 12; - - if(yr <= 0) - yr = 0; - - return (uint16_t)(yr); -} - -/** - * @brief Return Touch Screen Z position value - * @param None - * @retval Z position. - */ -static uint16_t IOE_TS_Read_Z(void) -{ - uint32_t z; - z = I2C_ReadDataBuffer(IOE_1_ADDR, IOE_REG_TSC_DATA_Z); - - - if(z <= 0) - z = 0; - - return (uint16_t)(z); -} - -/** - * @brief Initializes the GPIO pins used by the IO expander. - * @param None - * @retval None - */ -static void IOE_GPIO_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable IOE_I2C and IOE_I2C_PORT & Alternate Function clocks */ - RCC_APB1PeriphClockCmd(IOE_I2C_CLK, ENABLE); - RCC_APB2PeriphClockCmd(IOE_I2C_SCL_GPIO_CLK | IOE_I2C_SDA_GPIO_CLK | IOE_IT_GPIO_CLK - | RCC_APB2Periph_AFIO, ENABLE); - - /* Reset IOE_I2C IP */ - RCC_APB1PeriphResetCmd(IOE_I2C_CLK, ENABLE); - - /* Release reset signal of IOE_I2C IP */ - RCC_APB1PeriphResetCmd(IOE_I2C_CLK, DISABLE); - - /* IOE_I2C SCL and SDA pins configuration */ - GPIO_InitStructure.GPIO_Pin = IOE_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; - GPIO_Init(IOE_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /* IOE_I2C SCL and SDA pins configuration */ - GPIO_InitStructure.GPIO_Pin = IOE_I2C_SDA_PIN; - GPIO_Init(IOE_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /* Set EXTI pin as Input PullUp - IO_Expander_INT */ - GPIO_InitStructure.GPIO_Pin = IOE_IT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_Init(IOE_IT_GPIO_PORT, &GPIO_InitStructure); - - /* Connect IO Expander IT line to EXTI line */ - GPIO_EXTILineConfig(IOE_IT_EXTI_PORT_SOURCE, IOE_IT_EXTI_PIN_SOURCE); -} - - -/** - * @brief Configure the I2C Peripheral used to communicate with IO_Expanders. - * @param None - * @retval None - */ -static void IOE_I2C_Config(void) -{ - I2C_InitTypeDef I2C_InitStructure; - - /* IOE_I2C configuration */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2; - I2C_InitStructure.I2C_OwnAddress1 = 0x00; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; - I2C_InitStructure.I2C_ClockSpeed = IOE_I2C_SPEED; - - I2C_Init(IOE_I2C, &I2C_InitStructure); -} - -/** - * @brief Configure the DMA Peripheral used to handle communication via I2C. - * @param None - * @retval None - */ - -static void IOE_DMA_Config(IOE_DMADirection_TypeDef Direction, uint8_t* buffer) -{ - DMA_InitTypeDef DMA_InitStructure; - - RCC_AHBPeriphClockCmd(IOE_DMA_CLK, ENABLE); - - /* Initialize the DMA_PeripheralBaseAddr member */ - DMA_InitStructure.DMA_PeripheralBaseAddr = IOE_I2C_DR; - /* Initialize the DMA_MemoryBaseAddr member */ - DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)buffer; - /* Initialize the DMA_PeripheralInc member */ - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - /* Initialize the DMA_MemoryInc member */ - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - /* Initialize the DMA_PeripheralDataSize member */ - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; - /* Initialize the DMA_MemoryDataSize member */ - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; - /* Initialize the DMA_Mode member */ - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - /* Initialize the DMA_Priority member */ - DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; - /* Initialize the DMA_M2M member */ - DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; - - /* If using DMA for Reception */ - if (Direction == IOE_DMA_RX) - { - /* Initialize the DMA_DIR member */ - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; - - /* Initialize the DMA_BufferSize member */ - DMA_InitStructure.DMA_BufferSize = 2; - - DMA_DeInit(IOE_DMA_RX_CHANNEL); - - DMA_Init(IOE_DMA_RX_CHANNEL, &DMA_InitStructure); - } - /* If using DMA for Transmission */ - else if (Direction == IOE_DMA_TX) - { - /* Initialize the DMA_DIR member */ - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; - - /* Initialize the DMA_BufferSize member */ - DMA_InitStructure.DMA_BufferSize = 1; - - DMA_DeInit(IOE_DMA_TX_CHANNEL); - - DMA_Init(IOE_DMA_TX_CHANNEL, &DMA_InitStructure); - } -} - -/** - * @brief Configures the IO expander Interrupt line and GPIO in EXTI mode. - * @param None - * @retval None - */ -static void IOE_EXTI_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - - /* Enable Button GPIO clock */ - RCC_APB2PeriphClockCmd(IOE_IT_GPIO_CLK | RCC_APB2Periph_AFIO, ENABLE); - - /* Configure Button pin as input floating */ - GPIO_InitStructure.GPIO_Pin = IOE_IT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(IOE_IT_GPIO_PORT, &GPIO_InitStructure); - - /* Connect Button EXTI Line to Button GPIO Pin */ - GPIO_EXTILineConfig(IOE_IT_EXTI_PORT_SOURCE, IOE_IT_EXTI_PIN_SOURCE); - - /* Configure Button EXTI line */ - EXTI_InitStructure.EXTI_Line = IOE_IT_EXTI_LINE; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable and set Button EXTI Interrupt to the lowest priority */ - NVIC_InitStructure.NVIC_IRQChannel = IOE_IT_EXTI_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -#ifndef USE_Delay -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -static void delay(__IO uint32_t nCount) -{ - __IO uint32_t index = 0; - for(index = (100000 * nCount); index != 0; index--) - { - } -} -#endif /* USE_Delay*/ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_ioe.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_ioe.h deleted file mode 100644 index aafccbe95..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_ioe.h +++ /dev/null @@ -1,537 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210c_eval_ioe.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the IO Expander - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - - /* File Info : --------------------------------------------------------------- - SUPPORTED FEATURES: - - IO Read/write : Set/Reset and Read (Polling/Interrupt) - - Joystick: config and Read (Polling/Interrupt) - - Touch Screen Features: Single point mode (Polling/Interrupt) - - TempSensor Feature: accuracy not determined (Polling). - - UNSUPPORTED FEATURES: - - Row ADC Feature is not supported (not implemented on STM3210C-EVAL board) - ----------------------------------------------------------------------------*/ - - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM3210C_EVAL_IOE_H -#define __STM3210C_EVAL_IOE_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210C_EVAL - * @{ - */ - -/** @defgroup STM3210C_EVAL_IOE - * @{ - */ - -/** @defgroup STM3210C_EVAL_IOE_Exported_Types - * @{ - */ - -/** - * @brief Touch Screen Information structure - */ -typedef struct -{ - uint16_t TouchDetected; - uint16_t X; - uint16_t Y; - uint16_t Z; -}TS_STATE; - -/** - * @brief Joystick State definitions - */ -#ifndef __STM32_EVAL_H -typedef enum -{ - JOY_NONE = 0, - JOY_SEL = 1, - JOY_DOWN = 2, - JOY_LEFT = 3, - JOY_RIGHT = 4, - JOY_UP = 5 -} JOYState_TypeDef -; -#endif /* __STM32_EVAL_H */ - -/** - * @brief IO_Expander Error codes - */ -typedef enum -{ - IOE_OK = 0, - IOE_FAILURE, - IOE_TIMEOUT, - PARAM_ERROR, - IOE1_NOT_OPERATIONAL, - IOE2_NOT_OPERATIONAL -}IOE_Status_TypDef; - -/** - * @brief IO bit values - */ -typedef enum -{ - BitReset = 0, - BitSet = 1 -}IOE_BitValue_TypeDef; - -/** - * @brief IOE DMA Direction - */ -typedef enum -{ - IOE_DMA_TX = 0, - IOE_DMA_RX = 1 -}IOE_DMADirection_TypeDef; - -/** - * @} - */ - - -/** @defgroup STM3210C_EVAL_IOE_Exported_Constants - * @{ - */ - -/** - * @brief Uncomment the line below to enable verfying each written byte in write - * operation. The I2C_WriteDeviceRegister() function will then compare the - * written and read data and return error status if a mismatch occurs. - */ -/* #define VERIFY_WRITTENDATA */ - -/** - * @brief Uncomment the line below if you want to use user defined Delay function - * (for precise timing), otherwise default _delay_ function defined within - * this driver is used (less precise timing). - */ -/* #define USE_Delay */ - -/** - * @brief Uncomment the line below if you want to use user timeout callback. - * Function prototypes is declared in this file but function body may be - * implemented into user application. - */ -/* #define USE_TIMEOUT_USER_CALLBACK */ - -#ifdef USE_Delay -#include "main.h" - - #define _delay_ Delay /* !< User can provide more timing precise _delay_ function - (with 10ms time base), using SysTick for example */ -#else - #define _delay_ delay /* !< Default _delay_ function with less precise timing */ -#endif - -/*------------------------------------------------------------------------------ - Hardware Configuration -------------------------------------------------------------------------------*/ -/** - * @brief I2C port definitions - */ -#define IOE_I2C I2C1 -#define IOE_I2C_CLK RCC_APB1Periph_I2C1 -#define IOE_I2C_SCL_PIN GPIO_Pin_6 -#define IOE_I2C_SCL_GPIO_PORT GPIOB -#define IOE_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB -#define IOE_I2C_SDA_PIN GPIO_Pin_7 -#define IOE_I2C_SDA_GPIO_PORT GPIOB -#define IOE_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB -#define IOE_I2C_DR ((uint32_t)0x40005410) -#define IOE_I2C_SPEED 300000 - -/** - * @brief IOE DMA definitions - */ -#define IOE_DMA DMA1 -#define IOE_DMA_CLK RCC_AHBPeriph_DMA1 -#define IOE_DMA_TX_CHANNEL DMA1_Channel6 -#define IOE_DMA_RX_CHANNEL DMA1_Channel7 -#define IOE_DMA_TX_TCFLAG DMA1_FLAG_TC6 -#define IOE_DMA_RX_TCFLAG DMA1_FLAG_TC7 - - -/** - * @brief IO Expander Interrupt line on EXTI - */ -#define IOE_IT_PIN GPIO_Pin_14 -#define IOE_IT_GPIO_PORT GPIOB -#define IOE_IT_GPIO_CLK RCC_APB2Periph_GPIOB -#define IOE_IT_EXTI_PORT_SOURCE GPIO_PortSourceGPIOB -#define IOE_IT_EXTI_PIN_SOURCE GPIO_PinSource14 -#define IOE_IT_EXTI_LINE EXTI_Line14 -#define IOE_IT_EXTI_IRQn EXTI15_10_IRQn - -/** - * @brief Eval Board IO Pins definition - */ -#define AUDIO_RESET_PIN IO_Pin_2 /* IO_Exapnader_2 */ /* Output */ -#define MII_INT_PIN IO_Pin_0 /* IO_Exapnader_2 */ /* Output */ -#define VBAT_DIV_PIN IO_Pin_0 /* IO_Exapnader_1 */ /* Output */ -#define MEMS_INT1_PIN IO_Pin_3 /* IO_Exapnader_1 */ /* Input */ -#define MEMS_INT2_PIN IO_Pin_2 /* IO_Exapnader_1 */ /* Input */ - - -/** - * @brief Eval Board both IO Exapanders Pins definition - */ -#define IO1_IN_ALL_PINS (uint32_t)(MEMS_INT1_PIN | MEMS_INT2_PIN) -#define IO2_IN_ALL_PINS (uint32_t)(JOY_IO_PINS) -#define IO1_OUT_ALL_PINS (uint32_t)(VBAT_DIV_PIN) -#define IO2_OUT_ALL_PINS (uint32_t)(AUDIO_RESET_PIN | MII_INT_PIN) - -/** - * @brief The 7 bits IO Expanders adresses and chip IDs - */ -#define IOE_1_ADDR 0x82 -#define IOE_2_ADDR 0x88 -#define STMPE811_ID 0x0811 - - -/*------------------------------------------------------------------------------ - Functional and Interrupt Management -------------------------------------------------------------------------------*/ -/** - * @brief IO Expander Functionalities definitions - */ -#define IOE_ADC_FCT 0x01 -#define IOE_TS_FCT 0x02 -#define IOE_IO_FCT 0x04 -#define IOE_TEMPSENS_FCT 0x08 - -/** - * @brief Interrupt source configuration definitons - */ -#define IOE_ITSRC_TSC 0x01 /* IO_Exapnder 1 */ -#define IOE_ITSRC_INMEMS 0x02 /* IO_Exapnder 1 */ -#define IOE_ITSRC_JOYSTICK 0x04 /* IO_Exapnder 2 */ -#define IOE_ITSRC_TEMPSENS 0x08 /* IO_Exapnder 2 */ - -/** - * @brief Glaobal Interrupts definitions - */ -#define IOE_GIT_GPIO 0x80 -#define IOE_GIT_ADC 0x40 -#define IOE_GIT_TEMP 0x20 -#define IOE_GIT_FE 0x10 -#define IOE_GIT_FF 0x08 -#define IOE_GIT_FOV 0x04 -#define IOE_GIT_FTH 0x02 -#define IOE_GIT_TOUCH 0x01 - - -/*------------------------------------------------------------------------------ - STMPE811 device register definition -------------------------------------------------------------------------------*/ -/** - * @brief Identification registers - */ -#define IOE_REG_CHP_ID 0x00 -#define IOE_REG_ID_VER 0x02 - -/** - * @brief General Control Registers - */ -#define IOE_REG_SYS_CTRL1 0x03 -#define IOE_REG_SYS_CTRL2 0x04 -#define IOE_REG_SPI_CFG 0x08 - -/** - * @brief Interrupt Control register - */ -#define IOE_REG_INT_CTRL 0x09 -#define IOE_REG_INT_EN 0x0A -#define IOE_REG_INT_STA 0x0B -#define IOE_REG_GPIO_INT_EN 0x0C -#define IOE_REG_GPIO_INT_STA 0x0D - -/** - * @brief GPIO Registers - */ -#define IOE_REG_GPIO_SET_PIN 0x10 -#define IOE_REG_GPIO_CLR_PIN 0x11 -#define IOE_REG_GPIO_MP_STA 0x12 -#define IOE_REG_GPIO_DIR 0x13 -#define IOE_REG_GPIO_ED 0x14 -#define IOE_REG_GPIO_RE 0x15 -#define IOE_REG_GPIO_FE 0x16 -#define IOE_REG_GPIO_AF 0x17 - -/** - * @brief ADC Registers - */ -#define IOE_REG_ADC_INT_EN 0x0E -#define IOE_REG_ADC_INT_STA 0x0F -#define IOE_REG_ADC_CTRL1 0x20 -#define IOE_REG_ADC_CTRL2 0x21 -#define IOE_REG_ADC_CAPT 0x22 -#define IOE_REG_ADC_DATA_CH0 0x30 /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH1 0x32 /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH2 0x34 /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH3 0x36 /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH4 0x38 /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH5 0x3A /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH6 0x3B /* 16-Bit register */ -#define IOE_REG_ADC_DATA_CH7 0x3C /* 16-Bit register */ - -/** - * @brief TouchScreen Registers - */ -#define IOE_REG_TSC_CTRL 0x40 -#define IOE_REG_TSC_CFG 0x41 -#define IOE_REG_WDM_TR_X 0x42 -#define IOE_REG_WDM_TR_Y 0x44 -#define IOE_REG_WDM_BL_X 0x46 -#define IOE_REG_WDM_BL_Y 0x48 -#define IOE_REG_FIFO_TH 0x4A -#define IOE_REG_FIFO_STA 0x4B -#define IOE_REG_FIFO_SIZE 0x4C -#define IOE_REG_TSC_DATA_X 0x4D -#define IOE_REG_TSC_DATA_Y 0x4F -#define IOE_REG_TSC_DATA_Z 0x51 -#define IOE_REG_TSC_DATA_XYZ 0x52 -#define IOE_REG_TSC_FRACT_XYZ 0x56 -#define IOE_REG_TSC_DATA 0x57 -#define IOE_REG_TSC_I_DRIVE 0x58 -#define IOE_REG_TSC_SHIELD 0x59 - -/** - * @brief Temperature Sensor registers - */ -#define IOE_REG_TEMP_CTRL 0x60 -#define IOE_REG_TEMP_DATA 0x61 -#define IOE_REG_TEMP_TH 0x62 - - -/*------------------------------------------------------------------------------ - Functions parameters defines -------------------------------------------------------------------------------*/ -/** - * @brief Touch Screen Pins definition - */ -#define TOUCH_YD IO_Pin_1 /* IO_Exapnader_1 */ /* Input */ -#define TOUCH_XD IO_Pin_2 /* IO_Exapnader_1 */ /* Input */ -#define TOUCH_YU IO_Pin_3 /* IO_Exapnader_1 */ /* Input */ -#define TOUCH_XU IO_Pin_4 /* IO_Exapnader_1 */ /* Input */ -#define TOUCH_IO_ALL (uint32_t)(IO_Pin_1 | IO_Pin_2 | IO_Pin_3 | IO_Pin_4) - -/** - * @brief JOYSTICK Pins definition - */ -#define JOY_IO_SEL IO_Pin_7 -#define JOY_IO_DOWN IO_Pin_6 -#define JOY_IO_LEFT IO_Pin_5 -#define JOY_IO_RIGHT IO_Pin_4 -#define JOY_IO_UP IO_Pin_3 -#define JOY_IO_NONE JOY_IO_PINS -#define JOY_IO_PINS (uint32_t)(IO_Pin_3 | IO_Pin_4 | IO_Pin_5 | IO_Pin_6 | IO_Pin_7) - -/** - * @brief IO Pins - */ -#define IO_Pin_0 0x01 -#define IO_Pin_1 0x02 -#define IO_Pin_2 0x04 -#define IO_Pin_3 0x08 -#define IO_Pin_4 0x10 -#define IO_Pin_5 0x20 -#define IO_Pin_6 0x40 -#define IO_Pin_7 0x80 -#define IO_Pin_ALL 0xFF - -/** - * @brief IO Pin directions - */ -#define Direction_IN 0x00 -#define Direction_OUT 0x01 - -/** - * @brief Interrupt Line output parameters - */ -#define Polarity_Low 0x00 -#define Polarity_High 0x04 -#define Type_Level 0x00 -#define Type_Edge 0x02 - -/** - * @brief IO Interrupts - */ -#define IO_IT_0 0x01 -#define IO_IT_1 0x02 -#define IO_IT_2 0x04 -#define IO_IT_3 0x08 -#define IO_IT_4 0x10 -#define IO_IT_5 0x20 -#define IO_IT_6 0x40 -#define IO_IT_7 0x80 -#define ALL_IT 0xFF -#define IOE_JOY_IT (uint8_t)(IO_IT_3 | IO_IT_4 | IO_IT_5 | IO_IT_6 | IO_IT_7) -#define IOE_TS_IT (uint8_t)(IO_IT_0 | IO_IT_1 | IO_IT_2) -#define IOE_INMEMS_IT (uint8_t)(IO_IT_2 | IO_IT_3) - -/** - * @brief Edge detection value - */ -#define EDGE_FALLING 0x01 -#define EDGE_RISING 0x02 - -/** - * @brief Global interrupt Enable bit - */ -#define IOE_GIT_EN 0x01 - -/** - * @} - */ - - - -/** @defgroup STM3210C_EVAL_IOE_Exported_Macros - * @{ - */ -/** - * @} - */ - - - -/** @defgroup STM3210C_EVAL_IOE_Exported_Functions - * @{ - */ - -/** - * @brief Configuration and initialization functions - */ -uint8_t IOE_Config(void); -uint8_t IOE_ITConfig(uint32_t IOE_ITSRC_Source); - -/** - * @brief Timeout user callback function. This function is called when a timeout - * condition occurs during communication with IO Expander. Only protoype - * of this function is decalred in IO Expander driver. Its implementation - * may be done into user application. This function may typically stop - * current operations and reset the I2C peripheral and IO Expander. - * To enable this function use uncomment the define USE_TIMEOUT_USER_CALLBACK - * at the top of this file. - */ -#ifdef USE_TIMEOUT_USER_CALLBACK - uint8_t IOE_TimeoutUserCallback(void); -#else - #define IOE_TimeoutUserCallback() IOE_TIMEOUT -#endif /* USE_TIMEOUT_USER_CALLBACK */ - -/** - * @brief IO pins control functions - */ -uint8_t IOE_WriteIOPin(uint8_t IO_Pin, IOE_BitValue_TypeDef BitVal); -uint8_t IOE_ReadIOPin(uint32_t IO_Pin); -JOYState_TypeDef - IOE_JoyStickGetState(void); - -/** - * @brief Touch Screen controller functions - */ -TS_STATE* IOE_TS_GetState(void); - -/** - * @brief Interrupts Mangement functions - */ -FlagStatus IOE_GetGITStatus(uint8_t DeviceAddr, uint8_t Global_IT); -uint8_t IOE_ClearGITPending(uint8_t DeviceAddr, uint8_t IO_IT); -FlagStatus IOE_GetIOITStatus(uint8_t DeviceAddr, uint8_t IO_IT); -uint8_t IOE_ClearIOITPending(uint8_t DeviceAddr, uint8_t IO_IT); - -/** - * @brief Temperature Sensor functions - */ -uint32_t IOE_TempSens_GetData(void); - -/** - * @brief IO-Expander Control functions - */ -uint8_t IOE_IsOperational(uint8_t DeviceAddr); -uint8_t IOE_Reset(uint8_t DeviceAddr); -uint16_t IOE_ReadID(uint8_t DeviceAddr); - -uint8_t IOE_FnctCmd(uint8_t DeviceAddr, uint8_t Fct, FunctionalState NewState); -uint8_t IOE_IOPinConfig(uint8_t DeviceAddr, uint8_t IO_Pin, uint8_t Direction); -uint8_t IOE_GITCmd(uint8_t DeviceAddr, FunctionalState NewState); -uint8_t IOE_GITConfig(uint8_t DeviceAddr, uint8_t Global_IT, FunctionalState NewState); -uint8_t IOE_IOITConfig(uint8_t DeviceAddr, uint8_t IO_IT, FunctionalState NewState); - -/** - * @brief Low Layer functions - */ -uint8_t IOE_TS_Config(void); -uint8_t IOE_TempSens_Config(void); -uint8_t IOE_IOAFConfig(uint8_t DeviceAddr, uint8_t IO_Pin, FunctionalState NewState); -uint8_t IOE_IOEdgeConfig(uint8_t DeviceAddr, uint8_t IO_Pin, uint8_t Edge); -uint8_t IOE_ITOutConfig(uint8_t Polarity, uint8_t Type); - -uint8_t I2C_WriteDeviceRegister(uint8_t DeviceAddr, uint8_t RegisterAddr, uint8_t RegisterValue); -uint8_t I2C_ReadDeviceRegister(uint8_t DeviceAddr, uint8_t RegisterAddr); -uint16_t I2C_ReadDataBuffer(uint8_t DeviceAddr, uint32_t RegisterAddr); - -#ifdef __cplusplus -} - -#endif -#endif /* __STM3210C_EVAL_IOE_H */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_lcd.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_lcd.c deleted file mode 100644 index 5caf01aad..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_lcd.c +++ /dev/null @@ -1,1407 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210c_eval_lcd.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file includes the LCD driver for AM-240320L8TNQW00H (LCD_ILI9320) - * Liquid Crystal Display Module of STM3210C-EVAL board. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm3210c_eval_lcd.h" -#include "../Common/fonts.c" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210C_EVAL - * @{ - */ - -/** @defgroup STM3210C_EVAL_LCD - * @brief This file includes the LCD driver for AM-240320L8TNQW00H (LCD_ILI9320) - * Liquid Crystal Display Module of STM3210C-EVAL board. - * @{ - */ - -/** @defgroup STM3210C_EVAL_LCD_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210C_EVAL_LCD_Private_Defines - * @{ - */ -#define START_BYTE 0x70 -#define SET_INDEX 0x00 -#define READ_STATUS 0x01 -#define LCD_WRITE_REG 0x02 -#define LCD_READ_REG 0x03 -#define MAX_POLY_CORNERS 200 -#define POLY_Y(Z) ((int32_t)((Points + Z)->X)) -#define POLY_X(Z) ((int32_t)((Points + Z)->Y)) -/** - * @} - */ - - -/** @defgroup STM3210C_EVAL_LCD_Private_Macros - * @{ - */ -#define ABS(X) ((X) > 0 ? (X) : -(X)) -/** - * @} - */ - - -/** @defgroup STM3210C_EVAL_LCD_Private_Variables - * @{ - */ -static sFONT *LCD_Currentfonts; -/* Global variables to set the written text color */ -static __IO uint16_t TextColor = 0x0000, BackColor = 0xFFFF; -/** - * @} - */ - - -/** @defgroup STM3210C_EVAL_LCD_Private_FunctionPrototypes - * @{ - */ -#ifndef USE_Delay -static void delay(__IO uint32_t nCount); -#endif /* USE_Delay*/ -static void PutPixel(int16_t x, int16_t y); -static void LCD_PolyLineRelativeClosed(pPoint Points, uint16_t PointCount, uint16_t Closed); -/** - * @} - */ - - -/** @defgroup STM3210C_EVAL_LCD_Private_Functions - * @{ - */ - -/** - * @brief DeInitializes the LCD. - * @param None - * @retval None - */ -void LCD_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< LCD Display Off */ - LCD_DisplayOff(); - - /*!< LCD_SPI disable */ - SPI_Cmd(LCD_SPI, DISABLE); - - /*!< LCD_SPI DeInit */ - SPI_I2S_DeInit(LCD_SPI); - - /*!< Disable SPI clock */ - RCC_APB1PeriphClockCmd(LCD_SPI_CLK, DISABLE); - GPIO_PinRemapConfig(GPIO_Remap_SPI3, DISABLE); - - /* Configure NCS in Output Push-Pull mode */ - GPIO_InitStructure.GPIO_Pin = LCD_NCS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(LCD_NCS_GPIO_PORT, &GPIO_InitStructure); - - /* Configure SPI pins: SCK, MISO and MOSI */ - GPIO_InitStructure.GPIO_Pin = LCD_SPI_SCK_PIN; - GPIO_Init(LCD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MISO_PIN; - GPIO_Init(LCD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MOSI_PIN; - GPIO_Init(LCD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Setups the LCD. - * @param None - * @retval None - */ -void LCD_Setup(void) -{ -/* Configure the LCD Control pins --------------------------------------------*/ - LCD_CtrlLinesConfig(); - -/* Configure the LCD_SPI interface ----------------------------------------------*/ - LCD_SPIConfig(); - _delay_(5); /* Delay 50 ms */ - /* Start Initial Sequence ------------------------------------------------*/ - LCD_WriteReg(LCD_REG_229, 0x8000); /* Set the internal vcore voltage */ - LCD_WriteReg(LCD_REG_0, 0x0001); /* Start internal OSC. */ - LCD_WriteReg(LCD_REG_1, 0x0100); /* set SS and SM bit */ - LCD_WriteReg(LCD_REG_2, 0x0700); /* set 1 line inversion */ - LCD_WriteReg(LCD_REG_3, 0x1030); /* set GRAM write direction and BGR=1. */ - LCD_WriteReg(LCD_REG_4, 0x0000); /* Resize register */ - LCD_WriteReg(LCD_REG_8, 0x0202); /* set the back porch and front porch */ - LCD_WriteReg(LCD_REG_9, 0x0000); /* set non-display area refresh cycle ISC[3:0] */ - LCD_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */ - LCD_WriteReg(LCD_REG_12, 0x0000); /* RGB interface setting */ - LCD_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */ - LCD_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity */ - /* Power On sequence -----------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */ - LCD_WriteReg(LCD_REG_33, 0x0000); /* GRAM Vertical Address */ - /* Adjust the Gamma Curve ------------------------------------------------*/ - LCD_WriteReg(LCD_REG_48, 0x0006); - LCD_WriteReg(LCD_REG_49, 0x0101); - LCD_WriteReg(LCD_REG_50, 0x0003); - LCD_WriteReg(LCD_REG_53, 0x0106); - LCD_WriteReg(LCD_REG_54, 0x0b02); - LCD_WriteReg(LCD_REG_55, 0x0302); - LCD_WriteReg(LCD_REG_56, 0x0707); - LCD_WriteReg(LCD_REG_57, 0x0007); - LCD_WriteReg(LCD_REG_60, 0x0600); - LCD_WriteReg(LCD_REG_61, 0x020b); - - /* Set GRAM area ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */ - LCD_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */ - LCD_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_96, 0x2700); /* Gate Scan Line */ - LCD_WriteReg(LCD_REG_97, 0x0001); /* NDL,VLE, REV */ - LCD_WriteReg(LCD_REG_106, 0x0000); /* set scrolling line */ - /* Partial Display Control -----------------------------------------------*/ - LCD_WriteReg(LCD_REG_128, 0x0000); - LCD_WriteReg(LCD_REG_129, 0x0000); - LCD_WriteReg(LCD_REG_130, 0x0000); - LCD_WriteReg(LCD_REG_131, 0x0000); - LCD_WriteReg(LCD_REG_132, 0x0000); - LCD_WriteReg(LCD_REG_133, 0x0000); - /* Panel Control ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_144, 0x0010); - LCD_WriteReg(LCD_REG_146, 0x0000); - LCD_WriteReg(LCD_REG_147, 0x0003); - LCD_WriteReg(LCD_REG_149, 0x0110); - LCD_WriteReg(LCD_REG_151, 0x0000); - LCD_WriteReg(LCD_REG_152, 0x0000); - /* Set GRAM write direction and BGR = 1 */ - /* I/D=01 (Horizontal : increment, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ -} - - -/** - * @brief Initializes the LCD. - * @param None - * @retval None - */ -void STM3210C_LCD_Init(void) -{ - /* Setups the LCD */ - LCD_Setup(); - LCD_SetFont(&LCD_DEFAULT_FONT); -} - -/** - * @brief Sets the LCD Text and Background colors. - * @param _TextColor: specifies the Text Color. - * @param _BackColor: specifies the Background Color. - * @retval None - */ -void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor) -{ - TextColor = _TextColor; - BackColor = _BackColor; -} - -/** - * @brief Gets the LCD Text and Background colors. - * @param _TextColor: pointer to the variable that will contain the Text - Color. - * @param _BackColor: pointer to the variable that will contain the Background - Color. - * @retval None - */ -void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor) -{ - *_TextColor = TextColor; *_BackColor = BackColor; -} - -/** - * @brief Sets the Text color. - * @param Color: specifies the Text color code RGB(5-6-5). - * @retval None - */ -void LCD_SetTextColor(__IO uint16_t Color) -{ - TextColor = Color; -} - - -/** - * @brief Sets the Background color. - * @param Color: specifies the Background color code RGB(5-6-5). - * @retval None - */ -void LCD_SetBackColor(__IO uint16_t Color) -{ - BackColor = Color; -} - -/** - * @brief Sets the Text Font. - * @param fonts: specifies the font to be used. - * @retval None - */ -void LCD_SetFont(sFONT *fonts) -{ - LCD_Currentfonts = fonts; -} - -/** - * @brief Gets the Text Font. - * @param None. - * @retval the used font. - */ -sFONT *LCD_GetFont(void) -{ - return LCD_Currentfonts; -} - -/** - * @brief Clears the selected line. - * @param Line: the Line to be cleared. - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..n - * @retval None - */ -void LCD_ClearLine(uint8_t Line) -{ - uint16_t refcolumn = LCD_PIXEL_WIDTH - 1; - /* Send the string character by character on lCD */ - while (((refcolumn + 1)& 0xFFFF) >= LCD_Currentfonts->Width) - { - /* Display one character on LCD */ - LCD_DisplayChar(Line, refcolumn, ' '); - /* Decrement the column position by 16 */ - refcolumn -= LCD_Currentfonts->Width; - } -} - - -/** - * @brief Clears the hole LCD. - * @param Color: the color of the background. - * @retval None - */ -void LCD_Clear(uint16_t Color) -{ - uint32_t index = 0; - - LCD_SetCursor(0x00, 0x013F); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for(index = 0; index < 76800; index++) - { - LCD_WriteRAM(Color); - } - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - -} - - -/** - * @brief Sets the cursor position. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @retval None - */ -void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos) -{ - LCD_WriteReg(LCD_REG_32, Xpos); - LCD_WriteReg(LCD_REG_33, Ypos); -} - - -/** - * @brief Draws a character on LCD. - * @param Xpos: the Line where to display the character shape. - * @param Ypos: start column address. - * @param c: pointer to the character data. - * @retval None - */ -void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c) -{ - uint32_t index = 0, i = 0; - uint8_t Xaddress = 0; - - Xaddress = Xpos; - - LCD_SetCursor(Xaddress, Ypos); - - for(index = 0; index < LCD_Currentfonts->Height; index++) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for(i = 0; i < LCD_Currentfonts->Width; i++) - { - if((((c[index] & ((0x80 << ((LCD_Currentfonts->Width / 12 ) * 8 ) ) >> i)) == 0x00) &&(LCD_Currentfonts->Width <= 12))|| - (((c[index] & (0x1 << i)) == 0x00)&&(LCD_Currentfonts->Width > 12 ))) - - { - LCD_WriteRAM(BackColor); - } - else - { - LCD_WriteRAM(TextColor); - } - } - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - Xaddress++; - LCD_SetCursor(Xaddress, Ypos); - } -} - - -/** - * @brief Displays one character (16dots width, 24dots height). - * @param Line: the Line where to display the character shape . - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..9 - * @param Column: start column address. - * @param Ascii: character ascii code, must be between 0x20 and 0x7E. - * @retval None - */ -void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii) -{ - Ascii -= 32; - LCD_DrawChar(Line, Column, &LCD_Currentfonts->table[Ascii * LCD_Currentfonts->Height]); -} - - -/** - * @brief Displays a maximum of 20 char on the LCD. - * @param Line: the Line where to display the character shape . - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..9 - * @param *ptr: pointer to string to display on LCD. - * @retval None - */ -void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr) -{ - uint16_t refcolumn = LCD_PIXEL_WIDTH - 1; - - /* Send the string character by character on lCD */ - while ((*ptr != 0) & (((refcolumn + 1) & 0xFFFF) >= LCD_Currentfonts->Width)) - { - /* Display one character on LCD */ - LCD_DisplayChar(Line, refcolumn, *ptr); - /* Decrement the column position by 16 */ - refcolumn -= LCD_Currentfonts->Width; - /* Point on the next character */ - ptr++; - } -} - - -/** - * @brief Sets a display window - * @param Xpos: specifies the X buttom left position. - * @param Ypos: specifies the Y buttom left position. - * @param Height: display window height. - * @param Width: display window width. - * @retval None - */ -void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width) -{ - /* Horizontal GRAM Start Address */ - if(Xpos >= Height) - { - LCD_WriteReg(LCD_REG_80, (Xpos - Height + 1)); - } - else - { - LCD_WriteReg(LCD_REG_80, 0); - } - /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_81, Xpos); - /* Vertical GRAM Start Address */ - if(Ypos >= Width) - { - LCD_WriteReg(LCD_REG_82, (Ypos - Width + 1)); - } - else - { - LCD_WriteReg(LCD_REG_82, 0); - } - /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_83, Ypos); - LCD_SetCursor(Xpos, Ypos); -} - - -/** - * @brief Disables LCD Window mode. - * @param None - * @retval None - */ -void LCD_WindowModeDisable(void) -{ - LCD_SetDisplayWindow(239, 0x13F, 240, 320); - LCD_WriteReg(LCD_REG_3, 0x1018); -} - - -/** - * @brief Displays a line. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Length: line length. - * @param Direction: line direction. - * This parameter can be one of the following values: Vertical or Horizontal. - * @retval None - */ -void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction) -{ - uint32_t i = 0; - - LCD_SetCursor(Xpos, Ypos); - if(Direction == LCD_DIR_HORIZONTAL) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for(i = 0; i < Length; i++) - { - LCD_WriteRAM(TextColor); - } - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } - else - { - for(i = 0; i < Length; i++) - { - LCD_WriteRAMWord(TextColor); - Xpos++; - LCD_SetCursor(Xpos, Ypos); - } - } -} - - -/** - * @brief Displays a rectangle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Height: display rectangle height. - * @param Width: display rectangle width. - * @retval None - */ -void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width) -{ - LCD_DrawLine(Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - LCD_DrawLine((Xpos + Height), Ypos, Width, LCD_DIR_HORIZONTAL); - - LCD_DrawLine(Xpos, Ypos, Height, LCD_DIR_VERTICAL); - LCD_DrawLine(Xpos, (Ypos - Width + 1), Height, LCD_DIR_VERTICAL); -} - - -/** - * @brief Displays a circle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Radius - * @retval None - */ -void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius) -{ - s32 D;/* Decision Variable */ - uint32_t CurX;/* Current X Value */ - uint32_t CurY;/* Current Y Value */ - - D = 3 - (Radius << 1); - CurX = 0; - CurY = Radius; - - while (CurX <= CurY) - { - LCD_SetCursor(Xpos + CurX, Ypos + CurY); - LCD_WriteRAMWord(TextColor); - LCD_SetCursor(Xpos + CurX, Ypos - CurY); - LCD_WriteRAMWord(TextColor); - LCD_SetCursor(Xpos - CurX, Ypos + CurY); - LCD_WriteRAMWord(TextColor); - LCD_SetCursor(Xpos - CurX, Ypos - CurY); - LCD_WriteRAMWord(TextColor); - LCD_SetCursor(Xpos + CurY, Ypos + CurX); - LCD_WriteRAMWord(TextColor); - LCD_SetCursor(Xpos + CurY, Ypos - CurX); - LCD_WriteRAMWord(TextColor); - LCD_SetCursor(Xpos - CurY, Ypos + CurX); - LCD_WriteRAMWord(TextColor); - LCD_SetCursor(Xpos - CurY, Ypos - CurX); - LCD_WriteRAMWord(TextColor); - if (D < 0) - { - D += (CurX << 2) + 6; - } - else - { - D += ((CurX - CurY) << 2) + 10; - CurY--; - } - CurX++; - } -} - -/** - * @brief Displays a monocolor picture. - * @param Pict: pointer to the picture array. - * @retval None - */ -void LCD_DrawMonoPict(const uint32_t *Pict) -{ - uint32_t index = 0, i = 0; - LCD_SetCursor(0, (LCD_PIXEL_WIDTH - 1)); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for(index = 0; index < 2400; index++) - { - for(i = 0; i < 32; i++) - { - if((Pict[index] & (1 << i)) == 0x00) - { - LCD_WriteRAM(BackColor); - } - else - { - LCD_WriteRAM(TextColor); - } - } - } - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - -#ifdef USE_LCD_DrawBMP -/** - * @brief Displays a bitmap picture loaded in the SPI Flash. - * @param BmpAddress: Bmp picture address in the SPI Flash. - * @retval None - */ -//void LCD_DrawBMP(uint32_t BmpAddress) -//{ -// uint32_t i = 0, size = 0; -// -// /* Read bitmap size */ -// sFLASH_ReadBuffer((uint8_t*)&size, BmpAddress + 2, 4); -// -// /* get bitmap data address offset */ -// sFLASH_ReadBuffer((uint8_t*)&i, BmpAddress + 10, 4); -// -// size = (size - i)/2; -// -// sFLASH_StartReadSequence(BmpAddress + i); -// -// /* Disable LCD_SPI */ -// SPI_Cmd(LCD_SPI, DISABLE); -// /* SPI in 16-bit mode */ -// SPI_DataSizeConfig(LCD_SPI, SPI_DataSize_16b); -// -// /* Enable LCD_SPI */ -// SPI_Cmd(LCD_SPI, ENABLE); -// -// /* Set GRAM write direction and BGR = 1 */ -// /* I/D=00 (Horizontal : decrement, Vertical : decrement) */ -// /* AM=1 (address is updated in vertical writing direction) */ -// LCD_WriteReg(LCD_REG_3, 0x1008); -// -// LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ -// -// /* Read bitmap data from SPI Flash and send them to LCD */ -// for(i = 0; i < size; i++) -// { -// LCD_WriteRAM(__REV_HalfWord(sFLASH_SendHalfWord(0xA5A5))); -// } -// -// LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -// -// /* Deselect the FLASH: Chip Select high */ -// sFLASH_CS_HIGH(); -// -// /* Disable LCD_SPI */ -// SPI_Cmd(LCD_SPI, DISABLE); -// /* SPI in 8-bit mode */ -// SPI_DataSizeConfig(LCD_SPI, SPI_DataSize_8b); -// -// /* Enable LCD_SPI */ -// SPI_Cmd(LCD_SPI, ENABLE); -// -// /* Set GRAM write direction and BGR = 1 */ -// /* I/D = 01 (Horizontal : increment, Vertical : decrement) */ -// /* AM = 1 (address is updated in vertical writing direction) */ -// LCD_WriteReg(LCD_REG_3, 0x1018); -//} - - -/** - * @brief Displays a bitmap picture loaded in the Internal FLASH. - * @param BmpAddress: Bmp picture address in the Internal FLASH. - * @retval None - */ -void LCD_DrawBMP(const uint16_t *BmpAddress) -{ - uint32_t i = 0, size = 0; - /* Read bitmap size */ - size = BmpAddress[1] | (BmpAddress[2] << 16); - /* get bitmap data address offset */ - i = BmpAddress[5] | (BmpAddress[6] << 16); - size = (size - i)/2; - BmpAddress += i/2; - /* Set GRAM write direction and BGR = 1 */ - /* I/D=00 (Horizontal : decrement, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1008); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - /* Read bitmap data from SPI Flash and send them to LCD */ - for(i = 0; i < size; i++) - { - LCD_WriteRAM(BmpAddress[i]); - } - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - /* Set GRAM write direction and BGR = 1 */ - /* I/D = 01 (Horizontal : increment, Vertical : decrement) */ - /* AM = 1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); -} -#endif - -/** - * @brief Displays a full rectangle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Height: rectangle height. - * @param Width: rectangle width. - * @retval None - */ -void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) -{ - LCD_SetTextColor(TextColor); - - LCD_DrawLine(Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - LCD_DrawLine((Xpos + Height), Ypos, Width, LCD_DIR_HORIZONTAL); - - LCD_DrawLine(Xpos, Ypos, Height, LCD_DIR_VERTICAL); - LCD_DrawLine(Xpos, (Ypos - Width + 1), Height, LCD_DIR_VERTICAL); - - Width -= 2; - Height--; - Ypos--; - - LCD_SetTextColor(BackColor); - - while(Height--) - { - LCD_DrawLine(++Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - } - - LCD_SetTextColor(TextColor); -} - -/** - * @brief Displays a full circle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Radius - * @retval None - */ -void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) -{ - int32_t D; /* Decision Variable */ - uint32_t CurX;/* Current X Value */ - uint32_t CurY;/* Current Y Value */ - - D = 3 - (Radius << 1); - - CurX = 0; - CurY = Radius; - - LCD_SetTextColor(BackColor); - - while (CurX <= CurY) - { - if(CurY > 0) - { - LCD_DrawLine(Xpos - CurX, Ypos + CurY, 2*CurY, LCD_DIR_HORIZONTAL); - LCD_DrawLine(Xpos + CurX, Ypos + CurY, 2*CurY, LCD_DIR_HORIZONTAL); - } - - if(CurX > 0) - { - LCD_DrawLine(Xpos - CurY, Ypos + CurX, 2*CurX, LCD_DIR_HORIZONTAL); - LCD_DrawLine(Xpos + CurY, Ypos + CurX, 2*CurX, LCD_DIR_HORIZONTAL); - } - if (D < 0) - { - D += (CurX << 2) + 6; - } - else - { - D += ((CurX - CurY) << 2) + 10; - CurY--; - } - CurX++; - } - - LCD_SetTextColor(TextColor); - LCD_DrawCircle(Xpos, Ypos, Radius); -} - -/** - * @brief Displays an uni line (between two points). - * @param x1: specifies the point 1 x position. - * @param y1: specifies the point 1 y position. - * @param x2: specifies the point 2 x position. - * @param y2: specifies the point 2 y position. - * @retval None - */ -void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) -{ - int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, - yinc1 = 0, yinc2 = 0, den = 0, num = 0, numadd = 0, numpixels = 0, - curpixel = 0; - - deltax = ABS(x2 - x1); /* The difference between the x's */ - deltay = ABS(y2 - y1); /* The difference between the y's */ - x = x1; /* Start x off at the first pixel */ - y = y1; /* Start y off at the first pixel */ - - if (x2 >= x1) /* The x-values are increasing */ - { - xinc1 = 1; - xinc2 = 1; - } - else /* The x-values are decreasing */ - { - xinc1 = -1; - xinc2 = -1; - } - - if (y2 >= y1) /* The y-values are increasing */ - { - yinc1 = 1; - yinc2 = 1; - } - else /* The y-values are decreasing */ - { - yinc1 = -1; - yinc2 = -1; - } - - if (deltax >= deltay) /* There is at least one x-value for every y-value */ - { - xinc1 = 0; /* Don't change the x when numerator >= denominator */ - yinc2 = 0; /* Don't change the y for every iteration */ - den = deltax; - num = deltax / 2; - numadd = deltay; - numpixels = deltax; /* There are more x-values than y-values */ - } - else /* There is at least one y-value for every x-value */ - { - xinc2 = 0; /* Don't change the x for every iteration */ - yinc1 = 0; /* Don't change the y when numerator >= denominator */ - den = deltay; - num = deltay / 2; - numadd = deltax; - numpixels = deltay; /* There are more y-values than x-values */ - } - - for (curpixel = 0; curpixel <= numpixels; curpixel++) - { - PutPixel(x, y); /* Draw the current pixel */ - num += numadd; /* Increase the numerator by the top of the fraction */ - if (num >= den) /* Check if numerator >= denominator */ - { - num -= den; /* Calculate the new numerator value */ - x += xinc1; /* Change the x as appropriate */ - y += yinc1; /* Change the y as appropriate */ - } - x += xinc2; /* Change the x as appropriate */ - y += yinc2; /* Change the y as appropriate */ - } -} - -/** - * @brief Displays an polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_PolyLine(pPoint Points, uint16_t PointCount) -{ - int16_t X = 0, Y = 0; - - if(PointCount < 2) - { - return; - } - - while(--PointCount) - { - X = Points->X; - Y = Points->Y; - Points++; - LCD_DrawUniLine(X, Y, Points->X, Points->Y); - } -} - -/** - * @brief Displays an relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @param Closed: specifies if the draw is closed or not. - * 1: closed, 0 : not closed. - * @retval None - */ -static void LCD_PolyLineRelativeClosed(pPoint Points, uint16_t PointCount, uint16_t Closed) -{ - int16_t X = 0, Y = 0; - pPoint First = Points; - - if(PointCount < 2) - { - return; - } - X = Points->X; - Y = Points->Y; - while(--PointCount) - { - Points++; - LCD_DrawUniLine(X, Y, X + Points->X, Y + Points->Y); - X = X + Points->X; - Y = Y + Points->Y; - } - if(Closed) - { - LCD_DrawUniLine(First->X, First->Y, X, Y); - } -} - -/** - * @brief Displays a closed polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLine(Points, PointCount); - LCD_DrawUniLine(Points->X, Points->Y, (Points+PointCount-1)->X, (Points+PointCount-1)->Y); -} - -/** - * @brief Displays a relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLineRelativeClosed(Points, PointCount, 0); -} - -/** - * @brief Displays a closed relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLineRelativeClosed(Points, PointCount, 1); -} - - -/** - * @brief Displays a full polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_FillPolyLine(pPoint Points, uint16_t PointCount) -{ - /* public-domain code by Darel Rex Finley, 2007 */ - uint16_t nodes = 0, nodeX[MAX_POLY_CORNERS], pixelX = 0, pixelY = 0, i = 0, - j = 0, swap = 0; - uint16_t IMAGE_LEFT = 0, IMAGE_RIGHT = 0, IMAGE_TOP = 0, IMAGE_BOTTOM = 0; - - IMAGE_LEFT = IMAGE_RIGHT = Points->X; - IMAGE_TOP= IMAGE_BOTTOM = Points->Y; - - for(i = 1; i < PointCount; i++) - { - pixelX = POLY_X(i); - if(pixelX < IMAGE_LEFT) - { - IMAGE_LEFT = pixelX; - } - if(pixelX > IMAGE_RIGHT) - { - IMAGE_RIGHT = pixelX; - } - - pixelY = POLY_Y(i); - if(pixelY < IMAGE_TOP) - { - IMAGE_TOP = pixelY; - } - if(pixelY > IMAGE_BOTTOM) - { - IMAGE_BOTTOM = pixelY; - } - } - - LCD_SetTextColor(BackColor); - - /* Loop through the rows of the image. */ - for (pixelY = IMAGE_TOP; pixelY < IMAGE_BOTTOM; pixelY++) - { - /* Build a list of nodes. */ - nodes = 0; j = PointCount-1; - - for (i = 0; i < PointCount; i++) - { - if (POLY_Y(i)<(double) pixelY && POLY_Y(j)>=(double) pixelY || POLY_Y(j)<(double) pixelY && POLY_Y(i)>=(double) pixelY) - { - nodeX[nodes++]=(int) (POLY_X(i)+((pixelY-POLY_Y(i))*(POLY_X(j)-POLY_X(i)))/(POLY_Y(j)-POLY_Y(i))); - } - j = i; - } - - /* Sort the nodes, via a simple "Bubble" sort. */ - i = 0; - while (i < nodes-1) - { - if (nodeX[i]>nodeX[i+1]) - { - swap = nodeX[i]; - nodeX[i] = nodeX[i+1]; - nodeX[i+1] = swap; - if(i) - { - i--; - } - } - else - { - i++; - } - } - - /* Fill the pixels between node pairs. */ - for (i = 0; i < nodes; i+=2) - { - if(nodeX[i] >= IMAGE_RIGHT) - { - break; - } - if(nodeX[i+1] > IMAGE_LEFT) - { - if (nodeX[i] < IMAGE_LEFT) - { - nodeX[i]=IMAGE_LEFT; - } - if(nodeX[i+1] > IMAGE_RIGHT) - { - nodeX[i+1] = IMAGE_RIGHT; - } - LCD_SetTextColor(BackColor); - LCD_DrawLine(pixelY, nodeX[i+1], nodeX[i+1] - nodeX[i], LCD_DIR_HORIZONTAL); - LCD_SetTextColor(TextColor); - PutPixel(pixelY, nodeX[i+1]); - PutPixel(pixelY, nodeX[i]); - /* for (j=nodeX[i]; jCR1 &= 0xFFC7; - LCD_SPI->CR1 |= 0x0008; - /* Write 16-bit Index (then Read Reg) */ - LCD_WriteRegIndex(LCD_Reg); - /* Read 16-bit Reg */ - /* Reset LCD control line(/CS) and Send Start-Byte */ - LCD_nCS_StartByte(START_BYTE | LCD_READ_REG); - - for(i = 0; i < 5; i++) - { - SPI_I2S_SendData(LCD_SPI, 0xFF); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - /* One byte of invalid dummy data read after the start byte */ - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_RXNE) == RESET) - { - } - SPI_I2S_ReceiveData(LCD_SPI); - } - SPI_I2S_SendData(LCD_SPI, 0xFF); - /* Read upper byte */ - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - /* Read lower byte */ - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_RXNE) == RESET) - { - } - tmp = SPI_I2S_ReceiveData(LCD_SPI); - - - SPI_I2S_SendData(LCD_SPI, 0xFF); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - /* Read lower byte */ - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_RXNE) == RESET) - { - } - tmp = ((tmp & 0xFF) << 8) | SPI_I2S_ReceiveData(LCD_SPI); - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - /* LCD_SPI prescaler: 2 */ - LCD_SPI->CR1 &= 0xFFC7; - return tmp; -} - - -/** - * @brief Prepare to write to the LCD RAM. - * @param None - * @retval None - */ -void LCD_WriteRAM_Prepare(void) -{ - LCD_WriteRegIndex(LCD_REG_34); /* Select GRAM Reg */ - /* Reset LCD control line(/CS) and Send Start-Byte */ - LCD_nCS_StartByte(START_BYTE | LCD_WRITE_REG); -} - - -/** - * @brief Writes 1 word to the LCD RAM. - * @param RGB_Code: the pixel color in RGB mode (5-6-5). - * @retval None - */ -void LCD_WriteRAMWord(uint16_t RGB_Code) -{ - LCD_WriteRAM_Prepare(); - LCD_WriteRAM(RGB_Code); - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - - -/** - * @brief Writes to the selected LCD register. - * @param LCD_Reg: address of the selected register. - * @param LCD_RegValue: value to write to the selected register. - * @retval None - */ -void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue) -{ - /* Write 16-bit Index (then Write Reg) */ - LCD_WriteRegIndex(LCD_Reg); - /* Write 16-bit Reg */ - /* Reset LCD control line(/CS) and Send Start-Byte */ - LCD_nCS_StartByte(START_BYTE | LCD_WRITE_REG); - SPI_I2S_SendData(LCD_SPI, LCD_RegValue>>8); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - SPI_I2S_SendData(LCD_SPI, (LCD_RegValue & 0xFF)); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - - -/** - * @brief Writes to the LCD RAM. - * @param RGB_Code: the pixel color in RGB mode (5-6-5). - * @retval None - */ -void LCD_WriteRAM(uint16_t RGB_Code) -{ - SPI_I2S_SendData(LCD_SPI, RGB_Code >> 8); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } - SPI_I2S_SendData(LCD_SPI, RGB_Code & 0xFF); - while(SPI_I2S_GetFlagStatus(LCD_SPI, SPI_I2S_FLAG_BSY) != RESET) - { - } -} - - -/** - * @brief Power on the LCD. - * @param None - * @retval None - */ -void LCD_PowerOn(void) -{ - /* Power On sequence ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* delay 50 ms */ - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ -} - -/** - * @brief Enables the Display. - * @param None - * @retval None - */ -void LCD_DisplayOn(void) -{ - /* Display On */ - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ - -} - -/** - * @brief Disables the Display. - * @param None - * @retval None - */ -void LCD_DisplayOff(void) -{ - /* Display Off */ - LCD_WriteReg(LCD_REG_7, 0x0); -} - -/** - * @brief Configures LCD control lines in Output Push-Pull mode. - * @param None - * @retval None - */ -void LCD_CtrlLinesConfig(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_APB2PeriphClockCmd(LCD_NCS_GPIO_CLK, ENABLE); - - /* Configure NCS in Output Push-Pull mode */ - GPIO_InitStructure.GPIO_Pin = LCD_NCS_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(LCD_NCS_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Sets or reset LCD control lines. - * @param GPIOx: where x can be B or D to select the GPIO peripheral. - * @param CtrlPins: the Control line. This parameter can be: - * @arg LCD_NCS_PIN: Chip Select pin - * @param BitVal: specifies the value to be written to the selected bit. - * This parameter can be: - * @arg Bit_RESET: to clear the port pin - * @arg Bit_SET: to set the port pin - * @retval None - */ -void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, uint16_t CtrlPins, BitAction BitVal) -{ - /* Set or Reset the control line */ - GPIO_WriteBit(GPIOx, CtrlPins, BitVal); -} - - -/** - * @brief Configures the LCD_SPI interface. - * @param None - * @retval None - */ -void LCD_SPIConfig(void) -{ - SPI_InitTypeDef SPI_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_APB2PeriphClockCmd(LCD_SPI_SCK_GPIO_CLK | LCD_SPI_MISO_GPIO_CLK | LCD_SPI_MOSI_GPIO_CLK - | RCC_APB2Periph_AFIO, ENABLE); - GPIO_PinRemapConfig(GPIO_Remap_SPI3, ENABLE); - - /* Enable SPI clock */ - RCC_APB1PeriphClockCmd(LCD_SPI_CLK, ENABLE); - - /* Configure SPI pins: SCK, MISO and MOSI */ - GPIO_InitStructure.GPIO_Pin = LCD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(LCD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MISO_PIN; - GPIO_Init(LCD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MOSI_PIN; - GPIO_Init(LCD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - SPI_I2S_DeInit(LCD_SPI); - - /* SPI Config */ - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - SPI_Init(LCD_SPI, &SPI_InitStructure); - - /* SPI enable */ - SPI_Cmd(LCD_SPI, ENABLE); -} - -/** - * @brief Displays a pixel. - * @param x: pixel x. - * @param y: pixel y. - * @retval None - */ -static void PutPixel(int16_t x, int16_t y) -{ - if(x < 0 || x > 239 || y < 0 || y > 319) - { - return; - } - LCD_DrawLine(x, y, 1, LCD_DIR_HORIZONTAL); -} - -#ifndef USE_Delay -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -static void delay(__IO uint32_t nCount) -{ - __IO uint32_t index = 0; - for(index = (100000 * nCount); index != 0; index--) - { - } -} -#endif /* USE_Delay*/ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_lcd.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_lcd.h deleted file mode 100644 index 5fb1eeefa..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210C_EVAL/stm3210c_eval_lcd.h +++ /dev/null @@ -1,379 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210c_eval_lcd.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the lcd firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM3210C_EVAL_LCD_H -#define __STM3210C_EVAL_LCD_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" -#include "../Common/fonts.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210C_EVAL - * @{ - */ - -/** @addtogroup STM3210C_EVAL_LCD - * @{ - */ - - -/** @defgroup STM3210C_EVAL_LCD_Exported_Types - * @{ - */ -typedef struct -{ - int16_t X; - int16_t Y; -} Point, * pPoint; -/** - * @} - */ - -/** @defgroup STM3210C_EVAL_LCD_Exported_Constants - * @{ - */ - -/** - * @brief Uncomment the line below if you want to use LCD_DrawBMP function to - * display a bitmap picture on the LCD. This function assumes that the bitmap - * file is loaded in the SPI Flash (mounted on STM3210C-EVAL board), however - * user can tailor it according to his application hardware requirement. - */ -/*#define USE_LCD_DrawBMP*/ - -/** - * @brief Uncomment the line below if you want to use user defined Delay function - * (for precise timing), otherwise default _delay_ function defined within - * this driver is used (less precise timing). - */ -/* #define USE_Delay */ - -#ifdef USE_Delay -#include "main.h" - - #define _delay_ Delay /* !< User can provide more timing precise _delay_ function - (with 10ms time base), using SysTick for example */ -#else - #define _delay_ delay /* !< Default _delay_ function with less precise timing */ -#endif - -/** - * @brief LCD Control pins - */ -#define LCD_NCS_PIN GPIO_Pin_2 -#define LCD_NCS_GPIO_PORT GPIOB -#define LCD_NCS_GPIO_CLK RCC_APB2Periph_GPIOB - -/** - * @brief LCD SPI Interface pins - */ -#define LCD_SPI SPI3 -#define LCD_SPI_CLK RCC_APB1Periph_SPI3 -#define LCD_SPI_SCK_PIN GPIO_Pin_10 -#define LCD_SPI_SCK_GPIO_PORT GPIOC -#define LCD_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOC -#define LCD_SPI_MISO_PIN GPIO_Pin_11 -#define LCD_SPI_MISO_GPIO_PORT GPIOC -#define LCD_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOC -#define LCD_SPI_MOSI_PIN GPIO_Pin_12 -#define LCD_SPI_MOSI_GPIO_PORT GPIOC -#define LCD_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOC - -/** - * @brief LCD Registers - */ -#define LCD_REG_0 0x00 -#define LCD_REG_1 0x01 -#define LCD_REG_2 0x02 -#define LCD_REG_3 0x03 -#define LCD_REG_4 0x04 -#define LCD_REG_5 0x05 -#define LCD_REG_6 0x06 -#define LCD_REG_7 0x07 -#define LCD_REG_8 0x08 -#define LCD_REG_9 0x09 -#define LCD_REG_10 0x0A -#define LCD_REG_12 0x0C -#define LCD_REG_13 0x0D -#define LCD_REG_14 0x0E -#define LCD_REG_15 0x0F -#define LCD_REG_16 0x10 -#define LCD_REG_17 0x11 -#define LCD_REG_18 0x12 -#define LCD_REG_19 0x13 -#define LCD_REG_20 0x14 -#define LCD_REG_21 0x15 -#define LCD_REG_22 0x16 -#define LCD_REG_23 0x17 -#define LCD_REG_24 0x18 -#define LCD_REG_25 0x19 -#define LCD_REG_26 0x1A -#define LCD_REG_27 0x1B -#define LCD_REG_28 0x1C -#define LCD_REG_29 0x1D -#define LCD_REG_30 0x1E -#define LCD_REG_31 0x1F -#define LCD_REG_32 0x20 -#define LCD_REG_33 0x21 -#define LCD_REG_34 0x22 -#define LCD_REG_36 0x24 -#define LCD_REG_37 0x25 -#define LCD_REG_40 0x28 -#define LCD_REG_41 0x29 -#define LCD_REG_43 0x2B -#define LCD_REG_45 0x2D -#define LCD_REG_48 0x30 -#define LCD_REG_49 0x31 -#define LCD_REG_50 0x32 -#define LCD_REG_51 0x33 -#define LCD_REG_52 0x34 -#define LCD_REG_53 0x35 -#define LCD_REG_54 0x36 -#define LCD_REG_55 0x37 -#define LCD_REG_56 0x38 -#define LCD_REG_57 0x39 -#define LCD_REG_59 0x3B -#define LCD_REG_60 0x3C -#define LCD_REG_61 0x3D -#define LCD_REG_62 0x3E -#define LCD_REG_63 0x3F -#define LCD_REG_64 0x40 -#define LCD_REG_65 0x41 -#define LCD_REG_66 0x42 -#define LCD_REG_67 0x43 -#define LCD_REG_68 0x44 -#define LCD_REG_69 0x45 -#define LCD_REG_70 0x46 -#define LCD_REG_71 0x47 -#define LCD_REG_72 0x48 -#define LCD_REG_73 0x49 -#define LCD_REG_74 0x4A -#define LCD_REG_75 0x4B -#define LCD_REG_76 0x4C -#define LCD_REG_77 0x4D -#define LCD_REG_78 0x4E -#define LCD_REG_79 0x4F -#define LCD_REG_80 0x50 -#define LCD_REG_81 0x51 -#define LCD_REG_82 0x52 -#define LCD_REG_83 0x53 -#define LCD_REG_96 0x60 -#define LCD_REG_97 0x61 -#define LCD_REG_106 0x6A -#define LCD_REG_118 0x76 -#define LCD_REG_128 0x80 -#define LCD_REG_129 0x81 -#define LCD_REG_130 0x82 -#define LCD_REG_131 0x83 -#define LCD_REG_132 0x84 -#define LCD_REG_133 0x85 -#define LCD_REG_134 0x86 -#define LCD_REG_135 0x87 -#define LCD_REG_136 0x88 -#define LCD_REG_137 0x89 -#define LCD_REG_139 0x8B -#define LCD_REG_140 0x8C -#define LCD_REG_141 0x8D -#define LCD_REG_143 0x8F -#define LCD_REG_144 0x90 -#define LCD_REG_145 0x91 -#define LCD_REG_146 0x92 -#define LCD_REG_147 0x93 -#define LCD_REG_148 0x94 -#define LCD_REG_149 0x95 -#define LCD_REG_150 0x96 -#define LCD_REG_151 0x97 -#define LCD_REG_152 0x98 -#define LCD_REG_153 0x99 -#define LCD_REG_154 0x9A -#define LCD_REG_157 0x9D -#define LCD_REG_192 0xC0 -#define LCD_REG_193 0xC1 -#define LCD_REG_229 0xE5 - -/** - * @brief LCD color - */ -#define LCD_COLOR_WHITE 0xFFFF -#define LCD_COLOR_BLACK 0x0000 -#define LCD_COLOR_GREY 0xF7DE -#define LCD_COLOR_BLUE 0x001F -#define LCD_COLOR_BLUE2 0x051F -#define LCD_COLOR_RED 0xF800 -#define LCD_COLOR_MAGENTA 0xF81F -#define LCD_COLOR_GREEN 0x07E0 -#define LCD_COLOR_CYAN 0x7FFF -#define LCD_COLOR_YELLOW 0xFFE0 - -/** - * @brief LCD Lines depending on the chosen fonts. - */ -#define LCD_LINE_0 LINE(0) -#define LCD_LINE_1 LINE(1) -#define LCD_LINE_2 LINE(2) -#define LCD_LINE_3 LINE(3) -#define LCD_LINE_4 LINE(4) -#define LCD_LINE_5 LINE(5) -#define LCD_LINE_6 LINE(6) -#define LCD_LINE_7 LINE(7) -#define LCD_LINE_8 LINE(8) -#define LCD_LINE_9 LINE(9) -#define LCD_LINE_10 LINE(10) -#define LCD_LINE_11 LINE(11) -#define LCD_LINE_12 LINE(12) -#define LCD_LINE_13 LINE(13) -#define LCD_LINE_14 LINE(14) -#define LCD_LINE_15 LINE(15) -#define LCD_LINE_16 LINE(16) -#define LCD_LINE_17 LINE(17) -#define LCD_LINE_18 LINE(18) -#define LCD_LINE_19 LINE(19) -#define LCD_LINE_20 LINE(20) -#define LCD_LINE_21 LINE(21) -#define LCD_LINE_22 LINE(22) -#define LCD_LINE_23 LINE(23) -#define LCD_LINE_24 LINE(24) -#define LCD_LINE_25 LINE(25) -#define LCD_LINE_26 LINE(26) -#define LCD_LINE_27 LINE(27) -#define LCD_LINE_28 LINE(28) -#define LCD_LINE_29 LINE(29) - -/** - * @brief LCD default font - */ -#define LCD_DEFAULT_FONT Font16x24 - -/** - * @brief LCD Direction - */ -#define LCD_DIR_HORIZONTAL 0x0000 -#define LCD_DIR_VERTICAL 0x0001 - -/** - * @brief LCD Size (Width and Height) - */ -#define LCD_PIXEL_WIDTH 0x0140 -#define LCD_PIXEL_HEIGHT 0x00F0 - -/** - * @} - */ - -/** @defgroup STM3210C_EVAL_LCD_Exported_Macros - * @{ - */ -#define ASSEMBLE_RGB(R, G, B) ((((R)& 0xF8) << 8) | (((G) & 0xFC) << 3) | (((B) & 0xF8) >> 3)) -/** - * @} - */ - -/** @defgroup STM3210C_EVAL_LCD_Exported_Functions - * @{ - */ -void LCD_DeInit(void); -void LCD_Setup(void); -void STM3210C_LCD_Init(void); -void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor); -void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor); -void LCD_SetTextColor(__IO uint16_t Color); -void LCD_SetBackColor(__IO uint16_t Color); -void LCD_ClearLine(uint8_t Line); -void LCD_Clear(uint16_t Color); -void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos); -void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c); -void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii); -void LCD_SetFont(sFONT *fonts); -sFONT *LCD_GetFont(void); -void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr); -void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width); -void LCD_WindowModeDisable(void); -void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction); -void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width); -void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius); -void LCD_DrawMonoPict(const uint32_t *Pict); -#ifdef USE_LCD_DrawBMP -//void LCD_DrawBMP(uint32_t BmpAddress); -void LCD_DrawBMP(const uint16_t *BmpAddress); -#endif -void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2); -void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); -void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius); -void LCD_PolyLine(pPoint Points, uint16_t PointCount); -void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount); -void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount); -void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount); -void LCD_FillPolyLine(pPoint Points, uint16_t PointCount); - -void LCD_nCS_StartByte(uint8_t Start_Byte); -void LCD_WriteRegIndex(uint8_t LCD_Reg); -void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue); -void LCD_WriteRAM_Prepare(void); -void LCD_WriteRAMWord(uint16_t RGB_Code); -uint16_t LCD_ReadReg(uint8_t LCD_Reg); -void LCD_WriteRAM(uint16_t RGB_Code); -void LCD_PowerOn(void); -void LCD_DisplayOn(void); -void LCD_DisplayOff(void); - -void LCD_CtrlLinesConfig(void); -void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, uint16_t CtrlPins, BitAction BitVal); -void LCD_SPIConfig(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM3210C_EVAL_LCD_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c deleted file mode 100644 index 67e0bdbcb..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c +++ /dev/null @@ -1,667 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210e_eval.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides - * - set of firmware functions to manage Leds, push-button and COM ports - * - low level initialization functions for SD card (on SDIO), SPI serial - * flash (sFLASH) and temperature sensor (LM75) - * available on STM3210E-EVAL evaluation board from STMicroelectronics. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm3210e_eval.h" -#include "stm32f10x_spi.h" -#include "stm32f10x_i2c.h" -#include "stm32f10x_sdio.h" -#include "stm32f10x_dma.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL - * @{ - */ - -/** @defgroup STM3210E_EVAL_LOW_LEVEL - * @brief This file provides firmware functions to manage Leds, push-buttons, - * COM ports, SD card on SDIO, serial flash (sFLASH), serial EEPROM (sEE) - * and temperature sensor (LM75) available on STM3210E-EVAL evaluation - * board from STMicroelectronics. - * @{ - */ - -/** @defgroup STM3210E_EVAL_LOW_LEVEL_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_LOW_LEVEL_Private_Defines - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_LOW_LEVEL_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_LOW_LEVEL_Private_Variables - * @{ - */ -GPIO_TypeDef* GPIO_PORT[LEDn] = {LED1_GPIO_PORT, LED2_GPIO_PORT, LED3_GPIO_PORT, - LED4_GPIO_PORT}; -const uint16_t GPIO_PIN[LEDn] = {LED1_PIN, LED2_PIN, LED3_PIN, - LED4_PIN}; -const uint32_t GPIO_CLK[LEDn] = {LED1_GPIO_CLK, LED2_GPIO_CLK, LED3_GPIO_CLK, - LED4_GPIO_CLK}; - -GPIO_TypeDef* BUTTON_PORT[BUTTONn] = {WAKEUP_BUTTON_GPIO_PORT, TAMPER_BUTTON_GPIO_PORT, - KEY_BUTTON_GPIO_PORT, RIGHT_BUTTON_GPIO_PORT, - LEFT_BUTTON_GPIO_PORT, UP_BUTTON_GPIO_PORT, - DOWN_BUTTON_GPIO_PORT, SEL_BUTTON_GPIO_PORT}; - -const uint16_t BUTTON_PIN[BUTTONn] = {WAKEUP_BUTTON_PIN, TAMPER_BUTTON_PIN, - KEY_BUTTON_PIN, RIGHT_BUTTON_PIN, - LEFT_BUTTON_PIN, UP_BUTTON_PIN, - DOWN_BUTTON_PIN, SEL_BUTTON_PIN}; - -const uint32_t BUTTON_CLK[BUTTONn] = {WAKEUP_BUTTON_GPIO_CLK, TAMPER_BUTTON_GPIO_CLK, - KEY_BUTTON_GPIO_CLK, RIGHT_BUTTON_GPIO_CLK, - LEFT_BUTTON_GPIO_CLK, UP_BUTTON_GPIO_CLK, - DOWN_BUTTON_GPIO_CLK, SEL_BUTTON_GPIO_CLK}; - -const uint16_t BUTTON_EXTI_LINE[BUTTONn] = {WAKEUP_BUTTON_EXTI_LINE, - TAMPER_BUTTON_EXTI_LINE, - KEY_BUTTON_EXTI_LINE, - RIGHT_BUTTON_EXTI_LINE, - LEFT_BUTTON_EXTI_LINE, - UP_BUTTON_EXTI_LINE, - DOWN_BUTTON_EXTI_LINE, - SEL_BUTTON_EXTI_LINE}; - -const uint16_t BUTTON_PORT_SOURCE[BUTTONn] = {WAKEUP_BUTTON_EXTI_PORT_SOURCE, - TAMPER_BUTTON_EXTI_PORT_SOURCE, - KEY_BUTTON_EXTI_PORT_SOURCE, - RIGHT_BUTTON_EXTI_PORT_SOURCE, - LEFT_BUTTON_EXTI_PORT_SOURCE, - UP_BUTTON_EXTI_PORT_SOURCE, - DOWN_BUTTON_EXTI_PORT_SOURCE, - SEL_BUTTON_EXTI_PORT_SOURCE}; - -const uint16_t BUTTON_PIN_SOURCE[BUTTONn] = {WAKEUP_BUTTON_EXTI_PIN_SOURCE, - TAMPER_BUTTON_EXTI_PIN_SOURCE, - KEY_BUTTON_EXTI_PIN_SOURCE, - RIGHT_BUTTON_EXTI_PIN_SOURCE, - LEFT_BUTTON_EXTI_PIN_SOURCE, - UP_BUTTON_EXTI_PIN_SOURCE, - DOWN_BUTTON_EXTI_PIN_SOURCE, - SEL_BUTTON_EXTI_PIN_SOURCE}; - -const uint16_t BUTTON_IRQn[BUTTONn] = {WAKEUP_BUTTON_EXTI_IRQn, TAMPER_BUTTON_EXTI_IRQn, - KEY_BUTTON_EXTI_IRQn, RIGHT_BUTTON_EXTI_IRQn, - LEFT_BUTTON_EXTI_IRQn, UP_BUTTON_EXTI_IRQn, - DOWN_BUTTON_EXTI_IRQn, SEL_BUTTON_EXTI_IRQn}; - -USART_TypeDef* COM_USART[COMn] = {EVAL_COM1, EVAL_COM2}; - -GPIO_TypeDef* COM_TX_PORT[COMn] = {EVAL_COM1_TX_GPIO_PORT, EVAL_COM2_TX_GPIO_PORT}; - -GPIO_TypeDef* COM_RX_PORT[COMn] = {EVAL_COM1_RX_GPIO_PORT, EVAL_COM2_RX_GPIO_PORT}; - -const uint32_t COM_USART_CLK[COMn] = {EVAL_COM1_CLK, EVAL_COM2_CLK}; - -const uint32_t COM_TX_PORT_CLK[COMn] = {EVAL_COM1_TX_GPIO_CLK, EVAL_COM2_TX_GPIO_CLK}; - -const uint32_t COM_RX_PORT_CLK[COMn] = {EVAL_COM1_RX_GPIO_CLK, EVAL_COM2_RX_GPIO_CLK}; - -const uint16_t COM_TX_PIN[COMn] = {EVAL_COM1_TX_PIN, EVAL_COM2_TX_PIN}; - -const uint16_t COM_RX_PIN[COMn] = {EVAL_COM1_RX_PIN, EVAL_COM2_RX_PIN}; - -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_LOW_LEVEL_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_LOW_LEVEL_Private_Functions - * @{ - */ - -/** - * @brief Configures LED GPIO. - * @param Led: Specifies the Led to be configured. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDInit(Led_TypeDef Led) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable the GPIO_LED Clock */ - RCC_APB2PeriphClockCmd(GPIO_CLK[Led], ENABLE); - - /* Configure the GPIO_LED pin */ - GPIO_InitStructure.GPIO_Pin = GPIO_PIN[Led]; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - - GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure); -} - -/** - * @brief Turns selected LED On. - * @param Led: Specifies the Led to be set on. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDOn(Led_TypeDef Led) -{ - GPIO_PORT[Led]->BSRR = GPIO_PIN[Led]; -} - -/** - * @brief Turns selected LED Off. - * @param Led: Specifies the Led to be set off. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDOff(Led_TypeDef Led) -{ - GPIO_PORT[Led]->BRR = GPIO_PIN[Led]; -} - -/** - * @brief Toggles the selected LED. - * @param Led: Specifies the Led to be toggled. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDToggle(Led_TypeDef Led) -{ - GPIO_PORT[Led]->ODR ^= GPIO_PIN[Led]; -} - -/** - * @brief Configures Button GPIO and EXTI Line. - * @param Button: Specifies the Button to be configured. - * This parameter can be one of following parameters: - * @arg BUTTON_WAKEUP: Wakeup Push Button - * @arg BUTTON_TAMPER: Tamper Push Button - * @arg BUTTON_KEY: Key Push Button - * @arg BUTTON_RIGHT: Joystick Right Push Button - * @arg BUTTON_LEFT: Joystick Left Push Button - * @arg BUTTON_UP: Joystick Up Push Button - * @arg BUTTON_DOWN: Joystick Down Push Button - * @arg BUTTON_SEL: Joystick Sel Push Button - * @param Button_Mode: Specifies Button mode. - * This parameter can be one of following parameters: - * @arg BUTTON_MODE_GPIO: Button will be used as simple IO - * @arg BUTTON_MODE_EXTI: Button will be connected to EXTI line with interrupt - * generation capability - * @retval None - */ -void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode) -{ - GPIO_InitTypeDef GPIO_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable the BUTTON Clock */ - RCC_APB2PeriphClockCmd(BUTTON_CLK[Button] | RCC_APB2Periph_AFIO, ENABLE); - - /* Configure Button pin as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_InitStructure.GPIO_Pin = BUTTON_PIN[Button]; - GPIO_Init(BUTTON_PORT[Button], &GPIO_InitStructure); - - - if (Button_Mode == BUTTON_MODE_EXTI) - { - /* Connect Button EXTI Line to Button GPIO Pin */ - GPIO_EXTILineConfig(BUTTON_PORT_SOURCE[Button], BUTTON_PIN_SOURCE[Button]); - - /* Configure Button EXTI line */ - EXTI_InitStructure.EXTI_Line = BUTTON_EXTI_LINE[Button]; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - - if(Button != BUTTON_WAKEUP) - { - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; - } - else - { - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - } - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable and set Button EXTI Interrupt to the lowest priority */ - NVIC_InitStructure.NVIC_IRQChannel = BUTTON_IRQn[Button]; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - - NVIC_Init(&NVIC_InitStructure); - } -} - -/** - * @brief Returns the selected Button state. - * @param Button: Specifies the Button to be checked. - * This parameter can be one of following parameters: - * @arg BUTTON_WAKEUP: Wakeup Push Button - * @arg BUTTON_TAMPER: Tamper Push Button - * @arg BUTTON_KEY: Key Push Button - * @arg BUTTON_RIGHT: Joystick Right Push Button - * @arg BUTTON_LEFT: Joystick Left Push Button - * @arg BUTTON_UP: Joystick Up Push Button - * @arg BUTTON_DOWN: Joystick Down Push Button - * @arg BUTTON_SEL: Joystick Sel Push Button - * @retval The Button GPIO pin value. - */ -uint32_t STM_EVAL_PBGetState(Button_TypeDef Button) -{ - return GPIO_ReadInputDataBit(BUTTON_PORT[Button], BUTTON_PIN[Button]); -} - -/** - * @brief Configures COM port. - * @param COM: Specifies the COM port to be configured. - * This parameter can be one of following parameters: - * @arg COM1 - * @arg COM2 - * @param USART_InitStruct: pointer to a USART_InitTypeDef structure that - * contains the configuration information for the specified USART peripheral. - * @retval None - */ -void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_APB2PeriphClockCmd(COM_TX_PORT_CLK[COM] | COM_RX_PORT_CLK[COM] | RCC_APB2Periph_AFIO, ENABLE); - - /* Enable UART clock */ - if (COM == COM1) - { - RCC_APB2PeriphClockCmd(COM_USART_CLK[COM], ENABLE); - } - else - { - RCC_APB1PeriphClockCmd(COM_USART_CLK[COM], ENABLE); - } - - /* Configure USART Tx as alternate function push-pull */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_InitStructure.GPIO_Pin = COM_TX_PIN[COM]; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(COM_TX_PORT[COM], &GPIO_InitStructure); - - /* Configure USART Rx as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_InitStructure.GPIO_Pin = COM_RX_PIN[COM]; - GPIO_Init(COM_RX_PORT[COM], &GPIO_InitStructure); - - /* USART configuration */ - USART_Init(COM_USART[COM], USART_InitStruct); - - /* Enable USART */ - USART_Cmd(COM_USART[COM], ENABLE); -} - -/** - * @brief DeInitializes the SDIO interface. - * @param None - * @retval None - */ -void SD_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Disable SDIO Clock */ - SDIO_ClockCmd(DISABLE); - - /*!< Set Power State to OFF */ - SDIO_SetPowerState(SDIO_PowerState_OFF); - - /*!< DeInitializes the SDIO peripheral */ - SDIO_DeInit(); - - /*!< Disable the SDIO AHB Clock */ - RCC_AHBPeriphClockCmd(RCC_AHBPeriph_SDIO, DISABLE); - - /*!< Configure PC.08, PC.09, PC.10, PC.11, PC.12 pin: D0, D1, D2, D3, CLK pin */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - /*!< Configure PD.02 CMD line */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; - GPIO_Init(GPIOD, &GPIO_InitStructure); -} - -/** - * @brief Initializes the SD Card and put it into StandBy State (Ready for - * data transfer). - * @param None - * @retval None - */ -void SD_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< GPIOC and GPIOD Periph clock enable */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | SD_DETECT_GPIO_CLK, ENABLE); - - /*!< Configure PC.08, PC.09, PC.10, PC.11, PC.12 pin: D0, D1, D2, D3, CLK pin */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - /*!< Configure PD.02 CMD line */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - /*!< Configure SD_SPI_DETECT_PIN pin: SD Card detect pin */ - GPIO_InitStructure.GPIO_Pin = SD_DETECT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_Init(SD_DETECT_GPIO_PORT, &GPIO_InitStructure); - - /*!< Enable the SDIO AHB Clock */ - RCC_AHBPeriphClockCmd(RCC_AHBPeriph_SDIO, ENABLE); - - /*!< Enable the DMA2 Clock */ - RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA2, ENABLE); -} - -/** - * @brief Configures the DMA2 Channel4 for SDIO Tx request. - * @param BufferSRC: pointer to the source buffer - * @param BufferSize: buffer size - * @retval None - */ -void SD_LowLevel_DMA_TxConfig(uint32_t *BufferSRC, uint32_t BufferSize) -{ - - DMA_InitTypeDef DMA_InitStructure; - - DMA_ClearFlag(DMA2_FLAG_TC4 | DMA2_FLAG_TE4 | DMA2_FLAG_HT4 | DMA2_FLAG_GL4); - - /*!< DMA2 Channel4 disable */ - DMA_Cmd(DMA2_Channel4, DISABLE); - - /*!< DMA2 Channel4 Config */ - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)SDIO_FIFO_ADDRESS; - DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)BufferSRC; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; - DMA_InitStructure.DMA_BufferSize = BufferSize / 4; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; - DMA_Init(DMA2_Channel4, &DMA_InitStructure); - - /*!< DMA2 Channel4 enable */ - DMA_Cmd(DMA2_Channel4, ENABLE); -} - -/** - * @brief Configures the DMA2 Channel4 for SDIO Rx request. - * @param BufferDST: pointer to the destination buffer - * @param BufferSize: buffer size - * @retval None - */ -void SD_LowLevel_DMA_RxConfig(uint32_t *BufferDST, uint32_t BufferSize) -{ - DMA_InitTypeDef DMA_InitStructure; - - DMA_ClearFlag(DMA2_FLAG_TC4 | DMA2_FLAG_TE4 | DMA2_FLAG_HT4 | DMA2_FLAG_GL4); - - /*!< DMA2 Channel4 disable */ - DMA_Cmd(DMA2_Channel4, DISABLE); - - /*!< DMA2 Channel4 Config */ - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)SDIO_FIFO_ADDRESS; - DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)BufferDST; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; - DMA_InitStructure.DMA_BufferSize = BufferSize / 4; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; - DMA_Init(DMA2_Channel4, &DMA_InitStructure); - - /*!< DMA2 Channel4 enable */ - DMA_Cmd(DMA2_Channel4, ENABLE); -} - -/** - * @brief Returns the DMA End Of Transfer Status. - * @param None - * @retval DMA SDIO Channel Status. - */ -uint32_t SD_DMAEndOfTransferStatus(void) -{ - return (uint32_t)DMA_GetFlagStatus(DMA2_FLAG_TC4); -} - -/** - * @brief DeInitializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Disable the sFLASH_SPI */ - SPI_Cmd(sFLASH_SPI, DISABLE); - - /*!< DeInitializes the sFLASH_SPI */ - SPI_I2S_DeInit(sFLASH_SPI); - - /*!< sFLASH_SPI Periph clock disable */ - RCC_APB2PeriphClockCmd(sFLASH_SPI_CLK, DISABLE); - - /*!< Configure sFLASH_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(sFLASH_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MISO_PIN; - GPIO_Init(sFLASH_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MOSI_PIN; - GPIO_Init(sFLASH_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_CS_PIN pin: sFLASH Card CS pin */ - GPIO_InitStructure.GPIO_Pin = sFLASH_CS_PIN; - GPIO_Init(sFLASH_CS_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< sFLASH_SPI_CS_GPIO, sFLASH_SPI_MOSI_GPIO, sFLASH_SPI_MISO_GPIO - and sFLASH_SPI_SCK_GPIO Periph clock enable */ - RCC_APB2PeriphClockCmd(sFLASH_CS_GPIO_CLK | sFLASH_SPI_MOSI_GPIO_CLK | sFLASH_SPI_MISO_GPIO_CLK | - sFLASH_SPI_SCK_GPIO_CLK, ENABLE); - - /*!< sFLASH_SPI Periph clock enable */ - RCC_APB2PeriphClockCmd(sFLASH_SPI_CLK, ENABLE); - - /*!< Configure sFLASH_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(sFLASH_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MOSI_PIN; - GPIO_Init(sFLASH_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MISO_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(sFLASH_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH_CS_PIN pin: sFLASH Card CS pin */ - GPIO_InitStructure.GPIO_Pin = sFLASH_CS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(sFLASH_CS_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief DeInitializes the LM75_I2C. - * @param None - * @retval None - */ -void LM75_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Disable LM75_I2C */ - I2C_Cmd(LM75_I2C, DISABLE); - /*!< DeInitializes the LM75_I2C */ - I2C_DeInit(LM75_I2C); - - /*!< LM75_I2C Periph clock disable */ - RCC_APB1PeriphClockCmd(LM75_I2C_CLK, DISABLE); - - /*!< Configure LM75_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(LM75_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SDA_PIN; - GPIO_Init(LM75_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pin: SMBUS ALERT */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SMBUSALERT_PIN; - GPIO_Init(LM75_I2C_SMBUSALERT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the LM75_I2C.. - * @param None - * @retval None - */ -void LM75_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< LM75_I2C Periph clock enable */ - RCC_APB1PeriphClockCmd(LM75_I2C_CLK, ENABLE); - - /*!< LM75_I2C_SCL_GPIO_CLK, LM75_I2C_SDA_GPIO_CLK - and LM75_I2C_SMBUSALERT_GPIO_CLK Periph clock enable */ - RCC_APB2PeriphClockCmd(LM75_I2C_SCL_GPIO_CLK | LM75_I2C_SDA_GPIO_CLK | - LM75_I2C_SMBUSALERT_GPIO_CLK, ENABLE); - - /*!< Configure LM75_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; - GPIO_Init(LM75_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SDA_PIN; - GPIO_Init(LM75_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pin: SMBUS ALERT */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SMBUSALERT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_Init(LM75_I2C_SMBUSALERT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.h deleted file mode 100644 index eebdeba16..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.h +++ /dev/null @@ -1,342 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210e_eval.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains definitions for STM3210E_EVAL's Leds, push-buttons - * COM ports, sFLASH (on SPI) and Temperature Sensor LM75 (on I2C) - * hardware resources. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM3210E_EVAL_H -#define __STM3210E_EVAL_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL_LOW_LEVEL - * @{ - */ - -/** @defgroup STM3210E_EVAL_LOW_LEVEL_Exported_Types - * @{ - */ -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_LOW_LEVEL_Exported_Constants - * @{ - */ -/** @addtogroup STM3210E_EVAL_LOW_LEVEL_LED - * @{ - */ -#define LEDn 4 - -#define LED1_PIN GPIO_Pin_6 -#define LED1_GPIO_PORT GPIOF -#define LED1_GPIO_CLK RCC_APB2Periph_GPIOF - -#define LED2_PIN GPIO_Pin_7 -#define LED2_GPIO_PORT GPIOF -#define LED2_GPIO_CLK RCC_APB2Periph_GPIOF - -#define LED3_PIN GPIO_Pin_8 -#define LED3_GPIO_PORT GPIOF -#define LED3_GPIO_CLK RCC_APB2Periph_GPIOF - -#define LED4_PIN GPIO_Pin_9 -#define LED4_GPIO_PORT GPIOF -#define LED4_GPIO_CLK RCC_APB2Periph_GPIOF - -/** - * @} - */ - -/** @addtogroup STM3210E_EVAL_LOW_LEVEL_BUTTON - * @{ - */ -#define BUTTONn 8 - -/** - * @brief Wakeup push-button - */ -#define WAKEUP_BUTTON_PIN GPIO_Pin_0 -#define WAKEUP_BUTTON_GPIO_PORT GPIOA -#define WAKEUP_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOA -#define WAKEUP_BUTTON_EXTI_LINE EXTI_Line0 -#define WAKEUP_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOA -#define WAKEUP_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource0 -#define WAKEUP_BUTTON_EXTI_IRQn EXTI0_IRQn -/** - * @brief Tamper push-button - */ -#define TAMPER_BUTTON_PIN GPIO_Pin_13 -#define TAMPER_BUTTON_GPIO_PORT GPIOC -#define TAMPER_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOC -#define TAMPER_BUTTON_EXTI_LINE EXTI_Line13 -#define TAMPER_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOC -#define TAMPER_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource13 -#define TAMPER_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Key push-button - */ -#define KEY_BUTTON_PIN GPIO_Pin_8 -#define KEY_BUTTON_GPIO_PORT GPIOG -#define KEY_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG -#define KEY_BUTTON_EXTI_LINE EXTI_Line8 -#define KEY_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG -#define KEY_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource8 -#define KEY_BUTTON_EXTI_IRQn EXTI9_5_IRQn -/** - * @brief Joystick Right push-button - */ -#define RIGHT_BUTTON_PIN GPIO_Pin_13 -#define RIGHT_BUTTON_GPIO_PORT GPIOG -#define RIGHT_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG -#define RIGHT_BUTTON_EXTI_LINE EXTI_Line13 -#define RIGHT_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG -#define RIGHT_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource13 -#define RIGHT_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Joystick Left push-button - */ -#define LEFT_BUTTON_PIN GPIO_Pin_14 -#define LEFT_BUTTON_GPIO_PORT GPIOG -#define LEFT_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG -#define LEFT_BUTTON_EXTI_LINE EXTI_Line14 -#define LEFT_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG -#define LEFT_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource14 -#define LEFT_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Joystick Up push-button - */ -#define UP_BUTTON_PIN GPIO_Pin_15 -#define UP_BUTTON_GPIO_PORT GPIOG -#define UP_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG -#define UP_BUTTON_EXTI_LINE EXTI_Line15 -#define UP_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG -#define UP_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource15 -#define UP_BUTTON_EXTI_IRQn EXTI15_10_IRQn -/** - * @brief Joystick Down push-button - */ -#define DOWN_BUTTON_PIN GPIO_Pin_3 -#define DOWN_BUTTON_GPIO_PORT GPIOD -#define DOWN_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOD -#define DOWN_BUTTON_EXTI_LINE EXTI_Line3 -#define DOWN_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOD -#define DOWN_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource3 -#define DOWN_BUTTON_EXTI_IRQn EXTI3_IRQn -/** - * @brief Joystick Sel push-button - */ -#define SEL_BUTTON_PIN GPIO_Pin_7 -#define SEL_BUTTON_GPIO_PORT GPIOG -#define SEL_BUTTON_GPIO_CLK RCC_APB2Periph_GPIOG -#define SEL_BUTTON_EXTI_LINE EXTI_Line7 -#define SEL_BUTTON_EXTI_PORT_SOURCE GPIO_PortSourceGPIOG -#define SEL_BUTTON_EXTI_PIN_SOURCE GPIO_PinSource7 -#define SEL_BUTTON_EXTI_IRQn EXTI9_5_IRQn -/** - * @} - */ - -/** @addtogroup STM3210E_EVAL_LOW_LEVEL_COM - * @{ - */ -#define COMn 2 - -/** - * @brief Definition for COM port1, connected to USART1 - */ -#define EVAL_COM1 USART1 -#define EVAL_COM1_CLK RCC_APB2Periph_USART1 -#define EVAL_COM1_TX_PIN GPIO_Pin_9 -#define EVAL_COM1_TX_GPIO_PORT GPIOA -#define EVAL_COM1_TX_GPIO_CLK RCC_APB2Periph_GPIOA -#define EVAL_COM1_RX_PIN GPIO_Pin_10 -#define EVAL_COM1_RX_GPIO_PORT GPIOA -#define EVAL_COM1_RX_GPIO_CLK RCC_APB2Periph_GPIOA -#define EVAL_COM1_IRQn USART1_IRQn - -/** - * @brief Definition for COM port2, connected to USART2 - */ -#define EVAL_COM2 USART2 -#define EVAL_COM2_CLK RCC_APB1Periph_USART2 -#define EVAL_COM2_TX_PIN GPIO_Pin_2 -#define EVAL_COM2_TX_GPIO_PORT GPIOA -#define EVAL_COM2_TX_GPIO_CLK RCC_APB2Periph_GPIOA -#define EVAL_COM2_RX_PIN GPIO_Pin_3 -#define EVAL_COM2_RX_GPIO_PORT GPIOA -#define EVAL_COM2_RX_GPIO_CLK RCC_APB2Periph_GPIOA -#define EVAL_COM2_IRQn USART2_IRQn - -/** - * @} - */ - -/** @addtogroup STM3210E_EVAL_LOW_LEVEL_SD_FLASH - * @{ - */ -/** - * @brief SD FLASH SDIO Interface - */ - -#define SD_DETECT_PIN GPIO_Pin_11 /* PF.11 */ -#define SD_DETECT_GPIO_PORT GPIOF /* GPIOF */ -#define SD_DETECT_GPIO_CLK RCC_APB2Periph_GPIOF - -#define SDIO_FIFO_ADDRESS ((uint32_t)0x40018080) -/** - * @brief SDIO Intialization Frequency (400KHz max) - */ -#define SDIO_INIT_CLK_DIV ((uint8_t)0xB2) -/** - * @brief SDIO Data Transfer Frequency (25MHz max) - */ -#define SDIO_TRANSFER_CLK_DIV ((uint8_t)0x00) - -/** - * @} - */ - -/** @addtogroup STM3210E_EVAL_LOW_LEVEL_M25P_FLASH_SPI - * @{ - */ -/** - * @brief M25P FLASH SPI Interface pins - */ -#define sFLASH_SPI SPI1 -#define sFLASH_SPI_CLK RCC_APB2Periph_SPI1 -#define sFLASH_SPI_SCK_PIN GPIO_Pin_5 /* PA.05 */ -#define sFLASH_SPI_SCK_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_SPI_SCK_GPIO_CLK RCC_APB2Periph_GPIOA -#define sFLASH_SPI_MISO_PIN GPIO_Pin_6 /* PA.06 */ -#define sFLASH_SPI_MISO_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_SPI_MISO_GPIO_CLK RCC_APB2Periph_GPIOA -#define sFLASH_SPI_MOSI_PIN GPIO_Pin_7 /* PA.07 */ -#define sFLASH_SPI_MOSI_GPIO_PORT GPIOA /* GPIOA */ -#define sFLASH_SPI_MOSI_GPIO_CLK RCC_APB2Periph_GPIOA -#define sFLASH_CS_PIN GPIO_Pin_2 /* PB.02 */ -#define sFLASH_CS_GPIO_PORT GPIOB /* GPIOB */ -#define sFLASH_CS_GPIO_CLK RCC_APB2Periph_GPIOB - -/** - * @} - */ - -/** @addtogroup STM3210E_EVAL_LOW_LEVEL_TSENSOR_I2C - * @{ - */ -/** - * @brief LM75 Temperature Sensor I2C Interface pins - */ -#define LM75_I2C I2C1 -#define LM75_I2C_CLK RCC_APB1Periph_I2C1 -#define LM75_I2C_SCL_PIN GPIO_Pin_6 /* PB.06 */ -#define LM75_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SCL_GPIO_CLK RCC_APB2Periph_GPIOB -#define LM75_I2C_SDA_PIN GPIO_Pin_7 /* PB.07 */ -#define LM75_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SDA_GPIO_CLK RCC_APB2Periph_GPIOB -#define LM75_I2C_SMBUSALERT_PIN GPIO_Pin_5 /* PB.05 */ -#define LM75_I2C_SMBUSALERT_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SMBUSALERT_GPIO_CLK RCC_APB2Periph_GPIOB -#define LM75_I2C_DR ((uint32_t)0x40005410) - -#define LM75_DMA_CLK RCC_AHBPeriph_DMA1 -#define LM75_DMA_TX_CHANNEL DMA1_Channel6 -#define LM75_DMA_RX_CHANNEL DMA1_Channel7 -#define LM75_DMA_TX_TCFLAG DMA1_FLAG_TC6 -#define LM75_DMA_RX_TCFLAG DMA1_FLAG_TC7 -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_LOW_LEVEL_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_LOW_LEVEL_Exported_Functions - * @{ - */ -void STM_EVAL_LEDInit(Led_TypeDef Led); -void STM_EVAL_LEDOn(Led_TypeDef Led); -void STM_EVAL_LEDOff(Led_TypeDef Led); -void STM_EVAL_LEDToggle(Led_TypeDef Led); -void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode); -uint32_t STM_EVAL_PBGetState(Button_TypeDef Button); -void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct); -void SD_LowLevel_DeInit(void); -void SD_LowLevel_Init(void); -void SD_LowLevel_DMA_TxConfig(uint32_t *BufferSRC, uint32_t BufferSize); -void SD_LowLevel_DMA_RxConfig(uint32_t *BufferDST, uint32_t BufferSize); -uint32_t SD_DMAEndOfTransferStatus(void); -void sFLASH_LowLevel_DeInit(void); -void sFLASH_LowLevel_Init(void); -void LM75_LowLevel_DeInit(void); -void LM75_LowLevel_Init(void); -/** - * @} - */ -#ifdef __cplusplus -} -#endif - -#endif /* __STM3210E_EVAL_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nand.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nand.c deleted file mode 100644 index 1f0a78e5b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nand.c +++ /dev/null @@ -1,546 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210e_eval_fsmc_nand.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides a set of functions needed to drive the - * NAND512W3A2 memory mounted on STM3210E-EVAL board. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm3210e_eval_fsmc_nand.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL_FSMC_NAND - * @brief This file provides a set of functions needed to drive the - * NAND512W3A2 memory mounted on STM3210E-EVAL board. - * @{ - */ - -/** @defgroup STM3210E_EVAL_FSMC_NAND_Private_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_FSMC_NAND_Private_Defines - * @{ - */ -/** - * @brief FSMC Bank 2 - */ -#define FSMC_Bank_NAND FSMC_Bank2_NAND -#define Bank_NAND_ADDR Bank2_NAND_ADDR -#define Bank2_NAND_ADDR ((uint32_t)0x70000000) -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_FSMC_NAND_Private_Macros - * @{ - */ -#define ROW_ADDRESS (Address.Page + (Address.Block + (Address.Zone * NAND_ZONE_SIZE)) * NAND_BLOCK_SIZE) -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_FSMC_NAND_Private_Variables - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_FSMC_NAND_Private_Function_Prototypes - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_FSMC_NAND_Private_Functions - * @{ - */ - -/** - * @brief Configures the FSMC and GPIOs to interface with the NAND memory. - * This function must be called before any write/read operation on the - * NAND. - * @param None - * @retval None - */ -void NAND_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - FSMC_NANDInitTypeDef FSMC_NANDInitStructure; - FSMC_NAND_PCCARDTimingInitTypeDef p; - - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | - RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG, ENABLE); - -/*-- GPIO Configuration ------------------------------------------------------*/ -/*!< CLE, ALE, D0->D3, NOE, NWE and NCE2 NAND pin configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_14 | GPIO_Pin_15 | - GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | - GPIO_Pin_7; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - - GPIO_Init(GPIOD, &GPIO_InitStructure); - -/*!< D4->D7 NAND pin configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10; - - GPIO_Init(GPIOE, &GPIO_InitStructure); - - -/*!< NWAIT NAND pin configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - - GPIO_Init(GPIOD, &GPIO_InitStructure); - -/*!< INT2 NAND pin configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_Init(GPIOG, &GPIO_InitStructure); - - /*-- FSMC Configuration ------------------------------------------------------*/ - p.FSMC_SetupTime = 0x0; - p.FSMC_WaitSetupTime = 0x2; - p.FSMC_HoldSetupTime = 0x1; - p.FSMC_HiZSetupTime = 0x0; - - FSMC_NANDInitStructure.FSMC_Bank = FSMC_Bank2_NAND; - FSMC_NANDInitStructure.FSMC_Waitfeature = FSMC_Waitfeature_Enable; - FSMC_NANDInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b; - FSMC_NANDInitStructure.FSMC_ECC = FSMC_ECC_Enable; - FSMC_NANDInitStructure.FSMC_ECCPageSize = FSMC_ECCPageSize_512Bytes; - FSMC_NANDInitStructure.FSMC_TCLRSetupTime = 0x00; - FSMC_NANDInitStructure.FSMC_TARSetupTime = 0x00; - FSMC_NANDInitStructure.FSMC_CommonSpaceTimingStruct = &p; - FSMC_NANDInitStructure.FSMC_AttributeSpaceTimingStruct = &p; - - FSMC_NANDInit(&FSMC_NANDInitStructure); - - /*!< FSMC NAND Bank Cmd Test */ - FSMC_NANDCmd(FSMC_Bank2_NAND, ENABLE); -} - -/** - * @brief Reads NAND memory's ID. - * @param NAND_ID: pointer to a NAND_IDTypeDef structure which will hold - * the Manufacturer and Device ID. - * @retval None - */ -void NAND_ReadID(NAND_IDTypeDef* NAND_ID) -{ - uint32_t data = 0; - - /*!< Send Command to the command area */ - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = 0x90; - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; - - /*!< Sequence to read ID from NAND flash */ - data = *(__IO uint32_t *)(Bank_NAND_ADDR | DATA_AREA); - - NAND_ID->Maker_ID = ADDR_1st_CYCLE (data); - NAND_ID->Device_ID = ADDR_2nd_CYCLE (data); - NAND_ID->Third_ID = ADDR_3rd_CYCLE (data); - NAND_ID->Fourth_ID = ADDR_4th_CYCLE (data); -} - -/** - * @brief This routine is for writing one or several 512 Bytes Page size. - * @param pBuffer: pointer on the Buffer containing data to be written - * @param Address: First page address - * @param NumPageToWrite: Number of page to write - * @retval New status of the NAND operation. This parameter can be: - * - NAND_TIMEOUT_ERROR: when the previous operation generate - * a Timeout error - * - NAND_READY: when memory is ready for the next operation - * And 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 NAND_WriteSmallPage(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumPageToWrite) -{ - uint32_t index = 0x00, numpagewritten = 0x00, addressstatus = NAND_VALID_ADDRESS; - uint32_t status = NAND_READY, size = 0x00; - - while((NumPageToWrite != 0x00) && (addressstatus == NAND_VALID_ADDRESS) && (status == NAND_READY)) - { - /*!< Page write command and address */ - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_A; - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_WRITE0; - - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); - - /*!< Calculate the size */ - size = NAND_PAGE_SIZE + (NAND_PAGE_SIZE * numpagewritten); - - /*!< Write data */ - for(; index < size; index++) - { - *(__IO uint8_t *)(Bank_NAND_ADDR | DATA_AREA) = pBuffer[index]; - } - - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_WRITE_TRUE1; - - /*!< Check status for successful operation */ - status = NAND_GetStatus(); - - if(status == NAND_READY) - { - numpagewritten++; - - NumPageToWrite--; - - /*!< Calculate Next small page Address */ - addressstatus = NAND_AddressIncrement(&Address); - } - } - - return (status | addressstatus); -} - -/** - * @brief This routine is for sequential read from one or several 512 Bytes Page size. - * @param pBuffer: pointer on the Buffer to fill - * @param Address: First page address - * @param NumPageToRead: Number of page to read - * @retval New status of the NAND operation. This parameter can be: - * - NAND_TIMEOUT_ERROR: when the previous operation generate - * a Timeout error - * - NAND_READY: when memory is ready for the next operation - * And 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 NAND_ReadSmallPage(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumPageToRead) -{ - uint32_t index = 0x00, numpageread = 0x00, addressstatus = NAND_VALID_ADDRESS; - uint32_t status = NAND_READY, size = 0x00; - - while((NumPageToRead != 0x0) && (addressstatus == NAND_VALID_ADDRESS)) - { - /*!< Page Read command and page address */ - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_A; - - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); - - /*!< Calculate the size */ - size = NAND_PAGE_SIZE + (NAND_PAGE_SIZE * numpageread); - - /*!< Get Data into Buffer */ - for(; index < size; index++) - { - pBuffer[index]= *(__IO uint8_t *)(Bank_NAND_ADDR | DATA_AREA); - } - - numpageread++; - - NumPageToRead--; - - /*!< Calculate page address */ - addressstatus = NAND_AddressIncrement(&Address); - } - - status = NAND_GetStatus(); - - return (status | addressstatus); -} - -/** - * @brief This routine write the spare area information for the specified - * pages addresses. - * @param pBuffer: pointer on the Buffer containing data to be written - * @param Address: First page address - * @param NumSpareAreaTowrite: Number of Spare Area to write - * @retval New status of the NAND operation. This parameter can be: - * - NAND_TIMEOUT_ERROR: when the previous operation generate - * a Timeout error - * - NAND_READY: when memory is ready for the next operation - * And 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 NAND_WriteSpareArea(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumSpareAreaTowrite) -{ - uint32_t index = 0x00, numsparesreawritten = 0x00, addressstatus = NAND_VALID_ADDRESS; - uint32_t status = NAND_READY, size = 0x00; - - while((NumSpareAreaTowrite != 0x00) && (addressstatus == NAND_VALID_ADDRESS) && (status == NAND_READY)) - { - /*!< Page write Spare area command and address */ - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_C; - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_WRITE0; - - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); - - /*!< Calculate the size */ - size = NAND_SPARE_AREA_SIZE + (NAND_SPARE_AREA_SIZE * numsparesreawritten); - - /*!< Write the data */ - for(; index < size; index++) - { - *(__IO uint8_t *)(Bank_NAND_ADDR | DATA_AREA) = pBuffer[index]; - } - - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_WRITE_TRUE1; - - /*!< Check status for successful operation */ - status = NAND_GetStatus(); - - if(status == NAND_READY) - { - numsparesreawritten++; - - NumSpareAreaTowrite--; - - /*!< Calculate Next page Address */ - addressstatus = NAND_AddressIncrement(&Address); - } - } - - return (status | addressstatus); -} - -/** - * @brief This routine read the spare area information from the specified - * pages addresses. - * @param pBuffer: pointer on the Buffer to fill - * @param Address: First page address - * @param NumSpareAreaToRead: Number of Spare Area to read - * @retval New status of the NAND operation. This parameter can be: - * - NAND_TIMEOUT_ERROR: when the previous operation generate - * a Timeout error - * - NAND_READY: when memory is ready for the next operation - * And 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 NAND_ReadSpareArea(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumSpareAreaToRead) -{ - uint32_t numsparearearead = 0x00, index = 0x00, addressstatus = NAND_VALID_ADDRESS; - uint32_t status = NAND_READY, size = 0x00; - - while((NumSpareAreaToRead != 0x0) && (addressstatus == NAND_VALID_ADDRESS)) - { - /*!< Page Read command and page address */ - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_C; - - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); - - /*!< Data Read */ - size = NAND_SPARE_AREA_SIZE + (NAND_SPARE_AREA_SIZE * numsparearearead); - - /*!< Get Data into Buffer */ - for ( ;index < size; index++) - { - pBuffer[index] = *(__IO uint8_t *)(Bank_NAND_ADDR | DATA_AREA); - } - - numsparearearead++; - - NumSpareAreaToRead--; - - /*!< Calculate page address */ - addressstatus = NAND_AddressIncrement(&Address); - } - - status = NAND_GetStatus(); - - return (status | addressstatus); -} - -/** - * @brief This routine erase complete block from NAND FLASH - * @param Address: Any address into block to be erased - * @retval New status of the NAND operation. This parameter can be: - * - NAND_TIMEOUT_ERROR: when the previous operation generate - * a Timeout error - * - NAND_READY: when memory is ready for the next operation - */ -uint32_t NAND_EraseBlock(NAND_ADDRESS Address) -{ - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_ERASE0; - - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); - *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); - - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_ERASE1; - - return (NAND_GetStatus()); -} - -/** - * @brief This routine reset the NAND FLASH. - * @param None - * @retval NAND_READY - */ -uint32_t NAND_Reset(void) -{ - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_RESET; - - return (NAND_READY); -} - -/** - * @brief Get the NAND operation status. - * @param None - * @retval New status of the NAND operation. This parameter can be: - * - NAND_TIMEOUT_ERROR: when the previous operation generate - * a Timeout error - * - NAND_READY: when memory is ready for the next operation - */ -uint32_t NAND_GetStatus(void) -{ - uint32_t timeout = 0x1000000, status = NAND_READY; - - status = NAND_ReadStatus(); - - /*!< Wait for a NAND operation to complete or a TIMEOUT to occur */ - while ((status != NAND_READY) &&( timeout != 0x00)) - { - status = NAND_ReadStatus(); - timeout --; - } - - if(timeout == 0x00) - { - status = NAND_TIMEOUT_ERROR; - } - - /*!< Return the operation status */ - return (status); -} - -/** - * @brief Reads the NAND memory status using the Read status command. - * @param None - * @retval The status of the NAND memory. This parameter can be: - * - NAND_BUSY: when memory is busy - * - NAND_READY: when memory is ready for the next operation - * - NAND_ERROR: when the previous operation gererates error - */ -uint32_t NAND_ReadStatus(void) -{ - uint32_t data = 0x00, status = NAND_BUSY; - - /*!< Read status operation ------------------------------------ */ - *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_STATUS; - data = *(__IO uint8_t *)(Bank_NAND_ADDR); - - if((data & NAND_ERROR) == NAND_ERROR) - { - status = NAND_ERROR; - } - else if((data & NAND_READY) == NAND_READY) - { - status = NAND_READY; - } - else - { - status = NAND_BUSY; - } - - return (status); -} - -/** - * @brief Increment the NAND memory address. - * @param Address: address to be incremented. - * @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 NAND_AddressIncrement(NAND_ADDRESS* Address) -{ - uint32_t status = NAND_VALID_ADDRESS; - - Address->Page++; - - if(Address->Page == NAND_BLOCK_SIZE) - { - Address->Page = 0; - Address->Block++; - - if(Address->Block == NAND_ZONE_SIZE) - { - Address->Block = 0; - Address->Zone++; - - if(Address->Zone == NAND_MAX_ZONE) - { - status = NAND_INVALID_ADDRESS; - } - } - } - - return (status); -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nand.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nand.h deleted file mode 100644 index e9c51100f..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nand.h +++ /dev/null @@ -1,177 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210e_eval_fsmc_nand.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the - * stm3210e_eval_fsmc_nand firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM3210E_EVAL_FSMC_NAND_H -#define __STM3210E_EVAL_FSMC_NAND_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL_FSMC_NAND - * @{ - */ - -/** @defgroup STM3210E_EVAL_FSMC_NAND_Exported_Types - * @{ - */ -typedef struct -{ - uint8_t Maker_ID; - uint8_t Device_ID; - uint8_t Third_ID; - uint8_t Fourth_ID; -}NAND_IDTypeDef; - -typedef struct -{ - uint16_t Zone; - uint16_t Block; - uint16_t Page; -} NAND_ADDRESS; -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_FSMC_NAND_Exported_Constants - * @{ - */ -/** - * @brief NAND Area definition for STM3210E-EVAL Board RevD - */ -#define CMD_AREA (uint32_t)(1<<16) /* A16 = CLE high */ -#define ADDR_AREA (uint32_t)(1<<17) /* A17 = ALE high */ - -#define DATA_AREA ((uint32_t)0x00000000) - -/** - * @brief FSMC NAND memory command - */ -#define NAND_CMD_AREA_A ((uint8_t)0x00) -#define NAND_CMD_AREA_B ((uint8_t)0x01) -#define NAND_CMD_AREA_C ((uint8_t)0x50) - -#define NAND_CMD_WRITE0 ((uint8_t)0x80) -#define NAND_CMD_WRITE_TRUE1 ((uint8_t)0x10) - -#define NAND_CMD_ERASE0 ((uint8_t)0x60) -#define NAND_CMD_ERASE1 ((uint8_t)0xD0) - -#define NAND_CMD_READID ((uint8_t)0x90) -#define NAND_CMD_STATUS ((uint8_t)0x70) -#define NAND_CMD_LOCK_STATUS ((uint8_t)0x7A) -#define NAND_CMD_RESET ((uint8_t)0xFF) - -/** - * @brief NAND memory status - */ -#define NAND_VALID_ADDRESS ((uint32_t)0x00000100) -#define NAND_INVALID_ADDRESS ((uint32_t)0x00000200) -#define NAND_TIMEOUT_ERROR ((uint32_t)0x00000400) -#define NAND_BUSY ((uint32_t)0x00000000) -#define NAND_ERROR ((uint32_t)0x00000001) -#define NAND_READY ((uint32_t)0x00000040) - -/** - * @brief FSMC NAND memory parameters - */ -#define NAND_PAGE_SIZE ((uint16_t)0x0200) /* 512 bytes per page w/o Spare Area */ -#define NAND_BLOCK_SIZE ((uint16_t)0x0020) /* 32x512 bytes pages per block */ -#define NAND_ZONE_SIZE ((uint16_t)0x0400) /* 1024 Block per zone */ -#define NAND_SPARE_AREA_SIZE ((uint16_t)0x0010) /* last 16 bytes as spare area */ -#define NAND_MAX_ZONE ((uint16_t)0x0004) /* 4 zones of 1024 block */ - -/** - * @brief FSMC NAND memory address computation - */ -#define ADDR_1st_CYCLE(ADDR) (uint8_t)((ADDR)& 0xFF) /* 1st addressing cycle */ -#define ADDR_2nd_CYCLE(ADDR) (uint8_t)(((ADDR)& 0xFF00) >> 8) /* 2nd addressing cycle */ -#define ADDR_3rd_CYCLE(ADDR) (uint8_t)(((ADDR)& 0xFF0000) >> 16) /* 3rd addressing cycle */ -#define ADDR_4th_CYCLE(ADDR) (uint8_t)(((ADDR)& 0xFF000000) >> 24) /* 4th addressing cycle */ -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_FSMC_NAND_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_FSMC_NAND_Exported_Functions - * @{ - */ -void NAND_Init(void); -void NAND_ReadID(NAND_IDTypeDef* NAND_ID); -uint32_t NAND_WriteSmallPage(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumPageToWrite); -uint32_t NAND_ReadSmallPage (uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumPageToRead); -uint32_t NAND_WriteSpareArea(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumSpareAreaTowrite); -uint32_t NAND_ReadSpareArea(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumSpareAreaToRead); -uint32_t NAND_EraseBlock(NAND_ADDRESS Address); -uint32_t NAND_Reset(void); -uint32_t NAND_GetStatus(void); -uint32_t NAND_ReadStatus(void); -uint32_t NAND_AddressIncrement(NAND_ADDRESS* Address); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM3210E_EVAL_FSMC_NAND_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nor.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nor.c deleted file mode 100644 index 26472c26c..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nor.c +++ /dev/null @@ -1,479 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210e_eval_fsmc_nor.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides a set of functions needed to drive the M29W128FL, - * M29W128GL and S29GL128P NOR memories mounted on STM3210E-EVAL board. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm3210e_eval_fsmc_nor.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL_FSMC_NOR - * @brief This file provides a set of functions needed to drive the M29W128FL, - * M29W128GL and S29GL128P NOR memories mounted on STM3210E-EVAL board. - * @{ - */ - -/** @defgroup STM3210E_EVAL_FSMC_NOR_Private_Types - * @{ - */ -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_FSMC_NOR_Private_Defines - * @{ - */ -/** - * @brief FSMC Bank 1 NOR/SRAM2 - */ -#define Bank1_NOR2_ADDR ((uint32_t)0x64000000) - -/* Delay definition */ -#define BlockErase_Timeout ((uint32_t)0x00A00000) -#define ChipErase_Timeout ((uint32_t)0x30000000) -#define Program_Timeout ((uint32_t)0x00001400) -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_FSMC_NOR_Private_Macros - * @{ - */ -#define ADDR_SHIFT(A) (Bank1_NOR2_ADDR + (2 * (A))) -#define NOR_WRITE(Address, Data) (*(__IO uint16_t *)(Address) = (Data)) -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_FSMC_NOR_Private_Variables - * @{ - */ -/** - * @} - */ - - -/** @defgroupSTM3210E_EVAL_FSMC_NOR_Private_Function_Prototypes - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_FSMC_NOR_Private_Functions - * @{ - */ - -/** - * @brief Configures the FSMC and GPIOs to interface with the NOR memory. - * This function must be called before any write/read operation - * on the NOR. - * @param None - * @retval None - */ -void NOR_Init(void) -{ - FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; - FSMC_NORSRAMTimingInitTypeDef p; - GPIO_InitTypeDef GPIO_InitStructure; - - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | - RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG, ENABLE); - - /*-- GPIO Configuration ------------------------------------------------------*/ - /*!< NOR Data lines configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_8 | GPIO_Pin_9 | - GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | - GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | - GPIO_Pin_14 | GPIO_Pin_15; - GPIO_Init(GPIOE, &GPIO_InitStructure); - - /*!< NOR Address lines configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | - GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_12 | GPIO_Pin_13 | - GPIO_Pin_14 | GPIO_Pin_15; - GPIO_Init(GPIOF, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | - GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5; - GPIO_Init(GPIOG, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6; - GPIO_Init(GPIOE, &GPIO_InitStructure); - - /*!< NOE and NWE configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - /*!< NE2 configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; - GPIO_Init(GPIOG, &GPIO_InitStructure); - - /*!< Configure PD6 for NOR memory Ready/Busy signal */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - /*-- FSMC Configuration ----------------------------------------------------*/ - p.FSMC_AddressSetupTime = 0x02; - p.FSMC_AddressHoldTime = 0x00; - p.FSMC_DataSetupTime = 0x05; - p.FSMC_BusTurnAroundDuration = 0x00; - p.FSMC_CLKDivision = 0x00; - p.FSMC_DataLatency = 0x00; - p.FSMC_AccessMode = FSMC_AccessMode_B; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; - - FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); - - /*!< Enable FSMC Bank1_NOR Bank */ - FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM2, ENABLE); -} - -/** - * @brief Reads NOR memory's Manufacturer and Device Code. - * @param NOR_ID: pointer to a NOR_IDTypeDef structure which will hold the - * Manufacturer and Device Code. - * @retval None - */ -void NOR_ReadID(NOR_IDTypeDef* NOR_ID) -{ - NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); - NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); - NOR_WRITE(ADDR_SHIFT(0x0555), 0x0090); - - NOR_ID->Manufacturer_Code = *(__IO uint16_t *) ADDR_SHIFT(0x0000); - NOR_ID->Device_Code1 = *(__IO uint16_t *) ADDR_SHIFT(0x0001); - NOR_ID->Device_Code2 = *(__IO uint16_t *) ADDR_SHIFT(0x000E); - NOR_ID->Device_Code3 = *(__IO uint16_t *) ADDR_SHIFT(0x000F); -} - -/** - * @brief Erases the specified Nor memory block. - * @param BlockAddr: address of the block to erase. - * @retval NOR_Status: The returned value can be: NOR_SUCCESS, NOR_ERROR - * or NOR_TIMEOUT - */ -NOR_Status NOR_EraseBlock(uint32_t BlockAddr) -{ - NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); - NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); - NOR_WRITE(ADDR_SHIFT(0x0555), 0x0080); - NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); - NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); - NOR_WRITE((Bank1_NOR2_ADDR + BlockAddr), 0x30); - - return (NOR_GetStatus(BlockErase_Timeout)); -} - -/** - * @brief Erases the entire chip. - * @param None - * @retval NOR_Status: The returned value can be: NOR_SUCCESS, NOR_ERROR - * or NOR_TIMEOUT - */ -NOR_Status NOR_EraseChip(void) -{ - NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); - NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); - NOR_WRITE(ADDR_SHIFT(0x0555), 0x0080); - NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); - NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); - NOR_WRITE(ADDR_SHIFT(0x0555), 0x0010); - - return (NOR_GetStatus(ChipErase_Timeout)); -} - -/** - * @brief Writes a half-word to the NOR memory. - * @param WriteAddr: NOR memory internal address to write to. - * @param Data: Data to write. - * @retval NOR_Status: The returned value can be: NOR_SUCCESS, NOR_ERROR - * or NOR_TIMEOUT - */ -NOR_Status NOR_WriteHalfWord(uint32_t WriteAddr, uint16_t Data) -{ - NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); - NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); - NOR_WRITE(ADDR_SHIFT(0x0555), 0x00A0); - NOR_WRITE((Bank1_NOR2_ADDR + WriteAddr), Data); - - return (NOR_GetStatus(Program_Timeout)); -} - -/** - * @brief Writes a half-word buffer to the FSMC NOR memory. - * @param pBuffer: pointer to buffer. - * @param WriteAddr: NOR memory internal address from which the data will be - * written. - * @param NumHalfwordToWrite: number of Half words to write. - * @retval NOR_Status: The returned value can be: NOR_SUCCESS, NOR_ERROR - * or NOR_TIMEOUT - */ -NOR_Status NOR_WriteBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite) -{ - NOR_Status status = NOR_ONGOING; - - do - { - /*!< Transfer data to the memory */ - status = NOR_WriteHalfWord(WriteAddr, *pBuffer++); - WriteAddr = WriteAddr + 2; - NumHalfwordToWrite--; - } - while((status == NOR_SUCCESS) && (NumHalfwordToWrite != 0)); - - return (status); -} - -/** - * @brief Writes a half-word buffer to the FSMC NOR memory. This function - * must be used only with S29GL128P NOR memory. - * @param pBuffer: pointer to buffer. - * @param WriteAddr: NOR memory internal address from which the data will be - * written. - * @param NumHalfwordToWrite: number of Half words to write. - * The maximum allowed value is 32 Half words (64 bytes). - * @retval NOR_Status: The returned value can be: NOR_SUCCESS, NOR_ERROR - * or NOR_TIMEOUT - */ -NOR_Status NOR_ProgramBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite) -{ - uint32_t lastloadedaddress = 0x00; - uint32_t currentaddress = 0x00; - uint32_t endaddress = 0x00; - - /*!< Initialize variables */ - currentaddress = WriteAddr; - endaddress = WriteAddr + NumHalfwordToWrite - 1; - lastloadedaddress = WriteAddr; - - /*!< Issue unlock command sequence */ - NOR_WRITE(ADDR_SHIFT(0x00555), 0x00AA); - - NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); - - /*!< Write Write Buffer Load Command */ - NOR_WRITE(ADDR_SHIFT(WriteAddr), 0x0025); - NOR_WRITE(ADDR_SHIFT(WriteAddr), (NumHalfwordToWrite - 1)); - - /*!< Load Data into NOR Buffer */ - while(currentaddress <= endaddress) - { - /*!< Store last loaded address & data value (for polling) */ - lastloadedaddress = currentaddress; - - NOR_WRITE(ADDR_SHIFT(currentaddress), *pBuffer++); - currentaddress += 1; - } - - NOR_WRITE(ADDR_SHIFT(lastloadedaddress), 0x29); - - return(NOR_GetStatus(Program_Timeout)); -} - -/** - * @brief Reads a half-word from the NOR memory. - * @param ReadAddr: NOR memory internal address to read from. - * @retval Half-word read from the NOR memory - */ -uint16_t NOR_ReadHalfWord(uint32_t ReadAddr) -{ - NOR_WRITE(ADDR_SHIFT(0x00555), 0x00AA); - NOR_WRITE(ADDR_SHIFT(0x002AA), 0x0055); - NOR_WRITE((Bank1_NOR2_ADDR + ReadAddr), 0x00F0 ); - - return (*(__IO uint16_t *)((Bank1_NOR2_ADDR + ReadAddr))); -} - -/** - * @brief Reads a block of data from the FSMC NOR memory. - * @param pBuffer: pointer to the buffer that receives the data read from the - * NOR memory. - * @param ReadAddr: NOR memory internal address to read from. - * @param NumHalfwordToRead : number of Half word to read. - * @retval None - */ -void NOR_ReadBuffer(uint16_t* pBuffer, uint32_t ReadAddr, uint32_t NumHalfwordToRead) -{ - NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); - NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); - NOR_WRITE((Bank1_NOR2_ADDR + ReadAddr), 0x00F0); - - for(; NumHalfwordToRead != 0x00; NumHalfwordToRead--) /*!< while there is data to read */ - { - /*!< Read a Halfword from the NOR */ - *pBuffer++ = *(__IO uint16_t *)((Bank1_NOR2_ADDR + ReadAddr)); - ReadAddr = ReadAddr + 2; - } -} - -/** - * @brief Returns the NOR memory to Read mode. - * @param None - * @retval NOR_SUCCESS - */ -NOR_Status NOR_ReturnToReadMode(void) -{ - NOR_WRITE(Bank1_NOR2_ADDR, 0x00F0); - - return (NOR_SUCCESS); -} - -/** - * @brief Returns the NOR memory to Read mode and resets the errors in the NOR - * memory Status Register. - * @param None - * @retval NOR_SUCCESS - */ -NOR_Status NOR_Reset(void) -{ - NOR_WRITE(ADDR_SHIFT(0x00555), 0x00AA); - NOR_WRITE(ADDR_SHIFT(0x002AA), 0x0055); - NOR_WRITE(Bank1_NOR2_ADDR, 0x00F0); - - return (NOR_SUCCESS); -} - -/** - * @brief Returns the NOR operation status. - * @param Timeout: NOR progamming Timeout - * @retval NOR_Status: The returned value can be: NOR_SUCCESS, NOR_ERROR - * or NOR_TIMEOUT - */ -NOR_Status NOR_GetStatus(uint32_t Timeout) -{ - uint16_t val1 = 0x00, val2 = 0x00; - NOR_Status status = NOR_ONGOING; - uint32_t timeout = Timeout; - - /*!< Poll on NOR memory Ready/Busy signal ----------------------------------*/ - while((GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_6) != RESET) && (timeout > 0)) - { - timeout--; - } - - timeout = Timeout; - - while((GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_6) == RESET) && (timeout > 0)) - { - timeout--; - } - - /*!< Get the NOR memory operation status -----------------------------------*/ - while((Timeout != 0x00) && (status != NOR_SUCCESS)) - { - Timeout--; - - /*!< Read DQ6 and DQ5 */ - val1 = *(__IO uint16_t *)(Bank1_NOR2_ADDR); - val2 = *(__IO uint16_t *)(Bank1_NOR2_ADDR); - - /*!< If DQ6 did not toggle between the two reads then return NOR_Success */ - if((val1 & 0x0040) == (val2 & 0x0040)) - { - return NOR_SUCCESS; - } - - if((val1 & 0x0020) != 0x0020) - { - status = NOR_ONGOING; - } - - val1 = *(__IO uint16_t *)(Bank1_NOR2_ADDR); - val2 = *(__IO uint16_t *)(Bank1_NOR2_ADDR); - - if((val1 & 0x0040) == (val2 & 0x0040)) - { - return NOR_SUCCESS; - } - else if((val1 & 0x0020) == 0x0020) - { - return NOR_ERROR; - } - } - - if(Timeout == 0x00) - { - status = NOR_TIMEOUT; - } - - /*!< Return the operation status */ - return (status); -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nor.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nor.h deleted file mode 100644 index c48dafaa4..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_nor.h +++ /dev/null @@ -1,128 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210e_eval_fsmc_nor.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the - * stm3210e_eval_fsmc_nor firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM3210E_EVAL_FSMC_NOR_H -#define __STM3210E_EVAL_FSMC_NOR_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL_FSMC_NOR - * @{ - */ - -/** @defgroup STM3210E_EVAL_FSMC_NOR_Exported_Types - * @{ - */ -typedef struct -{ - uint16_t Manufacturer_Code; - uint16_t Device_Code1; - uint16_t Device_Code2; - uint16_t Device_Code3; -}NOR_IDTypeDef; - -/* NOR Status */ -typedef enum -{ - NOR_SUCCESS = 0, - NOR_ONGOING, - NOR_ERROR, - NOR_TIMEOUT -}NOR_Status; -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_FSMC_NOR_Exported_Constants - * @{ - */ -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_FSMC_NOR_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_FSMC_NOR_Exported_Functions - * @{ - */ -void NOR_Init(void); -void NOR_ReadID(NOR_IDTypeDef* NOR_ID); -NOR_Status NOR_EraseBlock(uint32_t BlockAddr); -NOR_Status NOR_EraseChip(void); -NOR_Status NOR_WriteHalfWord(uint32_t WriteAddr, uint16_t Data); -NOR_Status NOR_WriteBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite); -NOR_Status NOR_ProgramBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite); -uint16_t NOR_ReadHalfWord(uint32_t ReadAddr); -void NOR_ReadBuffer(uint16_t* pBuffer, uint32_t ReadAddr, uint32_t NumHalfwordToRead); -NOR_Status NOR_ReturnToReadMode(void); -NOR_Status NOR_Reset(void); -NOR_Status NOR_GetStatus(uint32_t Timeout); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM3210E_EVAL_FSMC_NOR_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_sram.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_sram.c deleted file mode 100644 index f23331b2f..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_sram.c +++ /dev/null @@ -1,237 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210e_eval_fsmc_sram.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides a set of functions needed to drive the - * IS61WV51216BLL SRAM memory mounted on STM3210E-EVAL board. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm3210e_eval_fsmc_sram.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL_FSMC_SRAM - * @brief This file provides a set of functions needed to drive the - * IS61WV51216BLL SRAM memory mounted on STM3210E-EVAL board. - * @{ - */ - -/** @defgroup STM3210E_EVAL_FSMC_SRAM_Private_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_FSMC_SRAM_Private_Defines - * @{ - */ -/** - * @brief FSMC Bank 1 NOR/SRAM3 - */ -#define Bank1_SRAM3_ADDR ((uint32_t)0x68000000) -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_FSMC_SRAM_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_FSMC_SRAM_Private_Variables - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_FSMC_SRAM_Private_Function_Prototypes - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_FSMC_SRAM_Private_Functions - * @{ - */ - -/** - * @brief Configures the FSMC and GPIOs to interface with the SRAM memory. - * This function must be called before any write/read operation - * on the SRAM. - * @param None - * @retval None - */ -void SRAM_Init(void) -{ - FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; - FSMC_NORSRAMTimingInitTypeDef p; - GPIO_InitTypeDef GPIO_InitStructure; - - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOG | RCC_APB2Periph_GPIOE | - RCC_APB2Periph_GPIOF, ENABLE); - -/*-- GPIO Configuration ------------------------------------------------------*/ - /*!< SRAM Data lines configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_8 | GPIO_Pin_9 | - GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | - GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | - GPIO_Pin_15; - GPIO_Init(GPIOE, &GPIO_InitStructure); - - /*!< SRAM Address lines configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | - GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_12 | GPIO_Pin_13 | - GPIO_Pin_14 | GPIO_Pin_15; - GPIO_Init(GPIOF, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | - GPIO_Pin_4 | GPIO_Pin_5; - GPIO_Init(GPIOG, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - /*!< NOE and NWE configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 |GPIO_Pin_5; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - /*!< NE3 configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; - GPIO_Init(GPIOG, &GPIO_InitStructure); - - /*!< NBL0, NBL1 configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; - GPIO_Init(GPIOE, &GPIO_InitStructure); - -/*-- FSMC Configuration ------------------------------------------------------*/ - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 1; - p.FSMC_BusTurnAroundDuration = 0; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; - - FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); - - /*!< Enable FSMC Bank1_SRAM Bank */ - FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE); -} - -/** - * @brief Writes a Half-word buffer to the FSMC SRAM memory. - * @param pBuffer : pointer to buffer. - * @param WriteAddr : SRAM memory internal address from which the data will be - * written. - * @param NumHalfwordToWrite : number of half-words to write. - * @retval None - */ -void SRAM_WriteBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite) -{ - for(; NumHalfwordToWrite != 0; NumHalfwordToWrite--) /*!< while there is data to write */ - { - /*!< Transfer data to the memory */ - *(uint16_t *) (Bank1_SRAM3_ADDR + WriteAddr) = *pBuffer++; - - /*!< Increment the address*/ - WriteAddr += 2; - } -} - -/** - * @brief Reads a block of data from the FSMC SRAM memory. - * @param pBuffer : pointer to the buffer that receives the data read from the - * SRAM memory. - * @param ReadAddr : SRAM memory internal address to read from. - * @param NumHalfwordToRead : number of half-words to read. - * @retval None - */ -void SRAM_ReadBuffer(uint16_t* pBuffer, uint32_t ReadAddr, uint32_t NumHalfwordToRead) -{ - for(; NumHalfwordToRead != 0; NumHalfwordToRead--) /*!< while there is data to read */ - { - /*!< Read a half-word from the memory */ - *pBuffer++ = *(__IO uint16_t*) (Bank1_SRAM3_ADDR + ReadAddr); - - /*!< Increment the address*/ - ReadAddr += 2; - } -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_sram.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_sram.h deleted file mode 100644 index 4a491c75e..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_fsmc_sram.h +++ /dev/null @@ -1,104 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210e_eval_fsmc_sram.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the - * stm3210e_eval_fsmc_sram firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM3210E_EVAL_FSMC_SRAM_H -#define __STM3210E_EVAL_FSMC_SRAM_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL_FSMC_SRAM - * @{ - */ - -/** @defgroup STM3210E_EVAL_FSMC_SRAM_Exported_Types - * @{ - */ -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_FSMC_SRAM_Exported_Constants - * @{ - */ -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_FSMC_SRAM_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_FSMC_SRAM_Exported_Functions - * @{ - */ - -void SRAM_Init(void); -void SRAM_WriteBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite); -void SRAM_ReadBuffer(uint16_t* pBuffer, uint32_t ReadAddr, uint32_t NumHalfwordToRead); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM3210E_EVAL_FSMC_SRAM_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_lcd.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_lcd.c deleted file mode 100644 index a9213311b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_lcd.c +++ /dev/null @@ -1,1329 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210e_eval_lcd.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file includes the LCD driver for AM-240320L8TNQW00H - * (LCD_ILI9320) and AM-240320LDTNQW00H (LCD_SPFD5408B) Liquid Crystal - * Display Module of STM3210E-EVAL board. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm3210e_eval_lcd.h" -#include "../Common/fonts.c" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL - * @{ - */ - -/** @defgroup STM3210E_EVAL_LCD - * @brief This file includes the LCD driver for AM-240320L8TNQW00H - * (LCD_ILI9320) and AM-240320LDTNQW00H (LCD_SPFD5408B) Liquid Crystal - * Display Module of STM3210E-EVAL board. - * @{ - */ - -/** @defgroup STM3210E_EVAL_LCD_Private_TypesDefinitions - * @{ - */ -typedef struct -{ - __IO uint16_t LCD_REG; - __IO uint16_t LCD_RAM; -} LCD_TypeDef; -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_LCD_Private_Defines - * @{ - */ -/* Note: LCD /CS is CE4 - Bank 4 of NOR/SRAM Bank 1~4 */ -#define LCD_BASE ((uint32_t)(0x60000000 | 0x0C000000)) -#define LCD ((LCD_TypeDef *) LCD_BASE) -#define MAX_POLY_CORNERS 200 -#define POLY_Y(Z) ((int32_t)((Points + Z)->X)) -#define POLY_X(Z) ((int32_t)((Points + Z)->Y)) -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_LCD_Private_Macros - * @{ - */ -#define ABS(X) ((X) > 0 ? (X) : -(X)) -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_LCD_Private_Variables - * @{ - */ -static sFONT *LCD_Currentfonts; -/* Global variables to set the written text color */ -static __IO uint16_t TextColor = 0x0000, BackColor = 0xFFFF; - -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_LCD_Private_FunctionPrototypes - * @{ - */ -#ifndef USE_Delay -static void delay(vu32 nCount); -#endif /* USE_Delay*/ -static void PutPixel(int16_t x, int16_t y); -static void LCD_PolyLineRelativeClosed(pPoint Points, uint16_t PointCount, uint16_t Closed); -/** - * @} - */ - - -/** @defgroup STM3210E_EVAL_LCD_Private_Functions - * @{ - */ - -/** - * @brief DeInitializes the LCD. - * @param None - * @retval None - */ -void LCD_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< LCD Display Off */ - LCD_DisplayOff(); - - /* BANK 4 (of NOR/SRAM Bank 1~4) is disabled */ - FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE); - - /*!< LCD_SPI DeInit */ - FSMC_NORSRAMDeInit(FSMC_Bank1_NORSRAM4); - - /* Set PD.00(D2), PD.01(D3), PD.04(NOE), PD.05(NWE), PD.08(D13), PD.09(D14), - PD.10(D15), PD.14(D0), PD.15(D1) as input floating */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | - GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_14 | - GPIO_Pin_15; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(GPIOD, &GPIO_InitStructure); - /* Set PE.07(D4), PE.08(D5), PE.09(D6), PE.10(D7), PE.11(D8), PE.12(D9), PE.13(D10), - PE.14(D11), PE.15(D12) as alternate function push pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | - GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | - GPIO_Pin_15; - GPIO_Init(GPIOE, &GPIO_InitStructure); - /* Set PF.00(A0 (RS)) as alternate function push pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; - GPIO_Init(GPIOF, &GPIO_InitStructure); - /* Set PG.12(NE4 (LCD/CS)) as alternate function push pull - CE3(LCD /CS) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; - GPIO_Init(GPIOG, &GPIO_InitStructure); -} - -/** - * @brief Initializes the LCD. - * @param None - * @retval None - */ -void STM3210E_LCD_Init(void) -{ -/* Configure the LCD Control pins --------------------------------------------*/ - LCD_CtrlLinesConfig(); -/* Configure the FSMC Parallel interface -------------------------------------*/ - LCD_FSMCConfig(); - - _delay_(5); /* delay 50 ms */ - /* Check if the LCD is SPFD5408B Controller */ - if(LCD_ReadReg(0x00) == 0x5408) - { - /* Start Initial Sequence ------------------------------------------------*/ - LCD_WriteReg(LCD_REG_1, 0x0100); /* Set SS bit */ - LCD_WriteReg(LCD_REG_2, 0x0700); /* Set 1 line inversion */ - LCD_WriteReg(LCD_REG_3, 0x1030); /* Set GRAM write direction and BGR=1. */ - LCD_WriteReg(LCD_REG_4, 0x0000); /* Resize register */ - LCD_WriteReg(LCD_REG_8, 0x0202); /* Set the back porch and front porch */ - LCD_WriteReg(LCD_REG_9, 0x0000); /* Set non-display area refresh cycle ISC[3:0] */ - LCD_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */ - LCD_WriteReg(LCD_REG_12, 0x0000); /* RGB 18-bit System interface setting */ - LCD_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */ - LCD_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity, no impact */ - /* Power On sequence -----------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_17, 0x0007); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_16, 0x12B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x01BD); /* External reference voltage= Vci */ - _delay_(5); - LCD_WriteReg(LCD_REG_19, 0x1400); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x000E); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */ - LCD_WriteReg(LCD_REG_33, 0x013F); /* GRAM Vertical Address */ - /* Adjust the Gamma Curve (SPFD5408B)-------------------------------------*/ - LCD_WriteReg(LCD_REG_48, 0x0b0d); - LCD_WriteReg(LCD_REG_49, 0x1923); - LCD_WriteReg(LCD_REG_50, 0x1c26); - LCD_WriteReg(LCD_REG_51, 0x261c); - LCD_WriteReg(LCD_REG_52, 0x2419); - LCD_WriteReg(LCD_REG_53, 0x0d0b); - LCD_WriteReg(LCD_REG_54, 0x1006); - LCD_WriteReg(LCD_REG_55, 0x0610); - LCD_WriteReg(LCD_REG_56, 0x0706); - LCD_WriteReg(LCD_REG_57, 0x0304); - LCD_WriteReg(LCD_REG_58, 0x0e05); - LCD_WriteReg(LCD_REG_59, 0x0e01); - LCD_WriteReg(LCD_REG_60, 0x010e); - LCD_WriteReg(LCD_REG_61, 0x050e); - LCD_WriteReg(LCD_REG_62, 0x0403); - LCD_WriteReg(LCD_REG_63, 0x0607); - /* Set GRAM area ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */ - LCD_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */ - LCD_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_96, 0xA700); /* Gate Scan Line */ - LCD_WriteReg(LCD_REG_97, 0x0001); /* NDL, VLE, REV */ - LCD_WriteReg(LCD_REG_106, 0x0000); /* set scrolling line */ - /* Partial Display Control -----------------------------------------------*/ - LCD_WriteReg(LCD_REG_128, 0x0000); - LCD_WriteReg(LCD_REG_129, 0x0000); - LCD_WriteReg(LCD_REG_130, 0x0000); - LCD_WriteReg(LCD_REG_131, 0x0000); - LCD_WriteReg(LCD_REG_132, 0x0000); - LCD_WriteReg(LCD_REG_133, 0x0000); - /* Panel Control ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_144, 0x0010); - LCD_WriteReg(LCD_REG_146, 0x0000); - LCD_WriteReg(LCD_REG_147, 0x0003); - LCD_WriteReg(LCD_REG_149, 0x0110); - LCD_WriteReg(LCD_REG_151, 0x0000); - LCD_WriteReg(LCD_REG_152, 0x0000); - /* Set GRAM write direction and BGR=1 - I/D=01 (Horizontal : increment, Vertical : decrement) - AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - LCD_WriteReg(LCD_REG_7, 0x0112); /* 262K color and display ON */ - LCD_SetFont(&LCD_DEFAULT_FONT); - return; - } -/* Start Initial Sequence ----------------------------------------------------*/ - LCD_WriteReg(LCD_REG_229,0x8000); /* Set the internal vcore voltage */ - LCD_WriteReg(LCD_REG_0, 0x0001); /* Start internal OSC. */ - LCD_WriteReg(LCD_REG_1, 0x0100); /* set SS and SM bit */ - LCD_WriteReg(LCD_REG_2, 0x0700); /* set 1 line inversion */ - LCD_WriteReg(LCD_REG_3, 0x1030); /* set GRAM write direction and BGR=1. */ - LCD_WriteReg(LCD_REG_4, 0x0000); /* Resize register */ - LCD_WriteReg(LCD_REG_8, 0x0202); /* set the back porch and front porch */ - LCD_WriteReg(LCD_REG_9, 0x0000); /* set non-display area refresh cycle ISC[3:0] */ - LCD_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */ - LCD_WriteReg(LCD_REG_12, 0x0000); /* RGB interface setting */ - LCD_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */ - LCD_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity */ -/* Power On sequence ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */ - LCD_WriteReg(LCD_REG_33, 0x0000); /* GRAM Vertical Address */ -/* Adjust the Gamma Curve ----------------------------------------------------*/ - LCD_WriteReg(LCD_REG_48, 0x0006); - LCD_WriteReg(LCD_REG_49, 0x0101); - LCD_WriteReg(LCD_REG_50, 0x0003); - LCD_WriteReg(LCD_REG_53, 0x0106); - LCD_WriteReg(LCD_REG_54, 0x0b02); - LCD_WriteReg(LCD_REG_55, 0x0302); - LCD_WriteReg(LCD_REG_56, 0x0707); - LCD_WriteReg(LCD_REG_57, 0x0007); - LCD_WriteReg(LCD_REG_60, 0x0600); - LCD_WriteReg(LCD_REG_61, 0x020b); - -/* Set GRAM area -------------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */ - LCD_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */ - LCD_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_96, 0x2700); /* Gate Scan Line */ - LCD_WriteReg(LCD_REG_97, 0x0001); /* NDL,VLE, REV */ - LCD_WriteReg(LCD_REG_106, 0x0000); /* set scrolling line */ -/* Partial Display Control ---------------------------------------------------*/ - LCD_WriteReg(LCD_REG_128, 0x0000); - LCD_WriteReg(LCD_REG_129, 0x0000); - LCD_WriteReg(LCD_REG_130, 0x0000); - LCD_WriteReg(LCD_REG_131, 0x0000); - LCD_WriteReg(LCD_REG_132, 0x0000); - LCD_WriteReg(LCD_REG_133, 0x0000); -/* Panel Control -------------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_144, 0x0010); - LCD_WriteReg(LCD_REG_146, 0x0000); - LCD_WriteReg(LCD_REG_147, 0x0003); - LCD_WriteReg(LCD_REG_149, 0x0110); - LCD_WriteReg(LCD_REG_151, 0x0000); - LCD_WriteReg(LCD_REG_152, 0x0000); - /* Set GRAM write direction and BGR = 1 */ - /* I/D=01 (Horizontal : increment, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ - LCD_SetFont(&LCD_DEFAULT_FONT); -} - -/** - * @brief Sets the LCD Text and Background colors. - * @param _TextColor: specifies the Text Color. - * @param _BackColor: specifies the Background Color. - * @retval None - */ -void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor) -{ - TextColor = _TextColor; - BackColor = _BackColor; -} - -/** - * @brief Gets the LCD Text and Background colors. - * @param _TextColor: pointer to the variable that will contain the Text - Color. - * @param _BackColor: pointer to the variable that will contain the Background - Color. - * @retval None - */ -void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor) -{ - *_TextColor = TextColor; *_BackColor = BackColor; -} - -/** - * @brief Sets the Text color. - * @param Color: specifies the Text color code RGB(5-6-5). - * @retval None - */ -void LCD_SetTextColor(__IO uint16_t Color) -{ - TextColor = Color; -} - - -/** - * @brief Sets the Background color. - * @param Color: specifies the Background color code RGB(5-6-5). - * @retval None - */ -void LCD_SetBackColor(__IO uint16_t Color) -{ - BackColor = Color; -} - -/** - * @brief Sets the Text Font. - * @param fonts: specifies the font to be used. - * @retval None - */ -void LCD_SetFont(sFONT *fonts) -{ - LCD_Currentfonts = fonts; -} - -/** - * @brief Gets the Text Font. - * @param None. - * @retval the used font. - */ -sFONT *LCD_GetFont(void) -{ - return LCD_Currentfonts; -} - -/** - * @brief Clears the selected line. - * @param Line: the Line to be cleared. - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..n - * @retval None - */ -void LCD_ClearLine(uint8_t Line) -{ - uint16_t refcolumn = LCD_PIXEL_WIDTH - 1; - /* Send the string character by character on lCD */ - while (((refcolumn + 1)&0xFFFF) >= LCD_Currentfonts->Width) - { - /* Display one character on LCD */ - LCD_DisplayChar(Line, refcolumn, ' '); - /* Decrement the column position by 16 */ - refcolumn -= LCD_Currentfonts->Width; - } -} - - -/** - * @brief Clears the hole LCD. - * @param Color: the color of the background. - * @retval None - */ -void LCD_Clear(uint16_t Color) -{ - uint32_t index = 0; - - LCD_SetCursor(0x00, 0x013F); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for(index = 0; index < 76800; index++) - { - LCD->LCD_RAM = Color; - } -} - - -/** - * @brief Sets the cursor position. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @retval None - */ -void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos) -{ - LCD_WriteReg(LCD_REG_32, Xpos); - LCD_WriteReg(LCD_REG_33, Ypos); -} - - -/** - * @brief Draws a character on LCD. - * @param Xpos: the Line where to display the character shape. - * @param Ypos: start column address. - * @param c: pointer to the character data. - * @retval None - */ -void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c) -{ - uint32_t index = 0, i = 0; - uint8_t Xaddress = 0; - - Xaddress = Xpos; - - LCD_SetCursor(Xaddress, Ypos); - - for(index = 0; index < LCD_Currentfonts->Height; index++) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for(i = 0; i < LCD_Currentfonts->Width; i++) - { - if((((c[index] & ((0x80 << ((LCD_Currentfonts->Width / 12 ) * 8 ) ) >> i)) == 0x00) &&(LCD_Currentfonts->Width <= 12))|| - (((c[index] & (0x1 << i)) == 0x00)&&(LCD_Currentfonts->Width > 12 ))) - - { - LCD_WriteRAM(BackColor); - } - else - { - LCD_WriteRAM(TextColor); - } - } - Xaddress++; - LCD_SetCursor(Xaddress, Ypos); - } -} - - -/** - * @brief Displays one character (16dots width, 24dots height). - * @param Line: the Line where to display the character shape . - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..9 - * @param Column: start column address. - * @param Ascii: character ascii code, must be between 0x20 and 0x7E. - * @retval None - */ -void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii) -{ - Ascii -= 32; - LCD_DrawChar(Line, Column, &LCD_Currentfonts->table[Ascii * LCD_Currentfonts->Height]); -} - - -/** - * @brief Displays a maximum of 20 char on the LCD. - * @param Line: the Line where to display the character shape . - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..9 - * @param *ptr: pointer to string to display on LCD. - * @retval None - */ -void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr) -{ - uint16_t refcolumn = LCD_PIXEL_WIDTH - 1; - - /* Send the string character by character on lCD */ - while ((*ptr != 0) & (((refcolumn + 1) & 0xFFFF) >= LCD_Currentfonts->Width)) - { - /* Display one character on LCD */ - LCD_DisplayChar(Line, refcolumn, *ptr); - /* Decrement the column position by 16 */ - refcolumn -= LCD_Currentfonts->Width; - /* Point on the next character */ - ptr++; - } -} - - -/** - * @brief Sets a display window - * @param Xpos: specifies the X buttom left position. - * @param Ypos: specifies the Y buttom left position. - * @param Height: display window height. - * @param Width: display window width. - * @retval None - */ -void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width) -{ - /* Horizontal GRAM Start Address */ - if(Xpos >= Height) - { - LCD_WriteReg(LCD_REG_80, (Xpos - Height + 1)); - } - else - { - LCD_WriteReg(LCD_REG_80, 0); - } - /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_81, Xpos); - /* Vertical GRAM Start Address */ - if(Ypos >= Width) - { - LCD_WriteReg(LCD_REG_82, (Ypos - Width + 1)); - } - else - { - LCD_WriteReg(LCD_REG_82, 0); - } - /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_83, Ypos); - LCD_SetCursor(Xpos, Ypos); -} - - -/** - * @brief Disables LCD Window mode. - * @param None - * @retval None - */ -void LCD_WindowModeDisable(void) -{ - LCD_SetDisplayWindow(239, 0x13F, 240, 320); - LCD_WriteReg(LCD_REG_3, 0x1018); -} - - -/** - * @brief Displays a line. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Length: line length. - * @param Direction: line direction. - * This parameter can be one of the following values: Vertical or Horizontal. - * @retval None - */ -void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction) -{ - uint32_t i = 0; - - LCD_SetCursor(Xpos, Ypos); - if(Direction == LCD_DIR_HORIZONTAL) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for(i = 0; i < Length; i++) - { - LCD_WriteRAM(TextColor); - } - } - else - { - for(i = 0; i < Length; i++) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - Xpos++; - LCD_SetCursor(Xpos, Ypos); - } - } -} - - -/** - * @brief Displays a rectangle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Height: display rectangle height. - * @param Width: display rectangle width. - * @retval None - */ -void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width) -{ - LCD_DrawLine(Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - LCD_DrawLine((Xpos + Height), Ypos, Width, LCD_DIR_HORIZONTAL); - - LCD_DrawLine(Xpos, Ypos, Height, LCD_DIR_VERTICAL); - LCD_DrawLine(Xpos, (Ypos - Width + 1), Height, LCD_DIR_VERTICAL); -} - - -/** - * @brief Displays a circle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Radius - * @retval None - */ -void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius) -{ - int32_t D;/* Decision Variable */ - uint32_t CurX;/* Current X Value */ - uint32_t CurY;/* Current Y Value */ - - D = 3 - (Radius << 1); - CurX = 0; - CurY = Radius; - - while (CurX <= CurY) - { - LCD_SetCursor(Xpos + CurX, Ypos + CurY); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos + CurX, Ypos - CurY); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos - CurX, Ypos + CurY); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos - CurX, Ypos - CurY); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos + CurY, Ypos + CurX); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos + CurY, Ypos - CurX); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos - CurY, Ypos + CurX); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - LCD_SetCursor(Xpos - CurY, Ypos - CurX); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - LCD_WriteRAM(TextColor); - if (D < 0) - { - D += (CurX << 2) + 6; - } - else - { - D += ((CurX - CurY) << 2) + 10; - CurY--; - } - CurX++; - } -} - - -/** - * @brief Displays a monocolor picture. - * @param Pict: pointer to the picture array. - * @retval None - */ -void LCD_DrawMonoPict(const uint32_t *Pict) -{ - uint32_t index = 0, i = 0; - LCD_SetCursor(0, (LCD_PIXEL_WIDTH - 1)); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for(index = 0; index < 2400; index++) - { - for(i = 0; i < 32; i++) - { - if((Pict[index] & (1 << i)) == 0x00) - { - LCD_WriteRAM(BackColor); - } - else - { - LCD_WriteRAM(TextColor); - } - } - } -} - - -/** - * @brief Displays a bitmap picture loaded in the internal Flash. - * @param BmpAddress: Bmp picture address in the internal Flash. - * @retval None - */ -void LCD_WriteBMP(uint32_t BmpAddress) -{ - uint32_t index = 0, size = 0; - /* Read bitmap size */ - size = *(__IO uint16_t *) (BmpAddress + 2); - size |= (*(__IO uint16_t *) (BmpAddress + 4)) << 16; - /* Get bitmap data address offset */ - index = *(__IO uint16_t *) (BmpAddress + 10); - index |= (*(__IO uint16_t *) (BmpAddress + 12)) << 16; - size = (size - index)/2; - BmpAddress += index; - /* Set GRAM write direction and BGR = 1 */ - /* I/D=00 (Horizontal : decrement, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1008); - - LCD_WriteRAM_Prepare(); - - for(index = 0; index < size; index++) - { - LCD_WriteRAM(*(__IO uint16_t *)BmpAddress); - BmpAddress += 2; - } - - /* Set GRAM write direction and BGR = 1 */ - /* I/D = 01 (Horizontal : increment, Vertical : decrement) */ - /* AM = 1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); -} - -/** - * @brief Displays a full rectangle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Height: rectangle height. - * @param Width: rectangle width. - * @retval None - */ -void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) -{ - LCD_SetTextColor(TextColor); - - LCD_DrawLine(Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - LCD_DrawLine((Xpos + Height), Ypos, Width, LCD_DIR_HORIZONTAL); - - LCD_DrawLine(Xpos, Ypos, Height, LCD_DIR_VERTICAL); - LCD_DrawLine(Xpos, (Ypos - Width + 1), Height, LCD_DIR_VERTICAL); - - Width -= 2; - Height--; - Ypos--; - - LCD_SetTextColor(BackColor); - - while(Height--) - { - LCD_DrawLine(++Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - } - - LCD_SetTextColor(TextColor); -} - -/** - * @brief Displays a full circle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Radius - * @retval None - */ -void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) -{ - int32_t D; /* Decision Variable */ - uint32_t CurX;/* Current X Value */ - uint32_t CurY;/* Current Y Value */ - - D = 3 - (Radius << 1); - - CurX = 0; - CurY = Radius; - - LCD_SetTextColor(BackColor); - - while (CurX <= CurY) - { - if(CurY > 0) - { - LCD_DrawLine(Xpos - CurX, Ypos + CurY, 2*CurY, LCD_DIR_HORIZONTAL); - LCD_DrawLine(Xpos + CurX, Ypos + CurY, 2*CurY, LCD_DIR_HORIZONTAL); - } - - if(CurX > 0) - { - LCD_DrawLine(Xpos - CurY, Ypos + CurX, 2*CurX, LCD_DIR_HORIZONTAL); - LCD_DrawLine(Xpos + CurY, Ypos + CurX, 2*CurX, LCD_DIR_HORIZONTAL); - } - if (D < 0) - { - D += (CurX << 2) + 6; - } - else - { - D += ((CurX - CurY) << 2) + 10; - CurY--; - } - CurX++; - } - - LCD_SetTextColor(TextColor); - LCD_DrawCircle(Xpos, Ypos, Radius); -} - -/** - * @brief Displays an uni line (between two points). - * @param x1: specifies the point 1 x position. - * @param y1: specifies the point 1 y position. - * @param x2: specifies the point 2 x position. - * @param y2: specifies the point 2 y position. - * @retval None - */ -void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) -{ - int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, - yinc1 = 0, yinc2 = 0, den = 0, num = 0, numadd = 0, numpixels = 0, - curpixel = 0; - - deltax = ABS(x2 - x1); /* The difference between the x's */ - deltay = ABS(y2 - y1); /* The difference between the y's */ - x = x1; /* Start x off at the first pixel */ - y = y1; /* Start y off at the first pixel */ - - if (x2 >= x1) /* The x-values are increasing */ - { - xinc1 = 1; - xinc2 = 1; - } - else /* The x-values are decreasing */ - { - xinc1 = -1; - xinc2 = -1; - } - - if (y2 >= y1) /* The y-values are increasing */ - { - yinc1 = 1; - yinc2 = 1; - } - else /* The y-values are decreasing */ - { - yinc1 = -1; - yinc2 = -1; - } - - if (deltax >= deltay) /* There is at least one x-value for every y-value */ - { - xinc1 = 0; /* Don't change the x when numerator >= denominator */ - yinc2 = 0; /* Don't change the y for every iteration */ - den = deltax; - num = deltax / 2; - numadd = deltay; - numpixels = deltax; /* There are more x-values than y-values */ - } - else /* There is at least one y-value for every x-value */ - { - xinc2 = 0; /* Don't change the x for every iteration */ - yinc1 = 0; /* Don't change the y when numerator >= denominator */ - den = deltay; - num = deltay / 2; - numadd = deltax; - numpixels = deltay; /* There are more y-values than x-values */ - } - - for (curpixel = 0; curpixel <= numpixels; curpixel++) - { - PutPixel(x, y); /* Draw the current pixel */ - num += numadd; /* Increase the numerator by the top of the fraction */ - if (num >= den) /* Check if numerator >= denominator */ - { - num -= den; /* Calculate the new numerator value */ - x += xinc1; /* Change the x as appropriate */ - y += yinc1; /* Change the y as appropriate */ - } - x += xinc2; /* Change the x as appropriate */ - y += yinc2; /* Change the y as appropriate */ - } -} - -/** - * @brief Displays an polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_PolyLine(pPoint Points, uint16_t PointCount) -{ - int16_t X = 0, Y = 0; - - if(PointCount < 2) - { - return; - } - - while(--PointCount) - { - X = Points->X; - Y = Points->Y; - Points++; - LCD_DrawUniLine(X, Y, Points->X, Points->Y); - } -} - -/** - * @brief Displays an relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @param Closed: specifies if the draw is closed or not. - * 1: closed, 0 : not closed. - * @retval None - */ -static void LCD_PolyLineRelativeClosed(pPoint Points, uint16_t PointCount, uint16_t Closed) -{ - int16_t X = 0, Y = 0; - pPoint First = Points; - - if(PointCount < 2) - { - return; - } - X = Points->X; - Y = Points->Y; - while(--PointCount) - { - Points++; - LCD_DrawUniLine(X, Y, X + Points->X, Y + Points->Y); - X = X + Points->X; - Y = Y + Points->Y; - } - if(Closed) - { - LCD_DrawUniLine(First->X, First->Y, X, Y); - } -} - -/** - * @brief Displays a closed polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLine(Points, PointCount); - LCD_DrawUniLine(Points->X, Points->Y, (Points+PointCount-1)->X, (Points+PointCount-1)->Y); -} - -/** - * @brief Displays a relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLineRelativeClosed(Points, PointCount, 0); -} - -/** - * @brief Displays a closed relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLineRelativeClosed(Points, PointCount, 1); -} - - -/** - * @brief Displays a full polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_FillPolyLine(pPoint Points, uint16_t PointCount) -{ - /* public-domain code by Darel Rex Finley, 2007 */ - uint16_t nodes = 0, nodeX[MAX_POLY_CORNERS], pixelX = 0, pixelY = 0, i = 0, - j = 0, swap = 0; - uint16_t IMAGE_LEFT = 0, IMAGE_RIGHT = 0, IMAGE_TOP = 0, IMAGE_BOTTOM = 0; - - IMAGE_LEFT = IMAGE_RIGHT = Points->X; - IMAGE_TOP= IMAGE_BOTTOM = Points->Y; - - for(i = 1; i < PointCount; i++) - { - pixelX = POLY_X(i); - if(pixelX < IMAGE_LEFT) - { - IMAGE_LEFT = pixelX; - } - if(pixelX > IMAGE_RIGHT) - { - IMAGE_RIGHT = pixelX; - } - - pixelY = POLY_Y(i); - if(pixelY < IMAGE_TOP) - { - IMAGE_TOP = pixelY; - } - if(pixelY > IMAGE_BOTTOM) - { - IMAGE_BOTTOM = pixelY; - } - } - - LCD_SetTextColor(BackColor); - - /* Loop through the rows of the image. */ - for (pixelY = IMAGE_TOP; pixelY < IMAGE_BOTTOM; pixelY++) - { - /* Build a list of nodes. */ - nodes = 0; j = PointCount-1; - - for (i = 0; i < PointCount; i++) - { - if (POLY_Y(i)<(double) pixelY && POLY_Y(j)>=(double) pixelY || POLY_Y(j)<(double) pixelY && POLY_Y(i)>=(double) pixelY) - { - nodeX[nodes++]=(int) (POLY_X(i)+((pixelY-POLY_Y(i))*(POLY_X(j)-POLY_X(i)))/(POLY_Y(j)-POLY_Y(i))); - } - j = i; - } - - /* Sort the nodes, via a simple "Bubble" sort. */ - i = 0; - while (i < nodes-1) - { - if (nodeX[i]>nodeX[i+1]) - { - swap = nodeX[i]; - nodeX[i] = nodeX[i+1]; - nodeX[i+1] = swap; - if(i) - { - i--; - } - } - else - { - i++; - } - } - - /* Fill the pixels between node pairs. */ - for (i = 0; i < nodes; i+=2) - { - if(nodeX[i] >= IMAGE_RIGHT) - { - break; - } - if(nodeX[i+1] > IMAGE_LEFT) - { - if (nodeX[i] < IMAGE_LEFT) - { - nodeX[i]=IMAGE_LEFT; - } - if(nodeX[i+1] > IMAGE_RIGHT) - { - nodeX[i+1] = IMAGE_RIGHT; - } - LCD_SetTextColor(BackColor); - LCD_DrawLine(pixelY, nodeX[i+1], nodeX[i+1] - nodeX[i], LCD_DIR_HORIZONTAL); - LCD_SetTextColor(TextColor); - PutPixel(pixelY, nodeX[i+1]); - PutPixel(pixelY, nodeX[i]); - /* for (j=nodeX[i]; jLCD_REG = LCD_Reg; - /* Write 16-bit Reg */ - LCD->LCD_RAM = LCD_RegValue; -} - - -/** - * @brief Reads the selected LCD Register. - * @param LCD_Reg: address of the selected register. - * @retval LCD Register Value. - */ -uint16_t LCD_ReadReg(uint8_t LCD_Reg) -{ - /* Write 16-bit Index (then Read Reg) */ - LCD->LCD_REG = LCD_Reg; - /* Read 16-bit Reg */ - return (LCD->LCD_RAM); -} - - -/** - * @brief Prepare to write to the LCD RAM. - * @param None - * @retval None - */ -void LCD_WriteRAM_Prepare(void) -{ - LCD->LCD_REG = LCD_REG_34; -} - - -/** - * @brief Writes to the LCD RAM. - * @param RGB_Code: the pixel color in RGB mode (5-6-5). - * @retval None - */ -void LCD_WriteRAM(uint16_t RGB_Code) -{ - /* Write 16-bit GRAM Reg */ - LCD->LCD_RAM = RGB_Code; -} - - -/** - * @brief Reads the LCD RAM. - * @param None - * @retval LCD RAM Value. - */ -uint16_t LCD_ReadRAM(void) -{ - /* Write 16-bit Index (then Read Reg) */ - LCD->LCD_REG = LCD_REG_34; /* Select GRAM Reg */ - /* Read 16-bit Reg */ - return LCD->LCD_RAM; -} - - -/** - * @brief Power on the LCD. - * @param None - * @retval None - */ -void LCD_PowerOn(void) -{ -/* Power On sequence ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude*/ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ -} - - -/** - * @brief Enables the Display. - * @param None - * @retval None - */ -void LCD_DisplayOn(void) -{ - /* Display On */ - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ -} - - -/** - * @brief Disables the Display. - * @param None - * @retval None - */ -void LCD_DisplayOff(void) -{ - /* Display Off */ - LCD_WriteReg(LCD_REG_7, 0x0); -} - - -/** - * @brief Configures LCD Control lines (FSMC Pins) in alternate function mode. - * @param None - * @retval None - */ -void LCD_CtrlLinesConfig(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - /* Enable FSMC, GPIOD, GPIOE, GPIOF, GPIOG and AFIO clocks */ - RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | - RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG | - RCC_APB2Periph_AFIO, ENABLE); - /* Set PD.00(D2), PD.01(D3), PD.04(NOE), PD.05(NWE), PD.08(D13), PD.09(D14), - PD.10(D15), PD.14(D0), PD.15(D1) as alternate function push pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | - GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_14 | - GPIO_Pin_15; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - GPIO_Init(GPIOD, &GPIO_InitStructure); - /* Set PE.07(D4), PE.08(D5), PE.09(D6), PE.10(D7), PE.11(D8), PE.12(D9), PE.13(D10), - PE.14(D11), PE.15(D12) as alternate function push pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | - GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | - GPIO_Pin_15; - GPIO_Init(GPIOE, &GPIO_InitStructure); - /* Set PF.00(A0 (RS)) as alternate function push pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; - GPIO_Init(GPIOF, &GPIO_InitStructure); - /* Set PG.12(NE4 (LCD/CS)) as alternate function push pull - CE3(LCD /CS) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; - GPIO_Init(GPIOG, &GPIO_InitStructure); -} - - -/** - * @brief Configures the Parallel interface (FSMC) for LCD(Parallel mode) - * @param None - * @retval None - */ -void LCD_FSMCConfig(void) -{ - FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; - FSMC_NORSRAMTimingInitTypeDef p; -/*-- FSMC Configuration ------------------------------------------------------*/ -/*----------------------- SRAM Bank 4 ----------------------------------------*/ - /* FSMC_Bank1_NORSRAM4 configuration */ - p.FSMC_AddressSetupTime = 1; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 2; - p.FSMC_BusTurnAroundDuration = 0; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - /* Color LCD configuration ------------------------------------ - LCD configured as follow: - - Data/Address MUX = Disable - - Memory Type = SRAM - - Data Width = 16bit - - Write Operation = Enable - - Extended Mode = Enable - - Asynchronous Wait = Disable */ - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; - FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); - /* BANK 4 (of NOR/SRAM Bank 1~4) is enabled */ - FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE); -} - -/** - * @brief Displays a pixel. - * @param x: pixel x. - * @param y: pixel y. - * @retval None - */ -static void PutPixel(int16_t x, int16_t y) -{ - if(x < 0 || x > 239 || y < 0 || y > 319) - { - return; - } - LCD_DrawLine(x, y, 1, LCD_DIR_HORIZONTAL); -} - -#ifndef USE_Delay -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -static void delay(vu32 nCount) -{ - vu32 index = 0; - for(index = (100000 * nCount); index != 0; index--) - { - } -} -#endif /* USE_Delay*/ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_lcd.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_lcd.h deleted file mode 100644 index 75ba22441..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_lcd.h +++ /dev/null @@ -1,359 +0,0 @@ -/** - ****************************************************************************** - * @file stm3210e_eval_lcd.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the stm3210e_eval_lcd - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM3210E_EVAL_LCD_H -#define __STM3210E_EVAL_LCD_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f10x.h" -#include "../Common/fonts.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL - * @{ - */ - -/** @addtogroup STM3210E_EVAL_LCD - * @{ - */ - -/** @defgroup STM3210E_EVAL_LCD_Exported_Types - * @{ - */ -typedef struct -{ - int16_t X; - int16_t Y; -} Point, * pPoint; -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_LCD_Exported_Constants - * @{ - */ - -/** - * @brief Uncomment the line below if you want to use user defined Delay function - * (for precise timing), otherwise default _delay_ function defined within - * this driver is used (less precise timing). - */ -/* #define USE_Delay */ - -#ifdef USE_Delay -#include "main.h" - #define _delay_ Delay /* !< User can provide more timing precise _delay_ function - (with 10ms time base), using SysTick for example */ -#else - #define _delay_ delay /* !< Default _delay_ function with less precise timing */ -#endif - -/** - * @brief LCD Registers - */ -#define LCD_REG_0 0x00 -#define LCD_REG_1 0x01 -#define LCD_REG_2 0x02 -#define LCD_REG_3 0x03 -#define LCD_REG_4 0x04 -#define LCD_REG_5 0x05 -#define LCD_REG_6 0x06 -#define LCD_REG_7 0x07 -#define LCD_REG_8 0x08 -#define LCD_REG_9 0x09 -#define LCD_REG_10 0x0A -#define LCD_REG_12 0x0C -#define LCD_REG_13 0x0D -#define LCD_REG_14 0x0E -#define LCD_REG_15 0x0F -#define LCD_REG_16 0x10 -#define LCD_REG_17 0x11 -#define LCD_REG_18 0x12 -#define LCD_REG_19 0x13 -#define LCD_REG_20 0x14 -#define LCD_REG_21 0x15 -#define LCD_REG_22 0x16 -#define LCD_REG_23 0x17 -#define LCD_REG_24 0x18 -#define LCD_REG_25 0x19 -#define LCD_REG_26 0x1A -#define LCD_REG_27 0x1B -#define LCD_REG_28 0x1C -#define LCD_REG_29 0x1D -#define LCD_REG_30 0x1E -#define LCD_REG_31 0x1F -#define LCD_REG_32 0x20 -#define LCD_REG_33 0x21 -#define LCD_REG_34 0x22 -#define LCD_REG_36 0x24 -#define LCD_REG_37 0x25 -#define LCD_REG_40 0x28 -#define LCD_REG_41 0x29 -#define LCD_REG_43 0x2B -#define LCD_REG_45 0x2D -#define LCD_REG_48 0x30 -#define LCD_REG_49 0x31 -#define LCD_REG_50 0x32 -#define LCD_REG_51 0x33 -#define LCD_REG_52 0x34 -#define LCD_REG_53 0x35 -#define LCD_REG_54 0x36 -#define LCD_REG_55 0x37 -#define LCD_REG_56 0x38 -#define LCD_REG_57 0x39 -#define LCD_REG_58 0x3A -#define LCD_REG_59 0x3B -#define LCD_REG_60 0x3C -#define LCD_REG_61 0x3D -#define LCD_REG_62 0x3E -#define LCD_REG_63 0x3F -#define LCD_REG_64 0x40 -#define LCD_REG_65 0x41 -#define LCD_REG_66 0x42 -#define LCD_REG_67 0x43 -#define LCD_REG_68 0x44 -#define LCD_REG_69 0x45 -#define LCD_REG_70 0x46 -#define LCD_REG_71 0x47 -#define LCD_REG_72 0x48 -#define LCD_REG_73 0x49 -#define LCD_REG_74 0x4A -#define LCD_REG_75 0x4B -#define LCD_REG_76 0x4C -#define LCD_REG_77 0x4D -#define LCD_REG_78 0x4E -#define LCD_REG_79 0x4F -#define LCD_REG_80 0x50 -#define LCD_REG_81 0x51 -#define LCD_REG_82 0x52 -#define LCD_REG_83 0x53 -#define LCD_REG_96 0x60 -#define LCD_REG_97 0x61 -#define LCD_REG_106 0x6A -#define LCD_REG_118 0x76 -#define LCD_REG_128 0x80 -#define LCD_REG_129 0x81 -#define LCD_REG_130 0x82 -#define LCD_REG_131 0x83 -#define LCD_REG_132 0x84 -#define LCD_REG_133 0x85 -#define LCD_REG_134 0x86 -#define LCD_REG_135 0x87 -#define LCD_REG_136 0x88 -#define LCD_REG_137 0x89 -#define LCD_REG_139 0x8B -#define LCD_REG_140 0x8C -#define LCD_REG_141 0x8D -#define LCD_REG_143 0x8F -#define LCD_REG_144 0x90 -#define LCD_REG_145 0x91 -#define LCD_REG_146 0x92 -#define LCD_REG_147 0x93 -#define LCD_REG_148 0x94 -#define LCD_REG_149 0x95 -#define LCD_REG_150 0x96 -#define LCD_REG_151 0x97 -#define LCD_REG_152 0x98 -#define LCD_REG_153 0x99 -#define LCD_REG_154 0x9A -#define LCD_REG_157 0x9D -#define LCD_REG_192 0xC0 -#define LCD_REG_193 0xC1 -#define LCD_REG_229 0xE5 - -/** - * @brief LCD color - */ -#define LCD_COLOR_WHITE 0xFFFF -#define LCD_COLOR_BLACK 0x0000 -#define LCD_COLOR_GREY 0xF7DE -#define LCD_COLOR_BLUE 0x001F -#define LCD_COLOR_BLUE2 0x051F -#define LCD_COLOR_RED 0xF800 -#define LCD_COLOR_MAGENTA 0xF81F -#define LCD_COLOR_GREEN 0x07E0 -#define LCD_COLOR_CYAN 0x7FFF -#define LCD_COLOR_YELLOW 0xFFE0 - -/** - * @brief LCD Lines depending on the chosen fonts. - */ -#define LCD_LINE_0 LINE(0) -#define LCD_LINE_1 LINE(1) -#define LCD_LINE_2 LINE(2) -#define LCD_LINE_3 LINE(3) -#define LCD_LINE_4 LINE(4) -#define LCD_LINE_5 LINE(5) -#define LCD_LINE_6 LINE(6) -#define LCD_LINE_7 LINE(7) -#define LCD_LINE_8 LINE(8) -#define LCD_LINE_9 LINE(9) -#define LCD_LINE_10 LINE(10) -#define LCD_LINE_11 LINE(11) -#define LCD_LINE_12 LINE(12) -#define LCD_LINE_13 LINE(13) -#define LCD_LINE_14 LINE(14) -#define LCD_LINE_15 LINE(15) -#define LCD_LINE_16 LINE(16) -#define LCD_LINE_17 LINE(17) -#define LCD_LINE_18 LINE(18) -#define LCD_LINE_19 LINE(19) -#define LCD_LINE_20 LINE(20) -#define LCD_LINE_21 LINE(21) -#define LCD_LINE_22 LINE(22) -#define LCD_LINE_23 LINE(23) -#define LCD_LINE_24 LINE(24) -#define LCD_LINE_25 LINE(25) -#define LCD_LINE_26 LINE(26) -#define LCD_LINE_27 LINE(27) -#define LCD_LINE_28 LINE(28) -#define LCD_LINE_29 LINE(29) - -/** - * @brief LCD default font - */ -#define LCD_DEFAULT_FONT Font16x24 - -/** - * @brief LCD Direction - */ -#define LCD_DIR_HORIZONTAL 0x0000 -#define LCD_DIR_VERTICAL 0x0001 - -/** - * @brief LCD Size (Width and Height) - */ -#define LCD_PIXEL_WIDTH 0x0140 -#define LCD_PIXEL_HEIGHT 0x00F0 - -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_LCD_Exported_Macros - * @{ - */ -#define ASSEMBLE_RGB(R, G, B) ((((R)& 0xF8) << 8) | (((G) & 0xFC) << 3) | (((B) & 0xF8) >> 3)) -/** - * @} - */ - -/** @defgroup STM3210E_EVAL_LCD_Exported_Functions - * @{ - */ -/** @defgroup - * @{ - */ -void LCD_DeInit(void); -void STM3210E_LCD_Init(void); -void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor); -void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor); -void LCD_SetTextColor(__IO uint16_t Color); -void LCD_SetBackColor(__IO uint16_t Color); -void LCD_ClearLine(uint8_t Line); -void LCD_Clear(uint16_t Color); -void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos); -void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c); -void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii); -void LCD_SetFont(sFONT *fonts); -sFONT *LCD_GetFont(void); -void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr); -void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width); -void LCD_WindowModeDisable(void); -void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction); -void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width); -void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius); -void LCD_DrawMonoPict(const uint32_t *Pict); -void LCD_WriteBMP(uint32_t BmpAddress); -void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2); -void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); -void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius); -void LCD_PolyLine(pPoint Points, uint16_t PointCount); -void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount); -void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount); -void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount); -void LCD_FillPolyLine(pPoint Points, uint16_t PointCount); -/** - * @} - */ - -/** @defgroup - * @{ - */ -void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue); -uint16_t LCD_ReadReg(uint8_t LCD_Reg); -void LCD_WriteRAM_Prepare(void); -void LCD_WriteRAM(uint16_t RGB_Code); -uint16_t LCD_ReadRAM(void); -void LCD_PowerOn(void); -void LCD_DisplayOn(void); -void LCD_DisplayOff(void); -/** - * @} - */ - -/** @defgroup - * @{ - */ -void LCD_CtrlLinesConfig(void); -void LCD_FSMCConfig(void); -/** - * @} - */ - -/** - * @} - */ -#ifdef __cplusplus -} -#endif - -#endif /* __STM3210E_EVAL_LCD_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c deleted file mode 100644 index 303505def..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c +++ /dev/null @@ -1,750 +0,0 @@ -/** - ****************************************************************************** - * @file stm32l152_eval.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides: - * - set of firmware functions to manage Leds, push-button and COM ports - * - low level initialization functions for SD card (on SPI) and - * temperature sensor (LM75) available on STM32L152-EVAL - * evaluation board RevB from STMicroelectronics. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l152_eval.h" -#include "stm32l1xx_spi.h" -#include "stm32l1xx_i2c.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL - * @{ - */ - -/** @defgroup STM32L152_EVAL_LOW_LEVEL - * @brief This file provides firmware functions to manage Leds, push-buttons, - * COM ports, SD card on SPI and temperature sensor (LM75) available on - * STM32L152-EVAL evaluation board from STMicroelectronics. - * @{ - */ - -/** @defgroup STM32L152_EVAL_LOW_LEVEL_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_LOW_LEVEL_Private_Defines - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_LOW_LEVEL_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_LOW_LEVEL_Private_Variables - * @{ - */ -GPIO_TypeDef* GPIO_PORT[LEDn] = {LED1_GPIO_PORT, LED2_GPIO_PORT, LED3_GPIO_PORT, - LED4_GPIO_PORT}; -const uint16_t GPIO_PIN[LEDn] = {LED1_PIN, LED2_PIN, LED3_PIN, - LED4_PIN}; -const uint32_t GPIO_CLK[LEDn] = {LED1_GPIO_CLK, LED2_GPIO_CLK, LED3_GPIO_CLK, - LED4_GPIO_CLK}; - -GPIO_TypeDef* BUTTON_PORT[BUTTONn] = {KEY_BUTTON_GPIO_PORT, RIGHT_BUTTON_GPIO_PORT, - LEFT_BUTTON_GPIO_PORT, UP_BUTTON_GPIO_PORT, - DOWN_BUTTON_GPIO_PORT, SEL_BUTTON_GPIO_PORT}; - -const uint16_t BUTTON_PIN[BUTTONn] = {KEY_BUTTON_PIN, RIGHT_BUTTON_PIN, - LEFT_BUTTON_PIN, UP_BUTTON_PIN, - DOWN_BUTTON_PIN, SEL_BUTTON_PIN}; - -const uint32_t BUTTON_CLK[BUTTONn] = {KEY_BUTTON_GPIO_CLK, RIGHT_BUTTON_GPIO_CLK, - LEFT_BUTTON_GPIO_CLK, UP_BUTTON_GPIO_CLK, - DOWN_BUTTON_GPIO_CLK, SEL_BUTTON_GPIO_CLK}; - -const uint16_t BUTTON_EXTI_LINE[BUTTONn] = {KEY_BUTTON_EXTI_LINE, - RIGHT_BUTTON_EXTI_LINE, - LEFT_BUTTON_EXTI_LINE, - UP_BUTTON_EXTI_LINE, - DOWN_BUTTON_EXTI_LINE, - SEL_BUTTON_EXTI_LINE}; - -const uint16_t BUTTON_PORT_SOURCE[BUTTONn] = {KEY_BUTTON_EXTI_PORT_SOURCE, - RIGHT_BUTTON_EXTI_PORT_SOURCE, - LEFT_BUTTON_EXTI_PORT_SOURCE, - UP_BUTTON_EXTI_PORT_SOURCE, - DOWN_BUTTON_EXTI_PORT_SOURCE, - SEL_BUTTON_EXTI_PORT_SOURCE}; - -const uint16_t BUTTON_PIN_SOURCE[BUTTONn] = {KEY_BUTTON_EXTI_PIN_SOURCE, - RIGHT_BUTTON_EXTI_PIN_SOURCE, - LEFT_BUTTON_EXTI_PIN_SOURCE, - UP_BUTTON_EXTI_PIN_SOURCE, - DOWN_BUTTON_EXTI_PIN_SOURCE, - SEL_BUTTON_EXTI_PIN_SOURCE}; - -const uint16_t BUTTON_IRQn[BUTTONn] = {KEY_BUTTON_EXTI_IRQn, RIGHT_BUTTON_EXTI_IRQn, - LEFT_BUTTON_EXTI_IRQn, UP_BUTTON_EXTI_IRQn, - DOWN_BUTTON_EXTI_IRQn, SEL_BUTTON_EXTI_IRQn}; - -USART_TypeDef* COM_USART[COMn] = {EVAL_COM1, EVAL_COM2}; - -GPIO_TypeDef* COM_TX_PORT[COMn] = {EVAL_COM1_TX_GPIO_PORT, EVAL_COM2_TX_GPIO_PORT}; - -GPIO_TypeDef* COM_RX_PORT[COMn] = {EVAL_COM1_RX_GPIO_PORT, EVAL_COM2_RX_GPIO_PORT}; - -const uint32_t COM_USART_CLK[COMn] = {EVAL_COM1_CLK, EVAL_COM2_CLK}; - -const uint32_t COM_TX_PORT_CLK[COMn] = {EVAL_COM1_TX_GPIO_CLK, EVAL_COM2_TX_GPIO_CLK}; - -const uint32_t COM_RX_PORT_CLK[COMn] = {EVAL_COM1_RX_GPIO_CLK, EVAL_COM2_RX_GPIO_CLK}; - -const uint16_t COM_TX_PIN[COMn] = {EVAL_COM1_TX_PIN, EVAL_COM2_TX_PIN}; - -const uint16_t COM_RX_PIN[COMn] = {EVAL_COM1_RX_PIN, EVAL_COM2_RX_PIN}; - -const uint16_t COM_TX_PIN_SOURCE[COMn] = {EVAL_COM1_TX_SOURCE, EVAL_COM2_TX_SOURCE}; - -const uint16_t COM_RX_PIN_SOURCE[COMn] = {EVAL_COM1_RX_SOURCE, EVAL_COM2_RX_SOURCE}; - -const uint16_t COM_TX_AF[COMn] = {EVAL_COM1_TX_AF, EVAL_COM2_TX_AF}; - -const uint16_t COM_RX_AF[COMn] = {EVAL_COM1_RX_AF, EVAL_COM2_RX_AF}; - -DMA_InitTypeDef sEEDMA_InitStructure; - -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_LOW_LEVEL_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_LOW_LEVEL_Private_Functions - * @{ - */ - -/** - * @brief Configures LED GPIO. - * @param Led: Specifies the Led to be configured. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDInit(Led_TypeDef Led) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable the GPIO_LED Clock */ - RCC_AHBPeriphClockCmd(GPIO_CLK[Led], ENABLE); - - /* Configure the GPIO_LED pin */ - GPIO_InitStructure.GPIO_Pin = GPIO_PIN[Led]; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz; - GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure); - GPIO_PORT[Led]->BSRRL = GPIO_PIN[Led]; -} - -/** - * @brief Turns selected LED On. - * @param Led: Specifies the Led to be set on. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDOn(Led_TypeDef Led) -{ - GPIO_PORT[Led]->BSRRH = GPIO_PIN[Led]; -} - -/** - * @brief Turns selected LED Off. - * @param Led: Specifies the Led to be set off. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDOff(Led_TypeDef Led) -{ - GPIO_PORT[Led]->BSRRL = GPIO_PIN[Led]; -} - -/** - * @brief Toggles the selected LED. - * @param Led: Specifies the Led to be toggled. - * This parameter can be one of following parameters: - * @arg LED1 - * @arg LED2 - * @arg LED3 - * @arg LED4 - * @retval None - */ -void STM_EVAL_LEDToggle(Led_TypeDef Led) -{ - GPIO_PORT[Led]->ODR ^= GPIO_PIN[Led]; -} - -/** - * @brief Configures Button GPIO and EXTI Line. - * @param Button: Specifies the Button to be configured. - * This parameter can be one of following parameters: - * @arg BUTTON_KEY: Key Push Button - * @arg BUTTON_RIGHT: Joystick Right Push Button - * @arg BUTTON_LEFT: Joystick Left Push Button - * @arg BUTTON_UP: Joystick Up Push Button - * @arg BUTTON_DOWN: Joystick Down Push Button - * @arg BUTTON_SEL: Joystick Sel Push Button - * @param Button_Mode: Specifies Button mode. - * This parameter can be one of following parameters: - * @arg BUTTON_MODE_GPIO: Button will be used as simple IO - * @arg BUTTON_MODE_EXTI: Button will be connected to EXTI line with interrupt - * generation capability - * @retval None - */ -void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode) -{ - GPIO_InitTypeDef GPIO_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* There is no Wakeup and Tamper buttons on STM32L152-EVAL, the Button value should - be greater than 1. */ - if(Button > 1) - { - Button = (Button_TypeDef) (Button - 2); - - /* Enable the BUTTON Clock */ - RCC_AHBPeriphClockCmd(BUTTON_CLK[Button], ENABLE); - RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); - - /* Configure Button pin as input */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_InitStructure.GPIO_Pin = BUTTON_PIN[Button]; - GPIO_Init(BUTTON_PORT[Button], &GPIO_InitStructure); - - - if (Button_Mode == BUTTON_MODE_EXTI) - { - /* Connect Button EXTI Line to Button GPIO Pin */ - SYSCFG_EXTILineConfig(BUTTON_PORT_SOURCE[Button], BUTTON_PIN_SOURCE[Button]); - - /* Configure Button EXTI line */ - EXTI_InitStructure.EXTI_Line = BUTTON_EXTI_LINE[Button]; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - - if(Button != BUTTON_KEY) - { - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; - } - else - { - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - } - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable and set Button EXTI Interrupt to the lowest priority */ - NVIC_InitStructure.NVIC_IRQChannel = BUTTON_IRQn[Button]; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - - NVIC_Init(&NVIC_InitStructure); - } - } -} - -/** - * @brief Returns the selected Button state. - * @param Button: Specifies the Button to be checked. - * This parameter can be one of following parameters: - * @arg BUTTON_KEY: Key Push Button - * @arg BUTTON_RIGHT: Joystick Right Push Button - * @arg BUTTON_LEFT: Joystick Left Push Button - * @arg BUTTON_UP: Joystick Up Push Button - * @arg BUTTON_DOWN: Joystick Down Push Button - * @arg BUTTON_SEL: Joystick Sel Push Button - * @retval - When Button > 1, the Button GPIO pin value is returned. - * - When Button = 0 or 1, error code (0xFF) is returned. - */ -uint32_t STM_EVAL_PBGetState(Button_TypeDef Button) -{ - /* There is no Wakeup and Tamper pins on STM32L152-EVAL, the Button value should - be greater than 1. */ - if(Button > 1) - { - Button = (Button_TypeDef) (Button - 2); - return GPIO_ReadInputDataBit(BUTTON_PORT[Button], BUTTON_PIN[Button]); - } - else - { - return 0xFF; /* Error Code */ - } -} - -/** - * @brief Configures COM port. - * @param COM: Specifies the COM port to be configured. - * This parameter can be one of following parameters: - * @arg COM1 - * @arg COM2 - * @param USART_InitStruct: pointer to a USART_InitTypeDef structure that - * contains the configuration information for the specified USART peripheral. - * @retval None - */ -void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_AHBPeriphClockCmd(COM_TX_PORT_CLK[COM] | COM_RX_PORT_CLK[COM], ENABLE); - - /* Enable UART clock */ - RCC_APB1PeriphClockCmd(COM_USART_CLK[COM], ENABLE); - - /* Connect PXx to USARTx_Tx */ - GPIO_PinAFConfig(COM_TX_PORT[COM], COM_TX_PIN_SOURCE[COM], COM_TX_AF[COM]); - - /* Connect PXx to USARTx_Rx */ - GPIO_PinAFConfig(COM_RX_PORT[COM], COM_RX_PIN_SOURCE[COM], COM_RX_AF[COM]); - - /* Configure USART Tx as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = COM_TX_PIN[COM]; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_Init(COM_TX_PORT[COM], &GPIO_InitStructure); - - /* Configure USART Rx as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = COM_RX_PIN[COM]; - GPIO_Init(COM_RX_PORT[COM], &GPIO_InitStructure); - - /* USART configuration */ - USART_Init(COM_USART[COM], USART_InitStruct); - - /* Enable USART */ - USART_Cmd(COM_USART[COM], ENABLE); -} - -/** - * @brief DeInitializes the SPI interface. - * @param None - * @retval None - */ -void SD_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - SPI_Cmd(SD_SPI, DISABLE); /*!< SD_SPI disable */ - SPI_DeInit(SD_SPI); /*!< DeInitializes the SD_SPI */ - - /*!< SD_SPI Periph clock disable */ - RCC_APB1PeriphClockCmd(SD_SPI_CLK, DISABLE); - - /*!< Configure SD_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(SD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MISO_PIN; - GPIO_Init(SD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MOSI_PIN; - GPIO_Init(SD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_CS_PIN pin: SD Card CS pin */ - GPIO_InitStructure.GPIO_Pin = SD_CS_PIN; - GPIO_Init(SD_CS_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_DETECT_PIN pin: SD Card detect pin */ - GPIO_InitStructure.GPIO_Pin = SD_DETECT_PIN; - GPIO_Init(SD_DETECT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the SD Card and put it into StandBy State (Ready for - * data transfer). - * @param None - * @retval None - */ -void SD_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - SPI_InitTypeDef SPI_InitStructure; - - /*!< SD_SPI_CS_GPIO, SD_SPI_MOSI_GPIO, SD_SPI_MISO_GPIO, SD_SPI_DETECT_GPIO - and SD_SPI_SCK_GPIO Periph clock enable */ - RCC_AHBPeriphClockCmd(SD_CS_GPIO_CLK | SD_SPI_MOSI_GPIO_CLK | SD_SPI_MISO_GPIO_CLK | - SD_SPI_SCK_GPIO_CLK | SD_DETECT_GPIO_CLK, ENABLE); - - /*!< SD_SPI Periph clock enable */ - RCC_APB1PeriphClockCmd(SD_SPI_CLK, ENABLE); - - /*!< Configure SD_SPI pins: SCK */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_Init(SD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MISO */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MISO_PIN; - GPIO_Init(SD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI pins: MOSI */ - GPIO_InitStructure.GPIO_Pin = SD_SPI_MOSI_PIN; - GPIO_Init(SD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_CS_PIN pin: SD Card CS pin */ - GPIO_InitStructure.GPIO_Pin = SD_CS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz; - GPIO_Init(SD_CS_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure SD_SPI_DETECT_PIN pin: SD Card detect pin */ - GPIO_InitStructure.GPIO_Pin = SD_DETECT_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_Init(SD_DETECT_GPIO_PORT, &GPIO_InitStructure); - - /* Connect PXx to SD_SPI_SCK */ - GPIO_PinAFConfig(SD_SPI_SCK_GPIO_PORT, SD_SPI_SCK_SOURCE, SD_SPI_SCK_AF); - - /* Connect PXx to SD_SPI_MISO */ - GPIO_PinAFConfig(SD_SPI_MISO_GPIO_PORT, SD_SPI_MISO_SOURCE, SD_SPI_MISO_AF); - - /* Connect PXx to SD_SPI_MOSI */ - GPIO_PinAFConfig(SD_SPI_MOSI_GPIO_PORT, SD_SPI_MOSI_SOURCE, SD_SPI_MOSI_AF); - - /*!< SD_SPI Config */ - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; - - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - SPI_InitStructure.SPI_CRCPolynomial = 7; - SPI_Init(SD_SPI, &SPI_InitStructure); - - SPI_Cmd(SD_SPI, ENABLE); /*!< SD_SPI enable */ -} - -/** - * @brief DeInitializes the LM75_I2C. - * @param None - * @retval None - */ -void LM75_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Disable LM75_I2C */ - I2C_Cmd(LM75_I2C, DISABLE); - - /*!< DeInitializes the LM75_I2C */ - I2C_DeInit(LM75_I2C); - - /*!< LM75_I2C Periph clock disable */ - RCC_APB1PeriphClockCmd(LM75_I2C_CLK, DISABLE); - - /*!< Configure LM75_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(LM75_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SDA_PIN; - GPIO_Init(LM75_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pin: SMBUS ALERT */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SMBUSALERT_PIN; - GPIO_Init(LM75_I2C_SMBUSALERT_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Initializes the LM75_I2C. - * @param None - * @retval None - */ -void LM75_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< LM75_I2C Periph clock enable */ - RCC_APB1PeriphClockCmd(LM75_I2C_CLK, ENABLE); - - /*!< LM75_I2C_SCL_GPIO_CLK, LM75_I2C_SDA_GPIO_CLK - and LM75_I2C_SMBUSALERT_GPIO_CLK Periph clock enable */ - RCC_AHBPeriphClockCmd(LM75_I2C_SCL_GPIO_CLK | LM75_I2C_SDA_GPIO_CLK | - LM75_I2C_SMBUSALERT_GPIO_CLK, ENABLE); - - /*!< Configure LM75_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(LM75_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SDA_PIN; - GPIO_Init(LM75_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure LM75_I2C pin: SMBUS ALERT */ - GPIO_InitStructure.GPIO_Pin = LM75_I2C_SMBUSALERT_PIN; - GPIO_Init(LM75_I2C_SMBUSALERT_GPIO_PORT, &GPIO_InitStructure); - - - /* Connect PXx to I2C_SCL */ - GPIO_PinAFConfig(LM75_I2C_SCL_GPIO_PORT, LM75_I2C_SCL_SOURCE, LM75_I2C_SCL_AF); - - /* Connect PXx to I2C_SDA */ - GPIO_PinAFConfig(LM75_I2C_SDA_GPIO_PORT, LM75_I2C_SDA_SOURCE, LM75_I2C_SDA_AF); - - /* Connect PXx to I2C_SMBUSALER */ - GPIO_PinAFConfig(LM75_I2C_SMBUSALERT_GPIO_PORT, LM75_I2C_SMBUSALERT_SOURCE, LM75_I2C_SMBUSALERT_AF); -} - -/** - * @brief DeInitializes peripherals used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* sEE_I2C Peripheral Disable */ - I2C_Cmd(sEE_I2C, DISABLE); - - /* sEE_I2C DeInit */ - I2C_DeInit(sEE_I2C); - - /*!< sEE_I2C Periph clock disable */ - RCC_APB1PeriphClockCmd(sEE_I2C_CLK, DISABLE); - - /*!< GPIO configuration */ - /*!< Configure sEE_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = sEE_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(sEE_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sEE_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = sEE_I2C_SDA_PIN; - GPIO_Init(sEE_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /* Configure and enable I2C DMA TX Channel interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_TX_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO; - NVIC_InitStructure.NVIC_IRQChannelCmd = DISABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Configure and enable I2C DMA RX Channel interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_RX_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO; - NVIC_Init(&NVIC_InitStructure); - - /* Disable and Deinitialize the DMA channels */ - DMA_Cmd(sEE_I2C_DMA_CHANNEL_TX, DISABLE); - DMA_Cmd(sEE_I2C_DMA_CHANNEL_RX, DISABLE); - DMA_DeInit(sEE_I2C_DMA_CHANNEL_TX); - DMA_DeInit(sEE_I2C_DMA_CHANNEL_RX); -} - -/** - * @brief Initializes peripherals used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /*!< sEE_I2C Periph clock enable */ - RCC_APB1PeriphClockCmd(sEE_I2C_CLK, ENABLE); - - /*!< sEE_I2C_SCL_GPIO_CLK and sEE_I2C_SDA_GPIO_CLK Periph clock enable */ - RCC_AHBPeriphClockCmd(sEE_I2C_SCL_GPIO_CLK | sEE_I2C_SDA_GPIO_CLK, ENABLE); - - RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); - - /* Reset sEE_I2C peripheral */ - RCC_APB1PeriphResetCmd(sEE_I2C_CLK, ENABLE); - - /* Release reset signal of sEE_I2C IP */ - RCC_APB1PeriphResetCmd(sEE_I2C_CLK, DISABLE); - - /*!< GPIO configuration */ - /*!< Configure sEE_I2C pins: SCL */ - GPIO_InitStructure.GPIO_Pin = sEE_I2C_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(sEE_I2C_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sEE_I2C pins: SDA */ - GPIO_InitStructure.GPIO_Pin = sEE_I2C_SDA_PIN; - GPIO_Init(sEE_I2C_SDA_GPIO_PORT, &GPIO_InitStructure); - - /* Connect PXx to I2C_SCL*/ - GPIO_PinAFConfig(sEE_I2C_SCL_GPIO_PORT, sEE_I2C_SCL_SOURCE, sEE_I2C_SCL_AF); - - /* Connect PXx to I2C_SDA*/ - GPIO_PinAFConfig(sEE_I2C_SDA_GPIO_PORT, sEE_I2C_SDA_SOURCE, sEE_I2C_SDA_AF); - - /* Configure and enable I2C DMA TX Channel interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_TX_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Configure and enable I2C DMA RX Channel interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = sEE_I2C_DMA_RX_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = sEE_I2C_DMA_PREPRIO; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = sEE_I2C_DMA_SUBPRIO; - NVIC_Init(&NVIC_InitStructure); - - /*!< I2C DMA TX and RX channels configuration */ - /* Enable the DMA clock */ - RCC_AHBPeriphClockCmd(sEE_I2C_DMA_CLK, ENABLE); - - /* I2C TX DMA Channel configuration */ - DMA_DeInit(sEE_I2C_DMA_CHANNEL_TX); - sEEDMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)sEE_I2C_DR_Address; - sEEDMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)0; /* This parameter will be configured durig communication */ - sEEDMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; /* This parameter will be configured durig communication */ - sEEDMA_InitStructure.DMA_BufferSize = 0xFFFF; /* This parameter will be configured durig communication */ - sEEDMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - sEEDMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - sEEDMA_InitStructure.DMA_PeripheralDataSize = DMA_MemoryDataSize_Byte; - sEEDMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; - sEEDMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - sEEDMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; - sEEDMA_InitStructure.DMA_M2M = DMA_M2M_Disable; - DMA_Init(sEE_I2C_DMA_CHANNEL_TX, &sEEDMA_InitStructure); - - /* I2C RX DMA Channel configuration */ - DMA_DeInit(sEE_I2C_DMA_CHANNEL_RX); - DMA_Init(sEE_I2C_DMA_CHANNEL_RX, &sEEDMA_InitStructure); - - /* Enable the DMA Channels Interrupts */ - DMA_ITConfig(sEE_I2C_DMA_CHANNEL_TX, DMA_IT_TC, ENABLE); - DMA_ITConfig(sEE_I2C_DMA_CHANNEL_RX, DMA_IT_TC, ENABLE); -} - -/** - * @brief Initializes DMA channel used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_LowLevel_DMAConfig(uint32_t pBuffer, uint32_t BufferSize, uint32_t Direction) -{ - /* Initialize the DMA with the new parameters */ - if (Direction == sEE_DIRECTION_TX) - { - /* Configure the DMA Tx Channel with the buffer address and the buffer size */ - sEEDMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)pBuffer; - sEEDMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; - sEEDMA_InitStructure.DMA_BufferSize = (uint32_t)BufferSize; - DMA_Init(sEE_I2C_DMA_CHANNEL_TX, &sEEDMA_InitStructure); - } - else - { - /* Configure the DMA Rx Channel with the buffer address and the buffer size */ - sEEDMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)pBuffer; - sEEDMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; - sEEDMA_InitStructure.DMA_BufferSize = (uint32_t)BufferSize; - DMA_Init(sEE_I2C_DMA_CHANNEL_RX, &sEEDMA_InitStructure); - } -} - -/** - * @} - */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.h deleted file mode 100644 index c3ac81676..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.h +++ /dev/null @@ -1,403 +0,0 @@ -/** - ****************************************************************************** - * @file stm32l152_eval.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains definitions for STM32L152_EVAL's Leds, push-buttons - * and COM ports hardware resources. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32L152_EVAL_H -#define __STM32L152_EVAL_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL_LOW_LEVEL - * @{ - */ - -/** @defgroup STM32L152_EVAL_LOW_LEVEL_Exported_Types - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_LOW_LEVEL_Exported_Constants - * @{ - */ - -/** @addtogroup STM32L152_EVAL_LOW_LEVEL_LED - * @{ - */ -#define LEDn 4 - -#define LED1_PIN GPIO_Pin_0 -#define LED1_GPIO_PORT GPIOD -#define LED1_GPIO_CLK RCC_AHBPeriph_GPIOD - -#define LED2_PIN GPIO_Pin_1 -#define LED2_GPIO_PORT GPIOD -#define LED2_GPIO_CLK RCC_AHBPeriph_GPIOD - -#define LED3_PIN GPIO_Pin_4 -#define LED3_GPIO_PORT GPIOD -#define LED3_GPIO_CLK RCC_AHBPeriph_GPIOD - -#define LED4_PIN GPIO_Pin_5 -#define LED4_GPIO_PORT GPIOD -#define LED4_GPIO_CLK RCC_AHBPeriph_GPIOD - -/** - * @} - */ - -/** @addtogroup STM32L152_EVAL_LOW_LEVEL_BUTTON - * @{ - */ -#define BUTTONn 6 -/* On STM32L152-EVAL board, the KEY button is connected to PC.13 and it can -be use as Tamper and Wakeup pin buttons. */ - -/** - * @brief Key push-button - */ -#define KEY_BUTTON_PIN GPIO_Pin_0 -#define KEY_BUTTON_GPIO_PORT GPIOA -#define KEY_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOA -#define KEY_BUTTON_EXTI_LINE EXTI_Line0 -#define KEY_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOA -#define KEY_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource0 -#define KEY_BUTTON_EXTI_IRQn EXTI0_IRQn - -/** - * @brief Joystick Right push-button - */ -#define RIGHT_BUTTON_PIN GPIO_Pin_11 -#define RIGHT_BUTTON_GPIO_PORT GPIOE -#define RIGHT_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOE -#define RIGHT_BUTTON_EXTI_LINE EXTI_Line11 -#define RIGHT_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOE -#define RIGHT_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource11 -#define RIGHT_BUTTON_EXTI_IRQn EXTI15_10_IRQn - -/** - * @brief Joystick Left push-button - */ -#define LEFT_BUTTON_PIN GPIO_Pin_12 -#define LEFT_BUTTON_GPIO_PORT GPIOE -#define LEFT_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOE -#define LEFT_BUTTON_EXTI_LINE EXTI_Line12 -#define LEFT_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOE -#define LEFT_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource12 -#define LEFT_BUTTON_EXTI_IRQn EXTI15_10_IRQn - -/** - * @brief Joystick Up push-button - */ -#define UP_BUTTON_PIN GPIO_Pin_9 -#define UP_BUTTON_GPIO_PORT GPIOE -#define UP_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOE -#define UP_BUTTON_EXTI_LINE EXTI_Line9 -#define UP_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOE -#define UP_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource9 -#define UP_BUTTON_EXTI_IRQn EXTI9_5_IRQn - -/** - * @brief Joystick Down push-button - */ -#define DOWN_BUTTON_PIN GPIO_Pin_10 -#define DOWN_BUTTON_GPIO_PORT GPIOE -#define DOWN_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOE -#define DOWN_BUTTON_EXTI_LINE EXTI_Line10 -#define DOWN_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOE -#define DOWN_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource10 -#define DOWN_BUTTON_EXTI_IRQn EXTI15_10_IRQn - -/** - * @brief Joystick Sel push-button - */ -#define SEL_BUTTON_PIN GPIO_Pin_8 -#define SEL_BUTTON_GPIO_PORT GPIOE -#define SEL_BUTTON_GPIO_CLK RCC_AHBPeriph_GPIOE -#define SEL_BUTTON_EXTI_LINE EXTI_Line8 -#define SEL_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOE -#define SEL_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource8 -#define SEL_BUTTON_EXTI_IRQn EXTI9_5_IRQn - -/** - * @} - */ - -/** @addtogroup STM32L152_EVAL_LOW_LEVEL_COM - * @{ - */ -#define COMn 2 - -/** - * @brief Definition for COM port1, connected to USART2 - */ -#define EVAL_COM1 USART2 -#define EVAL_COM1_CLK RCC_APB1Periph_USART2 - -#define EVAL_COM1_TX_PIN GPIO_Pin_5 -#define EVAL_COM1_TX_GPIO_PORT GPIOD -#define EVAL_COM1_TX_GPIO_CLK RCC_AHBPeriph_GPIOD -#define EVAL_COM1_TX_SOURCE GPIO_PinSource5 -#define EVAL_COM1_TX_AF GPIO_AF_USART2 - -#define EVAL_COM1_RX_PIN GPIO_Pin_6 -#define EVAL_COM1_RX_GPIO_PORT GPIOD -#define EVAL_COM1_RX_GPIO_CLK RCC_AHBPeriph_GPIOD -#define EVAL_COM1_RX_SOURCE GPIO_PinSource6 -#define EVAL_COM1_RX_AF GPIO_AF_USART2 - -#define EVAL_COM1_RTS_PIN GPIO_Pin_4 -#define EVAL_COM1_RTS_GPIO_PORT GPIOD -#define EVAL_COM1_RTS_GPIO_CLK RCC_AHBPeriph_GPIOD -#define EVAL_COM1_RTS_SOURCE GPIO_PinSource4 -#define EVAL_COM1_RTS_AF GPIO_AF_USART2 - -#define EVAL_COM1_CTS_PIN GPIO_Pin_3 -#define EVAL_COM1_CTS_GPIO_PORT GPIOD -#define EVAL_COM1_CTS_GPIO_CLK RCC_AHBPeriph_GPIOD -#define EVAL_COM1_CTS_SOURCE GPIO_PinSource3 -#define EVAL_COM1_CTS_AF GPIO_AF_USART2 - -#define EVAL_COM1_IRQn USART2_IRQn - -/** - * @brief Definition for COM port2, connected to USART3 - */ -#define EVAL_COM2 USART3 -#define EVAL_COM2_CLK RCC_APB1Periph_USART3 - -#define EVAL_COM2_TX_PIN GPIO_Pin_10 -#define EVAL_COM2_TX_GPIO_PORT GPIOC -#define EVAL_COM2_TX_GPIO_CLK RCC_AHBPeriph_GPIOC -#define EVAL_COM2_TX_SOURCE GPIO_PinSource10 -#define EVAL_COM2_TX_AF GPIO_AF_USART3 - -#define EVAL_COM2_RX_PIN GPIO_Pin_11 -#define EVAL_COM2_RX_GPIO_PORT GPIOC -#define EVAL_COM2_RX_GPIO_CLK RCC_AHBPeriph_GPIOC -#define EVAL_COM2_RX_SOURCE GPIO_PinSource11 -#define EVAL_COM2_RX_AF GPIO_AF_USART3 - -#define EVAL_COM2_IRQn USART3_IRQn - -/** - * @} - */ - -/** @addtogroup STM32L152_EVAL_LOW_LEVEL_SD_FLASH - * @{ - */ -/** - * @brief SD Card SPI Interface - */ -#define SD_SPI SPI2 -#define SD_SPI_CLK RCC_APB1Periph_SPI2 -#define SD_SPI_SCK_PIN GPIO_Pin_13 /* PB.13 */ -#define SD_SPI_SCK_GPIO_PORT GPIOB /* GPIOB */ -#define SD_SPI_SCK_GPIO_CLK RCC_AHBPeriph_GPIOB -#define SD_SPI_SCK_SOURCE GPIO_PinSource13 -#define SD_SPI_SCK_AF GPIO_AF_SPI2 -#define SD_SPI_MISO_PIN GPIO_Pin_14 /* PB.14 */ -#define SD_SPI_MISO_GPIO_PORT GPIOB /* GPIOB */ -#define SD_SPI_MISO_GPIO_CLK RCC_AHBPeriph_GPIOB -#define SD_SPI_MISO_SOURCE GPIO_PinSource14 -#define SD_SPI_MISO_AF GPIO_AF_SPI2 -#define SD_SPI_MOSI_PIN GPIO_Pin_15 /* PB.15 */ -#define SD_SPI_MOSI_GPIO_PORT GPIOB /* GPIOB */ -#define SD_SPI_MOSI_GPIO_CLK RCC_AHBPeriph_GPIOB -#define SD_SPI_MOSI_SOURCE GPIO_PinSource15 -#define SD_SPI_MOSI_AF GPIO_AF_SPI2 -#define SD_CS_PIN GPIO_Pin_7 /* PD.07 */ -#define SD_CS_GPIO_PORT GPIOD /* GPIOD */ -#define SD_CS_GPIO_CLK RCC_AHBPeriph_GPIOD -#define SD_DETECT_PIN GPIO_Pin_6 /* PE.06 */ -#define SD_DETECT_EXTI_LINE EXTI_Line6 -#define SD_DETECT_EXTI_PIN_SOURCE EXTI_PinSource6 - -#define SD_DETECT_GPIO_PORT GPIOE /* GPIOE */ -#define SD_DETECT_GPIO_CLK RCC_AHBPeriph_GPIOE -#define SD_DETECT_EXTI_PORT_SOURCE EXTI_PortSourceGPIOE -#define SD_DETECT_EXTI_IRQn EXTI9_5_IRQn -/** - * @} - */ - -/** @addtogroup STM32L152_EVAL_LOW_LEVEL_TSENSOR_I2C - * @{ - */ -/** - * @brief LM75 Temperature Sensor I2C Interface pins - */ -#define LM75_I2C I2C1 -#define LM75_I2C_CLK RCC_APB1Periph_I2C1 -#define LM75_I2C_SCL_PIN GPIO_Pin_6 /* PB.06 */ -#define LM75_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SCL_GPIO_CLK RCC_AHBPeriph_GPIOB -#define LM75_I2C_SCL_SOURCE GPIO_PinSource6 -#define LM75_I2C_SCL_AF GPIO_AF_I2C1 -#define LM75_I2C_SDA_PIN GPIO_Pin_7 /* PB.07 */ -#define LM75_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SDA_GPIO_CLK RCC_AHBPeriph_GPIOB -#define LM75_I2C_SDA_SOURCE GPIO_PinSource7 -#define LM75_I2C_SDA_AF GPIO_AF_I2C1 -#define LM75_I2C_SMBUSALERT_PIN GPIO_Pin_5 /* PB.05 */ -#define LM75_I2C_SMBUSALERT_GPIO_PORT GPIOB /* GPIOB */ -#define LM75_I2C_SMBUSALERT_GPIO_CLK RCC_AHBPeriph_GPIOB -#define LM75_I2C_SMBUSALERT_SOURCE GPIO_PinSource5 -#define LM75_I2C_SMBUSALERT_AF GPIO_AF_I2C1 -#define LM75_I2C_DR ((uint32_t)0x40005410) - -#define LM75_DMA_CLK RCC_AHBPeriph_DMA1 -#define LM75_DMA_TX_CHANNEL DMA1_Channel6 -#define LM75_DMA_RX_CHANNEL DMA1_Channel7 -#define LM75_DMA_TX_TCFLAG DMA1_FLAG_TC6 -#define LM75_DMA_RX_TCFLAG DMA1_FLAG_TC7 - -/** - * @} - */ - -/** @addtogroup STM32L152_EVAL_LOW_LEVEL_I2C_EE - * @{ - */ -/** - * @brief I2C EEPROM Interface pins - */ - -#define sEE_I2C I2C1 -#define sEE_I2C_CLK RCC_APB1Periph_I2C1 -#define sEE_I2C_SCL_PIN GPIO_Pin_6 /* PB.06 */ -#define sEE_I2C_SCL_GPIO_PORT GPIOB /* GPIOB */ -#define sEE_I2C_SCL_GPIO_CLK RCC_AHBPeriph_GPIOB -#define sEE_I2C_SCL_SOURCE GPIO_PinSource6 -#define sEE_I2C_SCL_AF GPIO_AF_I2C1 -#define sEE_I2C_SDA_PIN GPIO_Pin_7 /* PB.07 */ -#define sEE_I2C_SDA_GPIO_PORT GPIOB /* GPIOB */ -#define sEE_I2C_SDA_GPIO_CLK RCC_AHBPeriph_GPIOB -#define sEE_I2C_SDA_SOURCE GPIO_PinSource7 -#define sEE_I2C_SDA_AF GPIO_AF_I2C1 -#define sEE_M24C64_32 - -#define sEE_I2C_DMA DMA1 -#define sEE_I2C_DMA_CHANNEL_TX DMA1_Channel6 -#define sEE_I2C_DMA_CHANNEL_RX DMA1_Channel7 -#define sEE_I2C_DMA_FLAG_TX_TC DMA1_IT_TC6 -#define sEE_I2C_DMA_FLAG_TX_GL DMA1_IT_GL6 -#define sEE_I2C_DMA_FLAG_RX_TC DMA1_IT_TC7 -#define sEE_I2C_DMA_FLAG_RX_GL DMA1_IT_GL7 -#define sEE_I2C_DMA_CLK RCC_AHBPeriph_DMA1 -#define sEE_I2C_DR_Address ((uint32_t)0x40005410) -#define sEE_USE_DMA - -#define sEE_I2C_DMA_TX_IRQn DMA1_Channel6_IRQn -#define sEE_I2C_DMA_RX_IRQn DMA1_Channel7_IRQn -#define sEE_I2C_DMA_TX_IRQHandler DMA1_Channel6_IRQHandler -#define sEE_I2C_DMA_RX_IRQHandler DMA1_Channel7_IRQHandler -#define sEE_I2C_DMA_PREPRIO 0 -#define sEE_I2C_DMA_SUBPRIO 0 - -#define sEE_DIRECTION_TX 0 -#define sEE_DIRECTION_RX 1 - -/* Time constant for the delay caclulation allowing to have a millisecond - incrementing counter. This value should be equal to (System Clock / 1000). - ie. if system clock = 24MHz then sEE_TIME_CONST should be 24. */ -#define sEE_TIME_CONST 24 - -/** - * @} - */ - -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_LOW_LEVEL_Exported_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_LOW_LEVEL_Exported_Functions - * @{ - */ -void STM_EVAL_LEDInit(Led_TypeDef Led); -void STM_EVAL_LEDOn(Led_TypeDef Led); -void STM_EVAL_LEDOff(Led_TypeDef Led); -void STM_EVAL_LEDToggle(Led_TypeDef Led); -void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode); -uint32_t STM_EVAL_PBGetState(Button_TypeDef Button); -void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct); -void SD_LowLevel_DeInit(void); -void SD_LowLevel_Init(void); -void LM75_LowLevel_DeInit(void); -void LM75_LowLevel_Init(void); -void sEE_LowLevel_DeInit(void); -void sEE_LowLevel_Init(void); -void sEE_LowLevel_DMAConfig(uint32_t pBuffer, uint32_t BufferSize, uint32_t Direction); - -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32L152_EVAL_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_glass_lcd.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_glass_lcd.c deleted file mode 100644 index da4bb04e6..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_glass_lcd.c +++ /dev/null @@ -1,855 +0,0 @@ -/** - ****************************************************************************** - * @file stm32l152_eval_glass_lcd.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file includes the LCD Glass driver for Pacific Display - * (LCD_PD878, PD878-DP-FH-W-LV-6-RH) Module of STM32L152-EVAL board RevB. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l152_eval_glass_lcd.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL - * @{ - */ - -/** @defgroup STM32L152_EVAL_GLASS_LCD - * @brief This file includes the LCD Glass driver for Pacific Display - * (LCD_PD878, PD878-DP-FH-W-LV-6-RH) Module of STM32L152-EVAL board. - * @{ - */ - -/** @defgroup STM32L152_EVAL_GLASS_LCD_Private_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_GLASS_LCD_Private_Defines - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_GLASS_LCD_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_GLASS_LCD_Private_Variables - * @{ - */ - -/** - @verbatim -================================================================================ - GLASS LCD MAPPING -================================================================================ - A - -- ---------- - X \/ |\ |I /| - F| H | J |B - | \ | / | - --G-- --K-- - | /| \ | - E | L | N |C - | / |M \| _ - ----------- | |DP - D - - -A LCD character coding is based on the following matrix: - - -{ X , F , E , D } -{ I , J , K , N } -{ A , B , C , DP } -{ H , G , L , M } - -The character A for example is: -------------------------------- - { 0 , 1 , 1 , 0 } - { 0 , 0 , 1 , 0 } - { 1 , 1 , 1 , 0 } - { 0 , 1 , 0 , 0 } -------------------- -= 4 D 7 0 hex - -=> 'A' = 0x4D70 - - @endverbatim - */ - -/** - * @brief LETTERS AND NUMBERS MAPPING DEFINITION - */ -uint8_t digit[4]; /* Digit LCD RAM buffer */ -__I uint16_t mask[4] = {0xF000, 0x0F00, 0x00F0, 0x000F}; -__I uint8_t shift[4] = {0x0C, 0x08, 0x04, 0x00}; - -/* Letters and number map of PD_878 LCD */ -__I uint16_t LetterMap[26]= -{ -/* A B C D E F G H I */ -0x4D70, 0x6469, 0x4111, 0x6449, 0x4911, 0x4910, 0x4171, 0x0D70, 0x6009, -/* J K L M N O P Q R */ -0x0451, 0x0B12, 0x0111, 0x8750, 0x8552, 0x4551, 0x4D30, 0x4553, 0x4D32, -/* S T U V W X Y Z */ -0x4961, 0x6008, 0x0551, 0x0390, 0x05D2, 0x8282, 0x8208, 0x4281 -}; - -__I uint16_t NumberMap[10]= -{ -/* 0 1 2 3 4 5 6 7 8 9 */ -0x47D1, 0x0640, 0x4C31, 0x4C61, 0x0D60, 0x4961, 0x4971, 0x4440, 0x4D71, 0x4D61 -}; - -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_LCD_Private_Function_Prototypes - * @{ - */ -static void Convert(uint8_t* c, Point_Typedef point, Apostrophe_Typedef apostrophe); -static void delay(__IO uint32_t nCount); -static void LCD_GPIOConfig(void); - -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_LCD_Private_Functions - * @{ - */ - -/** - * @brief Configures the LCD GLASS relative GPIO port IOs and LCD peripheral. - * @param None - * @retval None - */ -void LCD_GLASS_Init(void) -{ - LCD_InitTypeDef LCD_InitStructure; - - LCD_GPIOConfig(); /*!< Configure the LCD Glass GPIO pins */ - - /*!< Configure the LCD interface -------------------------------------------*/ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_LCD, ENABLE); /*!< Enable LCD APB1 Clock */ - - LCD_InitStructure.LCD_Prescaler = LCD_Prescaler_8; - LCD_InitStructure.LCD_Divider = LCD_Divider_16; - LCD_InitStructure.LCD_Duty = LCD_Duty_1_4; - LCD_InitStructure.LCD_Bias = LCD_Bias_1_3; - LCD_InitStructure.LCD_VoltageSource = LCD_VoltageSource_Internal; - LCD_Init(&LCD_InitStructure); - - /*!< Configure the Pulse On Duration */ - LCD_PulseOnDurationConfig(LCD_PulseOnDuration_2); - - /*!< Configure the LCD Contrast (3.51V) */ - LCD_ContrastConfig(LCD_Contrast_Level_7); - - /*!< Wait Until the LCD FCR register is synchronized */ - LCD_WaitForSynchro(); - - /*!< Enable LCD peripheral */ - LCD_Cmd(ENABLE); - - /*!< Wait Until the LCD is enabled */ - while(LCD_GetFlagStatus(LCD_FLAG_ENS) == RESET) - { - } - /*!< Wait Until the LCD Booster is ready */ - while(LCD_GetFlagStatus(LCD_FLAG_RDY) == RESET) - { - } -} - -/** - * @brief This function writes a char in the LCD RAM. - * @param ch: The character to dispaly. - * @param point: A point to add in front of char. - * This parameter can be one of the following values: - * @arg POINT_OFF: No point to add in front of char. - * @arg POINT_ON: Add a point in front of char. - * @param apostrophe: Flag indicating if a apostrophe has to be add in front - * of displayed character. - * This parameter can be one of the following values: - * @arg APOSTROPHE_OFF: No apostrophe to add in back of char. - * @arg APOSTROPHE_ON: Add an apostrophe in back of char. - * @param position: Position in the LCD of the caracter to write. - * This parameter can be any value in range [0:7]. - * @retval None - */ -void LCD_GLASS_DisplayChar(uint8_t* ch, Point_Typedef point, Apostrophe_Typedef apostrophe, uint8_t position) -{ - /*!< Wait Until the last LCD RAM update finish */ - while(LCD_GetFlagStatus(LCD_FLAG_UDR) != RESET) - { - } - /*!< LCD Write Char */ - LCD_GLASS_WriteChar(ch, point, apostrophe, position); - - /*!< Requesy LCD RAM update */ - LCD_UpdateDisplayRequest(); -} - -/** - * @brief This function writes a char in the LCD RAM. - * @param ptr: Pointer to string to display on the LCD Glass. - * @retval None - */ -void LCD_GLASS_DisplayString(uint8_t* ptr) -{ - uint32_t i = 0x00; - - /*!< Wait Until the last LCD RAM update finish */ - while(LCD_GetFlagStatus(LCD_FLAG_UDR) != RESET) - { - } - - /*!< Send the string character by character on lCD */ - while ((*ptr != 0) & (i < 8)) - { - /*!< Display one character on LCD */ - LCD_GLASS_WriteChar(ptr, POINT_OFF, APOSTROPHE_OFF, i); - /*!< Point on the next character */ - ptr++; - /*!< Increment the character counter */ - i++; - } - /*!< Requesy LCD RAM update */ - LCD_UpdateDisplayRequest(); -} - -/** - * @brief This function writes a char in the LCD RAM. - * @param ch: The character to dispaly. - * @param point: A point to add in front of char. - * This parameter can be one of the following values: - * @arg POINT_OFF : No point to add in front of char. - * @arg POINT_ON : Add a point in front of char. - * @param apostrophe: Flag indicating if a apostrophe has to be add in front - * of displayed character. - * This parameter can be one of the following values: - * @arg APOSTROPHE_OFF : No apostrophe to add in back of char. - * @arg APOSTROPHE_ON : Add an apostrophe in back of char. - * @param position: Position in the LCD of the caracter to write. - * This parameter can be any value in range [0:7]. - * @retval None - */ -void LCD_GLASS_WriteChar(uint8_t* ch, Point_Typedef point, Apostrophe_Typedef apostrophe, uint8_t position) -{ - uint32_t tmp = 0x00; - - Convert(ch, point, apostrophe); /*!< Convert the corresponding character */ - - switch (position) - { - case 7: - /*!< Clear the corresponding segments (SEG0, SEG1, SEG2, SEG3) */ - LCD->RAM[LCD_RAMRegister_0] &= (uint32_t)(0xFFFFFFF0); - LCD->RAM[LCD_RAMRegister_2] &= (uint32_t)(0xFFFFFFF0); - LCD->RAM[LCD_RAMRegister_4] &= (uint32_t)(0xFFFFFFF0); - LCD->RAM[LCD_RAMRegister_6] &= (uint32_t)(0xFFFFFFF0); - - /*!< Write the corresponding segments (SEG0, SEG1, SEG2, SEG3) */ - LCD->RAM[LCD_RAMRegister_0] |= (uint32_t)(digit[0]); - LCD->RAM[LCD_RAMRegister_2] |= (uint32_t)(digit[1]); - LCD->RAM[LCD_RAMRegister_4] |= (uint32_t)(digit[2]); - LCD->RAM[LCD_RAMRegister_6] |= (uint32_t)(digit[3]); - break; - - case 6: - /*!< Clear the corresponding segments (SEG4, SEG5, SEG6, SEG10) */ - LCD->RAM[LCD_RAMRegister_0] &= (uint32_t)(0xFFFFFB8F); - LCD->RAM[LCD_RAMRegister_2] &= (uint32_t)(0xFFFFFB8F); - LCD->RAM[LCD_RAMRegister_4] &= (uint32_t)(0xFFFFFB8F); - LCD->RAM[LCD_RAMRegister_6] &= (uint32_t)(0xFFFFFB8F); - - /*!< Write the corresponding segments (SEG4, SEG5, SEG6, SEG10) */ - tmp = (((digit[0] & 0x8) << 7) | ((digit[0]& 0x7) << 4)); - LCD->RAM[LCD_RAMRegister_0] |= (uint32_t) tmp; - tmp = (((digit[1] & 0x8) << 7) | ((digit[1]& 0x7) << 4)); - LCD->RAM[LCD_RAMRegister_2] |= (uint32_t) tmp; - tmp = (((digit[2] & 0x8) << 7) | ((digit[2]& 0x7) << 4)); - LCD->RAM[LCD_RAMRegister_4] |= (uint32_t) tmp; - tmp = (((digit[3] & 0x8) << 7) | ((digit[3]& 0x7) << 4)); - LCD->RAM[LCD_RAMRegister_6] |= (uint32_t) tmp; - break; - - case 5: - /*!< Clear the corresponding segments (SEG11, SEG16, SEG18, SEG19) */ - LCD->RAM[LCD_RAMRegister_0] &= (uint32_t)(0xFFF2F7FF); - LCD->RAM[LCD_RAMRegister_2] &= (uint32_t)(0xFFF2F7FF); - LCD->RAM[LCD_RAMRegister_4] &= (uint32_t)(0xFFF2F7FF); - LCD->RAM[LCD_RAMRegister_6] &= (uint32_t)(0xFFF2F7FF); - - /*!< Write the corresponding segments (SEG11, SEG16, SEG18, SEG19) */ - tmp = (((digit[0] & 0x1) << 11) | ((digit[0]& 0x2) << 15) | ((digit[0]& 0xC) << 16)); - LCD->RAM[LCD_RAMRegister_0] |= (uint32_t)(tmp); - tmp = (((digit[1] & 0x1) << 11) | ((digit[1]& 0x2) << 15) | ((digit[1]& 0xC) << 16)); - LCD->RAM[LCD_RAMRegister_2] |= (uint32_t)(tmp); - tmp = (((digit[2] & 0x1) << 11) | ((digit[2]& 0x2) << 15) | ((digit[2]& 0xC) << 16)); - LCD->RAM[LCD_RAMRegister_4] |= (uint32_t)(tmp); - tmp = (((digit[3] & 0x1) << 11) | ((digit[3]& 0x2) << 15) | ((digit[3]& 0xC) << 16)); - LCD->RAM[LCD_RAMRegister_6] |= (uint32_t)(tmp); - break; - - case 4: - /*!< Clear the corresponding segments (SEG20, SEG21, SEG22, SEG23) */ - LCD->RAM[LCD_RAMRegister_0] &= (uint32_t)(0xFF0FFFFF); - LCD->RAM[LCD_RAMRegister_2] &= (uint32_t)(0xFF0FFFFF); - LCD->RAM[LCD_RAMRegister_4] &= (uint32_t)(0xFF0FFFFF); - LCD->RAM[LCD_RAMRegister_6] &= (uint32_t)(0xFF0FFFFF); - - /*!< Write the corresponding segments (SEG20, SEG21, SEG22, SEG23) */ - LCD->RAM[LCD_RAMRegister_0] |= (uint32_t)(digit[0] << 20); - LCD->RAM[LCD_RAMRegister_2] |= (uint32_t)(digit[1] << 20); - LCD->RAM[LCD_RAMRegister_4] |= (uint32_t)(digit[2] << 20); - LCD->RAM[LCD_RAMRegister_6] |= (uint32_t)(digit[3] << 20); - break; - - case 3: - /*!< Clear the corresponding segments (SEG28, SEG29, SEG30, SEG31) */ - LCD->RAM[LCD_RAMRegister_0] &= (uint32_t)(0x0FFFFFFF); - LCD->RAM[LCD_RAMRegister_2] &= (uint32_t)(0x0FFFFFFF); - LCD->RAM[LCD_RAMRegister_4] &= (uint32_t)(0x0FFFFFFF); - LCD->RAM[LCD_RAMRegister_6] &= (uint32_t)(0x0FFFFFFF); - - /*!< Write the corresponding segments (SEG28, SEG29, SEG30, SEG31) */ - LCD->RAM[LCD_RAMRegister_0] |= (uint32_t)(digit[0] << 28); - LCD->RAM[LCD_RAMRegister_2] |= (uint32_t)(digit[1] << 28); - LCD->RAM[LCD_RAMRegister_4] |= (uint32_t)(digit[2] << 28); - LCD->RAM[LCD_RAMRegister_6] |= (uint32_t)(digit[3] << 28); - break; - - case 2: - /*!< Clear the corresponding segments (SEG32, SEG33, SEG34, SEG35) */ - LCD->RAM[LCD_RAMRegister_1] &= (uint32_t)(0xFFFFFFF0); - LCD->RAM[LCD_RAMRegister_3] &= (uint32_t)(0xFFFFFFF0); - LCD->RAM[LCD_RAMRegister_5] &= (uint32_t)(0xFFFFFFF0); - LCD->RAM[LCD_RAMRegister_7] &= (uint32_t)(0xFFFFFFF0); - - /*!< Write the corresponding segments (SEG32, SEG33, SEG34, SEG35) */ - LCD->RAM[LCD_RAMRegister_1] |= (uint32_t)(digit[0] << 0); - LCD->RAM[LCD_RAMRegister_3] |= (uint32_t)(digit[1] << 0); - LCD->RAM[LCD_RAMRegister_5] |= (uint32_t)(digit[2] << 0); - LCD->RAM[LCD_RAMRegister_7] |= (uint32_t)(digit[3] << 0); - break; - - case 1: - /*!< Clear the corresponding segments (SEG36, SEG37, SEG38, SEG39) */ - LCD->RAM[LCD_RAMRegister_1] &= (uint32_t)(0xFFFFFF0F); - LCD->RAM[LCD_RAMRegister_3] &= (uint32_t)(0xFFFFFF0F); - LCD->RAM[LCD_RAMRegister_5] &= (uint32_t)(0xFFFFFF0F); - LCD->RAM[LCD_RAMRegister_7] &= (uint32_t)(0xFFFFFF0F); - - /*!< Write the corresponding segments (SEG36, SEG37, SEG38, SEG39) */ - LCD->RAM[LCD_RAMRegister_1] |= (uint32_t)(digit[0] << 4); - LCD->RAM[LCD_RAMRegister_3] |= (uint32_t)(digit[1] << 4); - LCD->RAM[LCD_RAMRegister_5] |= (uint32_t)(digit[2] << 4); - LCD->RAM[LCD_RAMRegister_7] |= (uint32_t)(digit[3] << 4); - - break; - - case 0: - /*!< Clear the corresponding segments (SEG40, SEG41, SEG42, SEG43) */ - LCD->RAM[LCD_RAMRegister_1] &= (uint32_t)(0xFFFFF0FF); - LCD->RAM[LCD_RAMRegister_3] &= (uint32_t)(0xFFFFF0FF); - LCD->RAM[LCD_RAMRegister_5] &= (uint32_t)(0xFFFFF0FF); - LCD->RAM[LCD_RAMRegister_7] &= (uint32_t)(0xFFFFF0FF); - - /*!< Write the corresponding segments (SEG40, SEG41, SEG42, SEG43) */ - LCD->RAM[LCD_RAMRegister_1] |= (uint32_t)(digit[0] << 8); - LCD->RAM[LCD_RAMRegister_3] |= (uint32_t)(digit[1] << 8); - LCD->RAM[LCD_RAMRegister_5] |= (uint32_t)(digit[2] << 8); - LCD->RAM[LCD_RAMRegister_7] |= (uint32_t)(digit[3] << 8); - break; - } -} - -/** - * @brief Display a string in scrolling mode - * @note The LCD should be cleared before to start the write operation. - * @param ptr: Pointer to string to display on the LCD Glass. - * @param nScroll: Specifies how many time the message will be scrolled - * @param ScrollSpeed: Speciifes the speed of the scroll. - * Low value gives higher speed. - * @retval None - */ -void LCD_GLASS_ScrollString(uint8_t* ptr, uint16_t nScroll, uint16_t ScrollSpeed) -{ - uint8_t Repetition = 0; - uint8_t* ptr1; - uint8_t str[8] = ""; - ptr1 = ptr; - - LCD_GLASS_DisplayString(ptr1); - - delay(ScrollSpeed); - - for (Repetition = 0; Repetition < nScroll; Repetition++) - { - *(str + 1) = *ptr1; - *(str + 2) = *(ptr1 + 1); - *(str + 3) = *(ptr1 + 2); - *(str + 4) = *(ptr1 + 3); - *(str + 5) = *(ptr1 + 4); - *(str + 6) = *(ptr1 + 5); - *(str + 7) =*(ptr1 + 6); - *(str) = *(ptr1 + 7); - LCD_GLASS_Clear(); - LCD_GLASS_DisplayString(str); - delay(ScrollSpeed); - - *(str + 1) = *(ptr1 + 7); - *(str + 2) = *ptr1; - *(str + 3) = *(ptr1 + 1); - *(str + 4) = *(ptr1 + 2); - *(str + 5) = *(ptr1 + 3); - *(str + 6) = *(ptr1 + 4); - *(str + 7) = *(ptr1 + 5); - *(str) = *(ptr1 + 6); - LCD_GLASS_Clear(); - LCD_GLASS_DisplayString(str); - delay(ScrollSpeed); - - *(str + 1) = *(ptr1 + 6); - *(str + 2) = *(ptr1 + 7); - *(str + 3) = *ptr1; - *(str + 4) = *(ptr1 + 1); - *(str + 5) = *(ptr1 + 2); - *(str + 6) = *(ptr1 + 3); - *(str + 7) = *(ptr1 + 4); - *(str) = *(ptr1 + 5); - LCD_GLASS_Clear(); - LCD_GLASS_DisplayString(str); - delay(ScrollSpeed); - - *(str + 1) = *(ptr1 + 5); - *(str + 2) = *(ptr1 + 6); - *(str + 3) = *(ptr1 + 7); - *(str + 4) = *ptr1; - *(str + 5) = *(ptr1 + 1); - *(str + 6) = *(ptr1 + 2); - *(str + 7) = *(ptr1 + 3); - *(str) = *(ptr1 + 4); - LCD_GLASS_Clear(); - LCD_GLASS_DisplayString(str); - delay(ScrollSpeed); - - *(str + 1) = *(ptr1 + 4); - *(str + 2) = *(ptr1 + 5); - *(str + 3) = *(ptr1 + 6); - *(str + 4) = *(ptr1 + 7); - *(str + 5) = *ptr1; - *(str + 6) = *(ptr1 + 1); - *(str + 7) = *(ptr1 + 2); - *(str) = *(ptr1 + 3); - LCD_GLASS_Clear(); - LCD_GLASS_DisplayString(str); - delay(ScrollSpeed); - - *(str + 1) = *(ptr1 + 3); - *(str + 2) = *(ptr1 + 4); - *(str + 3) = *(ptr1 + 5); - *(str + 4) = *(ptr1 + 6); - *(str + 5) = *(ptr1 + 7); - *(str + 6) = *ptr1; - *(str + 7) = *(ptr1 + 1); - *(str) = *(ptr1 + 2); - LCD_GLASS_Clear(); - LCD_GLASS_DisplayString(str); - delay(ScrollSpeed); - - *(str + 1) = *(ptr1 + 2); - *(str + 2) = *(ptr1 + 3); - *(str + 3) = *(ptr1 + 4); - *(str + 4) = *(ptr1 + 5); - *(str + 5) = *(ptr1 + 6); - *(str + 6) = *(ptr1 + 7); - *(str + 7) = *ptr1; - *(str) = *(ptr1 + 1); - LCD_GLASS_Clear(); - LCD_GLASS_DisplayString(str); - delay(ScrollSpeed); - - *(str + 1) = *(ptr1 + 1); - *(str + 2) = *(ptr1 + 2); - *(str + 3) = *(ptr1 + 3); - *(str + 4) = *(ptr1 + 4); - *(str + 5) = *(ptr1 + 5); - *(str + 6) = *(ptr1 + 6); - *(str + 7) = *(ptr1 + 7); - *(str) = *(ptr1); - LCD_GLASS_Clear(); - LCD_GLASS_DisplayString(str); - delay(ScrollSpeed); - } -} - -/** - * @brief This function Clear a char in the LCD RAM. - * @param position: Position in the LCD of the caracter to write. - * This parameter can be any value in range [0:7]. - * @retval None - */ -void LCD_GLASS_ClearChar(uint8_t position) -{ - switch (position) - { - case 7: - /*!< Clear the corresponding segments (SEG0, SEG1, SEG2, SEG3) */ - LCD->RAM[LCD_RAMRegister_0] &= (uint32_t)(0xFFFFFFF0); - LCD->RAM[LCD_RAMRegister_2] &= (uint32_t)(0xFFFFFFF0); - LCD->RAM[LCD_RAMRegister_4] &= (uint32_t)(0xFFFFFFF0); - LCD->RAM[LCD_RAMRegister_6] &= (uint32_t)(0xFFFFFFF0); - break; - - case 6: - /*!< Clear the corresponding segments (SEG4, SEG5, SEG6, SEG10) */ - LCD->RAM[LCD_RAMRegister_0] &= (uint32_t)(0xFFFFFB8F); - LCD->RAM[LCD_RAMRegister_2] &= (uint32_t)(0xFFFFFB8F); - LCD->RAM[LCD_RAMRegister_4] &= (uint32_t)(0xFFFFFB8F); - LCD->RAM[LCD_RAMRegister_6] &= (uint32_t)(0xFFFFFB8F); - break; - - case 5: - /*!< Clear the corresponding segments (SEG11, SEG16, SEG18, SEG19) */ - LCD->RAM[LCD_RAMRegister_0] &= (uint32_t)(0xFFF2F7FF); - LCD->RAM[LCD_RAMRegister_2] &= (uint32_t)(0xFFF2F7FF); - LCD->RAM[LCD_RAMRegister_4] &= (uint32_t)(0xFFF2F7FF); - LCD->RAM[LCD_RAMRegister_6] &= (uint32_t)(0xFFF2F7FF); - break; - - case 4: - /*!< Clear the corresponding segments (SEG20, SEG21, SEG22, SEG23) */ - LCD->RAM[LCD_RAMRegister_0] &= (uint32_t)(0xFF0FFFFF); - LCD->RAM[LCD_RAMRegister_2] &= (uint32_t)(0xFF0FFFFF); - LCD->RAM[LCD_RAMRegister_4] &= (uint32_t)(0xFF0FFFFF); - LCD->RAM[LCD_RAMRegister_6] &= (uint32_t)(0xFF0FFFFF); - break; - - case 3: - /*!< Clear the corresponding segments (SEG28, SEG29, SEG30, SEG31) */ - LCD->RAM[LCD_RAMRegister_0] &= (uint32_t)(0x0FFFFFFF); - LCD->RAM[LCD_RAMRegister_2] &= (uint32_t)(0x0FFFFFFF); - LCD->RAM[LCD_RAMRegister_4] &= (uint32_t)(0x0FFFFFFF); - LCD->RAM[LCD_RAMRegister_6] &= (uint32_t)(0x0FFFFFFF); - break; - - case 2: - /*!< Clear the corresponding segments (SEG32, SEG33, SEG34, SEG35) */ - LCD->RAM[LCD_RAMRegister_1] &= (uint32_t)(0xFFFFFFF0); - LCD->RAM[LCD_RAMRegister_3] &= (uint32_t)(0xFFFFFFF0); - LCD->RAM[LCD_RAMRegister_5] &= (uint32_t)(0xFFFFFFF0); - LCD->RAM[LCD_RAMRegister_7] &= (uint32_t)(0xFFFFFFF0); - break; - - case 1: - /*!< Clear the corresponding segments (SEG36, SEG37, SEG38, SEG39) */ - LCD->RAM[LCD_RAMRegister_1] &= (uint32_t)(0xFFFFFF0F); - LCD->RAM[LCD_RAMRegister_3] &= (uint32_t)(0xFFFFFF0F); - LCD->RAM[LCD_RAMRegister_5] &= (uint32_t)(0xFFFFFF0F); - LCD->RAM[LCD_RAMRegister_7] &= (uint32_t)(0xFFFFFF0F); - break; - - case 0: - /*!< Clear the corresponding segments (SEG40, SEG41, SEG42, SEG43) */ - LCD->RAM[LCD_RAMRegister_1] &= (uint32_t)(0xFFFFF0FF); - LCD->RAM[LCD_RAMRegister_3] &= (uint32_t)(0xFFFFF0FF); - LCD->RAM[LCD_RAMRegister_5] &= (uint32_t)(0xFFFFF0FF); - LCD->RAM[LCD_RAMRegister_7] &= (uint32_t)(0xFFFFF0FF); - break; - } -} - -/** - * @brief This function Clear the whole LCD RAM. - * @param None - * @retval None - */ -void LCD_GLASS_Clear(void) -{ - uint32_t counter = 0; - - for (counter = 0; counter < 0x0F; counter++) - { - LCD->RAM[counter] = (uint32_t)0x00; - } -} - -/** - * @brief Converts an ascii char to an LCD digit. - * @param c: Char to display. - * @param point: A point to add in front of char. - * This parameter can be one of the following values: - * @arg POINT_OFF : No point to add in front of char. - * @arg POINT_ON : Add a point in front of char. - * @param apostrophe: Flag indicating if a apostrophe has to be add in front - * of displayed character. - * This parameter can be one of the following values: - * @arg APOSTROPHE_OFF : No apostrophe to add in back of char. - * @arg APOSTROPHE_ON : Add an apostrophe in back of char. - * @retval None - */ -static void Convert(uint8_t* c, Point_Typedef point, Apostrophe_Typedef apostrophe) -{ - uint16_t ch = 0, tmp = 0; - uint8_t i = 0; - - /*!< The character c is a letter in upper case*/ - if ((*c < 0x5B) & (*c > 0x40)) - { - ch = LetterMap[*c - 0x41]; - } - - /*!< The character c is a number*/ - if ((*c < 0x3A) & (*c > 0x2F)) - { - ch = NumberMap[*c - 0x30]; - } - - /*!< The character c is a space character */ - if (*c == 0x20) - { - ch =0x00; - } - - /*!< Set the DP seg in the character that can be displayed if the point is on */ - if (point == POINT_ON) - { - ch |= 0x0004; - } - - /*!< Set the X seg in the character that can be displayed if the apostrophe is on */ - if (apostrophe == APOSTROPHE_ON) - { - ch |= 0x1000; - } - - for (i = 0; i < 4; i++) - { - tmp = ch & mask[i]; - digit[i] =(uint8_t)(tmp >> shift[i]); - } -} - -/** - * @brief Configures the LCD Segments and Coms GPIOs. - * @param None - * @retval None - */ -static void LCD_GPIOConfig(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Enable GPIOA, GPIOB, GPIOC, GPIOD and GPIOE AHB Clocks */ - RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | RCC_AHBPeriph_GPIOC - | RCC_AHBPeriph_GPIOD | RCC_AHBPeriph_GPIOE, ENABLE); - - /*!< Connect PA.08 to LCD COM0 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_LCD); - - /*!< Connect PA.09 to LCD COM1 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_LCD); - - /*!< Connect PA.10 to LCD COM2 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_LCD); - - /*!< Connect PB.09 to LCD COM3 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource9, GPIO_AF_LCD); - - /*!< Connect PA.01 to LCD SEG0 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource1, GPIO_AF_LCD); - - /*!< Connect PA.02 to LCD SEG1 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_LCD); - - /*!< Connect PA.03 to LCD SEG2 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_LCD); - - /*!< Connect PA.06 to LCD SEG3 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_LCD); - - /*!< Connect PA.07 to LCD SEG4 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_LCD); - - /*!< Connect PB.00 to LCD SEG5 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource0, GPIO_AF_LCD); - - /*!< Connect PB.01 to LCD SEG6 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource1, GPIO_AF_LCD); - - /*!< Connect PB.10 to LCD SEG10 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource10, GPIO_AF_LCD); - - /*!< Connect PB.11 to LCD SEG11 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource11, GPIO_AF_LCD); - - /*!< Connect PB.08 to LCD SEG16 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource8, GPIO_AF_LCD); - - /*!< Connect PC.00 to LCD SEG18 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource0, GPIO_AF_LCD); - - /*!< Connect PC.01 to LCD SEG19 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource1, GPIO_AF_LCD); - - /*!< Connect PC.02 to LCD SEG20 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource2, GPIO_AF_LCD); - - /*!< Connect PC.03 to LCD SEG21 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource3, GPIO_AF_LCD); - - /*!< Connect PC.04 to LCD SEG22 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource4, GPIO_AF_LCD); - - /*!< Connect PC.05 to LCD SEG23 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource5, GPIO_AF_LCD); - - /*!< Connect PD.08 to LCD SEG28 */ - GPIO_PinAFConfig(GPIOD, GPIO_PinSource8, GPIO_AF_LCD); - - /*!< Connect PD.09 to LCD SEG29 */ - GPIO_PinAFConfig(GPIOD, GPIO_PinSource9, GPIO_AF_LCD); - - /*!< Connect PD.10 to LCD SEG30 */ - GPIO_PinAFConfig(GPIOD, GPIO_PinSource10, GPIO_AF_LCD); - - /*!< Connect PD.11 to LCD SEG31 */ - GPIO_PinAFConfig(GPIOD, GPIO_PinSource11, GPIO_AF_LCD); - - /*!< Connect PD.12 to LCD SEG32 */ - GPIO_PinAFConfig(GPIOD, GPIO_PinSource12, GPIO_AF_LCD); - - /*!< Connect PD.13 to LCD SEG33 */ - GPIO_PinAFConfig(GPIOD, GPIO_PinSource13, GPIO_AF_LCD); - - /*!< Connect PD.14 to LCD SEG34 */ - GPIO_PinAFConfig(GPIOD, GPIO_PinSource14, GPIO_AF_LCD); - - /*!< Connect PD.15 to LCD SEG35 */ - GPIO_PinAFConfig(GPIOD, GPIO_PinSource15, GPIO_AF_LCD); - - /*!< Connect PE.00 to LCD SEG36 */ - GPIO_PinAFConfig(GPIOE, GPIO_PinSource0, GPIO_AF_LCD); - - /*!< Connect PE.01 to LCD SEG37 */ - GPIO_PinAFConfig(GPIOE, GPIO_PinSource1, GPIO_AF_LCD); - - /*!< Connect PE.02 to LCD SEG38 */ - GPIO_PinAFConfig(GPIOE, GPIO_PinSource2, GPIO_AF_LCD); - - /*!< Connect PE.03 to LCD SEG39 */ - GPIO_PinAFConfig(GPIOE, GPIO_PinSource3, GPIO_AF_LCD); - - /*!< Connect PC.10 to LCD SEG40 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource10, GPIO_AF_LCD); - - /*!< Connect PC.11 to LCD SEG41 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource11, GPIO_AF_LCD); - - /*!< Connect PC.12 to LCD SEG42 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource12, GPIO_AF_LCD); - - /*!< Connect PD.02 to LCD SEG43 */ - GPIO_PinAFConfig(GPIOD, GPIO_PinSource2, GPIO_AF_LCD); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_6 | \ - GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_8 | GPIO_Pin_9 | \ - GPIO_Pin_10 | GPIO_Pin_11; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | \ - GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_10 | GPIO_Pin_11 | \ - GPIO_Pin_12; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | \ - GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | \ - GPIO_Pin_15; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3; - GPIO_Init(GPIOE, &GPIO_InitStructure); -} - -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -static void delay(__IO uint32_t nCount) -{ - __IO uint32_t index = 0; - for(index = (0xFF * nCount); index != 0; index--) - { - } -} - -/** - * @} - */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_glass_lcd.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_glass_lcd.h deleted file mode 100644 index 47a425e17..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_glass_lcd.h +++ /dev/null @@ -1,125 +0,0 @@ -/** - ****************************************************************************** - * @file stm32l152_eval_glass_lcd.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief Header file for stm32l152_eval_glass_lcd.c module. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32L152_EVAL_GLASS_LCD_H -#define __STM32L152_EVAL_GLASS_LCD_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l1xx.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL_GLASS_LCD - * @{ - */ - - -/** @defgroup STM32L152_EVAL_GLASS_LCD_Exported_Types - * @{ - */ -typedef enum -{ - POINT_OFF = 0, - POINT_ON = 1 -}Point_Typedef; - -typedef enum -{ - APOSTROPHE_OFF = 0, - APOSTROPHE_ON = 1 -}Apostrophe_Typedef; -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_GLASS_LCD_Exported_Constants - * @{ - */ - -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_GLASS_LCD_Exported_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_GLASS_LCD_Exported_Functions - * @{ - */ -void LCD_GLASS_Init(void); -void LCD_GLASS_DisplayChar(uint8_t* ch, Point_Typedef point, Apostrophe_Typedef apostrophe,uint8_t position); -void LCD_GLASS_DisplayString(uint8_t* ptr); -void LCD_GLASS_WriteChar(uint8_t* ch, Point_Typedef point, Apostrophe_Typedef apostrophe,uint8_t position); -void LCD_GLASS_ClearChar(uint8_t position); -void LCD_GLASS_Clear(void); -void LCD_GLASS_ScrollString(uint8_t* ptr, uint16_t nScroll, uint16_t ScrollSpeed); - -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32L152_EVAL_GLASS_LCD_H */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_i2c_ee.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_i2c_ee.c deleted file mode 100644 index 0f85b8a37..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_i2c_ee.c +++ /dev/null @@ -1,810 +0,0 @@ -/** - ****************************************************************************** - * @file stm32l152_eval_i2c_ee.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file provides a set of functions needed to manage an I2C M24CXX - * EEPROM memory. - * - * =================================================================== - * Notes: - * - This driver is intended for STM32L1xx families devices only. - * - There is no I2C EEPROM memory available in STM32L152-EVAL board, - * to use this driver you have to build your own hardware. - * =================================================================== - * - * It implements a high level communication layer for read and write - * from/to this memory. The needed STM32 hardware resources (I2C and - * GPIO) are defined in stm32l152_eval.h file, and the initialization is - * performed in sEE_LowLevel_Init() function declared in stm32l152_eval.c - * file. - * You can easily tailor this driver to any other development board, - * by just adapting the defines for hardware resources and - * sEE_LowLevel_Init() function. - * - * @note In this driver, basic read and write functions (sEE_ReadBuffer() - * and sEE_WritePage()) use the DMA to perform the data transfer - * to/from EEPROM memory (except when number of requested data is - * equal to 1). Thus, after calling these two functions, user - * application may perform other tasks while DMA is transferring - * data. The application should then monitor the variable holding - * the number of data in order to determine when the transfer is - * completed (variable decremented to 0). Stopping transfer tasks - * are performed into DMA interrupt handlers (which are integrated - * into this driver). - * - * +-----------------------------------------------------------------+ - * | Pin assignment | - * +---------------------------------------+-----------+-------------+ - * | STM32 I2C Pins | sEE | Pin | - * +---------------------------------------+-----------+-------------+ - * | . | E0(GND) | 1 (0V) | - * | . | E1(GND) | 2 (0V) | - * | . | E2(GND) | 3 (0V) | - * | . | E0(VSS) | 4 (0V) | - * | sEE_I2C_SDA_PIN/ SDA | SDA | 5 | - * | sEE_I2C_SCL_PIN/ SCL | SCL | 6 | - * | . | /WC(VDD)| 7 (3.3V) | - * | . | VDD | 8 (3.3V) | - * +---------------------------------------+-----------+-------------+ - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l152_eval_i2c_ee.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL_I2C_EE - * @brief This file includes the I2C EEPROM driver of STM32L152-EVAL board. - * @{ - */ - -/** @defgroup STM32L152_EVAL_I2C_EE_Private_Types - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_I2C_EE_Private_Defines - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_I2C_EE_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_I2C_EE_Private_Variables - * @{ - */ -__IO uint16_t sEEAddress = 0; -__IO uint32_t sEETimeout = sEE_LONG_TIMEOUT; -__IO uint16_t* sEEDataReadPointer; -__IO uint8_t* sEEDataWritePointer; -__IO uint8_t sEEDataNum; -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_I2C_EE_Private_Function_Prototypes - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32L152_EVAL_I2C_EE_Private_Functions - * @{ - */ - -/** - * @brief DeInitializes peripherals used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_DeInit(void) -{ - sEE_LowLevel_DeInit(); -} - -/** - * @brief Initializes peripherals used by the I2C EEPROM driver. - * @param None - * @retval None - */ -void sEE_Init(void) -{ - I2C_InitTypeDef I2C_InitStructure; - - sEE_LowLevel_Init(); - - /*!< I2C configuration */ - /* sEE_I2C configuration */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2; - I2C_InitStructure.I2C_OwnAddress1 = I2C_SLAVE_ADDRESS7; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; - I2C_InitStructure.I2C_ClockSpeed = I2C_SPEED; - - /* sEE_I2C Peripheral Enable */ - I2C_Cmd(sEE_I2C, ENABLE); - /* Apply sEE_I2C configuration after enabling it */ - I2C_Init(sEE_I2C, &I2C_InitStructure); - - /* Enable the sEE_I2C peripheral DMA requests */ - I2C_DMACmd(sEE_I2C, ENABLE); - -#if defined (sEE_M24C64_32) - /*!< Select the EEPROM address according to the state of E0, E1, E2 pins */ - sEEAddress = sEE_HW_ADDRESS; -#elif defined (sEE_M24C08) - /*!< depending on the sEE Address selected in the i2c_ee.h file */ - #ifdef sEE_Block0_ADDRESS - /*!< Select the sEE Block0 to write on */ - sEEAddress = sEE_Block0_ADDRESS; - #endif - - #ifdef sEE_Block1_ADDRESS - /*!< Select the sEE Block1 to write on */ - sEEAddress = sEE_Block1_ADDRESS; - #endif - - #ifdef sEE_Block2_ADDRESS - /*!< Select the sEE Block2 to write on */ - sEEAddress = sEE_Block2_ADDRESS; - #endif - - #ifdef sEE_Block3_ADDRESS - /*!< Select the sEE Block3 to write on */ - sEEAddress = sEE_Block3_ADDRESS; - #endif -#endif /*!< sEE_M24C64_32 */ -} - -/** - * @brief Reads a block of data from the EEPROM. - * @param pBuffer : pointer to the buffer that receives the data read from - * the EEPROM. - * @param ReadAddr : EEPROM's internal address to start reading from. - * @param NumByteToRead : pointer to the variable holding number of bytes to - * be read from the EEPROM. - * - * @note The variable pointed by NumByteToRead is reset to 0 when all the - * data are read from the EEPROM. Application should monitor this - * variable in order know when the transfer is complete. - * - * @note When number of data to be read is higher than 1, this function just - * configures the communication and enable the DMA channel to transfer data. - * Meanwhile, the user application may perform other tasks. - * When number of data to be read is 1, then the DMA is not used. The byte - * is read in polling mode. - * - * @retval sEE_OK (0) if operation is correctly performed, else return value - * different from sEE_OK (0) or the timeout user callback. - */ -uint32_t sEE_ReadBuffer(uint8_t* pBuffer, uint16_t ReadAddr, uint16_t* NumByteToRead) -{ - /* Set the pointer to the Number of data to be read. This pointer will be used - by the DMA Transfer Completer interrupt Handler in order to reset the - variable to 0. User should check on this variable in order to know if the - DMA transfer has been complete or not. */ - sEEDataReadPointer = NumByteToRead; - - /*!< While the bus is busy */ - sEETimeout = sEE_LONG_TIMEOUT; - while(I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_BUSY)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send START condition */ - I2C_GenerateSTART(sEE_I2C, ENABLE); - - /*!< Test on EV5 and clear it (cleared by reading SR1 then writing to DR) */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_MODE_SELECT)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send EEPROM address for write */ - I2C_Send7bitAddress(sEE_I2C, sEEAddress, I2C_Direction_Transmitter); - - /*!< Test on EV6 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - -#ifdef sEE_M24C08 - - /*!< Send the EEPROM's internal address to read from: Only one byte address */ - I2C_SendData(sEE_I2C, ReadAddr); - -#elif defined (sEE_M24C64_32) - - /*!< Send the EEPROM's internal address to read from: MSB of the address first */ - I2C_SendData(sEE_I2C, (uint8_t)((ReadAddr & 0xFF00) >> 8)); - - /*!< Test on EV8 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTING)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send the EEPROM's internal address to read from: LSB of the address */ - I2C_SendData(sEE_I2C, (uint8_t)(ReadAddr & 0x00FF)); - -#endif /*!< sEE_M24C08 */ - - /*!< Test on EV8 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_BTF) == RESET) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send STRAT condition a second time */ - I2C_GenerateSTART(sEE_I2C, ENABLE); - - /*!< Test on EV5 and clear it (cleared by reading SR1 then writing to DR) */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_MODE_SELECT)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send EEPROM address for read */ - I2C_Send7bitAddress(sEE_I2C, sEEAddress, I2C_Direction_Receiver); - - /* If number of data to be read is 1, then DMA couldn't be used */ - /* One Byte Master Reception procedure (POLLING) ---------------------------*/ - if ((uint16_t)(*NumByteToRead) < 2) - { - /* Wait on ADDR flag to be set (ADDR is still not cleared at this level */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_ADDR) == RESET) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Disable Acknowledgement */ - I2C_AcknowledgeConfig(sEE_I2C, DISABLE); - - /* Clear ADDR register by reading SR1 then SR2 register (SR1 has already been read) */ - (void)sEE_I2C->SR2; - - /*!< Send STOP Condition */ - I2C_GenerateSTOP(sEE_I2C, ENABLE); - - /* Wait for the byte to be received */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_RXNE) == RESET) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Read the byte received from the EEPROM */ - *pBuffer = I2C_ReceiveData(sEE_I2C); - - /*!< Decrement the read bytes counter */ - (uint16_t)(*NumByteToRead)--; - - /* Wait to make sure that STOP control bit has been cleared */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(sEE_I2C->CR1 & I2C_CR1_STOP) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Re-Enable Acknowledgement to be ready for another reception */ - I2C_AcknowledgeConfig(sEE_I2C, ENABLE); - } - else/* More than one Byte Master Reception procedure (DMA) -----------------*/ - { - /*!< Test on EV6 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /* Configure the DMA Rx Channel with the buffer address and the buffer size */ - sEE_LowLevel_DMAConfig((uint32_t)pBuffer, (uint16_t)(*NumByteToRead), sEE_DIRECTION_RX); - - /* Inform the DMA that the next End Of Transfer Signal will be the last one */ - I2C_DMALastTransferCmd(sEE_I2C, ENABLE); - - /* Enable the DMA Rx Channel */ - DMA_Cmd(sEE_I2C_DMA_CHANNEL_RX, ENABLE); - } - - /* If all operations OK, return sEE_OK (0) */ - return sEE_OK; -} - -/** - * @brief Writes more than one byte to the EEPROM with a single WRITE cycle. - * - * @note The number of bytes (combined to write start address) must not - * cross the EEPROM page boundary. This function can only write into - * the boundaries of an EEPROM page. - * This function doesn't check on boundaries condition (in this driver - * the function sEE_WriteBuffer() which calls sEE_WritePage() is - * responsible of checking on Page boundaries). - * - * @param pBuffer : pointer to the buffer containing the data to be written to - * the EEPROM. - * @param WriteAddr : EEPROM's internal address to write to. - * @param NumByteToWrite : pointer to the variable holding number of bytes to - * be written into the EEPROM. - * - * @note The variable pointed by NumByteToWrite is reset to 0 when all the - * data are written to the EEPROM. Application should monitor this - * variable in order know when the transfer is complete. - * - * @note This function just configure the communication and enable the DMA - * channel to transfer data. Meanwhile, the user application may perform - * other tasks in parallel. - * - * @retval sEE_OK (0) if operation is correctly performed, else return value - * different from sEE_OK (0) or the timeout user callback. - */ -uint32_t sEE_WritePage(uint8_t* pBuffer, uint16_t WriteAddr, uint8_t* NumByteToWrite) -{ - /* Set the pointer to the Number of data to be written. This pointer will be used - by the DMA Transfer Completer interrupt Handler in order to reset the - variable to 0. User should check on this variable in order to know if the - DMA transfer has been complete or not. */ - sEEDataWritePointer = NumByteToWrite; - - /*!< While the bus is busy */ - sEETimeout = sEE_LONG_TIMEOUT; - while(I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_BUSY)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send START condition */ - I2C_GenerateSTART(sEE_I2C, ENABLE); - - /*!< Test on EV5 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_MODE_SELECT)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send EEPROM address for write */ - sEETimeout = sEE_FLAG_TIMEOUT; - I2C_Send7bitAddress(sEE_I2C, sEEAddress, I2C_Direction_Transmitter); - - /*!< Test on EV6 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - -#ifdef sEE_M24C08 - - /*!< Send the EEPROM's internal address to write to : only one byte Address */ - I2C_SendData(sEE_I2C, WriteAddr); - -#elif defined(sEE_M24C64_32) - - /*!< Send the EEPROM's internal address to write to : MSB of the address first */ - I2C_SendData(sEE_I2C, (uint8_t)((WriteAddr & 0xFF00) >> 8)); - - /*!< Test on EV8 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTING)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send the EEPROM's internal address to write to : LSB of the address */ - I2C_SendData(sEE_I2C, (uint8_t)(WriteAddr & 0x00FF)); - -#endif /*!< sEE_M24C08 */ - - /*!< Test on EV8 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTING)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /* Configure the DMA Tx Channel with the buffer address and the buffer size */ - sEE_LowLevel_DMAConfig((uint32_t)pBuffer, (uint8_t)(*NumByteToWrite), sEE_DIRECTION_TX); - - /* Enable the DMA Tx Channel */ - DMA_Cmd(sEE_I2C_DMA_CHANNEL_TX, ENABLE); - - /* If all operations OK, return sEE_OK (0) */ - return sEE_OK; -} - -/** - * @brief Writes buffer of data to the I2C EEPROM. - * @param pBuffer : pointer to the buffer containing the data to be written - * to the EEPROM. - * @param WriteAddr : EEPROM's internal address to write to. - * @param NumByteToWrite : number of bytes to write to the EEPROM. - * @retval None - */ -void sEE_WriteBuffer(uint8_t* pBuffer, uint16_t WriteAddr, uint16_t NumByteToWrite) -{ - uint8_t NumOfPage = 0, NumOfSingle = 0, count = 0; - uint16_t Addr = 0; - - Addr = WriteAddr % sEE_PAGESIZE; - count = sEE_PAGESIZE - Addr; - NumOfPage = NumByteToWrite / sEE_PAGESIZE; - NumOfSingle = NumByteToWrite % sEE_PAGESIZE; - - /*!< If WriteAddr is sEE_PAGESIZE aligned */ - if(Addr == 0) - { - /*!< If NumByteToWrite < sEE_PAGESIZE */ - if(NumOfPage == 0) - { - /* Store the number of data to be written */ - sEEDataNum = NumOfSingle; - /* Start writing data */ - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - } - /*!< If NumByteToWrite > sEE_PAGESIZE */ - else - { - while(NumOfPage--) - { - /* Store the number of data to be written */ - sEEDataNum = sEE_PAGESIZE; - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - WriteAddr += sEE_PAGESIZE; - pBuffer += sEE_PAGESIZE; - } - - if(NumOfSingle!=0) - { - /* Store the number of data to be written */ - sEEDataNum = NumOfSingle; - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - } - } - } - /*!< If WriteAddr is not sEE_PAGESIZE aligned */ - else - { - /*!< If NumByteToWrite < sEE_PAGESIZE */ - if(NumOfPage== 0) - { - /*!< If the number of data to be written is more than the remaining space - in the current page: */ - if (NumByteToWrite > count) - { - /* Store the number of data to be written */ - sEEDataNum = count; - /*!< Write the data conained in same page */ - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - - /* Store the number of data to be written */ - sEEDataNum = (NumByteToWrite - count); - /*!< Write the remaining data in the following page */ - sEE_WritePage((uint8_t*)(pBuffer + count), (WriteAddr + count), (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - } - else - { - /* Store the number of data to be written */ - sEEDataNum = NumOfSingle; - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - } - } - /*!< If NumByteToWrite > sEE_PAGESIZE */ - else - { - NumByteToWrite -= count; - NumOfPage = NumByteToWrite / sEE_PAGESIZE; - NumOfSingle = NumByteToWrite % sEE_PAGESIZE; - - if(count != 0) - { - /* Store the number of data to be written */ - sEEDataNum = count; - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - WriteAddr += count; - pBuffer += count; - } - - while(NumOfPage--) - { - /* Store the number of data to be written */ - sEEDataNum = sEE_PAGESIZE; - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - WriteAddr += sEE_PAGESIZE; - pBuffer += sEE_PAGESIZE; - } - if(NumOfSingle != 0) - { - /* Store the number of data to be written */ - sEEDataNum = NumOfSingle; - sEE_WritePage(pBuffer, WriteAddr, (uint8_t*)(&sEEDataNum)); - /* Wait transfer through DMA to be complete */ - sEETimeout = sEE_LONG_TIMEOUT; - while (sEEDataNum > 0) - { - if((sEETimeout--) == 0) {sEE_TIMEOUT_UserCallback(); return;}; - } - sEE_WaitEepromStandbyState(); - } - } - } -} - -/** - * @brief Wait for EEPROM Standby state. - * - * @note This function allows to wait and check that EEPROM has finished the - * last operation. It is mostly used after Write operation: after receiving - * the buffer to be written, the EEPROM may need additional time to actually - * perform the write operation. During this time, it doesn't answer to - * I2C packets addressed to it. Once the write operation is complete - * the EEPROM responds to its address. - * - * @param None - * @retval sEE_OK (0) if operation is correctly performed, else return value - * different from sEE_OK (0) or the timeout user callback. - */ -uint32_t sEE_WaitEepromStandbyState(void) -{ - __IO uint16_t tmpSR1 = 0; - __IO uint32_t sEETrials = 0; - - /*!< While the bus is busy */ - sEETimeout = sEE_LONG_TIMEOUT; - while(I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_BUSY)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /* Keep looping till the slave acknowledge his address or maximum number - of trials is reached (this number is defined by sEE_MAX_TRIALS_NUMBER define - in stm32_eval_i2c_ee.h file) */ - while (1) - { - /*!< Send START condition */ - I2C_GenerateSTART(sEE_I2C, ENABLE); - - /*!< Test on EV5 and clear it */ - sEETimeout = sEE_FLAG_TIMEOUT; - while(!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_MODE_SELECT)) - { - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - - /*!< Send EEPROM address for write */ - I2C_Send7bitAddress(sEE_I2C, sEEAddress, I2C_Direction_Transmitter); - - /* Wait for ADDR flag to be set (Slave acknowledged his address) */ - sEETimeout = sEE_LONG_TIMEOUT; - do - { - /* Get the current value of the SR1 register */ - tmpSR1 = sEE_I2C->SR1; - - /* Update the timeout value and exit if it reach 0 */ - if((sEETimeout--) == 0) return sEE_TIMEOUT_UserCallback(); - } - /* Keep looping till the Address is acknowledged or the AF flag is - set (address not acknowledged at time) */ - while((tmpSR1 & (I2C_SR1_ADDR | I2C_SR1_AF)) == 0); - - /* Check if the ADDR flag has been set */ - if (tmpSR1 & I2C_SR1_ADDR) - { - /* Clear ADDR Flag by reading SR1 then SR2 registers (SR1 have already - been read) */ - (void)sEE_I2C->SR2; - - /*!< STOP condition */ - I2C_GenerateSTOP(sEE_I2C, ENABLE); - - /* Exit the function */ - return sEE_OK; - } - else - { - /*!< Clear AF flag */ - I2C_ClearFlag(sEE_I2C, I2C_FLAG_AF); - } - - /* Check if the maximum allowed numbe of trials has bee reached */ - if (sEETrials++ == sEE_MAX_TRIALS_NUMBER) - { - /* If the maximum number of trials has been reached, exit the function */ - return sEE_TIMEOUT_UserCallback(); - } - } -} - -/** - * @brief This function handles the DMA Tx Channel interrupt Handler. - * @param None - * @retval None - */ -void sEE_I2C_DMA_TX_IRQHandler(void) -{ - /* Check if the DMA transfer is complete */ - if(DMA_GetFlagStatus(sEE_I2C_DMA_FLAG_TX_TC) != RESET) - { - /* Disable the DMA Tx Channel and Clear all its Flags */ - DMA_Cmd(sEE_I2C_DMA_CHANNEL_TX, DISABLE); - DMA_ClearFlag(sEE_I2C_DMA_FLAG_TX_GL); - - /*!< Wait till all data have been physically transferred on the bus */ - sEETimeout = sEE_LONG_TIMEOUT; - while(!I2C_GetFlagStatus(sEE_I2C, I2C_FLAG_BTF)) - { - if((sEETimeout--) == 0) sEE_TIMEOUT_UserCallback(); - } - - /*!< Send STOP condition */ - I2C_GenerateSTOP(sEE_I2C, ENABLE); - - /* Reset the variable holding the number of data to be written */ - *sEEDataWritePointer = 0; - } -} - -/** - * @brief This function handles the DMA Rx Channel interrupt Handler. - * @param None - * @retval None - */ -void sEE_I2C_DMA_RX_IRQHandler(void) -{ - /* Check if the DMA transfer is complete */ - if(DMA_GetFlagStatus(sEE_I2C_DMA_FLAG_RX_TC) != RESET) - { - /*!< Send STOP Condition */ - I2C_GenerateSTOP(sEE_I2C, ENABLE); - - /* Disable the DMA Rx Channel and Clear all its Flags */ - DMA_Cmd(sEE_I2C_DMA_CHANNEL_RX, DISABLE); - DMA_ClearFlag(sEE_I2C_DMA_FLAG_RX_GL); - - /* Reset the variable holding the number of data to be read */ - *sEEDataReadPointer = 0; - } -} - -#ifdef USE_DEFAULT_TIMEOUT_CALLBACK -/** - * @brief Basic management of the timeout situation. - * @param None. - * @retval None. - */ -uint32_t sEE_TIMEOUT_UserCallback(void) -{ - /* Block communication and all processes */ - while (1) - { - } -} -#endif /* USE_DEFAULT_TIMEOUT_CALLBACK */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_i2c_ee.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_i2c_ee.h deleted file mode 100644 index 78f2f579c..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_i2c_ee.h +++ /dev/null @@ -1,181 +0,0 @@ -/** - ****************************************************************************** - * @file stm32l152_eval_i2c_ee.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the stm32l152_eval_i2c_ee - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32L152_EVAL_I2C_EE_H -#define __STM32L152_EVAL_I2C_EE_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL_I2C_EE - * @{ - */ - -/** @defgroup STM32L152_EVAL_I2C_EE_Exported_Types - * @{ - */ - -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_I2C_EE_Exported_Constants - * @{ - */ - -/* Uncomment the following line to use the default sEE_TIMEOUT_UserCallback() - function implemented in stm32_evel_i2c_ee.c file. - sEE_TIMEOUT_UserCallback() function is called whenever a timeout condition - occure during communication (waiting on an event that doesn't occur, bus - errors, busy devices ...). */ -/* #define USE_DEFAULT_TIMEOUT_CALLBACK */ - -#if !defined (sEE_M24C08) && !defined (sEE_M24C64_32) -/* Use the defines below the choose the EEPROM type */ -/* #define sEE_M24C08*/ /* Support the device: M24C08. */ -/* note: Could support: M24C01, M24C02, M24C04 and M24C16 if the blocks and - HW address are correctly defined*/ -#define sEE_M24C64_32 /* Support the devices: M24C32 and M24C64 */ -#endif - -#ifdef sEE_M24C64_32 -/* For M24C32 and M24C64 devices, E0,E1 and E2 pins are all used for device - address selection (ne need for additional address lines). According to the - Harware connection on the board (on STM3210C-EVAL board E0 = E1 = E2 = 0) */ - - #define sEE_HW_ADDRESS 0xA0 /* E0 = E1 = E2 = 0 */ - -#elif defined (sEE_M24C08) -/* The M24C08W contains 4 blocks (128byte each) with the adresses below: E2 = 0 - EEPROM Addresses defines */ - #define sEE_Block0_ADDRESS 0xA0 /* E2 = 0 */ - /*#define sEE_Block1_ADDRESS 0xA2*/ /* E2 = 0 */ - /*#define sEE_Block2_ADDRESS 0xA4*/ /* E2 = 0 */ - /*#define sEE_Block3_ADDRESS 0xA6*/ /* E2 = 0 */ - -#endif /* sEE_M24C64_32 */ - -#define I2C_SPEED 200000 -#define I2C_SLAVE_ADDRESS7 0xA0 - -#if defined (sEE_M24C08) - #define sEE_PAGESIZE 16 -#elif defined (sEE_M24C64_32) - #define sEE_PAGESIZE 32 -#endif - -/* Maximum Timeout values for flags and events waiting loops. These timeouts are - not based on accurate values, they just guarantee that the application will - not remain stuck if the I2C communication is corrupted. - You may modify these timeout values depending on CPU frequency and application - conditions (interrupts routines ...). */ -#define sEE_FLAG_TIMEOUT ((uint32_t)0x1000) -#define sEE_LONG_TIMEOUT ((uint32_t)(10 * sEE_FLAG_TIMEOUT)) - -/* Maximum number of trials for sEE_WaitEepromStandbyState() function */ -#define sEE_MAX_TRIALS_NUMBER 300 - -/* Defintions for the state of the DMA transfer */ -#define sEE_STATE_READY 0 -#define sEE_STATE_BUSY 1 -#define sEE_STATE_ERROR 2 - -#define sEE_OK 0 -#define sEE_FAIL 1 - -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_I2C_EE_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_I2C_EE_Exported_Functions - * @{ - */ -void sEE_DeInit(void); -void sEE_Init(void); -uint32_t sEE_ReadBuffer(uint8_t* pBuffer, uint16_t ReadAddr, uint16_t* NumByteToRead); -uint32_t sEE_WritePage(uint8_t* pBuffer, uint16_t WriteAddr, uint8_t* NumByteToWrite); -void sEE_WriteBuffer(uint8_t* pBuffer, uint16_t WriteAddr, uint16_t NumByteToWrite); -uint32_t sEE_WaitEepromStandbyState(void); - -/* USER Callbacks: These are functions for which prototypes only are declared in - EEPROM driver and that should be implemented into user applicaiton. */ -/* sEE_TIMEOUT_UserCallback() function is called whenever a timeout condition - occure during communication (waiting on an event that doesn't occur, bus - errors, busy devices ...). - You can use the default timeout callback implementation by uncommenting the - define USE_DEFAULT_TIMEOUT_CALLBACK in stm32_evel_i2c_ee.h file. - Typically the user implementation of this callback should reset I2C peripheral - and re-initialize communication or in worst case reset all the application. */ -uint32_t sEE_TIMEOUT_UserCallback(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32L152_EVAL_I2C_EE_H */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ - - diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_lcd.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_lcd.c deleted file mode 100644 index 27d3a092c..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_lcd.c +++ /dev/null @@ -1,1529 +0,0 @@ -/** - ****************************************************************************** - * @file stm32l152_eval_lcd.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file includes the LCD driver for AM-240320L8TNQW00H (LCD_ILI9320), - * AM-240320LDTNQW00H (LCD_SPFD5408B) Liquid Crystal Display Module - * of STM32L152-EVAL board RevB. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l152_eval_lcd.h" -#include "../Common/fonts.c" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL - * @{ - */ - -/** @defgroup STM32L152_EVAL_LCD - * @brief This file includes the LCD driver for AM-240320L8TNQW00H (LCD_ILI9320), - * AM-240320LDTNQW00H (LCD_SPFD5408B) Liquid Crystal Display Module - * of STM32L152-EVAL board. - * @{ - */ - -/** @defgroup STM32L152_EVAL_LCD_Private_Types - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_LCD_Private_Defines - * @{ - */ -#define LCD_ILI9320 0x9320 -#define LCD_SPFD5408 0x5408 -#define START_BYTE 0x70 -#define SET_INDEX 0x00 -#define READ_STATUS 0x01 -#define LCD_WRITE_REG 0x02 -#define LCD_READ_REG 0x03 -#define MAX_POLY_CORNERS 200 -#define POLY_Y(Z) ((int32_t)((Points + Z)->X)) -#define POLY_X(Z) ((int32_t)((Points + Z)->Y)) -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_LCD_Private_Macros - * @{ - */ -#define ABS(X) ((X) > 0 ? (X) : -(X)) -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_LCD_Private_Variables - * @{ - */ -static sFONT *LCD_Currentfonts; -/* Global variables to set the written text color */ -static __IO uint16_t TextColor = 0x0000, BackColor = 0xFFFF; -static __IO uint32_t LCDType = LCD_SPFD5408; -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_LCD_Private_Function_Prototypes - * @{ - */ -#ifndef USE_Delay -static void delay(__IO uint32_t nCount); -#endif /* USE_Delay*/ - -static void PutPixel(int16_t x, int16_t y); -static void LCD_PolyLineRelativeClosed(pPoint Points, uint16_t PointCount, uint16_t Closed); - -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_LCD_Private_Functions - * @{ - */ - -/** - * @brief DeInitializes the LCD. - * @param None - * @retval None - */ -void STM32L152_LCD_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< LCD Display Off */ - LCD_DisplayOff(); - - /*!< LCD_SPI disable */ - SPI_Cmd(LCD_SPI, DISABLE); - - /*!< LCD_SPI DeInit */ - SPI_DeInit(LCD_SPI); - - /*!< Disable SPI clock */ - RCC_APB1PeriphClockCmd(LCD_SPI_CLK, DISABLE); - - /* Configure NCS in Output Push-Pull mode */ - GPIO_InitStructure.GPIO_Pin = LCD_NCS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(LCD_NCS_GPIO_PORT, &GPIO_InitStructure); - - /* Configure SPI pins: SCK, MISO and MOSI */ - GPIO_InitStructure.GPIO_Pin = LCD_SPI_SCK_PIN; - GPIO_Init(LCD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MISO_PIN; - GPIO_Init(LCD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MOSI_PIN; - GPIO_Init(LCD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief Setups the LCD. - * @param None - * @retval None - */ -void LCD_Setup(void) -{ -/* Configure the LCD Control pins --------------------------------------------*/ - LCD_CtrlLinesConfig(); - -/* Configure the LCD_SPI interface ----------------------------------------------*/ - LCD_SPIConfig(); - - if(LCDType == LCD_SPFD5408) - { - /* Start Initial Sequence --------------------------------------------------*/ - LCD_WriteReg(LCD_REG_227, 0x3008); /* Set internal timing */ - LCD_WriteReg(LCD_REG_231, 0x0012); /* Set internal timing */ - LCD_WriteReg(LCD_REG_239, 0x1231); /* Set internal timing */ - LCD_WriteReg(LCD_REG_1, 0x0100); /* Set SS and SM bit */ - LCD_WriteReg(LCD_REG_2, 0x0700); /* Set 1 line inversion */ - LCD_WriteReg(LCD_REG_3, 0x1030); /* Set GRAM write direction and BGR=1. */ - LCD_WriteReg(LCD_REG_4, 0x0000); /* Resize register */ - LCD_WriteReg(LCD_REG_8, 0x0202); /* Set the back porch and front porch */ - LCD_WriteReg(LCD_REG_9, 0x0000); /* Set non-display area refresh cycle ISC[3:0] */ - LCD_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */ - LCD_WriteReg(LCD_REG_12, 0x0000); /* RGB interface setting */ - LCD_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */ - LCD_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity */ - /* Power On sequence -------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_17, 0x0007); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_16, 0x12B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x01BD); /* External reference voltage= Vci */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1400); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x000E); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */ - LCD_WriteReg(LCD_REG_33, 0x013F); /* GRAM Vertical Address */ - /* Adjust the Gamma Curve --------------------------------------------------*/ - LCD_WriteReg(LCD_REG_48, 0x0007); - LCD_WriteReg(LCD_REG_49, 0x0302); - LCD_WriteReg(LCD_REG_50, 0x0105); - LCD_WriteReg(LCD_REG_53, 0x0206); - LCD_WriteReg(LCD_REG_54, 0x0808); - LCD_WriteReg(LCD_REG_55, 0x0206); - LCD_WriteReg(LCD_REG_56, 0x0504); - LCD_WriteReg(LCD_REG_57, 0x0007); - LCD_WriteReg(LCD_REG_60, 0x0105); - LCD_WriteReg(LCD_REG_61, 0x0808); - /* Set GRAM area -----------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */ - LCD_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */ - LCD_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_96, 0xA700); /* Gate Scan Line */ - LCD_WriteReg(LCD_REG_97, 0x0001); /* NDL,VLE, REV */ - LCD_WriteReg(LCD_REG_106, 0x0000); /* Set scrolling line */ - /* Partial Display Control -------------------------------------------------*/ - LCD_WriteReg(LCD_REG_128, 0x0000); - LCD_WriteReg(LCD_REG_129, 0x0000); - LCD_WriteReg(LCD_REG_130, 0x0000); - LCD_WriteReg(LCD_REG_131, 0x0000); - LCD_WriteReg(LCD_REG_132, 0x0000); - LCD_WriteReg(LCD_REG_133, 0x0000); - /* Panel Control -----------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_144, 0x0010); - LCD_WriteReg(LCD_REG_146, 0x0000); - LCD_WriteReg(LCD_REG_147, 0x0003); - LCD_WriteReg(LCD_REG_149, 0x0110); - LCD_WriteReg(LCD_REG_151, 0x0000); - LCD_WriteReg(LCD_REG_152, 0x0000); - /* Set GRAM write direction and BGR = 1 - I/D=01 (Horizontal : increment, Vertical : decrement) - AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - LCD_WriteReg(LCD_REG_7, 0x0112); /* 262K color and display ON */ - } - else if(LCDType == LCD_ILI9320) - { - _delay_(5); /* Delay 50 ms */ - /* Start Initial Sequence ------------------------------------------------*/ - LCD_WriteReg(LCD_REG_229, 0x8000); /* Set the internal vcore voltage */ - LCD_WriteReg(LCD_REG_0, 0x0001); /* Start internal OSC. */ - LCD_WriteReg(LCD_REG_1, 0x0100); /* set SS and SM bit */ - LCD_WriteReg(LCD_REG_2, 0x0700); /* set 1 line inversion */ - LCD_WriteReg(LCD_REG_3, 0x1030); /* set GRAM write direction and BGR=1. */ - LCD_WriteReg(LCD_REG_4, 0x0000); /* Resize register */ - LCD_WriteReg(LCD_REG_8, 0x0202); /* set the back porch and front porch */ - LCD_WriteReg(LCD_REG_9, 0x0000); /* set non-display area refresh cycle ISC[3:0] */ - LCD_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */ - LCD_WriteReg(LCD_REG_12, 0x0000); /* RGB interface setting */ - LCD_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */ - LCD_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity */ - /* Power On sequence -----------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */ - LCD_WriteReg(LCD_REG_33, 0x0000); /* GRAM Vertical Address */ - /* Adjust the Gamma Curve ------------------------------------------------*/ - LCD_WriteReg(LCD_REG_48, 0x0006); - LCD_WriteReg(LCD_REG_49, 0x0101); - LCD_WriteReg(LCD_REG_50, 0x0003); - LCD_WriteReg(LCD_REG_53, 0x0106); - LCD_WriteReg(LCD_REG_54, 0x0b02); - LCD_WriteReg(LCD_REG_55, 0x0302); - LCD_WriteReg(LCD_REG_56, 0x0707); - LCD_WriteReg(LCD_REG_57, 0x0007); - LCD_WriteReg(LCD_REG_60, 0x0600); - LCD_WriteReg(LCD_REG_61, 0x020b); - - /* Set GRAM area ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */ - LCD_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */ - LCD_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_96, 0x2700); /* Gate Scan Line */ - LCD_WriteReg(LCD_REG_97, 0x0001); /* NDL,VLE, REV */ - LCD_WriteReg(LCD_REG_106, 0x0000); /* set scrolling line */ - /* Partial Display Control -----------------------------------------------*/ - LCD_WriteReg(LCD_REG_128, 0x0000); - LCD_WriteReg(LCD_REG_129, 0x0000); - LCD_WriteReg(LCD_REG_130, 0x0000); - LCD_WriteReg(LCD_REG_131, 0x0000); - LCD_WriteReg(LCD_REG_132, 0x0000); - LCD_WriteReg(LCD_REG_133, 0x0000); - /* Panel Control ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_144, 0x0010); - LCD_WriteReg(LCD_REG_146, 0x0000); - LCD_WriteReg(LCD_REG_147, 0x0003); - LCD_WriteReg(LCD_REG_149, 0x0110); - LCD_WriteReg(LCD_REG_151, 0x0000); - LCD_WriteReg(LCD_REG_152, 0x0000); - /* Set GRAM write direction and BGR = 1 */ - /* I/D=01 (Horizontal : increment, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ - } -} - - -/** - * @brief Initializes the LCD. - * @param None - * @retval None - */ -void STM32L152_LCD_Init(void) -{ - /* Setups the LCD */ - LCD_Setup(); - - /* Try to read new LCD controller ID 0x5408 */ - if (LCD_ReadReg(LCD_REG_0) == LCD_SPFD5408) - { - LCDType = LCD_SPFD5408; - } - else - { - LCDType = LCD_ILI9320; - /* Setups the LCD */ - LCD_Setup(); - } - - LCD_SetFont(&LCD_DEFAULT_FONT); -} - -/** - * @brief Sets the LCD Text and Background colors. - * @param _TextColor: specifies the Text Color. - * @param _BackColor: specifies the Background Color. - * @retval None - */ -void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor) -{ - TextColor = _TextColor; - BackColor = _BackColor; -} - -/** - * @brief Gets the LCD Text and Background colors. - * @param _TextColor: pointer to the variable that will contain the Text - Color. - * @param _BackColor: pointer to the variable that will contain the Background - Color. - * @retval None - */ -void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor) -{ - *_TextColor = TextColor; *_BackColor = BackColor; -} - -/** - * @brief Sets the Text color. - * @param Color: specifies the Text color code RGB(5-6-5). - * @retval None - */ -void LCD_SetTextColor(__IO uint16_t Color) -{ - TextColor = Color; -} - - -/** - * @brief Sets the Background color. - * @param Color: specifies the Background color code RGB(5-6-5). - * @retval None - */ -void LCD_SetBackColor(__IO uint16_t Color) -{ - BackColor = Color; -} - -/** - * @brief Sets the Text Font. - * @param fonts: specifies the font to be used. - * @retval None - */ -void LCD_SetFont(sFONT *fonts) -{ - LCD_Currentfonts = fonts; -} - -/** - * @brief Gets the Text Font. - * @param None. - * @retval the used font. - */ -sFONT *LCD_GetFont(void) -{ - return LCD_Currentfonts; -} - -/** - * @brief Clears the selected line. - * @param Line: the Line to be cleared. - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..n - * @retval None - */ -void LCD_ClearLine(uint8_t Line) -{ - uint16_t refcolumn = LCD_PIXEL_WIDTH - 1; - - /* Send the string character by character on lCD */ - while (((refcolumn + 1) & 0xFFFF) >= LCD_Currentfonts->Width) - { - /* Display one character on LCD */ - LCD_DisplayChar(Line, refcolumn, ' '); - /* Decrement the column position by 16 */ - refcolumn -= LCD_Currentfonts->Width; - } -} - - -/** - * @brief Clears the hole LCD. - * @param Color: the color of the background. - * @retval None - */ -void LCD_Clear(uint16_t Color) -{ - uint32_t index = 0; - - LCD_SetCursor(0x00, 0x013F); - - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - - for(index = 0; index < 76800; index++) - { - LCD_WriteRAM(Color); - } - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - -} - - -/** - * @brief Sets the cursor position. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @retval None - */ -void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos) -{ - LCD_WriteReg(LCD_REG_32, Xpos); - LCD_WriteReg(LCD_REG_33, Ypos); -} - - -/** - * @brief Draws a character on LCD. - * @param Xpos: the Line where to display the character shape. - * @param Ypos: start column address. - * @param c: pointer to the character data. - * @retval None - */ -void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c) -{ - uint32_t index = 0, i = 0; - uint8_t Xaddress = 0; - - Xaddress = Xpos; - - LCD_SetCursor(Xaddress, Ypos); - - for(index = 0; index < LCD_Currentfonts->Height; index++) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - - for(i = 0; i < LCD_Currentfonts->Width; i++) - { - if((((c[index] & ((0x80 << ((LCD_Currentfonts->Width / 12 ) * 8 ) ) >> i)) == 0x00) &&(LCD_Currentfonts->Width <= 12))|| - (((c[index] & (0x1 << i)) == 0x00)&&(LCD_Currentfonts->Width > 12 ))) - - { - LCD_WriteRAM(BackColor); - } - else - { - LCD_WriteRAM(TextColor); - } - } - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - Xaddress++; - LCD_SetCursor(Xaddress, Ypos); - } -} - - -/** - * @brief Displays one character (16dots width, 24dots height). - * @param Line: the Line where to display the character shape . - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..9 - * @param Column: start column address. - * @param Ascii: character ascii code, must be between 0x20 and 0x7E. - * @retval None - */ -void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii) -{ - Ascii -= 32; - LCD_DrawChar(Line, Column, &LCD_Currentfonts->table[Ascii * LCD_Currentfonts->Height]); -} - - -/** - * @brief Displays a maximum of 20 char on the LCD. - * @param Line: the Line where to display the character shape . - * This parameter can be one of the following values: - * @arg Linex: where x can be 0..9 - * @param *ptr: pointer to string to display on LCD. - * @retval None - */ -void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr) -{ - uint16_t refcolumn = LCD_PIXEL_WIDTH - 1; - - /* Send the string character by character on lCD */ - while ((*ptr != 0) & (((refcolumn + 1) & 0xFFFF) >= LCD_Currentfonts->Width)) - { - /* Display one character on LCD */ - LCD_DisplayChar(Line, refcolumn, *ptr); - /* Decrement the column position by 16 */ - refcolumn -= LCD_Currentfonts->Width; - /* Point on the next character */ - ptr++; - } -} - - -/** - * @brief Sets a display window - * @param Xpos: specifies the X buttom left position. - * @param Ypos: specifies the Y buttom left position. - * @param Height: display window height. - * @param Width: display window width. - * @retval None - */ -void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width) -{ - /* Horizontal GRAM Start Address */ - if(Xpos >= Height) - { - LCD_WriteReg(LCD_REG_80, (Xpos - Height + 1)); - } - else - { - LCD_WriteReg(LCD_REG_80, 0); - } - /* Horizontal GRAM End Address */ - LCD_WriteReg(LCD_REG_81, Xpos); - /* Vertical GRAM Start Address */ - if(Ypos >= Width) - { - LCD_WriteReg(LCD_REG_82, (Ypos - Width + 1)); - } - else - { - LCD_WriteReg(LCD_REG_82, 0); - } - /* Vertical GRAM End Address */ - LCD_WriteReg(LCD_REG_83, Ypos); - - LCD_SetCursor(Xpos, Ypos); -} - - -/** - * @brief Disables LCD Window mode. - * @param None - * @retval None - */ -void LCD_WindowModeDisable(void) -{ - LCD_SetDisplayWindow(239, 0x13F, 240, 320); - LCD_WriteReg(LCD_REG_3, 0x1018); -} - -/** - * @brief Displays a line. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Length: line length. - * @param Direction: line direction. - * This parameter can be one of the following values: Vertical or Horizontal. - * @retval None - */ -void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction) -{ - uint32_t i = 0; - - LCD_SetCursor(Xpos, Ypos); - - if(Direction == LCD_DIR_HORIZONTAL) - { - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - - for(i = 0; i < Length; i++) - { - LCD_WriteRAM(TextColor); - } - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } - else - { - for(i = 0; i < Length; i++) - { - LCD_WriteRAMWord(TextColor); - Xpos++; - LCD_SetCursor(Xpos, Ypos); - } - } -} - - -/** - * @brief Displays a rectangle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Height: display rectangle height. - * @param Width: display rectangle width. - * @retval None - */ -void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width) -{ - LCD_DrawLine(Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - LCD_DrawLine((Xpos + Height), Ypos, Width, LCD_DIR_HORIZONTAL); - - LCD_DrawLine(Xpos, Ypos, Height, LCD_DIR_VERTICAL); - LCD_DrawLine(Xpos, (Ypos - Width + 1), Height, LCD_DIR_VERTICAL); -} - - -/** - * @brief Displays a circle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Radius - * @retval None - */ -void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius) -{ - int32_t D;/* Decision Variable */ - uint32_t CurX;/* Current X Value */ - uint32_t CurY;/* Current Y Value */ - - D = 3 - (Radius << 1); - CurX = 0; - CurY = Radius; - - while (CurX <= CurY) - { - LCD_SetCursor(Xpos + CurX, Ypos + CurY); - LCD_WriteRAMWord(TextColor); - LCD_SetCursor(Xpos + CurX, Ypos - CurY); - LCD_WriteRAMWord(TextColor); - - LCD_SetCursor(Xpos - CurX, Ypos + CurY); - LCD_WriteRAMWord(TextColor); - - LCD_SetCursor(Xpos - CurX, Ypos - CurY); - LCD_WriteRAMWord(TextColor); - - LCD_SetCursor(Xpos + CurY, Ypos + CurX); - LCD_WriteRAMWord(TextColor); - - LCD_SetCursor(Xpos + CurY, Ypos - CurX); - LCD_WriteRAMWord(TextColor); - - LCD_SetCursor(Xpos - CurY, Ypos + CurX); - LCD_WriteRAMWord(TextColor); - - LCD_SetCursor(Xpos - CurY, Ypos - CurX); - LCD_WriteRAMWord(TextColor); - - if (D < 0) - { - D += (CurX << 2) + 6; - } - else - { - D += ((CurX - CurY) << 2) + 10; - CurY--; - } - CurX++; - } -} - - -/** - * @brief Displays a monocolor picture. - * @param Pict: pointer to the picture array. - * @retval None - */ -void LCD_DrawMonoPict(const uint32_t *Pict) -{ - uint32_t index = 0, i = 0; - LCD_SetCursor(0, (LCD_PIXEL_WIDTH - 1)); - - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - - for(index = 0; index < 2400; index++) - { - for(i = 0; i < 32; i++) - { - if((Pict[index] & (1 << i)) == 0x00) - { - LCD_WriteRAM(BackColor); - } - else - { - LCD_WriteRAM(TextColor); - } - } - } - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - -#ifdef USE_LCD_DrawBMP -/** - * @brief Displays a bitmap picture loaded in the SPI Flash. - * @param BmpAddress: Bmp picture address in the SPI Flash. - * @retval None - */ -void LCD_DrawBMP(uint32_t BmpAddress) -{ - uint32_t i = 0, size = 0; - /* Read bitmap size */ - sFLASH_ReadBuffer((uint8_t*)&size, BmpAddress + 2, 4); - /* get bitmap data address offset */ - sFLASH_ReadBuffer((uint8_t*)&i, BmpAddress + 10, 4); - - size = (size - i)/2; - sFLASH_StartReadSequence(BmpAddress + i); - /* Disable LCD_SPI */ - SPI_Cmd(LCD_SPI, DISABLE); - /* SPI in 16-bit mode */ - SPI_DataSizeConfig(LCD_SPI, SPI_DataSize_16b); - /* Enable LCD_SPI */ - SPI_Cmd(LCD_SPI, ENABLE); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Set GRAM write direction and BGR = 1 */ - /* I/D=00 (Horizontal : decrement, Vertical : decrement) */ - /* AM=1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1008); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - } - - /* Read bitmap data from SPI Flash and send them to LCD */ - for(i = 0; i < size; i++) - { - LCD_WriteRAM(__REV16(sFLASH_SendHalfWord(0xA5A5))); - } - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - } - - /* Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - /* Disable LCD_SPI */ - SPI_Cmd(LCD_SPI, DISABLE); - /* SPI in 8-bit mode */ - SPI_DataSizeConfig(LCD_SPI, SPI_DataSize_8b); - /* Enable LCD_SPI */ - SPI_Cmd(LCD_SPI, ENABLE); - - if((LCDType == LCD_ILI9320) || (LCDType == LCD_SPFD5408)) - { - /* Set GRAM write direction and BGR = 1 */ - /* I/D = 01 (Horizontal : increment, Vertical : decrement) */ - /* AM = 1 (address is updated in vertical writing direction) */ - LCD_WriteReg(LCD_REG_3, 0x1018); - } -} -#endif /* USE_LCD_DrawBMP */ - -/** - * @brief Displays a full rectangle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Height: rectangle height. - * @param Width: rectangle width. - * @retval None - */ -void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) -{ - LCD_SetTextColor(TextColor); - - LCD_DrawLine(Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - LCD_DrawLine((Xpos + Height), Ypos, Width, LCD_DIR_HORIZONTAL); - - LCD_DrawLine(Xpos, Ypos, Height, LCD_DIR_VERTICAL); - LCD_DrawLine(Xpos, (Ypos - Width + 1), Height, LCD_DIR_VERTICAL); - - Width -= 2; - Height--; - Ypos--; - - LCD_SetTextColor(BackColor); - - while(Height--) - { - LCD_DrawLine(++Xpos, Ypos, Width, LCD_DIR_HORIZONTAL); - } - - LCD_SetTextColor(TextColor); -} - -/** - * @brief Displays a full circle. - * @param Xpos: specifies the X position. - * @param Ypos: specifies the Y position. - * @param Radius - * @retval None - */ -void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) -{ - int32_t D; /* Decision Variable */ - uint32_t CurX;/* Current X Value */ - uint32_t CurY;/* Current Y Value */ - - D = 3 - (Radius << 1); - - CurX = 0; - CurY = Radius; - - LCD_SetTextColor(BackColor); - - while (CurX <= CurY) - { - if(CurY > 0) - { - LCD_DrawLine(Xpos - CurX, Ypos + CurY, 2*CurY, LCD_DIR_HORIZONTAL); - LCD_DrawLine(Xpos + CurX, Ypos + CurY, 2*CurY, LCD_DIR_HORIZONTAL); - } - - if(CurX > 0) - { - LCD_DrawLine(Xpos - CurY, Ypos + CurX, 2*CurX, LCD_DIR_HORIZONTAL); - LCD_DrawLine(Xpos + CurY, Ypos + CurX, 2*CurX, LCD_DIR_HORIZONTAL); - } - if (D < 0) - { - D += (CurX << 2) + 6; - } - else - { - D += ((CurX - CurY) << 2) + 10; - CurY--; - } - CurX++; - } - - LCD_SetTextColor(TextColor); - LCD_DrawCircle(Xpos, Ypos, Radius); -} - -/** - * @brief Displays an uni line (between two points). - * @param x1: specifies the point 1 x position. - * @param y1: specifies the point 1 y position. - * @param x2: specifies the point 2 x position. - * @param y2: specifies the point 2 y position. - * @retval None - */ -void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) -{ - int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, - yinc1 = 0, yinc2 = 0, den = 0, num = 0, numadd = 0, numpixels = 0, - curpixel = 0; - - deltax = ABS(x2 - x1); /* The difference between the x's */ - deltay = ABS(y2 - y1); /* The difference between the y's */ - x = x1; /* Start x off at the first pixel */ - y = y1; /* Start y off at the first pixel */ - - if (x2 >= x1) /* The x-values are increasing */ - { - xinc1 = 1; - xinc2 = 1; - } - else /* The x-values are decreasing */ - { - xinc1 = -1; - xinc2 = -1; - } - - if (y2 >= y1) /* The y-values are increasing */ - { - yinc1 = 1; - yinc2 = 1; - } - else /* The y-values are decreasing */ - { - yinc1 = -1; - yinc2 = -1; - } - - if (deltax >= deltay) /* There is at least one x-value for every y-value */ - { - xinc1 = 0; /* Don't change the x when numerator >= denominator */ - yinc2 = 0; /* Don't change the y for every iteration */ - den = deltax; - num = deltax / 2; - numadd = deltay; - numpixels = deltax; /* There are more x-values than y-values */ - } - else /* There is at least one y-value for every x-value */ - { - xinc2 = 0; /* Don't change the x for every iteration */ - yinc1 = 0; /* Don't change the y when numerator >= denominator */ - den = deltay; - num = deltay / 2; - numadd = deltax; - numpixels = deltay; /* There are more y-values than x-values */ - } - - for (curpixel = 0; curpixel <= numpixels; curpixel++) - { - PutPixel(x, y); /* Draw the current pixel */ - num += numadd; /* Increase the numerator by the top of the fraction */ - if (num >= den) /* Check if numerator >= denominator */ - { - num -= den; /* Calculate the new numerator value */ - x += xinc1; /* Change the x as appropriate */ - y += yinc1; /* Change the y as appropriate */ - } - x += xinc2; /* Change the x as appropriate */ - y += yinc2; /* Change the y as appropriate */ - } -} - -/** - * @brief Displays an polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_PolyLine(pPoint Points, uint16_t PointCount) -{ - int16_t X = 0, Y = 0; - - if(PointCount < 2) - { - return; - } - - while(--PointCount) - { - X = Points->X; - Y = Points->Y; - Points++; - LCD_DrawUniLine(X, Y, Points->X, Points->Y); - } -} - -/** - * @brief Displays an relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @param Closed: specifies if the draw is closed or not. - * 1: closed, 0 : not closed. - * @retval None - */ -static void LCD_PolyLineRelativeClosed(pPoint Points, uint16_t PointCount, uint16_t Closed) -{ - int16_t X = 0, Y = 0; - pPoint First = Points; - - if(PointCount < 2) - { - return; - } - X = Points->X; - Y = Points->Y; - while(--PointCount) - { - Points++; - LCD_DrawUniLine(X, Y, X + Points->X, Y + Points->Y); - X = X + Points->X; - Y = Y + Points->Y; - } - if(Closed) - { - LCD_DrawUniLine(First->X, First->Y, X, Y); - } -} - -/** - * @brief Displays a closed polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLine(Points, PointCount); - LCD_DrawUniLine(Points->X, Points->Y, (Points+PointCount-1)->X, (Points+PointCount-1)->Y); -} - -/** - * @brief Displays a relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLineRelativeClosed(Points, PointCount, 0); -} - -/** - * @brief Displays a closed relative polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount) -{ - LCD_PolyLineRelativeClosed(Points, PointCount, 1); -} - - -/** - * @brief Displays a full polyline (between many points). - * @param Points: pointer to the points array. - * @param PointCount: Number of points. - * @retval None - */ -void LCD_FillPolyLine(pPoint Points, uint16_t PointCount) -{ - /* public-domain code by Darel Rex Finley, 2007 */ - uint16_t nodes = 0, nodeX[MAX_POLY_CORNERS], pixelX = 0, pixelY = 0, i = 0, - j = 0, swap = 0; - uint16_t IMAGE_LEFT = 0, IMAGE_RIGHT = 0, IMAGE_TOP = 0, IMAGE_BOTTOM = 0; - - IMAGE_LEFT = IMAGE_RIGHT = Points->X; - IMAGE_TOP= IMAGE_BOTTOM = Points->Y; - - for(i = 1; i < PointCount; i++) - { - pixelX = POLY_X(i); - if(pixelX < IMAGE_LEFT) - { - IMAGE_LEFT = pixelX; - } - if(pixelX > IMAGE_RIGHT) - { - IMAGE_RIGHT = pixelX; - } - - pixelY = POLY_Y(i); - if(pixelY < IMAGE_TOP) - { - IMAGE_TOP = pixelY; - } - if(pixelY > IMAGE_BOTTOM) - { - IMAGE_BOTTOM = pixelY; - } - } - - LCD_SetTextColor(BackColor); - - /* Loop through the rows of the image. */ - for (pixelY = IMAGE_TOP; pixelY < IMAGE_BOTTOM; pixelY++) - { - /* Build a list of nodes. */ - nodes = 0; j = PointCount-1; - - for (i = 0; i < PointCount; i++) - { - if (POLY_Y(i)<(double) pixelY && POLY_Y(j)>=(double) pixelY || POLY_Y(j)<(double) pixelY && POLY_Y(i)>=(double) pixelY) - { - nodeX[nodes++]=(int) (POLY_X(i)+((pixelY-POLY_Y(i))*(POLY_X(j)-POLY_X(i)))/(POLY_Y(j)-POLY_Y(i))); - } - j = i; - } - - /* Sort the nodes, via a simple "Bubble" sort. */ - i = 0; - while (i < nodes-1) - { - if (nodeX[i]>nodeX[i+1]) - { - swap = nodeX[i]; - nodeX[i] = nodeX[i+1]; - nodeX[i+1] = swap; - if(i) - { - i--; - } - } - else - { - i++; - } - } - - /* Fill the pixels between node pairs. */ - for (i = 0; i < nodes; i+=2) - { - if(nodeX[i] >= IMAGE_RIGHT) - { - break; - } - if(nodeX[i+1] > IMAGE_LEFT) - { - if (nodeX[i] < IMAGE_LEFT) - { - nodeX[i]=IMAGE_LEFT; - } - if(nodeX[i+1] > IMAGE_RIGHT) - { - nodeX[i+1] = IMAGE_RIGHT; - } - LCD_SetTextColor(BackColor); - LCD_DrawLine(pixelY, nodeX[i+1], nodeX[i+1] - nodeX[i], LCD_DIR_HORIZONTAL); - LCD_SetTextColor(TextColor); - PutPixel(pixelY, nodeX[i+1]); - PutPixel(pixelY, nodeX[i]); - /* for (j=nodeX[i]; j> 8); - - while(SPI_GetFlagStatus(LCD_SPI, SPI_FLAG_BSY) != RESET) - { - } - - SPI_SendData(LCD_SPI, (LCD_RegValue & 0xFF)); - - while(SPI_GetFlagStatus(LCD_SPI, SPI_FLAG_BSY) != RESET) - { - } - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - - -/** - * @brief Reads the selected LCD Register. - * @param LCD_Reg: address of the selected register. - * @retval LCD Register Value. - */ -uint16_t LCD_ReadReg(uint8_t LCD_Reg) -{ - uint16_t tmp = 0; - uint8_t i = 0; - - /* LCD_SPI prescaler: 4 */ - LCD_SPI->CR1 &= 0xFFC7; - LCD_SPI->CR1 |= 0x0008; - /* Write 16-bit Index (then Read Reg) */ - LCD_WriteRegIndex(LCD_Reg); - /* Read 16-bit Reg */ - /* Reset LCD control line(/CS) and Send Start-Byte */ - LCD_nCS_StartByte(START_BYTE | LCD_READ_REG); - - for(i = 0; i < 5; i++) - { - SPI_SendData(LCD_SPI, 0xFF); - while(SPI_GetFlagStatus(LCD_SPI, SPI_FLAG_BSY) != RESET) - { - } - /* One byte of invalid dummy data read after the start byte */ - while(SPI_GetFlagStatus(LCD_SPI, SPI_FLAG_RXNE) == RESET) - { - } - SPI_ReceiveData(LCD_SPI); - } - - SPI_SendData(LCD_SPI, 0xFF); - - /* Read upper byte */ - while(SPI_GetFlagStatus(LCD_SPI, SPI_FLAG_BSY) != RESET) - { - } - - /* Read lower byte */ - while(SPI_GetFlagStatus(LCD_SPI, SPI_FLAG_RXNE) == RESET) - { - } - tmp = SPI_ReceiveData(LCD_SPI); - - - SPI_SendData(LCD_SPI, 0xFF); - while(SPI_GetFlagStatus(LCD_SPI, SPI_FLAG_BSY) != RESET) - { - } - - /* Read lower byte */ - while(SPI_GetFlagStatus(LCD_SPI, SPI_FLAG_RXNE) == RESET) - { - } - - tmp = ((tmp & 0xFF) << 8) | SPI_ReceiveData(LCD_SPI); - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); - - /* LCD_SPI prescaler: 2 */ - LCD_SPI->CR1 &= 0xFFC7; - - return tmp; -} - - -/** - * @brief Prepare to write to the LCD RAM. - * @param None - * @retval None - */ -void LCD_WriteRAM_Prepare(void) -{ - LCD_WriteRegIndex(LCD_REG_34); /* Select GRAM Reg */ - - /* Reset LCD control line(/CS) and Send Start-Byte */ - LCD_nCS_StartByte(START_BYTE | LCD_WRITE_REG); -} - - -/** - * @brief Writes 1 word to the LCD RAM. - * @param RGB_Code: the pixel color in RGB mode (5-6-5). - * @retval None - */ -void LCD_WriteRAMWord(uint16_t RGB_Code) -{ - LCD_WriteRAM_Prepare(); - - LCD_WriteRAM(RGB_Code); - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - -/** - * @brief Writes to the LCD RAM. - * @param RGB_Code: the pixel color in RGB mode (5-6-5). - * @retval None - */ -void LCD_WriteRAM(uint16_t RGB_Code) -{ - SPI_SendData(LCD_SPI, RGB_Code >> 8); - while(SPI_GetFlagStatus(LCD_SPI, SPI_FLAG_BSY) != RESET) - { - } - SPI_SendData(LCD_SPI, RGB_Code & 0xFF); - while(SPI_GetFlagStatus(LCD_SPI, SPI_FLAG_BSY) != RESET) - { - } -} - - -/** - * @brief Power on the LCD. - * @param None - * @retval None - */ -void LCD_PowerOn(void) -{ - /* Power On sequence ---------------------------------------------------------*/ - LCD_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */ - LCD_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */ - LCD_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */ - _delay_(20); /* Dis-charge capacitor power voltage (200ms) */ - LCD_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ - LCD_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */ - _delay_(5); /* Delay 50 ms */ - LCD_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */ - _delay_(5); /* delay 50 ms */ - LCD_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */ - LCD_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */ - _delay_(5); /* delay 50 ms */ - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ -} - - -/** - * @brief Enables the Display. - * @param None - * @retval None - */ -void LCD_DisplayOn(void) -{ - /* Display On */ - LCD_WriteReg(LCD_REG_7, 0x0173); /* 262K color and display ON */ -} - - -/** - * @brief Disables the Display. - * @param None - * @retval None - */ -void LCD_DisplayOff(void) -{ - /* Display Off */ - LCD_WriteReg(LCD_REG_7, 0x0); -} - - -/** - * @brief Configures LCD control lines in Output Push-Pull mode. - * @param None - * @retval None - */ -void LCD_CtrlLinesConfig(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - RCC_AHBPeriphClockCmd(LCD_NCS_GPIO_CLK, ENABLE); - - /* Configure NCS (PF.02) in Output Push-Pull mode */ - GPIO_InitStructure.GPIO_Pin = LCD_NCS_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(LCD_NCS_GPIO_PORT, &GPIO_InitStructure); - - LCD_CtrlLinesWrite(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, Bit_SET); -} - - -/** - * @brief Sets or reset LCD control lines. - * @param GPIOx: where x can be B or D to select the GPIO peripheral. - * @param CtrlPins: the Control line. - * This parameter can be: - * @arg LCD_NCS_PIN: Chip Select pin - * @arg LCD_NWR_PIN: Read/Write Selection pin - * @arg LCD_RS_PIN: Register/RAM Selection pin - * @param BitVal: specifies the value to be written to the selected bit. - * This parameter can be: - * @arg Bit_RESET: to clear the port pin - * @arg Bit_SET: to set the port pin - * @retval None - */ -void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, uint16_t CtrlPins, BitAction BitVal) -{ - /* Set or Reset the control line */ - GPIO_WriteBit(GPIOx, CtrlPins, BitVal); -} - - -/** - * @brief Configures the LCD_SPI interface. - * @param None - * @retval None - */ -void LCD_SPIConfig(void) -{ - SPI_InitTypeDef SPI_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable LCD_SPI_SCK_GPIO_CLK, LCD_SPI_MISO_GPIO_CLK and LCD_SPI_MOSI_GPIO_CLK clock */ - RCC_AHBPeriphClockCmd(LCD_SPI_SCK_GPIO_CLK | LCD_SPI_MISO_GPIO_CLK | LCD_SPI_MOSI_GPIO_CLK, ENABLE); - - /* Enable LCD_SPI and SYSCFG clock */ - RCC_APB2PeriphClockCmd(LCD_SPI_CLK | RCC_APB2Periph_SYSCFG, ENABLE); - - /* Configure LCD_SPI SCK pin */ - GPIO_InitStructure.GPIO_Pin = LCD_SPI_SCK_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(LCD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /* Configure LCD_SPI MISO pin */ - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MISO_PIN; - GPIO_Init(LCD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /* Configure LCD_SPI MOSI pin */ - GPIO_InitStructure.GPIO_Pin = LCD_SPI_MOSI_PIN; - GPIO_Init(LCD_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /* Connect PE.13 to SPI SCK */ - GPIO_PinAFConfig(LCD_SPI_SCK_GPIO_PORT, LCD_SPI_SCK_SOURCE, LCD_SPI_SCK_AF); - - /* Connect PE.14 to SPI MISO */ - GPIO_PinAFConfig(LCD_SPI_MISO_GPIO_PORT, LCD_SPI_MISO_SOURCE, LCD_SPI_MISO_AF); - - /* Connect PE.15 to SPI MOSI */ - GPIO_PinAFConfig(LCD_SPI_MOSI_GPIO_PORT, LCD_SPI_MOSI_SOURCE, LCD_SPI_MOSI_AF); - - SPI_DeInit(LCD_SPI); - - /* SPI Config */ - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - SPI_InitStructure.SPI_CRCPolynomial = 7; - SPI_Init(LCD_SPI, &SPI_InitStructure); - - /* SPI enable */ - SPI_Cmd(LCD_SPI, ENABLE); -} - -/** - * @brief Displays a pixel. - * @param x: pixel x. - * @param y: pixel y. - * @retval None - */ -static void PutPixel(int16_t x, int16_t y) -{ - if(x < 0 || x > 239 || y < 0 || y > 319) - { - return; - } - LCD_DrawLine(x, y, 1, LCD_DIR_HORIZONTAL); -} - -#ifndef USE_Delay -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -static void delay(__IO uint32_t nCount) -{ - __IO uint32_t index = 0; - for(index = (34000 * nCount); index != 0; index--) - { - } -} -#endif /* USE_Delay*/ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_lcd.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_lcd.h deleted file mode 100644 index 00f7c653b..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_lcd.h +++ /dev/null @@ -1,392 +0,0 @@ -/** - ****************************************************************************** - * @file stm32l152_eval_lcd.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief This file contains all the functions prototypes for the stm32l152_eval_lcd - * firmware driver. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32L152_EVAL_LCD_H -#define __STM32L152_EVAL_LCD_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l1xx.h" -#include "../Common/fonts.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL - * @{ - */ - -/** @addtogroup STM32L152_EVAL_LCD - * @{ - */ - - -/** @defgroup STM32L152_EVAL_LCD_Exported_Types - * @{ - */ -typedef struct -{ - int16_t X; - int16_t Y; -} Point, * pPoint; -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_LCD_Exported_Constants - * @{ - */ - -/** - * @brief Uncomment the line below if you want to use LCD_DrawBMP function to - * display a bitmap picture on the LCD. This function assumes that the bitmap - * file is loaded in the SPI Flash (mounted on STM32L152-EVAL board), however - * user can tailor it according to his application hardware requirement. - */ -/*#define USE_LCD_DrawBMP*/ - -/** - * @brief Uncomment the line below if you want to use user defined Delay function - * (for precise timing), otherwise default _delay_ function defined within - * this driver is used (less precise timing). - */ -/* #define USE_Delay */ - -#ifdef USE_Delay -#include "main.h" - - #define _delay_ Delay /* !< User can provide more timing precise _delay_ function - (with 10ms time base), using SysTick for example */ -#else - #define _delay_ delay /* !< Default _delay_ function with less precise timing */ -#endif - - -/** - * @brief LCD Control pins - */ -#define LCD_NCS_PIN GPIO_Pin_2 -#define LCD_NCS_GPIO_PORT GPIOH -#define LCD_NCS_GPIO_CLK RCC_AHBPeriph_GPIOH - -/** - * @brief LCD SPI Interface pins - */ -#define LCD_SPI_SCK_PIN GPIO_Pin_13 /* PE.13 */ -#define LCD_SPI_SCK_GPIO_PORT GPIOE /* GPIOE */ -#define LCD_SPI_SCK_GPIO_CLK RCC_AHBPeriph_GPIOE -#define LCD_SPI_SCK_SOURCE GPIO_PinSource13 -#define LCD_SPI_SCK_AF GPIO_AF_SPI1 -#define LCD_SPI_MISO_PIN GPIO_Pin_14 /* PE.14 */ -#define LCD_SPI_MISO_GPIO_PORT GPIOE /* GPIOE */ -#define LCD_SPI_MISO_GPIO_CLK RCC_AHBPeriph_GPIOE -#define LCD_SPI_MISO_SOURCE GPIO_PinSource14 -#define LCD_SPI_MISO_AF GPIO_AF_SPI1 -#define LCD_SPI_MOSI_PIN GPIO_Pin_15 /* PE.15 */ -#define LCD_SPI_MOSI_GPIO_PORT GPIOE /* GPIOE */ -#define LCD_SPI_MOSI_GPIO_CLK RCC_AHBPeriph_GPIOE -#define LCD_SPI_MOSI_SOURCE GPIO_PinSource15 -#define LCD_SPI_MOSI_AF GPIO_AF_SPI1 -#define LCD_SPI SPI1 -#define LCD_SPI_CLK RCC_APB2Periph_SPI1 - - -/** - * @brief LCD Registers - */ -#define LCD_REG_0 0x00 -#define LCD_REG_1 0x01 -#define LCD_REG_2 0x02 -#define LCD_REG_3 0x03 -#define LCD_REG_4 0x04 -#define LCD_REG_5 0x05 -#define LCD_REG_6 0x06 -#define LCD_REG_7 0x07 -#define LCD_REG_8 0x08 -#define LCD_REG_9 0x09 -#define LCD_REG_10 0x0A -#define LCD_REG_12 0x0C -#define LCD_REG_13 0x0D -#define LCD_REG_14 0x0E -#define LCD_REG_15 0x0F -#define LCD_REG_16 0x10 -#define LCD_REG_17 0x11 -#define LCD_REG_18 0x12 -#define LCD_REG_19 0x13 -#define LCD_REG_20 0x14 -#define LCD_REG_21 0x15 -#define LCD_REG_22 0x16 -#define LCD_REG_23 0x17 -#define LCD_REG_24 0x18 -#define LCD_REG_25 0x19 -#define LCD_REG_26 0x1A -#define LCD_REG_27 0x1B -#define LCD_REG_28 0x1C -#define LCD_REG_29 0x1D -#define LCD_REG_30 0x1E -#define LCD_REG_31 0x1F -#define LCD_REG_32 0x20 -#define LCD_REG_33 0x21 -#define LCD_REG_34 0x22 -#define LCD_REG_36 0x24 -#define LCD_REG_37 0x25 -#define LCD_REG_40 0x28 -#define LCD_REG_41 0x29 -#define LCD_REG_43 0x2B -#define LCD_REG_45 0x2D -#define LCD_REG_48 0x30 -#define LCD_REG_49 0x31 -#define LCD_REG_50 0x32 -#define LCD_REG_51 0x33 -#define LCD_REG_52 0x34 -#define LCD_REG_53 0x35 -#define LCD_REG_54 0x36 -#define LCD_REG_55 0x37 -#define LCD_REG_56 0x38 -#define LCD_REG_57 0x39 -#define LCD_REG_59 0x3B -#define LCD_REG_60 0x3C -#define LCD_REG_61 0x3D -#define LCD_REG_62 0x3E -#define LCD_REG_63 0x3F -#define LCD_REG_64 0x40 -#define LCD_REG_65 0x41 -#define LCD_REG_66 0x42 -#define LCD_REG_67 0x43 -#define LCD_REG_68 0x44 -#define LCD_REG_69 0x45 -#define LCD_REG_70 0x46 -#define LCD_REG_71 0x47 -#define LCD_REG_72 0x48 -#define LCD_REG_73 0x49 -#define LCD_REG_74 0x4A -#define LCD_REG_75 0x4B -#define LCD_REG_76 0x4C -#define LCD_REG_77 0x4D -#define LCD_REG_78 0x4E -#define LCD_REG_79 0x4F -#define LCD_REG_80 0x50 -#define LCD_REG_81 0x51 -#define LCD_REG_82 0x52 -#define LCD_REG_83 0x53 -#define LCD_REG_96 0x60 -#define LCD_REG_97 0x61 -#define LCD_REG_106 0x6A -#define LCD_REG_118 0x76 -#define LCD_REG_128 0x80 -#define LCD_REG_129 0x81 -#define LCD_REG_130 0x82 -#define LCD_REG_131 0x83 -#define LCD_REG_132 0x84 -#define LCD_REG_133 0x85 -#define LCD_REG_134 0x86 -#define LCD_REG_135 0x87 -#define LCD_REG_136 0x88 -#define LCD_REG_137 0x89 -#define LCD_REG_139 0x8B -#define LCD_REG_140 0x8C -#define LCD_REG_141 0x8D -#define LCD_REG_143 0x8F -#define LCD_REG_144 0x90 -#define LCD_REG_145 0x91 -#define LCD_REG_146 0x92 -#define LCD_REG_147 0x93 -#define LCD_REG_148 0x94 -#define LCD_REG_149 0x95 -#define LCD_REG_150 0x96 -#define LCD_REG_151 0x97 -#define LCD_REG_152 0x98 -#define LCD_REG_153 0x99 -#define LCD_REG_154 0x9A -#define LCD_REG_157 0x9D -#define LCD_REG_192 0xC0 -#define LCD_REG_193 0xC1 -#define LCD_REG_227 0xE3 -#define LCD_REG_229 0xE5 -#define LCD_REG_231 0xE7 -#define LCD_REG_239 0xEF - - -/** - * @brief LCD color - */ -#define LCD_COLOR_WHITE 0xFFFF -#define LCD_COLOR_BLACK 0x0000 -#define LCD_COLOR_GREY 0xF7DE -#define LCD_COLOR_BLUE 0x001F -#define LCD_COLOR_BLUE2 0x051F -#define LCD_COLOR_RED 0xF800 -#define LCD_COLOR_MAGENTA 0xF81F -#define LCD_COLOR_GREEN 0x07E0 -#define LCD_COLOR_CYAN 0x7FFF -#define LCD_COLOR_YELLOW 0xFFE0 - -/** - * @brief LCD Lines depending on the chosen fonts. - */ -#define LCD_LINE_0 LINE(0) -#define LCD_LINE_1 LINE(1) -#define LCD_LINE_2 LINE(2) -#define LCD_LINE_3 LINE(3) -#define LCD_LINE_4 LINE(4) -#define LCD_LINE_5 LINE(5) -#define LCD_LINE_6 LINE(6) -#define LCD_LINE_7 LINE(7) -#define LCD_LINE_8 LINE(8) -#define LCD_LINE_9 LINE(9) -#define LCD_LINE_10 LINE(10) -#define LCD_LINE_11 LINE(11) -#define LCD_LINE_12 LINE(12) -#define LCD_LINE_13 LINE(13) -#define LCD_LINE_14 LINE(14) -#define LCD_LINE_15 LINE(15) -#define LCD_LINE_16 LINE(16) -#define LCD_LINE_17 LINE(17) -#define LCD_LINE_18 LINE(18) -#define LCD_LINE_19 LINE(19) -#define LCD_LINE_20 LINE(20) -#define LCD_LINE_21 LINE(21) -#define LCD_LINE_22 LINE(22) -#define LCD_LINE_23 LINE(23) -#define LCD_LINE_24 LINE(24) -#define LCD_LINE_25 LINE(25) -#define LCD_LINE_26 LINE(26) -#define LCD_LINE_27 LINE(27) -#define LCD_LINE_28 LINE(28) -#define LCD_LINE_29 LINE(29) - - -/** - * @brief LCD default font - */ -#define LCD_DEFAULT_FONT Font16x24 - -/** - * @brief LCD Direction - */ -#define LCD_DIR_HORIZONTAL 0x0000 -#define LCD_DIR_VERTICAL 0x0001 - -/** - * @brief LCD Size (Width and Height) - */ -#define LCD_PIXEL_WIDTH 0x0140 -#define LCD_PIXEL_HEIGHT 0x00F0 - -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_LCD_Exported_Macros - * @{ - */ -#define ASSEMBLE_RGB(R, G, B) ((((R)& 0xF8) << 8) | (((G) & 0xFC) << 3) | (((B) & 0xF8) >> 3)) - -/** - * @} - */ - -/** @defgroup STM32L152_EVAL_LCD_Exported_Functions - * @{ - */ -void STM32L152_LCD_DeInit(void); -void LCD_Setup(void); -void STM32L152_LCD_Init(void); -void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor); -void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor); -void LCD_SetTextColor(__IO uint16_t Color); -void LCD_SetBackColor(__IO uint16_t Color); -void LCD_ClearLine(uint8_t Line); -void LCD_Clear(uint16_t Color); -void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos); -void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c); -void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii); -void LCD_SetFont(sFONT *fonts); -sFONT *LCD_GetFont(void); -void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr); -void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width); -void LCD_WindowModeDisable(void); -void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction); -void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width); -void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius); -void LCD_DrawMonoPict(const uint32_t *Pict); -void LCD_DrawBMP(uint32_t BmpAddress); -void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2); -void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); -void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius); -void LCD_PolyLine(pPoint Points, uint16_t PointCount); -void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount); -void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount); -void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount); -void LCD_FillPolyLine(pPoint Points, uint16_t PointCount); -void LCD_nCS_StartByte(uint8_t Start_Byte); -void LCD_WriteRegIndex(uint8_t LCD_Reg); -void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue); -void LCD_WriteRAM_Prepare(void); -void LCD_WriteRAMWord(uint16_t RGB_Code); -uint16_t LCD_ReadReg(uint8_t LCD_Reg); -void LCD_WriteRAM(uint16_t RGB_Code); -void LCD_PowerOn(void); -void LCD_DisplayOn(void); -void LCD_DisplayOff(void); - -void LCD_CtrlLinesConfig(void); -void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, uint16_t CtrlPins, BitAction BitVal); -void LCD_SPIConfig(void); - -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32L152_EVAL_LCD_H */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/stm32_eval.c b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/stm32_eval.c deleted file mode 100644 index 9f7aa00be..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/stm32_eval.c +++ /dev/null @@ -1,120 +0,0 @@ -/** - ****************************************************************************** - * @file stm32_eval.c - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief STM32xx-EVAL abstraction layer. - * This file should be added to the main application to use the provided - * functions that manage Leds, push-buttons, COM ports and low level - * HW resources initialization of the different modules available on - * STM32 evaluation boards from STMicroelectronics. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_eval.h" - -/** @addtogroup Utilities - * @{ - */ - -/** @defgroup STM32_EVAL - * @brief This file provides firmware functions to manage Leds, push-buttons, - * COM ports and low level HW resources initialization of the different - * modules available on STM32 Evaluation Boards from STMicroelectronics. - * @{ - */ - -/** @defgroup STM32_EVAL_Abstraction_Layer - * @{ - */ - -#ifdef USE_STM32100B_EVAL - #include "stm32100b_eval/stm32100b_eval.c" -#elif defined USE_STM3210B_EVAL - #include "stm3210b_eval/stm3210b_eval.c" -#elif defined USE_STM3210E_EVAL - #include "stm3210e_eval/stm3210e_eval.c" -#elif defined USE_STM3210C_EVAL - #include "stm3210c_eval/stm3210c_eval.c" -#elif defined USE_STM32L152_EVAL - #include "stm32l152_eval/stm32l152_eval.c" -#elif defined USE_STM32100E_EVAL - #include "stm32100e_eval/stm32100e_eval.c" -#else - #error "Please select first the STM32 EVAL board to be used (in stm32_eval.h)" -#endif - -/** @defgroup STM32_EVAL_Private_TypesDefinitions - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_Private_Defines - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_Private_Macros - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_Private_Variables - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_Private_FunctionPrototypes - * @{ - */ -/** - * @} - */ - - -/** @defgroup STM32_EVAL_Private_Functions - * @{ - */ -/** - * @} - */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/stm32_eval.h b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/stm32_eval.h deleted file mode 100644 index 5c988449f..000000000 --- a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/stm32_eval.h +++ /dev/null @@ -1,368 +0,0 @@ -/** - ****************************************************************************** - * @file stm32_eval.h - * @author MCD Application Team - * @version V4.5.0 - * @date 07-March-2011 - * @brief Header file for stm32_eval.c module. - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32_EVAL_H -#define __STM32_EVAL_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ - -/** @addtogroup Utilities - * @{ - */ - -/** @addtogroup STM32_EVAL - * @{ - */ - -/** @defgroup STM32_EVAL_Abstraction_Layer - * @{ - */ - -/** @defgroup STM32_EVAL_HARDWARE_RESOURCES - * @{ - */ - -/** -@code - The table below gives an overview of the hardware resources supported by each - STM32 EVAL board. - - LCD: TFT Color LCD (Parallel (FSMC) and Serial (SPI)) - - IOE: IO Expander on I2C - - sFLASH: serial SPI FLASH (M25Pxxx) - - sEE: serial I2C EEPROM (M24C08, M24C32, M24C64) - - TSENSOR: Temperature Sensor (LM75) - - SD: SD Card memory (SPI and SDIO (SD Card MODE)) - =================================================================================================================+ - STM32 EVAL | LED | Buttons | Com Ports | LCD | IOE | sFLASH | sEE | TSENSOR | SD (SPI) | SD(SDIO) | - =================================================================================================================+ - STM3210B-EVAL | 4 | 8 | 2 | YES (SPI) | NO | YES | NO | YES | YES | NO | - -----------------------------------------------------------------------------------------------------------------+ - STM3210E-EVAL | 4 | 8 | 2 | YES (FSMC)| NO | YES | NO | YES | NO | YES | - -----------------------------------------------------------------------------------------------------------------+ - STM3210C-EVAL | 4 | 3 | 1 | YES (SPI) | YES | NO | YES | NO | YES | NO | - -----------------------------------------------------------------------------------------------------------------+ - STM32100B-EVAL | 4 | 8 | 2 | YES (SPI) | NO | YES | NO | YES | YES | NO | - -----------------------------------------------------------------------------------------------------------------+ - STM32L152-EVAL | 4 | 8 | 2 | YES (SPI) | NO | NO | NO | YES | YES | NO | - -----------------------------------------------------------------------------------------------------------------+ - STM32100E-EVAL | 4 | 8 | 2 | YES (FSMC)| YES | YES | YES | YES | YES | NO | - =================================================================================================================+ -@endcode -*/ - -/** - * @} - */ - -/** @defgroup STM32_EVAL_Exported_Types - * @{ - */ -typedef enum -{ - LED1 = 0, - LED2 = 1, - LED3 = 2, - LED4 = 3 -} Led_TypeDef; - -typedef enum -{ - BUTTON_WAKEUP = 0, - BUTTON_TAMPER = 1, - BUTTON_KEY = 2, - BUTTON_RIGHT = 3, - BUTTON_LEFT = 4, - BUTTON_UP = 5, - BUTTON_DOWN = 6, - BUTTON_SEL = 7 -} Button_TypeDef; - -typedef enum -{ - BUTTON_MODE_GPIO = 0, - BUTTON_MODE_EXTI = 1 -} ButtonMode_TypeDef; - -typedef enum -{ - JOY_NONE = 0, - JOY_SEL = 1, - JOY_DOWN = 2, - JOY_LEFT = 3, - JOY_RIGHT = 4, - JOY_UP = 5 -} JOYState_TypeDef -; - -typedef enum -{ - COM1 = 0, - COM2 = 1 -} COM_TypeDef; -/** - * @} - */ - -/** @defgroup STM32_EVAL_Exported_Constants - * @{ - */ - -/** - * @brief Uncomment the line corresponding to the STMicroelectronics evaluation - * board used in your application. - * - * Tip: To avoid modifying this file each time you need to switch between these - * boards, you can define the board in your toolchain compiler preprocessor. - */ -#if !defined (USE_STM32100B_EVAL) && !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL)\ - && !defined (USE_STM3210C_EVAL) && !defined (USE_STM32L152_EVAL) && !defined (USE_STM32100E_EVAL) - //#define USE_STM32100B_EVAL - //#define USE_STM3210B_EVAL - //#define USE_STM3210E_EVAL - //#define USE_STM3210C_EVAL - //#define USE_STM32L152_EVAL - //#define USE_STM32100E_EVAL -#endif - -#ifdef USE_STM32100B_EVAL - #include "stm32f10x.h" - #include "stm32100b_eval/stm32100b_eval.h" -#elif defined USE_STM3210B_EVAL - #include "stm32f10x.h" - #include "stm3210b_eval/stm3210b_eval.h" -#elif defined USE_STM3210E_EVAL - #include "stm32f10x.h" - #include "stm3210e_eval/stm3210e_eval.h" -#elif defined USE_STM3210C_EVAL - #include "stm32f10x.h" - #include "stm3210c_eval/stm3210c_eval.h" -#elif defined USE_STM32L152_EVAL - #include "stm32l1xx.h" - #include "stm32l152_eval/stm32l152_eval.h" -#elif defined USE_STM32100E_EVAL - #include "stm32f10x.h" - #include "stm32100e_eval/stm32100e_eval.h" -#else - #error "Please select first the STM32 EVAL board to be used (in stm32_eval.h)" -#endif - - -/** - * @brief STM32 Button Defines Legacy - */ -#define Button_WAKEUP BUTTON_WAKEUP -#define Button_TAMPER BUTTON_TAMPER -#define Button_KEY BUTTON_KEY -#define Button_RIGHT BUTTON_RIGHT -#define Button_LEFT BUTTON_LEFT -#define Button_UP BUTTON_UP -#define Button_DOWN BUTTON_DOWN -#define Button_SEL BUTTON_SEL -#define Mode_GPIO BUTTON_MODE_GPIO -#define Mode_EXTI BUTTON_MODE_EXTI -#define Button_Mode_TypeDef ButtonMode_TypeDef -#define JOY_CENTER JOY_SEL -#define JOY_State_TypeDef JOYState_TypeDef - -/** - * @brief LCD Defines Legacy - */ -#define LCD_RSNWR_GPIO_CLK LCD_NWR_GPIO_CLK -#define LCD_SPI_GPIO_PORT LCD_SPI_SCK_GPIO_PORT -#define LCD_SPI_GPIO_CLK LCD_SPI_SCK_GPIO_CLK -#define R0 LCD_REG_0 -#define R1 LCD_REG_1 -#define R2 LCD_REG_2 -#define R3 LCD_REG_3 -#define R4 LCD_REG_4 -#define R5 LCD_REG_5 -#define R6 LCD_REG_6 -#define R7 LCD_REG_7 -#define R8 LCD_REG_8 -#define R9 LCD_REG_9 -#define R10 LCD_REG_10 -#define R12 LCD_REG_12 -#define R13 LCD_REG_13 -#define R14 LCD_REG_14 -#define R15 LCD_REG_15 -#define R16 LCD_REG_16 -#define R17 LCD_REG_17 -#define R18 LCD_REG_18 -#define R19 LCD_REG_19 -#define R20 LCD_REG_20 -#define R21 LCD_REG_21 -#define R22 LCD_REG_22 -#define R23 LCD_REG_23 -#define R24 LCD_REG_24 -#define R25 LCD_REG_25 -#define R26 LCD_REG_26 -#define R27 LCD_REG_27 -#define R28 LCD_REG_28 -#define R29 LCD_REG_29 -#define R30 LCD_REG_30 -#define R31 LCD_REG_31 -#define R32 LCD_REG_32 -#define R33 LCD_REG_33 -#define R34 LCD_REG_34 -#define R36 LCD_REG_36 -#define R37 LCD_REG_37 -#define R40 LCD_REG_40 -#define R41 LCD_REG_41 -#define R43 LCD_REG_43 -#define R45 LCD_REG_45 -#define R48 LCD_REG_48 -#define R49 LCD_REG_49 -#define R50 LCD_REG_50 -#define R51 LCD_REG_51 -#define R52 LCD_REG_52 -#define R53 LCD_REG_53 -#define R54 LCD_REG_54 -#define R55 LCD_REG_55 -#define R56 LCD_REG_56 -#define R57 LCD_REG_57 -#define R59 LCD_REG_59 -#define R60 LCD_REG_60 -#define R61 LCD_REG_61 -#define R62 LCD_REG_62 -#define R63 LCD_REG_63 -#define R64 LCD_REG_64 -#define R65 LCD_REG_65 -#define R66 LCD_REG_66 -#define R67 LCD_REG_67 -#define R68 LCD_REG_68 -#define R69 LCD_REG_69 -#define R70 LCD_REG_70 -#define R71 LCD_REG_71 -#define R72 LCD_REG_72 -#define R73 LCD_REG_73 -#define R74 LCD_REG_74 -#define R75 LCD_REG_75 -#define R76 LCD_REG_76 -#define R77 LCD_REG_77 -#define R78 LCD_REG_78 -#define R79 LCD_REG_79 -#define R80 LCD_REG_80 -#define R81 LCD_REG_81 -#define R82 LCD_REG_82 -#define R83 LCD_REG_83 -#define R96 LCD_REG_96 -#define R97 LCD_REG_97 -#define R106 LCD_REG_106 -#define R118 LCD_REG_118 -#define R128 LCD_REG_128 -#define R129 LCD_REG_129 -#define R130 LCD_REG_130 -#define R131 LCD_REG_131 -#define R132 LCD_REG_132 -#define R133 LCD_REG_133 -#define R134 LCD_REG_134 -#define R135 LCD_REG_135 -#define R136 LCD_REG_136 -#define R137 LCD_REG_137 -#define R139 LCD_REG_139 -#define R140 LCD_REG_140 -#define R141 LCD_REG_141 -#define R143 LCD_REG_143 -#define R144 LCD_REG_144 -#define R145 LCD_REG_145 -#define R146 LCD_REG_146 -#define R147 LCD_REG_147 -#define R148 LCD_REG_148 -#define R149 LCD_REG_149 -#define R150 LCD_REG_150 -#define R151 LCD_REG_151 -#define R152 LCD_REG_152 -#define R153 LCD_REG_153 -#define R154 LCD_REG_154 -#define R157 LCD_REG_157 -#define R192 LCD_REG_192 -#define R193 LCD_REG_193 -#define R227 LCD_REG_227 -#define R229 LCD_REG_229 -#define R231 LCD_REG_231 -#define R239 LCD_REG_239 -#define White LCD_COLOR_WHITE -#define Black LCD_COLOR_BLACK -#define Grey LCD_COLOR_GREY -#define Blue LCD_COLOR_BLUE -#define Blue2 LCD_COLOR_BLUE2 -#define Red LCD_COLOR_RED -#define Magenta LCD_COLOR_MAGENTA -#define Green LCD_COLOR_GREEN -#define Cyan LCD_COLOR_CYAN -#define Yellow LCD_COLOR_YELLOW -#define Line0 LCD_LINE_0 -#define Line1 LCD_LINE_1 -#define Line2 LCD_LINE_2 -#define Line3 LCD_LINE_3 -#define Line4 LCD_LINE_4 -#define Line5 LCD_LINE_5 -#define Line6 LCD_LINE_6 -#define Line7 LCD_LINE_7 -#define Line8 LCD_LINE_8 -#define Line9 LCD_LINE_9 -#define Horizontal LCD_DIR_HORIZONTAL -#define Vertical LCD_DIR_VERTICAL - - -/** - * @} - */ - -/** @defgroup STM32_EVAL_Exported_Macros - * @{ - */ -/** - * @} - */ - -/** @defgroup STM32_EVAL_Exported_Functions - * @{ - */ -/** - * @} - */ - -#ifdef __cplusplus -} -#endif - - -#endif /* __STM32_EVAL_H */ - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/_htmresc/CMSIS_Logo_Final.jpg b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/_htmresc/CMSIS_Logo_Final.jpg deleted file mode 100644 index e045601759b70313d4e8035ce9b120090e38d84b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123676 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

tdHcQ@=R$B6fWp4Hc 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 z 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

aA2U=BRJU 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

B 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 xR-Mq8_WC_;;MuREKDnrxf72 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

>Nf74R1%m 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�Dgw4SW5+QOUM9-i56D#7Gi6S1l~5* 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

@ zCXk(dJ1tl?vM#+!}N~?&J zU|9e|MI8hpJm#$$=LA)bHwHCppi+{v#Dc<9ph0IOcFb)lI*mC9FvY=V8@sn(fSTkX zkx!b7Ig$}=(ppj}7n2T{K-u)Z>>whj1ELC?T6~I@3sj^4hZY_bczVxpH&1Vs=#2=* z-h(N&gU{ts%Npol46Q|El*d~O^u8?ECcm)sd;?@_R5?M02*u~cB}?`KJ?;S^#uwR; z)t)_QLdTZS7@m1bJZq1VmqU?Wqwl|`Xdefah)7XkQK1FaS&N_;3JgLB+#$1LJHH}# zuLTexEVgv6VjCU5b#A{DaVI3P9<0@9(nET-Xq7OKf&diidlk1o}w zaSZrlP#qStTu%$tbaB3UW2hI4YKeG-y}hd2;uq}aP>mO>Q9lOfTr8^n@)a3;s?%~C zvvgDwFhHTnMI)4&Ca_A9yE*YqSc7{x-*(9=PGeH z7v0}9V`ux56{vFd%Wx5>9+W~~RG;-2k3kZxwBGhDCrQAb*|%@O250Cps#|NHoR*xf$(s~^$N_UISC zzeKx?JR0codUntK59R6KfAgWo>&_2)(Ii zy$k8@@6G7ey?#x9_aC48D21OnqN5aFY|(o^yG#Grx(^`Ws1!`&ctDGt1fWh4DTU4* z1tv}BHTmWgU7}MlsjCjlox>ER%J=(aiB>*O|6b9lb>?k-y3PF{ueyV#HLXly78NQa zPuXmS&Z;~u#?^M`Y|2`Fqc$-VXaaauO~rKez%cqDtjG>kx^+5Q#UJR*^XPrL&nw6= zM(+FQwi-zpBvU-V5F3C;=?=#vjxIij-t!hasz!>ky39m(RCTi2X~1RUzBAnfPM4ih z#kf)xByii&OTayiE7qo_<%(4Z{*p0z&g>Q3zFn#jBs?mktp@VC=G>m9-6oHIo*K7XKTFM?eTi>Ih>d=yZw|bO9yX0UU-oXbS zYFaKOjGHNDzXYFz^hWE&YUnCkt+J--igOOmnp_#1b1GVe0DR;}eKz|W-5swU*-vxo ztEY9^&>fcDd>a6Tt}#~qSK(ZMLSau9-ltQaIjy>V*fbK9BdG$u)<~TQneziHD`(<& z`);e%Pp_Rv{L!})L1$}emi`T6$pigpwVy{y!HeCCeLm;EcFLjd2c`lrgRA?svz9Ho zo|URG^yMa${@vMqirXq-eOW{{K<(C9z6(}zo{DA*a>L)O>-jqm7HcThgJ>Uf%zX~s`G)J}uVVFP$9T|frlrD$)HpcrC12p3q2QAR24b_5{e{cX=@#QpQL+9HRQd}N0;x~Id5mjUxzmOp%@_#}B z`#N{Fru&#qzvXzW{bOi1_B@eGokbG9XuRuD?85!F0R^zX<9N=#jO3fNh$d;uknik2 zN@N5X5wq_Oc*IjrBIPVeu>JeUPW8}AAFl3THUuMbxp#gvn%I|{jd(%*R?RyW~TY#7caPHA_tCym}7F>@5pT8Y$H`(m3t%h{+?J`UD9+f6AW6~PqUWFd5J#T+2* zlh{;Qm7VGCeLlu!TjCcMxPn=OM=ks5Rve}b-&G@6MOK7M$8&ZVCU|0iEHbVXuY}3T zvu~D$V{Uc>BVY$uN%-!(YMWO#I*>+ggUA zqh+cz$xIxt>c+Yg9$rO9U6+Dp^JI+vxG|T;bgBWWl8TmOb!oP_PENg-x0MDHP&(vG z+W)q#@TfQKDYD2S%36IJ=5YCNsXMuM+fBRU&FUBH_P8vd-yiPJknNG zVe$UxT)FBq1|<%!x?xs2KECf2lh31b={zwpNlq)5l5iJ)f>#qt8LE%LoF)?4Tn2aN z6Wn@V&(PP-=xyE0!11-NlFpS=5Z_xphs9*Br0E=MH|N%yU9A4n?Uv5a%W$*cw+?eg zFts?I)mTv7ERNZ2o#)9drn^x#27917iB7J)1G;js;IrAwWXWC3XU;L)eLbWf2#yy+ zxHOAp&rS;_d(&x-pzU;3s>obghj4IqYQbzpLGD|dVIw`L1Z8v2TYnH$+#Q;#9F^Itl)PDyKqx$?_;V~Z(FO#^CmwmBW%mZ z(Yk>;yfXbdEJlft{d-K(uD;XQBB)n8_DH~hY9miscR z8MUz5PMD=0@cWHDUK?!qjWr%0ml;ph99h=NVL+%8N{D_jAmqUw>rAtT&rj3 z%vIDt`%vx)ys<{nKS7dDl*<^(q^<2G~PA)OEmUv<2a0|hXUy*Zdgk-@_q0=$Angi!Fm zX^=6}_%vQz=75kt4J!5Bx92zlmpP8l8;EU#xPzoJVIFOVYEw_@q1pOJak#J;CBqhN z1x4^J{FW~lQ>SAR%&CeQhevUd)j)D^L6k>9HD`F(WE|)!EK%XZG`x)b5vw4hu|;da z=?i!60(|n*kU92jh%i?#`#^f?9Ci8AFv709otKu6?JZP!2cE9?VE-@)F1rQpAXBl3 z+T-B2h8xjYp=Jt`-LU?y*lDH}!}h@{ zC(g}+>0;v*!lYL4lcjQKaJn05eiO$U!p9k^_9b>aJeK9O&H>9S9?vP5`4N)P&r<7- zhf?a3(KN;QxNc9CdsECs7tsy;1KfvGf}UpRJNcu`Ea2bRb8{+A!kuvZrx1I$$QP42 zxN!U>pf75-2HRGcTNaorOa0T65BEwh9d^mPi3W7=QD?tFrGd6(>?V>S{pnRklV4q- zV`w|;VdGe4VGiqug>b&lihD>=Uel_X?@0l|=}+1l6|Cv6E@nwTlVIDl z5zPnhyO=$48~or}VIr^_n6qK5yBW)#xQ)CfU3$!3eJO@yjju$vn^>th#v1Z?_SzD3 z(~gs7y0P6fT()qV(Uxjm-53K=W~8~$^_ys-b0!4w-Dy0>R86;)cGs*0XOEtvl!P!U*imt7xk)wWF~DP4~jhMi7bnJv5P*Z5srrn?YQmmJ1(v$8+CYGSC;uHu=etJ<)7kwlCvR{E+oA&TXxc-s+bw%VFZ+nM_>jrMRoEy*&GC;@BKQceVlezLJ z^xfxY*>6FgN|$Q~TKdmn(et%S9Mi8<<4T5KS*s9aDGh>YHMN)51*@BVMn1#p62F^M z!6{U4>(6Bgfn2XavY-A>`d7Miye7YLV{W$N;%3`?styilJnI_2nHIyEV#>A?@J+j| z3LOt8eh4;ckv+-n+?aW6X%*>{ijMnYauWft_5S z`x_=lhNbh0oXP?zDRDe7zE{(CSz7@gy9qd2zO?PzxktXmf=t<|?8j$KNabAy*uYnz z1aqHRyg1}@xf}v7 z<43xoZ8ApkSv?eo=N~I{;Ojq>rQX$mU7eO8OKM4tKNFdw>{hjN?LDjK<##(;O~B>4 z6zSqc^!$j^qBLwC%g6e|OXwEc@_92HaDuo&-=Pb6llRW$_Gie_-A>OQbkaG`@M<tnG0>3uYNrIn7R@9&jL|1J04D_0uNw8i#_SLkgFk3PLn-aDLh??$gP%bshR$GV}38(575+u0rAXHX>ul@?0Wuv+Ro(9PPD& z+5T4|0asIZIlj<}T&eORzskG(AaM@kr*q+|SIloZBhB*VU!m`}#XgPCi#REePh(5j zRq>_F_m4Hd*?=mx%j<|}=audKYJiuv0>iOwVernvxJfXx#JD^~QR^=;)CXMEQUu~G zzLq7|NXHEm7&%v>Z@B1oIIbMs6sqH(-%M`5nDC_4IA zw^JQJv+4im_KIbX>@Ew*iL~n#5OtZ!Rw_P}8W*udnToTa_=@sbK$^ zH=A@0dd*G_-qtY>vJLQhonUX5@yRH-{%3Bi&4+SK+Xb#S-Tdo!hMmOkdhK3is)dv} ztP!>#xmIJi^5O9>$Gm%*{@d4c?FK*ghK%RdztDV&V?+O8JTb?0Vq>Wp0Gpv4CT{PA zdiGoT@<%m|;Tq4b{Labp3C2ZmW}U3(Fui+M^Zh)*^Im#)gNui_T#N!|x%QD=kC*&$B^K$=zQVsp<{K@=}JlfCZzS?PsJ?uv}RMOoaoqy(s-lg5YI(zZU|G4D( zR0wm}Y&@^3uFmQ$&$$rI)-tmV)|~mS-rg^CN}$wK`#JC^pycPU0HH@L-Gn)7xL5L= zaQEJuf7+dP>~p&UhTP-4{VTK~wZ=yOoX=|KF^qAXKG9z+J9c&332TR;`!VY^A7K>sotl?nR?OZ+Na%3;^=vsa zh@#C4>>Lkn24MfbT)X8KLyzEu;IIj z3J>w*(xpnCKAU>Iy1&l+@eig_FRimJS2^fOQH`IX?Za0UvK5Fym{ zZR`hyC(X0yVOi^U`LXj?E1-qrS52h#IRE__d!28+rHLJXW^a1hf7{g0rx)yX-q_ym zMCseUx7%&}%}GG5)7QwBu|;_f`y4OcE^tw{x$nx9{%H%)Fc0mySl~@%tQcM(t-VDdQNqI==YxYJO)^ELYO4 zDYdHV9&(Xd^e(uEa_Ff;eRHR|=TR=XJvvgLYpG*k# zwGKXF$MSb^==Rmjd_fP*-E5klrVAvnPaLOTgPhyn*p4rYaGctQuomNY1k;T^naKoXXpv2YLsN+tIxh7BuEb$0*s3BvrKm+L?_;BMxqHYmaUB5U@F)FBh{KMGTM@o5yp@>u6jbr z=ygOdgKWrIglPfFG@(!igYGa;FfYcITc4u8s~Y~6kI4Wr^7h^iL5VvuM&{r_0)J&| z6f5f&@yl;=6`Wr>pr#d*lja051`-LPQ&I*8Z$nf5nWo=t%;x3E1fViLXd)r+twJX= zElAcuiWv_wr*CwcvXt>*kR@Q`+A;KMB5lWBR4@3y3`QEMjxu-s_C@0cCIPNVwKCii zbXp00Si)EtLw%>5O(8%Z!y}fMCy`*pC+Z?z6Q#ChGX7|7UnU&kyml$ zVIZc#!;?tm%y~_=b^45iE;S@j@Z*Ux1{Xzwszqi?&!|@Qk?_IggufHRzyOEhEoq#p{7TSF;e0ULCIT-GK-S9#4~IS7QSV^9(> zIdN%AW(Y>L3n{aO*(aL9UKp3 z#;8G^D2kF;0)cZ63ne5#e)IvSITcRSIdtX>r&a&J6WA6vf%Sw@K`Ee&uqqNwLFm~X z`~R}yedIBuF&bt#5V$=987GAXWWOvJdv`O}ez$8s z%E)kiT1||>y z8(i|=0UfqludSE7buom#B%b8d9)*W#$ zs@JR}0*+r~oF|Oxi%5K+$5d#cYq9V@uQ*aT> zJj1u{o4j>z_F8t~P|L`MOJEM35+&sp@J*TIli<|jd^LSN-}FAt2q2zG4^=D}!pp$f zQ7{uC?p}nW*gsQ^md_`q)%}ywHv02_@^<&-ET8^fK7fp5IGtk_tIIv>f`4JJ;Vn^_ z`hWD&wtuwn>pJ~&E-X^YFjPkmNxdVA=|zzq3^E4Q^L?qVUQ373o8`#7`oq~jKY#aE znrXT7UcJ)!`2un^@1uA-yDgOEm_ z$V3%Rf&fg5&@qBG<$U+~;gXcaP&HzGEI~$WTuwLPXazGSmk`WoEaeG>~ zUduy9*x7yfOQL04FCE+)*5X{XTG_xZ1#Cxe%R_U4qo?-y4VXBU7CGJMF+Q}pcGdZ#|uPqO4c`F^XRPfvj(CNU>E4ef=}g0*E&rq2l% zJzB^(%{ufxnoqaTsW1P%PTe<0XHu~TI^S}~?TvIJ3U=&9bHv-{$CDd*5T zPJi;mV4z*+vxMca%cJI3+BCd* zuU_fW^7XyF(xv6=dwZoy$Cmf*l~-EoxY$r4eFRrc3T}0;%_^bP8!aTajI`4;^hYP8 z&-daBvSLYU;Krfx9K%-_%CIwrktCCjX}Uk;$}=@oZMbtx2eTp(7=swM)=anrQsRv~ z+*Ky1Vw5SObMO5nKq3k>P~gUM{I@I=55S~+0a#ASC0uXVQbc`FU@{tEE%x&kI3A_g zK_W=5=tBttS_{Wx;DxcYBnh>lH!TCh;h=@6~dk&23GxbmILWW69R4icW)JL&VK zl7qFe<0Qcy>Ag(a3RomD2w5(t;!2@pA#)D3F!{_}mP49SADM)KXA|X`idMbkFcbEaSg*;m zB!*Z4^pqwUSBV6V&C`)bN<0GKP;yK;<{obg29p!0m^KuVEw<8Niza~V7!GmypfUSW z=P-kYpiaG{OC{1ii4aJVzsk(9CVV3-@}hJhgF;KS%&a*cOEzJNoUf6n8P+JEGb77N zvV#h4@q!9OgLEH>Dp@PqM5nht8Hcb1@^3#^4^S{1@& ziRCtVzC9O$hL1syNhBwF>9{*RE{Qr@Ey2y6Z%RcGavc=}(yd~3+rY4E~ONx|)kn5QqZY;cs8as~6#-b)nO9Nl8Yim`(VUf*G z@S<6$MaDZ)%OK%9)6ER`Rg6w63&6vO2e(s$6Z_Y2wa<^+%yNr^8epkOWOLwx8bOnj z#%PF66LBA{O7CGl#rut#T z+ZuF0CP%T-Yp9c*VEbfDUAkQrXN#wq9g`Jku-8ivS;h=3!A(fwo73(fK{@RzJ=AeE zhNh$S>y)fy3u}TD*%7A#`*2%qwxyl6UQ8#p+m@p_q&%9>QJgBxBR2#Vi1yLSS ziY#asm+mku8P>^~U(!}d28GtRsiH{f0t6%~o?{{pD3&QxK2CZT=>@_$6(Mi9V%S%0 zLHKjZs~j`YyoWOI;uYaiM2w~G1)OWNL?n_)fS2`_=7eKo1P}%0aI6Fi4%k~G{zNml zjXB)eV(c&iB*0jY+M!%11PvrWM37v^bg?X&Y))}y)3_C9(wWv2aT39d;b<^<&82yt z@JSZatRgxr*bz!ADr)Nqf`o8brW^0ZKm!7pAi0%y%Avz|2ap#6$s_YqSYp0$@yD3U zrOGBkM$beHVj>O&TV2gg;fV1@Ma6<8GAFT4YzBCdz|;>F7aAR$!opE17Zpdsu!?B2 zm=pr7vx=>m7V#=PWtB=bK#|NC7zA9Xwq(c=7&#zo2~!r(#MMSjP;g`ufwfxB3qJUX zwsx5D!pwLeK-gKucU7Dek4ZvsJb3a3Q4RHxYk(-`awC%GRAyEEMugwElj^7L{WvB z0U4xu(z=Bg!oZ9~EFg|ck+%#{Hqh=23ZhAkKnp=a(V{>ZIL2_j2-hy;W0`0{X!M!O zHEzn51c@$$kO{L#UXGEMM~`DSVXFwgiG=7&~g(iqkdW8d7=Zb zK`T<6wv{A&s2rannG2&b;e5w2+&Lvi)bU8lI`R!*4T^mr529);GtIY@!ar95V89un zlP0j`K^do7VK10fP&ehs0i;RAbqN4lT5z$?EfaQT0wE>KGV*)?BnCUG2$;6*y_yqa zD?$Q!?PW^&mSp5N@WPP}Jm6*KUaOoFXoc2NHfY{_hb_h(YnB2A1p8XWTR5+7sg^q* z^Dq-6x#kC&Stf9Pe(J+u!iCOMy*D&04XLb>yygR%G&sX!&m@ijqpGD?Ovpr8#!f~^ z@=yYx243OkN%mLhicmPhTdKAJ85UGHAZS>V@6Y)HV?U1z#R1S!>m;eKT9pORz z5Oc;kW}6P(o73?!G|i;jrZSmivj69hx?91Lk8wkac+ zYv$t?lHh5RG6u!*BYGo&nIvqCvx->9Jh3d$z7SiXlrgfw5;<^fuoW}%#m{1)FiCE) zB4jnfL!z%*@_Cw|MKRe1@0Sr|GPtoF=3I=4n{(%8m<#j`;vSzMHD)**a%1-;oLO~420J}R~>*}laf3kMfgH#&e*U` z3q2%LEQPS5Sh)Z)Z^`*lB%CJN?r_mWh-myMi(sj9ONq(jUUD!LMM)ITb15dXVH=02hD)_kr`|_A~H>C&H8A$zyu!fqLNsp@kcWAfZBmEQ@fDZzDgc6|&621WMF^Q{yOYp6m7Tev(Abvw8 zt!*Kp{%Qn>g8u`!hXgUr3wO<{@^GuM>ZrND`}e_KdspXv|B%`Z<7q=-N&*#J0~j`F z&2Zd^x!=_7V-J5_VSAOAo=jW*?~i@&TaW$nOWv#e?pNM7FPWoe>iUoDqxtj2KgyZ? z>HV)?diaC9dDF{Z`r4)Y_YWVPcHR85ul4ReF1zBVAKY@g-YGtwe*MMN-ng4muN(f* z4(XVDR3xaejuD|-^bp~YtWIK%_~PuFDuXF2oQLZ3+d}#;E1CZR5)B+&K({-y~ zTOk%7VT5?!vaUD`^4w7-k}SMS!LtIU=sfU3X{a0& zmr>X{u^Yy=p?-je(j+-ra6xRwC5ZUl$F`-Qt6(us^ajal8(hjYb=8v4e+#?$*sTux=0;mo3{^ETCf(ji6eV&4XNb5gR2rPpzYDTFfrA6qiap zIz3zjoz_QQ(yi@g=A$e2YjS3D6?Pnay7=R9k*nC+&vRp`oymrCT$jy`i?=~;cutMF0E{HMiPQn-_7RjCmLdPJr8l>fkX6TV~nNg8(*>P5B z8s?ZM#MoACy>lo;N{pn;3zfpuQNBTKj9~>_FOXRze3wb%3gnB(w&9ezM7y*z zI^oHW)Pp2y9G%yflgt$KXuSp%5}-P3L>+kMW4a)7O}M43a{y$B(Je2;)83Dmt;CESF@}W5*!j z8aaqu&U!-fgp(+n+^CVCJy54S8z8G1$DHAYHOp8SUFa!XX)b0pJq%N22=vfFiZzZ; z!%oOO%VFZ?NG4I9+;~|F51LpFue;59YjurEOEOfQ%%_kIKp#dcdg6uu;Xc(dl*KW!;U8PAer1*)`g&zqF+wAc#!#ygMKkRP; z(zTyNx-eI3K6m{13MMa!ESs~#AmJK>w^+4Y9-lAPopPD#XfKlK09#1X#BmH7uFyI# zrkTNXo`JHDB03TIzzKyjmsCED!NhRjqz~fBjBzY@%V5>)c&e$VIO!;I>2VAiuE~Q+ zbcGW!sahU2!)qt}S2y5hiuQvw)SxVgOL#{^cA{=bXqAcrQA;OlzKOgwhG1(v>n2*B zK7D+aAs3w>({-59fd%+6NUg?DWr!M!m1M0jGb3P3yO$jCO0PIyn4vADpX!@Abo`uG z-t9Ln$&sTTRJdr=1(&=Qv&R!YE~oLhp_0P7{r((Ik8Vk9>7&aqNe@u#j_t-SpIui< zNyCUE50AH6Z(~U=JDddTonpX-?vPa(jZ~HkCy7^Bw-l3kMFq3q3DZxv@w>;gKOUID(Bcu1_ z%go?bwR@lDv_?MnAAMz-dsf0aByxq3{c_r#`eW~}s@Q*Z>erjn`?E__Ff(KNhpIZy z`TgjYZZr5)XQVCk)cyL@Zpo6~lw!d=9OfUXD$LsJpu zjpV|;b6L$tSK7GbC~+DxtbaSPd$1%>L)(d3%0q3dHZ}z}an@S1{+P%3O?<}dxZDLTTyxd_C2Vfm8BCRa(PNEYbf_1Y&!9$MrX?Xu zqyLgMccqQg*KE0_>Zqx%$0Mflv0eEM@fi7}v-2BV`mW8wBANuL`umu#Jmi@HMkSk_ zs6fgDi&om#npdu=hc!KvB^~1R}|jeh9kF zio7!LFV2Z8m+kEO06_<~6mUox1wE?Ij#k@HDWsZMJsswv? z0MPvFgL$zvE#?eut z#bgqXe}-gOKk0hj6;5maKi>3TcMRh4`qh_`bhhxz2Va}V*dLJ&cW`po(vNhsoabGh zC3|-C!W?-e>ExfVss3#9l4Xz#fY2?h#o5^ZJL!DSFQGSg*?+_AD$f*HfZ7Va`745| z$hO6zrlsGe1(!_h_xp8{ErnY=NcOi!MI#-csn-OT$^cD=buZBd;@w0Q-e`=o&PW(r z8DlOAU$T_e$mfOm`oNG@ z>iq)F42-d-vhj3-NLyz16Q=h&VB1t2@*W{EU zzSF7APE(>`*&>*0nhezuQU?GUs{x)aq;{-!c6R30wmuJTUW@im|ea4#so%A&M z105`RIiH@_BlPBd^M5|&t!RNjflQzI+CkRog5&3{z{M0DzZz_1Qc%neu>)qVo*V?@ z&;R?OBuRp4AT9(TMas!(&v|JV*z^*4t$L}0W&6^dnV%k&Ga(8!Qk{?g^#rc@E3Vgb zU_0;pQ zhrqPsTA==ExM`aN1`n1HB#EsBlbB4SxM<9$MQ2^{NwWkbwdJy4d=NZ|y?c~q&)FM} zaaFl6;Ajtu(Q155^){BE%kG8qPuz|^Uv^j;^;d`1=xhI@A9P!H3{P!f|XSVNZ{ChH)zI54MtS>C;yz_ym=LFFhYk z5k(8qCGurjTWSa^vywFSKaa2y(_aW91R|30yh5RnQ5Jw0` z^aE^&oqC{Ul1uWUM21>t%~&UBXmEk}LeU`^@i61H*$T~rN}On;^v=T!z(;Qf2n#`l z;6(R#YDyVmgH3criic| zdgWG13e;qw{ZUm#Bj1;jO!=&*iLLRW_l4k0?#iUbLmu(MRGl@fc*i4RuGRmY?TWZU zkf!!lyEEajs`_*?!a=ia*?lijtReysc0!OQ_dQak1`4ax`PZ)3@bgB#j8^{FQW*?_ z%DESiGU4S*#3lfpvM2(lAg5l;z3MffOaz6!5R}PnkA;k(LQI64)hn%(awzhtiRDWUx zalnq>(Ni|>I+X{A=c3tyHSmmA{ydPV-`FZc)aL?d@_2|1u$2cnk`Yxba(>pYEJg!p zupgo+4#NYma%dD_z_Rj!Ml>RiKyW7GYmvKQyTlcV_{Q|&jj?ktVU=6>lSqso6y&~? zbB}c_*pfbNYXijz2hmPm5Va7W3~$V$KrC+XhW5--RFm8%TDENaf|Rtb%p5q59NJGH zK7LEiR^jKF=HPsYi`jqjPA(Mt`0Ok!9M~`I=#76&0r$V>%CjiL9V0xZS>**f;XxTl zU=2O>uTG!@*0)kx1_a2kN36RoQjIw?QNc7hh_4->>0$YoU$!!j7&XkHB3)m1$w7_7 z^77g!Xybc1`y!uQeP_<lkXdEWU#Eup>ifze~-R+0#*~FsoQ$xJ@3r1+a4X+JN5Rx#vOB z2vYOd^jenkx+!8o1k9UJBqvsJ2dn!0<2=Q*F;$=JSp2smf0c%CJF+RY2 zz|_F@zg`@V*^hHd0k5wWcPTQvbRN#sutIRo@tPokoVwRgQtJA@3Rzhu>Ox-; z=LR7cf;G2Fx|I#wP3Q|HKs%Y$V;yPFi>>vcv_jZ%oIG1;MFRANI`yE;M4$3@(4*RG zAO@V?h_QkfKo!Ttz)nZezBC29`ocm_O9huHZHZ$_P%b$af}Q2xNeaQHIx*nbToySc zL{nv8pH_GEI+T@s0b_ASB+A6muES<)kO{Lw>$X6mY?ssYu>GScgcip`KV?Zg;!{gH zL{xLXOXeOLRG+>;OS`QYm)qx{MyDYC?Pda3b$`|ZQxg;134ZtDORYb9tO;)qjXxc>F@{d9-j)8loE-L0JP`fDSV+~HeZ(TJn*DIwv+V1K}Ar{BP z%D`zWb=UnMRDx1b|B0TbLSImoYTVdKXp7_GYn&xDpOs_s^u6cs^WU41PEr!VZ-&2L z;>ip=nx+Khw_Qvpd!KVf0XW5ryKB5cgBL&-$3#ggPUOQ_7N4$AWx9=gmdQQ>iJiEJ z7I+~N=PCg+yVb2BUfb1J>d~znydcZ74Y2z0LL}17Ax&@l#gWn7tLLNyUNQef-_H(C z;W+;Kz=R_YV^nP@XQ@s0TZSwL?g!MRK8g7u>^M$h!IUEcD`Bv+E9nZakdgVl&TUrl zisfR%25`#EW5Q~r7hcO0N&JY`e(Cvjnd+9 zeGRBiDEs?Th{kcz6o(%X@W-$Z91N^QmQ{9By;n}B^|7wp8~aNzj)=fGt7{dfY~ue~ ztF<&tA0@P0x`aU*>$pS>6S2<}Sh>iipyg+h$$G0gXZ;b9rlqh0LLB@g% zskORUrU@=zDG{g5(yhlT8LyNYF_ZvCfYkaIwG)1EpOR$2Z@;gEJLS|sMuJn_Cp8jUQnP7L1`?I3ecL?1ingw6QLp~r`(97^-zFq2s9Rh*AocE!K-AX z;3`H`Qb;oalq&pHwjEvhGB<>H7)nk9z7UYbsF+DK(kmNBNHdJ5u%gYh~3F;#Pwu0B7L$Ou|Qdk zXehY?Kdeo}p;ifsvKui*S&gWqtVSGC)+2H$YY}UdwTRBj+QoC+rT~@Nh>Xf@#8b%< zC}nNnQngBCmD-5D%5B7DWj3O%uQ9^-~-e7mPRUfGpXxgoOkQNFg^bJv4Dw5C&4EeTN zQbxA=1NVNNS*5O`_VLv&o;x}J0c!coDm3$PMppEE2VMjODiL6dKof1McU$Eg2T7oW zAq7?F`B`E#x)sX8U5S;vDaclN0#3cKwTeg61nV_!3o8dN9OGN*YNuy#mA9e3XL|$S%(01bnxlM4{wD#d~~VRUC3AEAKHY7NjOwHVZ~MtwR9j- z$%IK%UVj8j>9!fLA^uCTly>sS9oqQ(nAaWM+Haw z%5=N9)prJKZNw{xgfL5U0vc&(6)u=AB%VLQ_cUkHt8cu>IIjjLNaY>U1DHTUXD@U^ z>qG+;QdrJZR46$9CjI(5O%PBdbiuD+q|PV?V>R*+M>7fo zG~Eq4DCO9{#dFclF=lKhB;H#qGy8j>6$Ek7dm4)Y)(?_zLrWGA7DJ#$P`I~NrLSi)1BD;}A=SM)ic{=|dtk#B)EWlV4U@Ak=0;&+| zb*17TtIp%-A=f{3>#;UzXGKcKv<4a7u_Q`2q?EclO)eH(3)4S!>b`n(PlD(Pz1RVT zB50z**UY`^-3rXC8pxKZU+-_!fUOA}X)Lf%XGLDm6dWoXL<(rqULCzH%iZw;kyctE zMN5dEuE9BnM$56zP&@~3w}vHKKcUf=-d|}sApbs+l2G!LGzkW!UL>^udhp$H<1-Qf z+znkH9(!>>fCV8?J0SCUjdVor8Z1Y!*WJV(4P##QHUYfmS||Z=Dg!`AF~}fkXD!-V z7~ZF6cSgx-UCSIXup@1%{;5Dfjb|3uOqU>R!MVb>O_lWoK6bmo?1cjRyudtfo6v`M|VbIrH?86VL-|ViJo|zkWel#n9i8W2)tm4w-y~&k3iXw?GUIs%;AcM6i7%6#!`x zf*H3`gs~cCp`t1M-TP$ZFs2MZV&NROw7oPqpG2WKM?*lQ7Qn*v?aO6k7AZK76By$m z+}w7&qHBYB-2kjKD1J8&g~RsKk@odcxrT&9A8?N8v}?|E#TNQ&i#ve0#P;(#bG&(5 z&zYCXwJ@4MG}$0Yb8^uTaDvP2nw&DM;+tFV#G@mQe6>%^)AiiHsFmnNfA;H}wAY5^ z_{Z@>^s{qAa+J~|JbUh+VQ4ofEkY;38Y!@xXt=Pspdy`-e&Frj-urKJ@xsHCMw!{(W*=#FoIYPxy+-5fSnMPd+&(qC4QwC%i=D1`+E4A3vEP z0#o43C%h5l1p@QhFAxv|0000YLj+I&0A5wktP%oN=l)x}{gxr(Mc{zqqNVVJ&iiM{ zp`?fuPQR!5?|^U!01?qZ6%YW_0ODp#s`K1v5n@Ay|@g_FcJm zmu+WvT_w9Y+qTL4*IS^J@d+eK5*fcTBK^t9lic|)zVYj_@_+t$>bD>Apr{-7lvoR%*FiG*qn$Ze9cfG%<`4lG zSY7;OW9G;y~%VZMYjS3oeB=aU}{Ae(>`(7A; zu`IwYqtO6U5>_q*qC~e@`=IlF(MNynGDb$Elx15oC_oOfZImu9h7zTV&D9e-0?f*E z=$$!-E()=rheEG*K)MK;h8j7le0wj9B^wH+A|HXf4M`Qhc_BW;c*1-$p9yfV_$#P&vBpTyw?Led5g- z`(d|AVv+{IfEtw4mQj*wASn$=hlvz3+DPE-Yv~n0+yx28-GD?;zL}-%PoG5d2#dJQp@-H3DRSbl0y;cC4xsi$# zCpG|%m5@QR&a`NTAa{NFbQpbAKuPa_vD#v|M`I+$)VazNa-cR^f<<6xbL`h1y$`g2 zctD-dYQ%D+aR3vTs7j?+39h(?3bdaD((OgZHIw|vTsh$JD0qcf;Q zNNK>8=(fs?5@zGRdO@ehUYVh9(br1}go2suGu;?20D*=o@(|nm$e|9jYqM#~Se|Cf z*8^+#!By82L!F#VM71bXol00QD<-pFy$i?vPv|}y`&NE6_lRZffW}f4gAA@8CB)bu zATVl&00v4W@u%Zm(1x5uAPWs3@{&QEIjxMpC}K0o5=PQiP~E)6zl|hCGWhQz6~U~9 z^=R8)7TxU{{JlXe|GJGtX$-P7Cw?c14Dj|yk{3>9i0AH!iD$-n~!9e!2Wp+xrT2tAY!2k*;%i8Yp)9*^3 zpjTwYUlR10Em1-NN(A4|-sg}gPWcf?e%nS#eM&4MPLdvCM+v8qd)fpVNgzCg!U$?49hdO&DLh- zH+>;=?*M=cMQOb!xQURftqyD{q?UUq;^k^kvF}Ct7}yvMR!#8;yf|I$c`)^U zezjkqQDnXJW{yF>%2r4oockvH`MTieb_<6v2O)e={RJrd&hbR1XYV1>pvk6o)aDJeE_ow}FQM7q$nDI&cPbT?mfveMDpuqu`ZD1wr*c%|K$-Rn88 z;Hh6EoOCvF`bs&xqqD$v{tSxWuAC*G>y$v!3{kQjrlZQGt3`H0sMuH=eBFBgmvepS zyKTvj?AL#8|20oVi<}btcYDtl%gg!Y_R;w4KLdf_r;q;Up@WCCt*2C_4#ODY0CrZV zZjEROA*=r-&9t4l3x21As+)5*gh?)iHKqL_5BfbKyTh;rf>M5}4xVB|G5iyUxugH363sdSPfY%#%eoddKwkSvE<80Ka74*Juwgy>3}DsB&T zw8(T0wDtu9bz>z|!hOhpb>2xQ`_?aL;GHLRpSg}>F0`HbkV(4!SeWn!6V;dPlInrE zp4EEBES(&HRbvDV)u_aH45QPB1r+Y6;7Vt6JB!s-hypsYiqyklaVeAw8I?hmx-Nm4 zp3ZW%R<~2U-MFT`5`*$nIg|lbryY%cHQL9=vhr5v2zN{oL(5#GDizSsk_6O5W-V1G zi>y8ZXLUiVCCo|`k-(8IS7B6!GxtQJhNdHqJ_1>LD)1eE=e5l--&I4b)g~-zYg$pO zA*NOWdV63Dd`soJl1O3Pky|yK3h!fT37ZlPdONnnqYzc4H zBz(=2dE{h%Y4Ly=ISVToFUPD1Guc%wJZl0C6-5aw;tAio$l=Hz?Th_S@7 z->^Eeyad$h-6N`y_qFuw)<<|fZ8d;HdOZ;t-~#i>sl`ib5J)X8up(1PSpYQ}1FQ#5 z7a>s5CnRe05v$jS>Y!2|%|vQZGG5fRelIJfZXaOXX%Tfs4{FPR<6axP3#>|R3$-}A zD0rA^ph%~4m{tXkBnGP5EY87L{T^vC2Bd4_XWG#Nodc~sfhLSkQ4rmZsK?ekbBux0 zmCB5s32{;adV7r{C$%PGRk(n@Syep+B18damT(~3XLX>la+wXR8-`$+AjfHxw1qrK z`c6g`$TfKS%d^p@&4U8}dVqNrMBrgy2?Z4T~aE^Y?L{tG${# zifgI9XY-UR2)cVlT3VQ=7i)DqA$^&4tO(p%=X)GU+QU?cybv|_)DAr+nZ}$p9Jkq- zN{+4c^r+G6L$KHr=+&?`Ui8X33&*(Sx=nuD!h#m9-J$oCwK_M&Y5pijk+!6!}a8&{Prx^-RI<{Midgj+)*fzcdGJk7zQCTgZF%5)`WpYMG zR;fv!qwid_*v{D))Z#ef0D#DfQeA=n%DPcH!oNJMr5v1U_Qa+1r?6H>YlX#>S*IG` z5&T%6(G?o7P6m2=fgENqqO)E}YyR3aHZagvm54d6rA0u#Ps%!DPRVXn(<~Z~gE2W? zrzu#f2+}M7V~7j{>SW~1O%;E1$5E561}JJ4IcKGFp+QM4`#)==8o z0T1$gfB_OesIt=zw+6(ac=Orwzs!U9qJc(`rBM{flBrUKZ8*RLp5BZEbM};^q5cw9 zEr#b*8jR@xRkvHN*sGfvB+$8MeW62Ww1J6S(^j{uVW@O)z(6vbVLF$RS1I(q=pZbecx z@6*^&(&{#KO=@_hk)PDSNZcc2qVap;v&^~jtbF=X>^CWP72TWtW`6ily!Y0DLQ39H zd*6Ur033j4IHgS{4Ys^jkDXRI-8i<6N^pe7@tjWYwE}He7%fT*uH#+7K56~_2KRs( z_jX`aATkcG(qLP~8{qI6sbLnju9P+i?*xA%p9rCtV#7D%YHv$x%JZiwFsmO#B~v$U zgOY4wCe0Wjv`|XDqW|(^Tj=#Ij6IQiM`SD7IGHav=r>R7ehohpT_{CJdhCYZlu*Ru zBySx7XsDG4lMa%It_ z#4<-=-GA1mTR=`IRf%A0`!O9v?l$JS1~YA^XK3f?x+yT<5t*c#B;&*ur)+I)Fu~9? z0qUyma&W%gouAchW$Nx4`p!ctK|Y|#8rVeiC8`5=kfy>`s3@VJ_E*R!YRm>*jW8Q5 zV-xdTdMF?J3?AZBEOK;MQQohjP&%gQxmCC>v5WIjy`f%hzyQUbo3bi>b?v>J_r(hx z*d3(So$g*I3#1YJ9y&Zt+Hoox2q~Dqrvl-XmE8dj6*?G4=Qp+|FYo zY?W>j`_msE`sps6lb&%Kg?!D0Kvr#1+)Ee!ynXOyjb|ScpDAVhuTJpUgSR!z9XQBe zI`rELcKsWVOw~9TCa;tj%ec!rfJf!i9OZ(&z4S|dlfE3fGyWX1f~#U=<6!A^XT7;0 z(|T86NE(SO#}NhkT*HQea7#Z^N}?qA{DqI9SCPV2Y#<|64I>A%kr9pSd8-_O#Y%t% zv^|Wj3}&E7FZu289>M9W8JJt0s;h*-eAao8ts1w#n6>UGROyP-n5wM0zIrED&WSbi zGH>-_-w%YjRn@R@rL>2fl9D123y?WW9fIA}xov}qgm8z79Iw;A)h+pjG!w9+?2-{2 z{LkpPa48~gYcXU;G45pYuP#Nq%$Bs0vJ|BC(%^CbZak=}vP|hfWYu7k>q_gGq7qS< zaFZ$;f{R}X_m*kHi)K0>m)F#-<5WmCgeH2(j}sX+>nbHU4Q}ZU#ld|`$}T<0OO=&u zo9S7_NR@B(t=p0%u#34$FMZKR(BRCqitg#A;yd~tSBAj@RtnKDRCh7_B!{4@JlikM zafA^b_+JII2Y1IB@`T8z9?4X{tqUsO>q%@Gl^rbRntM8!2iFtjd{}Uf;&!ro&pWNO zjGVuC|lyH zYf?c5R{Jo-b|Gxu#<4X0ArcP9xJx%Mkc$Z3*N~QU08Qv2E z-Lnwj#$WbS1}osr(feGXO9;`l?-WoAycd7c%%W0L+1VNYuduKrBZnc7(QaNuj-O4( z)7ADiSJw)*A`z^(~6u}*@lOacD7chWsYF(HGG3W&WjfC=omEQkD-33A;&0n=7jgk zMR{L%pKDP^BLu?lP89*vJ>h%`a1%Y1jsFXr-RpPO+uge)Pmkdnob-q z$95Sa%?1jQ$-;B<)WKZ2caD25&mr#%tcwrMh70xCBTuF;gQ9dD@;6e6P8qgO9U@_G zIlL5lE#Dj9yHAN>X=F%clGujLvr`n;g;bO)0LjA7su#z&U)5VpZ<{QzzY?7=8ctSgq~n^(+sms&M>c)^rffT4}HBSbJwP1O=QWO#SC zD{ig}rZCJgIP??D<5bpy`hJ*$h>*Et^@;rpZzS5QGe5VZ{Pcw%Wq*HL!k-24M5|f) z8@9o{@FDG6U9HgHeNHj*mv`WMEpFX~}d;!4;4v`;Rk(uFbY{fi!5IMe07@z8gD*$UQ=n&RHM zjxT@7=JIXk$9J}$;k3u5U5dY(AGr$^K|1^iWr<=Gm}8Wepf-w>4q&zLI_iY%68{4v z^0tCG1n2_hZHl1FgX3&C0wZsvlQV%ztFMD6J6&B+9Aj$pp;Bb6Kp2$~dktwF>~rB1 z3qj3qxW0=nbY5*fNC+qddI2yRNhDTeNWrTXcnN497p%iUnlms5w8pD2)B?rb7g*sc zBh7@MH8}4U)~jJkq`Alvg#$;&4^Rv_11&_g%XmiB+S~={Q_&(E!6ZXFbKTdHoLVu# zQb2T2tOpH_BUW}natgDoUIxK^0;)=dU1&+(bHc}h>44ugw4Gh>umHl&AfUla3?dWf zY?Z)DZm(3bg%CQ`!;HWqk#j3(Fx^WvhVP45Acn>TsDoJSq^^5KW7J_G6bKB%KqB=_ zV%zyW13SU1mN+J!zB`@KGUaKV*hs9Vcp{wBE%QX=LK#l%DMWRiS{!o$g_O&fQWO&3 zguJdLqYTt{faItNdpSzg*B;4|_-c5e(G*&_q^$Y#P2A{OmyWYUgu$LcTjY`yI@t5^ zuv(Cqew0Y8=Nt=xZ2}2rGurWfkqlbi0E!PrPFkMs)ovf_j(Id!HA~K#2}dBP^bDOS z`Q3r##m=WRt9tFV7;6a>0E9J69cW==Gv0zYQ*%Vsoxmc!&KqLm*6xswYOzmN_uwe< z!>t4n%WBH46awfM#cgwt*<~u*Z*q2E}YrBu8iw4Nz3xJu(O;v>fe}&lr4$@NhADJu_|`6IbG0NVshZ-~a5$b%e zY+ZgIfU|7Scgk0u#F@PF!R`v-Jz=5Y#WhF^TJWR}K(LB&+t;AXDZ%CC23K6(NFl!W zSI){jq+MBMoCP(oVGdx3Jvs7bef8QX zv4klJ78)~V3=BpE=3Bwxy_7=d9uk1Ga71gFhAQNotBGPzaOU_3S)b~u5VeJH3di9S+lW9*oFfQk;RtPrv{BXzoo{U^?3pCYvMMi- zl5wa8&hDJpehGDYQb);tIu>1beG-ovMJRNO-_N z);ckBD(Vid9CQKmu!w`5c$+xb8;5s^?$RA0W9O3)jV)GDT45G!5%ha0IF?%_9k$fe zxd#ijFHT&I2?LghC#=|erZQRySM3mTWA6**iV1@@G8Tm()9w(%fe^&OTsf;+VPD-G z`L`s50yz0Jam9m%>V@7*h(kN(_*&ADx4!LaS6F~45CH|0YHLxfsor1)xrbBL4#B(2 zjbFP>OZ49zr#$}M-XtXN-H&Ab?;aiXefO{N_jmh?=)SwBMEl--cUaB4_X{C;?;aN{ z=G}XNkGyyP{N8!@K3_BM;oHmAYfH1rF~e7Xzev8my?f8cG3YhFbC*BbUkWRv&al!? zfA$fcCzGa&PVpQa;W8haPyqSN45Zz!N!!Y7&iw`-e*tLgf6iL^k)cdhP7rfum59D?-^+CV$A*B_55j!d%t5eZx&_mVr=}~ z6FJ8i_I}1P-z>!5#TfXzc5sd{?f%C6-z$2*i?QzajNPqbxBJx_`5V)gT^<*F^QzMr z6@z0{=~d zF|Ayul{WF?g`9kKG}Utp*N`)b94>&Q{bg=hobi+tpT*bvVjK9NQT7br=Hyo8kRg8SY z2w42Z1vrdr!(ml)#b`HNLB(H;fWydA9L7aAj2FXID3*B?Z*$As#(4M}s&bAo?*7J3 z-z&-A#t8nKgKR+Z5D)?Y1OPKc1TX*qUsPNv3jq~wGC@m-@k(82mpwTtcU;r7l1nfES%uUOkOu|7Vb9jfulUNt_{}}Cksi1Rg#~; z;=XBn{|F#1w{Obe2d=oy-Wt6H4S&#Yy+tK)RK4sm4EiX0+hdDR25u2IRSfY!J`fP& z000^Rqagw~Zn$k!5Wve2_qNvEy541OP=uiT<|7plLwsal-J16{dfmF)P|VgBTQ{z` zVeWj9up(iIBqLuG_y3+6~K9peZ880ZFq>}=z^D4YJ;uT8rTpZ-B{01KdlaVa!FObv=a zh_q{D;~Jlt{HcC+^%K5ihQ5Z*#f~<_bag+wf8G9ze-HXM2S0!Io-VnSo)4n;NGG+8 z&ZxJF5k&^lw%c0CAln^bt^d&<^QYcX2OW25Dk5kV5l1W|B6xv_V`yxpf)PiH;XSxg zCIaE&QC>39fUhjRXiO@yAWpnjXYV?~M?YDF>T5#j4yw2j0Io*XI;uk^q()bjw>;9L z8iz&&e$M2dR)s4H{Zz%)Rtm28c8fXh@rJ#CC<+8w*xA?8+0@zVA@$5&SbSJCj9Vf_ zX*$%7f^|D%*?N)j9ENK9YwAL5$gQy=c*Ek5jaO2q_sF>}>z0UZ!vFDY%vR|oTWmPW z3h)pphC;FaP{1-YV`K&Csbi(D!-4x&5o}R=jB&nE!h4??OLKIu1iJ>-6HHU@Le={ib>s@9uaVI!V(+Wd}`YzVg)Mb0!$Z( zTR2F>NA-T!r`&iCVGm)r-^tO@(An0~jJSJvIy;)*WfjsCfQMQ%bw5UNr~$5L|9fOi z)A2UL6Q`#OQZ_dynjGN>Y={4ed(S?fWMFuaie2u@g^Kr>+V=@Kp*5l68-|N{L>FZC! zZ31}xjp{&c(IQmQ0K3sFvUCJ2JUnb1(qa+cf80kImexLozL&NX_?S#Ce)9-{KZhI} z?lom`y~6wBo;@S%cv$a)Mn= z8f`88RY-QMZ_dRyLh)|boym7F$myw^i=E*+zBVmgZ!P=v?ke3kdv{UAgre|q0chnE zHbDl)4XIlc;Uk3Dqr>FB)he~JuI%DWDWavG4=leODI_9)S!(MA+OIJ7LsrTl3vEHp z$c|y&Jpwy&HWyd2Gfxw}_VHdYCPNKT=nUwY*)lYS-=@B}HkASw9v}ULGT@vL*k7MX zg94X)sB*r#VqDI&jI)!lZC&P^ytn`E6@Hp%v+WPXtmz%+WzATpm&29UmZR(IdGv(@9r7aY48L>%A>q#!0F zir;9xx)L;z%7x18@-m^2Z>%o~0DMtwF$vDl;lP=sHgT3`r9De99XJkQajZ*+MWYwX zwh3s#;?eJ+TE@OmlzSf+r~4}7kYy3nO{faKjK%^ZZ979^aTmkZGYtLye1VRDyJ#8F zn?st)6PJ!BM$)JFn6Fj1M6GZ|a!}Y`GfdcP&(8Pm+aDqK7gvDAPq*F*>?jU6KvJ$U z^F2Q0yH}0s=Ge&CAYHPl2I!(A+o1M$oA(hgR>z#~!+!ZB9oxv9vZOdjt zdK_{dhy^BTs3Op(Et4HR)e1GOJ@b1i156iVb~mYQ^vp+!06$(3k6J2xqQ#PqGl_e* zjRWFE^P}c|*gNvb!dQKLd|Ip$Eiyh!-R%P_O-O(c$ekCd$jHH@Y0LNH1h&4UG=GSZlg6u;9X*jKyjufbQ~8iEXUBYBs)XS%jIM~aK?Jlk35=dW=f z332na=2ps3M0rxo_o+(6ge0#wdVPSvda}ZyGxi$0I=VjFYsX?^XM_2pG`5+zO-6!3 zCn^m>I1zNvsCzLsX=(zKZLSm=6my-O${ld8MaD512I#EzI`cgj*n1S~IZKYhe04fI zo%(F8Y4{WTh9g}`7dn=G87v&Y?)FkmkvmKCT2qGOt$fMLEz&Xp$ zNZ+s1ZpR1CpA+eAP-Z+XcGQ*-Hs(pAL%6gGhgmU$6`#ScvP`l~M!5>3B0EmjTPFfgIrD(xMbxDU(^0T#AIJJmAe@#1=X!5o8b#Y%p;Qpbuq!Y>~awKy@yU0i<( zYrFkWGdnoPm>@6)U*P=WH({YI(*fuvXrxn!fSWgG)(kJ*G5vIv#ejt6>AdC)i4KXn z)?Yc}^MwJL5&0%OL=A;|GR@SpFG zri>Upm-5TP=w9DPk0-(7X8d1*J6%l! zN0QKF_FVS(Ut4DZT-)O^E&MO!rqwy1>_34Gu1!swqD^yWRVRQ!Y8- zuS24I!nHM*kocF5eELKBc*mzv+^vIW^gj$X>&ZNiRR11;E$s_5Cm@FhQzB^|elb8~ z?amvdyYYXYNY`K%I)lBOX^Kwc5LJV;WPpp~_5v+H3xNcQW$(U*2?V-F(p>WP&Q~X9 z0{_>uf255nkl4L51*?FAMM8p-2@Y)sq_3Pip2h}3aaKyDoM6{{M?ZHMk1l69YW$eV z?DR4n&_!EQ8pLmOzTBOc`5{J zX>}e&69B(x$*j&&r~vSTx<=iZ*J>v`)sZKAl00q)l`MFVCMpGZO2=B@x9D`-+%7?ZeS2NV zQncF8opM`#4gGwK)v^FTAv6Q-sCS@2HiGK!hD3PzY(6b_Gx%JIzl280j?m-e>`#Bs zYfUHTV3wvvV-04bjq!8odp>`f%c>}gP`}(FYMBM@r=H-y+l7`b-=U`(7!ml zsBN7VbN7x@?&0;}f<4U0_WWSJI?mciM(T#;&qeCVH$o7x_FlWY|DEGiDPW0EGuRYO zW3-hS0=s+AGUq9iE7VWu7}hpE1{v&jU$wZGsG6tumYWDJIP!55p`USE8w*_|Y^lSlBe~{Ema4xD$mv7za_>_q6++%8< z=(HVm7{`Aax1;|BCMkdDj3sJX>YG3f@ z%qcw~8A$Q}{hh!Tz$jZdBbM4+Wx)-jCJ1e~ z4<-*z4cZCDz%sP7_B^A%UM$=Bow{qETSuQ?bi8ylu=9K#!>ww0n;UtUdwIyq?h%?247LMrHAgsd`3&{Y>G31X$&H>3``Pv% z?a%%3ct~9hG@(Vq36b zBu#nW;kfOj5c1mF+tAk8*U{?HW$7O*nc3B0Pv7gf(58+dLv%-c#~55C|Hl!EL(|^3 zK6A&f4QB7mOB)iA-zR(^eu3SPveA=mt?q;k>bbCX$QXXzuj$URcd$R)(rR=Mr)$gQ z?_4$)hmL|?e;Yh1eVt{-2}Bf~&)BkI_N_EhJ)uwLfo(u~SgJiEEp1tNua^kCtG3&J zzf~Ok1%}O@t#s?07{kv*Yz-BXAC1b%*wW6- zvg+VoJDw) z--~>i&hax_RS(0oVdg;e4X#gSIb&VS`7`*NYR?ZCbkbyX&wH1?y8@Y_+&@!(Ir?h9 zV<4W0FoJ(BkCkpintEnma0M~zwe#$X{nBWj3qSI3C<~QEqevXWcx}WL!K}9>->b~F z8884_k5fr8G(}>{O~%lyiz|&;?L34Q6urz&c@56+h*6-No*!|4*^jsanbis$Y$H|b zVQXw`tn||if%G)1z~0GxJzi2~k@A>D^e(`$v~cM~btac(=qSubr}ryDQm31EGh<`! zWJE%v1Y?#v$}J@sm1gmxHuHW3*(S~eL6tTeG8kQX94JkZIG-P$H?jqaCVp|*7O0mV zBf;OMk?TrUBl9MwRYC#@eg)YkL9b|j(hjp|7ENV$49b_E=`AO1;V@TVZQ>%IGX2Mv z2bA~B0J>VP5RwVn>4c`7rf??aDB6IV0-(5G_b85^ne`(Lv&};JrniCIiC>Yn*mOCV z4>S@OGf*Tmv2ibi2umwbH-$DaJJjWua(7!wwMuumt-?;T`5@%Xq!{O3^=b4{NdAo< z-7CJmgmOi~sLHGXjC4t2&2oMs7G%XhhK96;i5YBS!jDbE&7FQXtgoS0TljN}X&> ze@9z1HagCOZ`Eq|f47mN|ICC9i%)1Jvq$eTqdp_q{xpsf>jBt_x;ke}fa+@Owga5( z9_%)Tg!j*4D*AY z%ORfDshvQijQ7{wZkCa@ueKqz?Xld1XY8!zA-4ecBFI*j36(^ozi{+7PbyB;IdW7WMHG@0la&5V~6;hcRf|1d(Jm!qm zYNTiY5$R;Cr>sK#l-?R*QhKdkg7NFIQgvMt^T!i1dNXLGF3~c{@qdt_xfuyj)G?s;y3CDN!W_`_(M zM2`wt!@gqD2ZLS9jg6VW#qe=*Q{!qflrG1?J?&8vBM${u))4<`iSNGnTH$Zkk{)Yq z`)$Punpf^7JFCT&=K$1=d5rz^9ON)D%e&s-n(@AeZ!~RGQ%9e>^p|2NbSWa_Rv2)(2{smilch4SOoWh#f<_5XRm^kw7N%TQM5 z@vflxq?admmKFg%-WMNy}d#t0|n9dz+l z@%z%y`}`JoQ~m!{0N~AsR=Il~LzD4ToLO0CR?Y@F1Q3zXEl`g7ysxla-ovTX=PdPt z8?gg#k$}XCLu~?CsrP%e<>taY-U*p-6R&p4(wqQpRPMkC?Tvkb+3KlIAIo`{E2EDP z)+yr{Bcbvc23he0zItKWYXI_+3%KeYA`Y=!1I5!B3cy%c&r5?I(bs6`5&jJ_Yh=VNkWf8?Aq|Xc zwIU&42?eovIOOZ}9Gh_HV!#Y31;f>nQ`V8#>S9hO9N)6y>KLQ+YVUrxZ`G++WalGb zXU652JNq8s38nzx%Z&{;X$04!V*5XvS3Bqdg^bK_FeX~%L{fnjL=y{O44wGx-)385 zpiiN|OM*dw4Xko0B1JP42-*zMXipdb<7dF2%EXX6coru@g1yHG9nO8jz?=vwFDML+ zkL};T2K|XhoCA!M2}yH^1K#B-gf3n?Fm&6b9dZI~(MOk-fw3qQ z0q?z*YpQb_k(^atgAfRCGyy_s-1!t<(09;en=5UVl3QQ?Gi3W@C9@eU&hSvUzN06D zk4tShNZnFQ@2#>rfG@&r%(2&EqvFb-BmmF|a?T)yaDr_uso62ckyCmu{h8Xj1@{0%F7fpvela$;gc0%A zI@PrIajWCxZN2XF$s^}=eunmSXFb5rQUjIb7%KHtAroO-DWt%Z>=dCl`(8TaKD*bZ zQs~5vXO)6^u;MkK{CG1fR|o?=wSsBuwRP1a{H2EcoA-sigXL6tys$XKvRsCZN=R(m zf{noV2I7e*gaE0DLumLV}RSZ|a7 z#2x*FY3R**5)3578)o}Y?#q@~hz1i$mJSLGAsYNX{LOoYRmdZ_n-qyaOTt9}AFLh=)6F{ZS{xXBh#vi)wLS^G?Jglb>`1XqTy zwaKv&8h7ZF1UH&;C;(gUvQn#w7$c1D$pu6p zE`Z+&?-dZRW}(CvyPTAMtK7+RJZ%ar^~jTWTZ_Qh>>JV=%(+%!;BEE@8<1*smw9ak z_y2l+2i+_UP{|1*P}-dFh|*;Yy^=cXf{YR-?QQbwhFubzXS|vk$mdZnA%srkGE6h6 z1r}~XE;&WR3UeGmV=YI>MI@5+S}2nc2fdf%a%jB94_6@41c(qKvG;pxfo#}W50MM% zC{&3r7tY9<$>9pBU&Ixtvt>z!;TGUzvbhNs@daeX#$s83r4t)LMjq!3gbIZc@M=P? ziT7PpPE0r<K14KkWw_aUl?bEOOP2(G$sjZ0@yx7X!REg>#bQyEgF{W)Nm`H0(hB1XvKW)QOLK? zkXQT?bkDe>QQ&~aYQ4-Vv;<;goIQD!5=L~I&NQ~M zpP{sx7YOc|RIV?foPA3IyNIZlKI7WhJhXxe>-lGE?nD&_A|3zv&T5GKafHAyrjU__ zro1qunqOL3OQYi2;W!|OwOk~Plpuv9ASaUHNiC0zNt$C64v4(ww>VLXd>C zuEdA$-?e*p#y{0PpQ#6)UiAledvuMFfpW)rQHX#L#xdG(H8Bbg0)++B6}wJ(Mb_5K(If6bNP^tP6Jpmy7v8 zNyMEh*RD9^wYMX_tutBM{+zt;~ZseM*l0igtVkZ`Am0-SbW&;n!g~@g`n4RJjG!7m9QCrR0x+0bBS6#o z%)E&bx^_j4Q32FB_8egZqg2?Y3}LW@LPF$(n?rRD<+=e_b>?!A!A2*kKr>lkUf+qs zW5PfZ0F)IhtDxFiq2wq_WsKkv$a|=CxoXzHlZ6h&m6rL;-mQ~N^9(9ER&lWAYs(Wt zK&=k)DJ3qRUTwPXd8~tP*=PIhRhx2{XxtlXmkLCIP-?s;dm$rC!5Jh3_0#&#%pfzw zfQ;OEB%=_Y9dlTt!VqpP4Yy+ayFf)(4*|-q2t*MQ4p}gvYOFWR$rvp&J7c;^r=m+2 zU%YnU${xgM2UxG?-?T_e%m*+rK;EdWAw#H6%&Pc2dj&+czP+s;TjJ=BO%WeMJEI09S(?56b-+NmzoM`aX zu0(_9{J$%F|0WxfNB-6DXZ7z&MZ)J;=&r9GK+8avaMkV5eb9Pcx;Co}lYWEl>uN>Q zWze--bOToxHVg+{$JMtG6+*;t(Dht>Z*d`X7*@K_s|R!p3hv0T;1&$4?v1btrpc?| zrVI-1%dp@!46E+HwhChABIvoT+_7yHR?e&7cy0yvb6dFi+bUh5R>2qD3U2APa379U zE|{u{i`g)dh{)p=-M;-!UU}ZdWcss)Whx&<$IS zKdu*aH&(hhs|u(a3hukH;8u03?%?WzdELRyT~}`HDucf3;C6kh?)hqi)51XaZuP~r zUC`TD=tiz8b?XXU=2acItDukWw&`n*H z!m}0Jo^R0ISZ&hJD(Eq;y7Q|LL9#-Zb~TqsRd6HSx$E$h000mW0ssX7LPP{G0AOEb z=hR_9{d})V-M#qTlq-x8Usl8-Ig;3xJp{?!Z3lc!W8wy0fi#^Mr&9oJj8yI#A&flN+zc3CplwG{SwO(n zZHtBo1mGAqbcj%B!PvTCX~CeeJHiVCEbszIMf?C{003r$z=*B@%=SteL}Tx=|8L!Q z8NGoXK7u0x5aSW;1ASQ(?Kf=Q%(YLhy$IXVptcAo1o`j*NeE+X00l8v8j*_^&OADz4&&f_StT|RL#LZy7l3nz4f+l z$Ijh%^6|5Av2r=OoVZ;4e%@v#ZYD@Ce4mHEohR}2bFq&<-uv^n7XLj){(0+{duZ2w zjo*C;58dwJ$Y-YgUwdHN9T|A1{kem+_Uv8zYu`6FGcT{F0|~Jf>y2dMen@*f-LJd$ zzg=Gu#aMRjntT5fKuWR`;%m93VF$P%KvzA-7%jxPqb{OLz4(}qlr3PH(5jrnOw%iH zE6mDio!}d){S@(io{sGL;SX!J4pP^^xD%h&*EM z@oVA~D+S1!WlV{xRS3e8quB*ind#VBXNGr58=kfq4;G3{{Nqp<-G51+kQSG;$ z^p}7ht{yVo5{I!9uRI8j3Uiskg#uF=5mYv_sFSDmB!w><3M`wN_5lKR?$u-^T8N9n}uEW=k%tqfw{@sti#=U?zX7n+nqZ*9$Ap zcOnL%0X(>hi`Z9C?zBC0NZ{=Wq0vd@?9HH>2s+>G2AkgzPxGplJ+b??X;?fSA8FaU zsdPpIld1}9TvVsU3se|DR1<5~Do^E&arImLbm)0!L;j5sMk)zp55-WBX_=S`RJH4n z=L`K&zkD|C-{acVME^C)0x>Z(AZf5A?6?74O(F3u>yyVLR}BDc2DXnV!*v~^dGytr zYqdrd2Zx6mW`<8Uy{lAHAbglm+r_D8vABhNRm~gMJO9G0#LoD6*qdfSa zeG~Nnh}Vgm=htamJ=`7Gu)g z-(9A%FDGReo@)_iHCOfd&5#=VHIH_-$B_oa@z%gy!Cu{C2){j<-IY>1{p;YFGo@CU z+vn{HEP-;iz5pbZs5TnxghA^1=XFndh43ohO^Uyk_wb1*R#K*2(3HCBed@e)M6e)p zF;)PLi~`*bJd)LmW+&}7WG5x^%Fx%ubK9yD6|BtskUuSlQKgVv)1e_@$=`QN<(RO? zE1%aNfa7v3bkDYcvCGo#(>++#;$IQT&UcN>&MFgm>C59|ab$(U>O@SiDEt1!q!|~5 z(qzQJmatZ+#hrUQ{v2DJB@R|HX?) zeYfepEn&}t8zpRZskLS%j#j7;xFWT#d*tn=+E&o!f7rT_Q;4chmxuCv0_+BK#=vjV z2E3=cWRsNI^w%_<&($9qBB;j8W$N_i^)-Fe%BlCR8f3-5N>n_h-@aEN0;;)^@d(a)Tu|zAu>$d%dPT0iwZ_-aH>;ne=j`)N zja2W9qf<7J^Y0P)sa}tX(~D2!5)V=5=DNv!Vcw-~gyULoM2hJCsie8)y66h>v)v+C zKhN&QGOp+58V2xv-e|hp_b{c2y4I)0U7D3-yu0Ym-^iValbOZVeCdyvdx0qM=wB9i z4c@ddO603}2wj-bguTAIj3+badF)7FVMQgf#>h{ZD{>E`ntb|D$)(Q7I)X3S6DHS6 zW6qVDrm8VCt)z7MRM%>ZIa%w-VEGX_T^f?Wx1p}NN!e&5kk=+kDqK1j@(6XnNzS@- zjrla41CZ!Uw5`XUIb$1VY}>YN+vXYDwr$(CZQJIX|K4{~wNjN%btjdsB-Pz}uMaJi zTALZ(V$-L{**HI{gfl9XE6i61vO#jY{|Y+v%qadgv5W7%@ab+{$TC#JL59F#?>TD~ z@#y(H7JC0c(6UH`Lsj_xt_^al3mr)aO6r|En$uNgq@Kd-JrWFY(t0NtTz5I%2 zPVz+d8|M0!tAm5B(1ZDVlx9bQMZbXy^z6%iCEBGP zl&k&9fdngFR(8jtLXqlPdF9!5%k)N_$Et?!%IV4_k8*uk0w#FwELf+QDWHpUd#o*>Pgg+9?Z$M<9I5~| zrqhuoxixG$aP}>7Kwgl3NN;^8_@!%6y;(i?m4`Mp#maD);LqgLF4b5E6z!5X>%aRZ zm=f)w@Uqt`lsFRv&@5-K9`C}~(1q;;f>g{}N>d@+CYm>1ydY`z!E)KtW%=_T1c1GN zbQ4yqiypW8`TVi{0MyfNosN;m_)nRp2D$QXQz|iS43Mx75P8oeh9Zt&ZFzY~da^3^ zWh8H|8$9%)TkvUA?-9h$Cz+1Uj34fcznpS1ng>(8y(O@zO6>?%^JtSMvv7LS$uEyA zP%o-itm)1Nvv-?_nydCOusgrYPkqaT5f87oa`<$5i9h(S)>J;f`Y;l=o|%=VY#Jc2RKp5ljO<_YC%+s!{> z=bSzSDWQG!IJe9=&l`L7Df=RDMk11LM$?}05S@%PYE47RQBIMZ8vd*909nLvoF89{ z0Y~g4efdxs!(P2fh7>Lt+dYyibla0*-o>}Bg0`DgwjpY0u|90o=I)j9YCF}E%RQ8(*|TmWC_gB_~Cha-R%5) z#sB=J4Pu@intu=xCiGr8mq;n0dZYsf;8Zas7!fV z?5OQd?=v~Bww3Is^KpwWAWdNWEc{qd{vd#ycxKQcBUZcf0gIZgybb`iWIr=>zkBqk zr(F%ap!l*?ZvWV2EEk_Byxm*cCw172aB+OK?ns&f49>dSZV%@|P@V9=?5$dwU!h~H zlAC{QK-=9&3ubQUl%!8LvKgElxlo#PP{CFJr<_$Izwy7T) zrLH6qe@CJH&|_zpm^`@<_*6*rYmS1@0EcD~O zb6;Q`!SF~#`?**4B8g>b#mJ@G{Mz@s3bdM~7Qn0C#;(q!mG!Z$33fT#YhgxdGBQpj=zT`dh*#UaLnVsT~@Li+QLY(q_Y0^4>ocOw#PG6HIL zqb6K7INMsXCN#5HC#r)x)ID;M@v>Odv9yNZLAI!SfmIU4BE%eb?J+gbuYDeYci)+@bW)G9T;;i7A4!S4ypGw!aM#?`Hhi&nnZ!+N|7DrxL zydEY`#rLdpyPQwI*RllwP=9Pqd?&MX|F9hpwtN2JvJmyDhowBr?(l)3G_-A)>uIlr zgtC2)^c5t!gi=1bga{`TgC(>Oa3*YQ#|TLLmML?Uz4zxil1kfgq(=9Q)ei^tmlu|K z&IC!y2N|d^Q2QAHuW5^j+nk}bklxvuc62@2J=h&@>I&f`_JP~7NFcZRssCB#?fsd) zVtS5gk9HSnHJ@^dwnLcj$;`A^6Y7^aM7 z$%_vQ>;j@klb9Zd09_MpPNr0DkJDevaor`Sm1LUV=jU+}Lxz?r+qS$@Io2Ko{^NYT z{>hKKa`c>70);z>&p0EGa?>89cH?gU$B@Va<7jh9{bx2m55(R{0gNV_ka;ESLTL<{ z>W1rrD8%DxmiO746nC2F%A0Bq|J35LOH=9l#FM39`64ceJqb!Pi)}f_n3P2IZ(|UJoH|GJYXy9@?KqAQ0G5Tjw_2~>u6=^yRV5&=-tI}QT+MSN(( zmyGpv=&4Lz#6@{wvz;59b7_zAixNQzw4)s&#hhR%`9msVHHs8fZ^zvnM@C{`nikv! z{DdXtAdgY~QsbLX1cCd80@KDYwpY*?B9MTO=+M9fR1@ zeKJfW9|8EgBq|0LL%EhBTl~fY8JzvK(C_Re%SZ6bJ!2+u zI%R23^<|;0$9r% zltIdKy6AralWJDCyZswo$Bcx)Cpz?_=#FMrPHpeZY-q#Vf%^gRy$r}LjisN@!^gq@ zl4$Z_i&@7XHy#}3{c$~YyEl}KOlL3Usu9$qYF~Dgf?Xx6%9O@H&#ZoDpbwL`;$!rO zRjHvMj2ctbSX@3Fi%*f1Ww>d*J!x@|*S|!mb><{1--T7T{3n|cdKhgMD%k!X zMC{27uS)Almv@I!+~)$qH!m+swl<-B*<#rYSL;S{gu{W%m=PJcq;G;95EL!bl2*?7EWi-=N@uJ;@Db9SP}pPOI^!+eprR8A|CNI2Z#qG%T8a&1Nc5 zbDW}a0%dA2(EW(LX}4*AV%AO;Z4UZikN%|r8_bUtO$prCQ%4afdV^emY@t?lwt0DN zDbCboxl#Gdq08k(>pA5|xKnAM%3{Df^~QFW(7lCkZ+g0DL8j9oBhAVAa|uf$M|Y}t zvVB>$w*IN-EJK=J`0gtfjCOI|j(+8Y!v~`lC?=$-gOTngCHx06C(~kkY=5=$=}X)6 zXi%;CVhBKhIP?q1CG0ZLJzZdx?0GA?Bg*N*^EW2O#bdd4 zx2_}9_)dt*^?ri95*>jOXVfLtF%vs8^1CJ?BO>hgkELQ1BbRmR(CGHKpK`9!6#!Bw zLUn3gzq35It|{55JY;}OWiRiF`odWzv`opr)~@xnZcSq+n_s}8usaGnjOl$J(6>C( zx2@0fv>{i6b{=N#^7qK3JID>UTuN&+0CHVXW*ugzk!iFhk5cpu>nBN^{GvJ1BX=I) zUey&Jpved{2&g{NexuSnB$=Y7nL@%?X|S?Tb0B&V1=$XA5Hn7&En7#FbYXA&(QACa zkb+nlcX%zxqp(1|UKQ1ctXF6ez6M64_(&=G?})vIK@!LcK&Jd*9-k_F-zsG=;z%~0 zWN(O#$eb!MzD13Q=6Ik2EGP`0)8QiV-#jhd7DB95QR`&8+wSKWmv-VNE%ZT~B!5ar zTKqq9u@@@zPjG5#Q!rc2GA1H|wq>NQ=S9lhO>l6@D?Htk`h*n~pi&MRkej`;I%i1} zg>~fPBWF`bMqh@VSwcHw#gUtbPDJwMpaHa|h!S}cTDKm`Vx>)7N#+lX1E_c}>YtB) z07W@DBX~q(TsRk4e)le@|Mi;-u2nSd)fLwoHt+fsHWx1T)%qI`*Bi$@jvAzZt1;yi zTvp5#=0mCM?NNjVjq_Cly}AH#9Tnm%$NR8+ zc7QW0_NG`%asm*#ZS?VxS3(HIf90`3pOzJl67VQ+{&2OXG{$7u2jTMe(PNgxkkmty zl3p!_g}b=}uWWKLBb{&m^hdUbi;v`VKF^FWORK?@ypj3#WwnBIHE*DqO$IiVaRJ<_=Wg=$~>j-K17Ibo%AdYcQ zS}$Yf{&1D2FI`QZGmm4lx3n%>pE~YO)nAG){Mbg~3{)|i`Vz~7# z##jE^X^h4uPOJ;I0#vQUKuoD3YcCIK6etJgGZOB#pIcg$rr(c(4oSkYgk*bnS01cz zps5&lPbl}VFg_TuU7b(S#8(k^_!L6|!UihtA0#pgDZhq2@x~fiKS*W6g9h07;cKHo zO&=sxIjR7OZyJ>J5x4{lL&1ccgO?};Hfkh8r5Ymp=$+TBiNc>UAkF{E-RMJ5mMG(h z@g;!u!rESWjrTp;O8*&<8t(=s;#-g%%&R@>YQpnnF(gyhjNX;kp@W;B$N7corI0(jwfFx8YVwP3!Emz-XtB~|_(odH!G_JhJxXh)29`r|+RuHI!svPxm0#6ZA z0Tb~G$HhzVTj*)3LKP$*87fnCQjLn&tz?&joq2{z(741C^IHVpwxlNqwFl0V{v&+U z4t+sU50M|XmwlabD+@@8c>Jlwq=%ioQqd<+03t0J62tGU1UUv&C#n82$G*=P@ z9*r}qi{-j$6RHOS$A`!KjZS=dY^7dKuF>g=qhuwEc~m&5L^g+PF*Xoy9&I}8^>lV4 zcX*BTjTa@@nlxI#KQuEqNdO8bTNwW)~OHL~xYu6b5P_ z6Dfh*6(S_eCUiaaM+)IOp{UKe9Q{s^s&m+pD?Kr9ouq|F!eh{}HX!_BaGH{yiel}c zzA%&P40hwJPgw7ePsz&u@2FvBTvD9}MkAT;6&!x-jb;s9{GMa8PFXO>#9SMFBI-7v zpWQApRh^M(Xkv$Pp~|Oln0hX?Ale;ZgsnsJR(Jv5QQzWbck6mIzhqG2m~-#E7Y`~ zN+v~j0Wmltm{u^5q4s8G_@Jp%NE1F#5%YZB6jc5eA$C4K&>3GCp@E>vXEj%7*ycO2 z1|j@`I*rahdcImpmO?j$%0`V$&tU8$&Q8}(4Ai>TS8&ytHw0pTsDxNz1X&AhQ{&SO z1qKT7KJp7Q@+tI6x%$ghOmKwFfCs&T8ACFf?mSeqp{qu8qgn|a`m$qbc+7VqLgU}^ zMs&}+AlzK8jwO?Ot^qfVK>9gBtWx^@RQ|I>4get`>RFa7nyNnxWZr15tpT!ZYm9(` z^7dijkxYbWgydS9p?!H=ugOZ0LMoJi+Rh2F_1)N^{;2UmD6<&jp|)^?R1~CQX>`ea zv@|0=4sw4YC;nlUCOXnBihzZ2U7;{Dt}1N@C)S4{(+JujtW&kx6eI7t7scZaQc|Hj za5j6n4O!B3^Py==io~Tdh$hC^9(${s+Z;p4i7c2wC8M01Yrq#$OL6^4Jjf{se}y{J zz!9{&gXqpN4O2VPm`h z@?%3yGpd6PVulbP!8r&$8gy+k2rf6Oq?cJ;y4V6W*N03-XZ;t16zvZ}JnB#B#{5o$ zCxs{(r0?1eCB8^cA=+1lpke3tk8TMhU=WahqBL8UU&f1Rsz9$N6vUOh8wkmFQjDjm zl!zL3TFG8s9V$AI4M4I_jjr&soumZybdhQXiUC3{-)*GNmP@O^V2;F$h}sfZVix5A zPfsC_>oz%g2k2!0KOSn_76CY@8EL$f4bu4Z(H-ezw{trMP002r{zIrAgEHyg0J*(@q zZ}+xmnjQJ=><`*pN59Dl1;svewrayw5^Aq)$E5p7-{3W8=J94!;U|kEeujOI@2Mc( zb50EJX%Wp2YshKEw~O)5*iOgOx6MxW^UB=2b5D+TMHNK{<<$B(RpM)sw=y~~I zsB&UQT)N6CF)sETF{%m?fclk z)jRraY6Mxmug%vFGL0q1+Yh!RnqZ^8jliN9#|`x4$`B2R#Wo~BR+99uT*HDAR@PGk z!qZ2=2uf7qFz&>rHiudJ8ZSh`j~{K-t=cixTaZk7E=Ni1KwrPT0@6pFk-_zQ*Pggrrr5gfy0`br3gz(NB|KF%@TS=HB_uHs=?+6 zj{Mzr2q=(fEv8KNQY_joO`6;4B(BD3?U=xkesk{X(Tk;pW&52F=w5IsGSrM+jz-(2 zfit>zh|;-97Nxb$Eod46tNeu9&Y6C; za9a$-y?r|)w?k}&W0-W`ehkIW89ipYdB~&`A0ds5D`h3P!Q%91-EM>U1Ufoanw^Aj z*j5I2W?l9#u+*QV%U1oOOT{r}^>5YHB~sn^G5D8kNhMxb=ZeV@9022V;K|;0ep9Qh z!hu5&oOCnrC3W0N2OZZqe#P=6tAp|eBxcYeMD+!u+}r_@h#Thr0q2$Hi z!5Zlu6@HoHX|=z-FX@#beh4)XL1-1EXo0l1m^}w4>t3lw;&OD^xtdv5S6s$~RcJmO zSv<-8c7pKB98X$LD%}<5|5H5rF9xGL=Z8W0Y%j&h&8n!wK}z?8iLRypqXoS$R%MKU ztZB--_~`aXt;xCjY`hr`>VzQe&v$AusWE4Nc&$w(|EA3WJf!MgZ1 ztkNOI>xMd*Ijy8vDNH`he#hSLwYxxBS+jk-&gj)u`pGYmNeZ91KN}|-X*40jSkPTR zX|uVS&1|=xNk3_E=!MukBie%|dV`-rn(}{$?tKj=48iEU)y2_luu3?`yB3E2X_`_71e0A0ZC_S z5o|2>GoEnI2@}&z zMmf`D2r&J4BURy%a+jG4&+Eot$MLKhKmLz69xd%)Lv2>0h#Mt|yhkaWRy@IU7Tm~7 z-+>>8e)=6_8fjnI`Tf`<8XNqDd|%Z`_^J2iibA7vnH$9-r63ZPd@RN_Ce+`M11ORytg*~7u=M{*Vt zC|5!VwdS~fZNAsW2&lTNOf_?Vf4Zv#vu~+ph^)g=^CPWLs>U8$2KOZnZp5tH+*ED= zME<7?*%dLrI&yJcn!n>)%*tCMxn7i!T<{Mb3@JEWrzriI7dnRL?@{n*W%AC?7Vk`t zZLzrTTsljjy%WEpVTOfGP!}}Kk)TaI_T~a@LQcXGgS~qF%?d(J^q)4HXAn2BN@-^- zhj!|A$DQqJ)1DgVOW2N&`GtA927DzDcD?s|%|iC}r`?R8{bo7Ejrn<(%i^OVDd_Wm z=s&y4^5aH|u44^(33-^w!tI;K?cZ*qui{YJYX&^*4#(RSm4kV}*0A-(vDO%yI}?}i zQbdcfe>44SuWaO)bS$?#I3|YA&@bkf2PRI+Bx6oGy^WuaiWk=^ z+wd<6P+M{1{Z>YnE`QF4`o+DzR7z-Ud8uy2@yi=@lafNVUrmJcn=7elMFI0CMy49# zyVZuAvOuOz^-uK&zI?n=P|chwIgRPB*Z6lp^lt)6csYg9>yX5g9@sAjJ=*8*(5A~+ zORg@H9)D5`ZogI91jCnqeQg(AK#z&Gj;@p6pZz4_u|F7VDuMJ;IWElqU4w6_X?#)J zoY_7U=YpkVz-s+je*`+M()?KT;*#Im6sYHV;OTI>_@m${xIntx)HIbat?ETW>f3)n zD#%@_VMl$_lim0gy*-@rgh6|BR=sC_ZOMX`)^;exybfTUp7TNHKEjj@#(;z;*0q;oxbly-{Y{)YC(U z?O5H34gbCOou8oOI%s+d@vY4>XTtfM*CR6qZ>xSS%gW8XiWHRk!L0&9I2sRw$oZKR=-U#76)g{yqx-A1B=H zirDNwPWaB+<2dwZ4C#Op=XUQ|@7@&8zU+IWWscJsJhIo}^c4%S?n=fI`lIdlWW&Ig zA9{sDcc2|ma=cfAUIU?}na4`4v?Ce)$gZ~sEVmMb_Gdx}>;waYU?Gqjd+mRmaMpd8 z%0>c{9~=x=16d0Yea{$-k{Z(Sa&F2+e*~TYq&XaqV^}x$r?FTW%*QU05|sON8Ecnp zL~K-KeVql<(ouZ&-RtRLBMt<^A4BabbC|T0l;1Rv9T9(cGH*l0n5CTRO%5x|%@Xd0 zpoH^~bZ)16bq{$+W$0=F(@aYw!xgmj%PBhn|M$k*&_gy5ZRW)(vXF~(hV)aTR#m6Qk?wy;;iLLf zV=oms1$pqO&`=qXgoon2=)T^&FJE>VK^5SUX8*$R{ilRL0^IB&46v+UQ0Y#ZX-cuM z@U7!}Cwou=6q?HP&=TBMLZKC zRS%3z>FU6=U1&3VPLg3ELlS8?L1!G-IKosCAh*w_qwmqsKr=$8T}%>S+dC;fMh-Q- z16LR^M4Ek%Zyz5Fs`OFgZb?NG21`(0L)gMzoi$hJUl)?dXu+^p;9*hICBvDEHSZxb zuGP~~@Wf$$u8F`PS!mN>yWyn}5Owp?zO%p9L?V0K1Z+t=V0^4}(y?%frUCOJr(J^2 z!;+hX(qUz$XKR5LhIR*z_i-XgjR%+}HrcH)vl-nISKXrk_fE}r-08Dw!_9`X674ls z@6fBnUhV!8Llb3O#)XmD(fW&1k1^Z6dWD)ke(&$N<`D90%c#}RXWOAaZdOT*{~sy5 zCgDF)xMNsLXU4XpIaY#@2!g2_(fc@-{#kTLt5(d<(8h!S&v|s)T@yVJ)8@JJUm6v) z92F5ZGiXiAeLmu>(D6X7u+>xo0p?RR=4n-zqVOIzCS&Y}7nX9p)}!lgZ7V5wx4F@QO9Z+fSI8#)lg-5-flHgf=u$3`*sY3{03ME{f08YZzT(66bRigoY32 zCPt9$O~rJGP5stP*V!oWX@w{mc=%h!(6Xc02>sJ`x}CT+5DvrCLd!mg-kEuJsglIo z5F6=5644xZ){7kz*M|tFxog=g&0RCqz2eE)-T#OSeG2Xhv zL=SL=7j}5X6}vze0R)SrL}Z-`y#>kVbg#)fh`x@J|Mh||mbGKbLNcn-=~A?vVwLmv zg^z=lpXOcm^&%ZL44{)kwnwSiQ?;DiLv zAR0IX9ewLGT+Po0eST2iP2W+BraaI_mC>$sX7v&MCJ5Q)2?{A*;AMF-Ek}W-^iGl; zWLMYM^2Na#G8lT3K* zuhvLck`w4iZ=9H{L_w+DjdMpqNy41u$R>IdK+}P8s!Yi&xMk05tW>|y3q6L>CxC5K z6bw?5qMON$fScEEt@UI6!2!dA8eQLIW)ViwHTtLAi9&^H7%6sTtZShV+xhk8+6CHPd+g?r~tzDD#q&9a{jBIs^PY z_$}t3`+6bM-2QSSH|`odUvuj}id3(1@h@^~3j9!l(%&T6F9T4mXvDkjOH@XAhgV`q zn^=Wvhm`eP(0!=Uggw=UE#?8N1A;x3+_g_q?hvec7F8tWOtYnhGA=fFpHS zlYAJ3@Yq~~GW0^A9#P)kX{-lbmD&+!Sh-o2ez!;ymHmk>M6YI>BA@x%$lnWrw?UX` zEYMbK;J`B0t{%&>Wmg_|#ymYXi<`WdX+i*C;$C66n8hiykWvSro~vx zx+WJh$A6|JWcxtr>4boeo_+>rGbEmfM51d-mQ#Xj39uaQysfTZT8JoHIhnKQUcg{0 zIp)hu+mA`;L0qAwIl@L}mw(}%yT_tjulsdo`HG!9&LrIJO3RqvqZ5>xmJH*`#z=|O zLN};i#pa&)?-VF~PNp{VNy5z0izil{%no9lokC3Yel(75y0{>RH22dQqU+2^z8^bt z1gB-^z7`rk^Mnx8y?d7U^PsOVlqXgmm9zJ&NVGj@Qmp~}@;wmorjq7~ZFzaXV&Ddv zTS+qe1=W-3klyqW0ddO#b20d5#arQy&dCqR4*3nof$XLHF zZA&T76Z^QWxvWFD=M<`Ztm|FH!FdY><+svzjbo^CH-lE>dahL5&4$|3lfOIeZ1-*f zJL=Vq@MDKw3a5tUL;yGoEgubgchYtsH{KUgDA+|G;cZ}tZB(_odTia-gBR#i#Nh2-|-Nwo%Cx2(R8(cxPr0?dlcxc z)uM_5KxYzED2oCY_19ph54BJS7FonR=)`3#MBzUJoQ@8=7Ne6I6H>m`gFS*Gg$1Ff z=Sy9QE!d{F9=BWTX*6OH_9KT-vm;niNttLgAXb$K-848e*SF^J9YnAKh|{Y;kM@Xo zAJz5~s|CvRuOgK6r#6uHr_NXPr{350rzSM|J+_#oCd=FaxdNf+C0!+)CtD?C`BnO_ zzR6b!4SqEYwdEIHD~+vO1yu7}smZ_F0BS4r8oD|3*L6A+U!X;A+6t)%wF017FQToGshO;GTdQM-p1`#GZe(1mQb>1fcvNCio_0pa8Ey* z?y9_c>RljP{8C#2ReKb=<(5R1Dp1v35Und}M5;10bK6?O78I(p_4N@*&$HmHcbD~* zjEL-qQW^w%%P$rAG*ia>;uy|a!re_iKYAcxEB2YIac$6+Ttz{|a)=LTgV8Q^G&cUA zB!BWSl}^G@9FHLzlvV(5<^|{rI72I~UD~EnfCC_^M8zVoS~}XTDeK0kpLQ%C@_9S# zgQ7(~4W+!AN z{=6VHl6@45W|Pcsc9In)*U9i=CuL!S!Et?&*hG``mq9>@Vr-x53lf2_j2RCoi0I}R z0VoGiN}x%ku-RVGN6AjaUyi6cokRcQ54q`OVd%*_$7=h9#9K1~l5DaNIZ}LI@^! z3eZrChSdF4%TyykcqP1`c8VcSl)vd8yFYN5HtxawANkwZ!6i*w{BB>Te}BrYnB>3` zbs(FHJczdeY@mq`BTYR4JKy7d0A2+AT%eBgF!@98nNOj2YR1C!7i&{Y%`0uWRRHul zK}pDDYyiYCVK9;}WFp8>vtI7kO-%%;)c~o%d<%VUQ!xP-T};|oIzbqg6DRC9!kt|J z+iroTpHVTiHvninLyMYQPA@c}TvmWO_pSn6sX=b%K~mQ?v^cDRv#x>S-R#bZN$H zv!CF7ds+Vg`qHzI_jg_sbOrfbi6I~(pqDyn9p4U){Vx%^i+M6(=d0~O^Lc;IljQ4S zr(ZlFoIGuofEF};3$o-mfI6qUf)^$aVH_CS8~xude-J3lMJ62CzXwd%&kx+J4O8`M zT#lIOBG#t`4kt11DfdK)rUyRa5fB7y`v~FG3IbHjbOTu$+2xQ8hRm=uPXP0Rc|(k6 z$YW8VKs!{;fkGFx#xG$-!TmV@J+=Y{B9L*EQOYis^cA4qo`8ojUu*V2-7H((#92CG z&v#*-M2DIp+`B{pOG_rdj>gtZIPaM1C0?_WcWV)(P%tczc_L9K2sQ(wi*)uNwV~H~ zud%FY?t4?byo$S&ANRVhGxsN#JghhH_q-AAumNwkff20z6WaShqmP(R1*m_Iz+#k% zIthf4i12rC_l!~ZFF!Q|sd%gbJ$E1(&nDZpX??7n`WHLcpWlp^Ul~z54S}|9{oOt6 z&sn6aFRUHiCg3|a0n(n1Gpv((&pTFc8RR?f{y44=!8dLH)$G~9emTaodd%3_2B`jz z0SyYkAo!n~yN>cndA{Gd*H3ZFj++A1yrcqDY@_jsJv9H?SAeh|gn0DFjmCfLf50NY z>wf^Cf`fSu-56J>z_M=DIyky$D?xBvF!j9&w;hG`8=+F~46Lm;sQeOJ_000;O`EdY)!Hlp@8$GzU z9akS6SKBw&RaT&8@lb&MAY}0V!SPy!9QCjdE(OgK^;hd#S2{w*e7H1GERO3M#FfcS zfDDK}hhB}5&j~Ryzc}O@$r|s|5?RW#n%v`>GROBU!JV0?HUq()kI8T3#vEL3-jK%y zueQxjwrlu7Wg{O3=o+~wqXTk#?l)67%$Bks?>k2xEe_x50#3(A-S-ULpC2h<0X5iv znEdX3V*@(JL?al4{AKDCPw9WNJyine7jzBFm1HD%q7y2(#}9PYare@bRL zADh-*OO$!~)2iJ)R_V!8t|(O~LC;g$jw%BAiNz*W*s6jN}=sC;!+wJtc!h z8Ut2h2mwopYqTMr)@?IB6Fqg)ajFidIUb{DnZpT7C^X{-5Uvnv2uhS`mIw_Rm_MPR zO{Lu*f4Xbz{NtrO{qH;1MiX6}BN9w8F4n77pJzt#9oKG&s6K<^bP8x_9#xC|ZUO2X zb)QYnrj!&4B+!x)s$trwfCkT5lnme?5xk@wD_cMN47M(2R=5neuZ$8lI(<1+q*`(n zBI$G?P??FD&#MMuFOlX@yJl%M zzZqpC70veATW>hv5cv`vBZRN(ouil8jD8)54oUx1T_31*en|pBTwJWQt|V#; zF2UE?Dr3%U&^FJ838FYIVXQpR7!~Z^Zpp6o#XVUwZ;Io$+#@A!*^dIGMcUgK%wB7k zM6F4fgVfe^MF;pbDOs+P?0%jDl;!yas0TP$^LLG_LbI4lp4pg5OoZMXI4cBQ&by+dOk4NB~9JX zkxs4or*as)tUWu`IiGH>IzRtBf2gCuihbE2e*=aY*B1i=%H5av3to4Dn3{SI6Yv=ESt|y|yT2 zGseu70oJ~st}QuuSf%&8$D{pMsAGZrfyZq(JaLHCkm7g!TQGN@na(9L^@66?G0@QH z>@WHR5iseIwJDI*1@^fCkFV!8iV~``=_W;#MX6l=zh^bR_jX4*OQpGt+ zGkMmhaRXwY1zgn^e9>njAmUl$R={;`BZr*6bVw`jf`^MOK_q8TZRyNov5` zZxrEV;}NVUtt!F2ViWZt6r!VuQuMjw9NEl{kXO=5-$gl}MY6|Z)gHsgBY>LKk1d}r zY<_ROMX5kyfPaZ1;-ZVZc_(+4naLTTTIt^|7L#azx=(8*g+!3 zuJCnzA-@7%kH25#IC>U%?+b~%+$u+->!rt`lQtU*(qh}@%DvilZ@-e}V%NRS95&tR zin^Nrz}DOk^gUBnewD#($yu!gRL~N5#p{6g%?a>#Ut1MTP#j^RM9bZ$EiiYpcRU$0 z#SeWkJ>e?5@MfjCQ+CtN(C6Ng)FkW))x8GKYIi)5wOMet0*_Pe8Il~skEFsMZ}H=t z@G<&wt|GwFaCUAxF~BHUP1*83)$EEQU8(y<|JGdf7+ExWwRxt*Fj8>Mwk3uP;aUiA;af?nSs&R?rs>&8y zKBOw(XylO0>6JF(B|7kHccvJfacDf8{&<|gHaQYD0(%;Pc4PRm@io}#wNY4tE%h*@ zFoVIJ4jVEST z6GJukm;*L>6bHi18c~gJ^ItKQMYuWyHSEA4oSpq3 z!NZfb`+Sz3)qxj4=1Ba_H6*b_i2-sxoa}%hu5}25h!x3$Wl0(+Ub|L9ihs>+w`ZYr zLuxWuc^{gaXvY?+5UPYs1rAea!7pHK)#9QshIwo{p3&MBwW8|e%;Ul(@aN21{)w@= zF(=?;K+6V0*J39uGM6OB0$0le^LCCVN%&1hL}V(90*IQz0PmJv9vK(q*cQZW|9H*~ z?poU}M+-~{@2j^ShZ!7RUK1QQTWT(NNm~ZYPd)Kshvu0RV_R5@wk_`t_$Y7W46sz?Ddu;o5igvY#XCA}Z|t_~4Q;{A>4WyqimbLt zJtvQpn@>--uu|hoV@70F4RYEnG%Z)t?)u*Z&JU#H%gW=&~U-H$h z4tUuNvUcC!!qs0AY9NOkCl-58ty$6pfaQ+EID#YY)R3!xlYG>+$RLGd%fwOg6I4m4 zJMe(8Q0!X9th}FmY2*c$qh55*2p=gn=JBS%c}~4=r>^HNeh3f;-!FkoafVVlQ zz`iMUV-|{?SbSK7w%UC{f-QjuHLR;H1Q@ZySn*aDc{vX_FDEiM_N@Z0dxcTOnq~Hn z`>?3}nbMJnYD4HcErs#)j?2UbQv=)H%qO{Kx>!*%Q4H}1`5VTsjkQ<|`+cZoqFrS_ zq3rQDf{ct|-lXT48v}I;Rmh;?2=>R*8E+31YrTiiLqwH1x~G&OTXpsITL6(9ey6qX zlXzGxJxKIdW(AKaOHGDg&?WZ01|Bb$kn(|+!!IcVq?VM7YGkPm|b|41}t zx*GrcL_Z;4!jHgs{NlKyt}9`xvD`2Nf3lPBSJ5tWHwq`2NICFqXyp^$LsbDQ zzsRu1BEI2Pe!}oPrzmqnwVkeL8nTh(TgyV4PT-MPpHA5v%Ok6~54TrR;&QE?pKzB^SypmcL9@SUy z2&=hfL@-d_>q1lP!z5K)E&z8Vw;XDI8E8>1wRP-yn|lGpOfdF;gO-BpWE6f0x!$wi zle~XPc?3R2fq&*o>*O7|_-wg=P4D_)p+6Zl-ghw>w>X>-m7!n}d9dZ@9q?8_ zctbu7_Ny*LXiFChZKImLpCG)}*$}9ysY_WC$S~v4N7&Um zaO~`kXf;oQwgfakv=3HI#b>d=)hO!$zp^8Ds1t29sIYf%>IvYn);<4mhDQB_a?W1f- zhRu<(EixqR05-gSjd-Iy6u zlVUluCVZf`kM7xtidm+{sFPlOe7(r^$9e@^KpD&Ojl4Kt)x#2e4f#gYed2+WJIoYeJig%}51rxY)yovq@!UrddlXA2!;EvoP6BJV zlSmgAu@B3(OuwKPB_`{)eh;_x!}u!NKxMSoT-3xut_-%Wrr8s-k9jrq)0*0B?q!O} zdn7Ffh~piZ<$fdf$QRry8Tyadpd^I=MJFgUEpvsJ@QB*PXE`f7qmP%7&B%GN*j^Fq zZ$a?68>j}gk&GxXB^=oF8uKS7o0amDJo`g7N8NXccstJh_PYG;e>9%&A*pk$7x9&02`ZV9h^(F*MOGqnMj!_OR zsY*wp?P?dSx?FMVJW(m$jI5M*U@FGpZlol@CG;;xCzVrs6N8GKg! zL?JYKCB*1lmQEq~j5EKzWOOj#_reiTEFnZ+qSeSj(E}r@+STfTdn3MoXjbFHER15L z*g_F~bmT_l5B(=quL_S}>McN^_2*$j2)1?vL?P}4Ia~4Hc=aIyhRvwoXL{bcQA%fc zBwC9lo#-RZYs1BZygYy_VGCPQ-^xN>cHAh)wva?0by6*WVBm{Y!2Uq>PtLbK{qqU) z(j7|#q7V=pemG%qvy+hBTM!z?uX}yt1;e4%NL&|76wzJmU;PA(GCww3Y-#`OQ9B%1 z(;Fn(hb=GBmkd8mm|@~`b6tf?{%MwSPVcG`vVJqjJO9jXj{CkcWI)!t*;zXyBT;7q;$AEUs>xxJn? z9t)4n+U4YD9y`?58KZrStj$FJ-EsWdPgzm_UZyg<8rn5}2~v7V(LI!S1s>&;_z8Q_ zwF^|wLRPZiC<=6w(K>+=){&5YVSwr8fy!Lndj!U-Vvf_ynXuNS|YD^1* z(DM;fr(RTyK3Lze2RVe|>@oMWDZ7U$_ae=u3F3Mo5bU=J3gcAz8Dh)WFBHXgiag@T z@V$J#;%Q*@?t5BtbnO>RKwyl-$D1gc9!G=Ivm!YKHE;eDX{^}zS=>I#2@@pnpW)JZ zW#f2XGv28swp-g7n!X!UA|XFw7S^gCJz;zGGBt#vL@Ye&phYF2J8r62ti`=x*|6N! zX6i1hhFge>ZtYUn&?0!1t*^>I!;~5^NGQF<)x{QT1kfchtaIcJPKbiS7$RKXOZ zN%pl&WPhSBzF*~jPIr})!kZNTFkFPtb?KsIfB<`qRFO+k>qy%t7UM-?`=iLa=Nt=x zY61yoGuo1UBN?@_09p=4zm%*E-9LSlIp)z^)GRscT^)ev&@*?U=l3L*t##AZ)?R_J zm_P(TR>Rhr9X2!LCx|^Yep!1PE7l_(+c0J63R2LJ$_5rQJfO-tRn)A2@Os^UGxbiZ zriYi#(5KpUmuG2%ch^F6bd2a17wTE}cgy*-)_mwU$FdfFu|x>uI+o{&f9L^R_{LrG z;&ah-Xzav7gGUJ@eeDcn+@Gkrlh=IvGatVw($0TO)yjbk{>uJ@`eU^$qVyG@hP%L8 zcUee|Wx$4az&3YVNer@pp6|dCcV_^GTfmWb!0vZxxeKy@3-5rH@3wIh#();?0h``s zQx(nm0`|E3%oJAzCvd1 znE3t@%Q;4aAmfB>Z;?R!T@&TGBs3*DRS-RTF<9Z=-pP4!&42s`H9fwM`0wpIoRsynQz z^2CrGi40Pv%WR7SiFJ)$p&!(;|k$9 zUEOmPD1=6H9-;=F1{NAg+xaHvVUMeK8_nJc`$;# zECYTV)p_q%b@G<@ zB%1BG2pJ)P2}?s>$-ELs((+KSZeCv|$f2R&*q3n|suY+S07l@R`-S1o0D@5t-Z%ou zg5Ow%ruq7NV;IC!%zUjZuyK%&84<&GHe za&T(gegkU`z=FYXZ^sM>Ik>lNzX3G|pt0aMYokvX0LdC#F}-IH*mIHh0zwgzwYfEo zj-=-?0@GIuq+3d;mQ(;72x+?%{&no3WbXt`V%PJPZcM_>lzSnxI?rbm>kx_x8G$Tp zeiJd(0^%9KAj||7<0Zx_0W>J!#zH7KNYFL3)BZ)+YZNOzS4<3?fLUODaFnp6`%VK} z9Kbk%Qj)l$28%QhGSy}8t??S+o?x{$i-%f4oRmtZgeu!b|^zdjqiRuxIYru-3`*EcpRz zlee(aRPR4|fkixEe)9IJd%*PMt1GVo(v$41-Uez+z|xOlIu|cskH?UjV;IZ93i#r& zROR>u^6>*!cnkqKRsmc*fNLJVD?VXB2ajM7$0~)37m&x}c)>9Y;NS%m=UBGy<`bSN zHMTRagneO6QO2vBjsU&Wck7N-b}r51SShiPL! za=tn&;gU?C!Z95+0tnznFjn_1Ej$!Bx%UXAW=^Ietp)CnT6}_3HH`~|%iTe(Wk!yb z98ws!WL3ie%vmH;8XyCkx&5hS25AwJ-v?BCiv^qMA*Q8Lb4M70+ZHvCvq6Ujhj(&m zIubs?dDCwKfL_ruo5`A$skB!G1`2e&Kn(eA|7rA?hfGphHD|$DWa{K zPvC0b_uBf_-y@J{2^xI5|0jK&&)_Z6goV=%O&~&XJkkRdJE`c|YsJ0GAf0oqKeCHf z?w~k_a#H5G>QX8rBgkMi9BL55a=@v2_|9jl`f6#3*~Mys`fweJAV7|Jv+79euQ%Yu zlFlKdl&^>-?@8wPFJqYIWmHPN3lt|$8qN*;)>89t*xnIa3&)25YP}XH=Z+xMFRnXtBiLGv z!9~5^4J?3>taW4NRn%#A4mvJ-UIg3n(rOmi6kHoGZUY@5W9O3)jV)GDRAClr5%ha0 zJ(l1iyV4D;n!@*hftwExV$|4=Q_#8gOD^i$p5dc65wpNv@ z#204Vdk8hq5Ip|PBgGdlJ*)I{b~*?0v65qm;)J9*)(aFDT1p@uDph_Uyp*rZ&Npeh zu^w4v!N|QR0?uHk#RQ=wgeX>#fu(kFKGIe>6wv^J#N39wD62|+dBZh@1nY|nQMVZT zpi!MY5)95Tj1ZfS6^f41X|i9SeO)9VX@fI_ks|PJUs`!2wOC<^7#SDnUiTun2|ndhchSFRXe&3a-nZmCQeRfY;MdQdukFyXr<10B!<2I$mlYGxt#tA~|lGPBP>CQ)tfGa`qx1B5=Wr;}GL|YW|T0tk=EG@tT z5ny^}nKba+8kVnR6ttuyav!Ss2?=Y;>N1E^7f6?z<4U59$VeEH8l?jiBApN-2=!5{ z$jI(9lI5YXhFVjB%qZR%F{h{n>L|3U70KR$wA?LKI0Oo+>tosM_>P>&y|G$=&q}n2 zR_+cem2eRuzZVYE$a>Y_Sy#g}$_wM9OKBNdDz*s=X^5u5gkUqvG8C;9v@bUnjwllZ zilv~UiW{L+4eV!7JuSdV3t{?w)|9L{RO4c7~ zEM|fZ|2BK(?I7uuG?>SvMJ*e~L)>D#$Y}^8KBktF38}LZLlcBEH?p7RoXzD z&k!&N<>TdMsM=E8T0kJ+&P!a+G4fty#)y>`tLiI5RjWf>l0z*8X!^o2H3FzRX4xEC zknn`e@$Q%XgrZDsm^3C#r0dxU;=FKuT3%|iCHl33&C9XMnNT4EF_vT{k?A@oOt(m~ zokB7p2+DP3Rizz=G;*S~+96jL1J{uXA~4Kfc=dN>kzx)riRN4E#oBEh$O)X@BdynGc&bHL~2Pe?qfw7%ee@;@W= z5XYAX9GMQdygb?HbHMZEH=||)xFv`bYb&7fUN78>(#o-}b+p1FeqJLuo)Owyh5|s4MuR_@!K# zozht5QBPj37&QBgtzZf6FQG2KC8{NO<8EA8z_X%U4Y^}LmJ<*J34!DlU}7#$A(9sM zE83@oq|-PFU>GZmsX60soY(^8^b+av=b>r?l=d=TO5lKmSpo8f50vy8RMp@Jw#GZF zt9;z70N@Z10ssa8LsJ7c0B~MZ_Nl>u)qVC7X!#&6IF3%<+$fTK)-(tpe_Nm1rl813 zN#p)4R{sD9q5&f!05E_8foE)AJB2Mgp4xZ^Je|)jt_vM_262T~;kVUolaZGduvWIO zs;b=ouaPRdo1rOiBG-^}+nAd}nnbAV+?=ko)OKc$=1@cJu$v-kbTvR03BmwI002g0 z0E^H7+WisJv_fbKT5R}}q2KkRzIy1z z>c9MGwyq~-XVmUj9>IGypS!91trO~_gB0=;-||fBPPH@n8N2_#+4SEJ5E~EYj96;f ztpj;XNJ~^P#zdL(=wwggG|K`Uj61*@gTN$M50wZctY;c#K2N3d%h<=s)G9EHY${P&D}o2gy{wANzf`P4Cffzr5YVK0Fl1)buNFq--t zalY{KzVUKwg7`F6%axRaXxS762M4dJ`pz&S>`R<_K7Py5!sNmsZWSNPS%dg$2-ru0 zuVR3t-HKy@&v(neb{_6@HJ&Xh>2qi3`t|Lym6QI^F<=-wJD(a0&XMTJ_F*_W9$oWq z6_frZ_D$JyX1|@H!jZ$1-Ud2cquv^+oVjxqBf8pyvj@-qJ9}O7F&LLsP+njp{ns9X z(f8|>>{-}728Ez4O=^)!kZm$mbBB#PB>H#!@bbL5irm}%!uV?Su?5>r1AKP1nVL#+ zRKW-))B%eq_}HtwqkLsUyTlzp`d9NH6}ndgfDhY+s#|}XPOE`ro{L62>Nr*VrX{?q z+QXCrLM(m_-`5c-&r{;)paHl37hBXh-k#CUz?rq>8);D#Tr!uC#JE@1wKb4@K>JM* zVVHK}S^v!ZZ{J3rdM?xwe?ZEER%~D^m4`Yh;8-=M*assPp7$L67M=BI(fYx2)*N7o zUxoBCI6)Gy_8JJ$+REb&VAmJpGCQTaCWx}WSNfA}E!_?NdP})UWIyE`@v!+G+7F9s zcH&l%kgOPKK9!&rd(gJ%9)MAy3idRWoW%O%oSl>2H$C9YCKfOf;U01S?JOa`&4l~J z1;ma(Oh-LXesv2K+%${Z7?8r$ey>`~RI@pbS?wlE+PCJk9v~Dd)~+8&F6AV7^uvr!njF5Uy@y|>I`Gm-+-GS{X{&Na^@tS~t#)9vQ}Jig)xjcuq`Hg$SSGan;pJHR*LZv~ z!q~3yG@-%-H7px_fdw5khA-Xm8LT`N?qq#NV+kbz677JTCQZxgxio2ZfeZ7PBRab9 zQ4-}ju%flou5PE7T~a?9ZQzcUZjEBt@FO$Ypri>l)vP6ebs>?6k-Rw2HAGrO3%-M0 zEDTJHxhN&Mpx6z=GG-lottCg{h}uPqhk9FW4|C0-{fruxF7kSf#v$P6t{nAmii_i2Pee$^|g}T@QJetzASDhAPy0ltd>CLak z%4!}l-T#+E-d$bjVQ>sVu8+p!_YSjuQ0{tk12T#tXI9N)sq>B`LHTHtv3 z?>7XNubxLrGLwL;s5{%hb_O73yj8cki;mwt5O;`mF3S&|F|G@bd9VWHWaaF1HqNu&bpI>TSDiTE zqjtqwP{ywkd!=X(HzD4ZEUuAzkCFI)GhOblIg47-P2IU0tnGj%&)x=6oDhlyfds-` z$`T@6{l+gJ#WersnzQV(*LL$XuAY0KcMr7sr=?i#^sYDxkv2Z27lzBv82UT-VaN`< zYnO$pwO!MOfp)G1#NJ}{g5Q)(yQ&=qE-WQ}?#ch<=8`9!bkhe0T?=rdTY0HC_Q}9ifJmIy5CwkFrTjpI5;nkLQVcf|Y zUFkmo2B4qW0vuKF+18eX6Qg%s+hTbzfkt9aTj$Bp7KSfY6GNvTZk70gZltau6Qo=^ z2@_gzc2Vv2smI{3UzWhgehV&8)&8B>{U!#u<%SF@XfcNO?j;giF$YV~#=YX`IkM(Q ze_`6TyZnH+KXgy))v3_WFz%Qs`FR=JJ8agYf5D$dCvn7mf7=2h9nJMy^sv70H})5v z%HF~g+532=sb8j`F9d1ofVuViq&0=W@b|!E`n8srLSXp&VEX%7Uin{mIDZRI=f9Q%3*7%?Nepo%5Na1hF3ZXVXRLxgx_oFvo#8diWNY z^T5pR;0pez0@FPhxeFyQx`NF5;0(d8!_({oFi(Ol#i|HQ_24`k*1-7=TfqBqG3dkE zLvHr*%hjMIezRo*FMp7xbuUaar4yN<`m4TF;cK0laWu<&D(?;5Ztnbf&bpcbd^$L< zXkK#Zj{dVP%$j1^ddlLT`neV~3tCuvulBXxLYkO64}G_J^eKcNpNl{D-LgK;WqY4n zcWz5%9GuDKIQPAIZj^I!EL-GUe&)`-V?JAD=by4K&V^fEn`Qr>vMbL0DZf|VP1|p} z;76Am9NVM$dnp^N$$R6ypAD2bH^yl;cLOn*$I6e$uI0wGTuj@LKYNx#^Z(fz-^%~x zKLz%mWBnD;i>r)*0r=vtVjhlA_#myc{3-Q8GRVn{arD@E6%A*RiFGl;ns}5I#2X+H z= zGb^*U_WCExAy)}9--W45#WN{xi=OTV{J&U>3slB%{rUvn@1uGYdL2!5D&4Q>`5=s4cA|P7lwfl?o zb)e^9c`N;?)7NSHu>}=pz50Rq?8(EWJK(dM^!sW6s&Eqas?63W?!wzT)${(^tp!*O_{|BlPY!mO8jV#E?y*s$b>cDDN{5 zZqnp6qFTN$rWpG(ZwDj_s!}WPcL`XL-ke2FGVzEvcrQYy_bk-t>M$^On-P!bS3$l8 zc{T9upm>T$!PMFf#T%(M{HwnrvbV$#+*v>B^aNw@i5;Pfwrl;)mY^GeBekw?i#U>d z`1iH5>07DcA-_1tS}KmWi62RhsuFA+mh!RKkG4Z!D?9N&=yQcsj5hBSpRQbL}@qFEnQ?;MGxztz?)5#GCapIVLJyXCf_ zu4Z4aAo$Kdxf<6m%bRKh?+oUC((wQ@V+@vO*>GV!5>61-5 z*7;%g(mD2iE98YYx#`+*+(RvQNW-8nayO`Bard6w9d#O-{dOdiDa}@In0>bsmO21< z-=C?s%vaXYS?e?tx4jvzQktgUnfk4z#MNo$bqmQdKAMf)W)`-Zz5Yrwx7*;m$d1Jw zQSu*Md~d6mG@<(dX!H0&b`5 zihFDVd!+%2d;Qek*#h@A0Q**UZoO;(d#C@6tL%Y$Z2x zu0O?2_Z!I-jZWyM$rq|!z@`T?R&VDkUb4(;X!76Jp0_ng-1R4KzJ_vgx-fql+KVXv!8>7X68F+}4+m8=$GF$Wagmk{-Zw|b*4v52ldtI|z-lQj;biZtI zX%f1t6#TEL{@gSP-PsL(Z93(e6Ayg)%7+WM9B4AG#*n!^fm^+G-@AwhX_%pf1*gN zzoOD#N*wQq&BH5uyrLnd0>@7{K;LxR&Y`iXujO3p({(^je()Dib!>%iTE zSfs9xhQ7py_&(8RG+_8`mzQbOQWP$s5Mv3^8$vP6Fr~^t&%repJNJ!CJ(0H(%7dVz zgUL1=G?61O0$-%8MnCyBNY_MiF+P zz|cvsAWQ*mm>y6ZhFPV8(@XQZ{^S^m5IQ^N(cbE?)OZ~Ch;cMP53-#pIs~?!1cI@cZ|6FFH1orc?6)KZg5-BxijHCsl8Vt*g&AiO zpqbz7GYVrIU|X28d1qIMzCR5RIu2#3C7PYr&DV_0Sl%J#aqeJXQmmCDA^@I_CAE95 z?sOjVDC?op8p{Y<3>5|=fTLobUni9|5v>+Y@ppqvMspA~8LS6e?3^Xiwm{aT2_r6E zLzg>0r9a`BKyRMVXfUaRT1HnE{QDUyIBMS~i}BYxGnkYH5lCIg0D3!yQXlKQmjuxtSfeAONVsa;xTCl8UuwP631L zRTgO^f)s1t=Jtx`6g(xdJ;cyqLMuB0-kN^F$t+?xwoC+C8#^C1h`~E_I^^&P92&5MA-BozVC5-7PK?N`h z6xMJ@ z(3~DLIx}z#O(@7iF$K9A`v}e`1j6eQvjOcK?f0Gy6;Kp5n>g}maTrc$zA$ZfW(Q)LQPnTr?XsMExc>y3KrQK z8ox6}Wh54Kok1GQ*M@u=^iR6onVFx#;`GpdBH|Skpf&}Y2`*3=ql{Q`>`HFx-pymU z5?Mge_+BZi((tQU9A}G_cv#ECTq_pOB7A37VLbx`X3okLKzU+}liYMXPvi9$af_9~ zc4Ff;wR-?EL=LDEtn-0HLsl@IOhG)T)6n}D2ZyCY<`XD)0gnKtLPIm2X*~!WcvRNj zanySz(7Cf;H&zN6deZZ^kE=mU!quxtA33ZWzx@9F*S+XKq}Y$6$|)-ee%9nW)GAnt z(U@@Blf9jKtLk32QZ{yY3YajnvU}m2B-|MUVkL|#f z8bh>@h_x$nfLf0*-ciVgU#2eVzYO5X6#ZhZw2E+v&VXqiHXxw1RC1-JLedo&98R2^ zhfW(aFB6|5H0SX}o`rG^ojuGZHt9*HGQY53B9;Nk&_D`th=*XR2hR$be0MQDs9LINpymL5kJ>`cykQ8MQ&o_HV@mym@e z8g1hsC6=GpiIEhEVQnS74rxGY>WoW(P!SN;V@hS#H^N(c$I6ysgP^3)QL3j#j8c)p z2Em7=Pgyt$UY8e!u0F4vsyT|pK-@TFRS|))YAclV!aCu}*vmo`nSSbOmBF)XbJD$x zUU^WJt_hhc0a5ZC0*WvoE>TaN<40%xUMq+Wg2ZbB7-C382DPoXQ%vJh1EQH$EPZNB zQcvF}&IjU9N1ujk5x65x0EG>6Ku9W*PJJhq0RxGx!p`IAWo5DRJo-tdVN`=}DCJLa z%O4`Vb%sv0L_sKp-$kQve5v$*jz>l=qhFDa^o#Z}_}xFzFe^CHNj*J)fSpo05U3*6 zMaHK!&z{82%E-gTdyDwseAO)Jlg@NzvzyqYC7sflPHohZHt9(xbZQfu`lOOh>D10F zW|N$qzm41VfB;!U?tj@}bAGL9cV*B68Mbvt18x0*4qlC= zB`*m&qJVr%(&l=y_1bI<-7*M7j1a_1LM_D_{fVxE$0dxyJ0k7?YC4i}t&NHyy+bnR zErehGQX=zLS?6x&k%-4J(ezUtvgcW5%)Vy$O`W%-a--Bqh|Hr zBDGv%QMXHx1RxF(Ac8wcT`Qs`>0c?qGyz;9psQp^9umMbLGMPKv9|jOmEbaJ(3Y7t zQFnro_K+TdH8>$Kz|xQta6x(LiYS-J-z`N306-8B0ssI2GcyE0003W9xF{L~iSoby zgKjKrB(p1(g=ILl0OI|_@YwEH+fr{E-@k(80078njEVpNAAqlLHV^{mxbj?Ct}MP6 z51im!;(L7$&%#%@D_l~Q>#IgcMCGn;KT@FFuFSm!w-6G(LEC(fZysa93v$YBxh)$* zTablvpFLd+hz46?IqD^xAs5eaEF=eC*N(zVx)(?tRVQ`sMtYXWpH$BA#>n`ShRu=koe;TVK8S zzb`NK)2mqBCH^Ta>y53tpU-F@wqM31XEt4JWQFrfqhI$iIEmN zv;+gvI-2&D1jkHtmeStt0s<}cGwdp>8N=95g{@Q1#k1Ry+O$G+%e%y z+K_6CrR5!j0!G9Jl*?4%L(T6x#~?FtG(hPAZA{<1l%7JAB^Zmw*t|~mX!S7h$udDW< zUF2`QRsiF(hjax26U8hx!h@}6wP?pAxWBLNr$4eKx=cGKim>d=iI25){v-F!;|l=Q zz}zlrH#N$kN#~YqfT07d*cNc;$4FeOL2+=$E}JcJ3^MMWEcOh?cqiG)D|5-cy>cXM z#o2CCaI`5Ls-7#oQkz=OXr8%QfCxKcj zk^)+Uj5`q*46?d|@Q?THs5+)ZmSVzo9()x$^DWd3BoFkLA%kp599h$nabbjp4um;u z#wYL3LEj*cWo^fYqI`Gm$!y6v9RRYT85-Zx|MbRObJrWv`e1UBe}#KrO-H=jew5hN?f}twRi#l zh!pMjUFRhCk!8~hhaUGjbfzRnjc{2YfW_8tnM&G zZRGP4>5?xaJu3Z7V_$8w_k5kZa6hb6Pc$@ha6p}*-G~H2BeFJbY^G}v=N!h9%ofw- zKng1pENfI=D0`)AhMbS4=2WSs8+=Te`KRrjw*nC|PGmV0$Gbw2x>Em5V1)a{hqS2hRfqu>veee;)a@L+dC49FQczh&F)rp1CSZ4o5`2C&{7YYY&h|^O{+OIB zX}rV0iD{w2*np(@vO}I-i%lGS?)M$ev8+yHITpMkal$x`SIqJ3PMjsH=c`I?s14%9 zJ5J>{s*$EBhPESHpq=>Mc-}4iiwKM)Cvsy8TVTqX-nQksyC|Dwfi2biiCXRX|cF zF@c=L8cr7~r-wDJ@~@r5-|~r7?7|+mbx;Y2vNz>PaLHQ+WR)DjpfHg*-b{vA3 zvYA=x%B5pm{C00NA&g7A6ah>uy}{|DS(h1hxMT`dt>5Yq5-&Fl)=^ON1b-mBxu9%n z1<_^*iZ@zTzFAk+QTH9yA5;oVzvpsmnpJtBI7ZP6<@YMVV~|1N(((#B+s}^Tb7|4e z*Ut!xKKUc~LGA^Qu+Swb>J*t-sf%k6)Xl}%_A|oaJ0ydQ#4ThTcX3pqcp()ka~d~? zQ8e%`I?BOM7yzkTjh9E`cT#o5f-lvrmscr4izdaF&S=_g9tS*bi4x6bL~DTe^#t1R zNCTl-N*j&)7fZLb$ITUj<4p>VXhSX!yH|c2;#-x+-PkrEo1F7;;Bn)5$1)mLHsW0A z&iL@q?#~*#VeokZ<2K{w$-tT0sl#T-G^swF>l>~rrjFM3Z+4*E&2xdrfLvRJY#Q0p z!^JVbQ_9p4`%F{zm}=KNOW>9Tw!k)iahzO+>zj)#uvvfw#(Fz&|3dZ!spwj#hP1Bb zE8mfr5mGn&yf&f%l4kIjZeN{JEo=xYYcgY6w5e_X6OQRkN+E86%ZvMh6>X)Qc0zYI z(Ykk2zsDN295<*m`nzLF$H8B1g1@xGAUso5311K=+p47w)c2&^Jf_Mw#)pEdwL}_bgc@Z@}Acne^_f6FL>%)m8>CCDqOX% zy}0crIFy1nObdURB$fpy5axRL0&vpSI2fs$#dtTAu*m3NZpBmb3mz1ZcV8(F_4MMO>wb>Yh&vTyrB;?_x)FHohIG_KPuy# zClTj2CyxQ`2akQIf1&MyZF#n=5o)a;7j{G$N! z=PG8yL)dPr85bU~?l>+uh1LjIxU1bXc?zqzef~~5pB3D}<4f6EI|ew2>)J<=DQnK= zp+3C0>PA`0Jl^ly2Fa>Bjqn4c4~2lL2@?sP*K~uX`}ewvHH#(x;4!zn$}b+n(%W)e zAk*(7OR{yy!?+Q!rninkhDA!KEmgZWp$k?G?HFG5V_{*zK-U=LSmc0bsm)YOtEh@;G>v1|YhxuVKLz`~(sU@;4;Gu|!wY0g>EWx&FGUD9f%C&4!y*Yx7qh%;^`42a zYfh`nidTCAH~7ip#~{NZAy0}+t!sZbjb=|b6I^kOT*Ac{vLTK^hDAgLipN8ak&U2p zGFfZ?FIw=#N$KPmZCL$HTzl^(LLP439mk+pE{B@d*12PlVUZ}Rtchzb0u1}tcl2Tt z`qj~Q$15MH#~{NZCRLOZ>Ck4ahjOJ3*;jB+z$F8hTVrUCCT_G`ba)_{+>KSIuCYR> zbH2xV_aF8IUa_(@IYt;3#rWbS*;J!v_fV^h#AY(; zPK1wLgH($gK@4)v6XR3VuTT??HF7Hrs`Y0BWR>I?XIQEZWy8_G9@ zty`16#~{NZ|83#ZX?e24p8|>S%W*x}t6(5ag>E5Q8c>0*zB!}ohU z%P=I$B^SxokcJ2qA)j2p`M~+F?OGRr9+TQckZqA+w_z>H+FCDMou3?MCJ&+v4)BGn zO}xh-!y;NoGb{#^eP*3>kw9_9zVmgHgjGlM?ZRn{ja|yz5nCqphg2;sz|A zFKGsO7CD0&lFFER){7g+Yp+laT3(B6M^5Q z-ZjHWYa$47Z1S4!X@5rbJ7N(yl|Wj@ z8h|lOyXfh!pQ+2y(bDSDZOPHV2!jbjPqBF#kFk}w^n@)pHfEdr|9AR4tKBwB`HR!E zB8=k;6%Lhx+FN;VHA~BXG$o_=YRi`S&Z@{uN63+0>i=wa?%Y@j-;m8Uo8-VGsxrQ-x;Ke=`}lgMJ}{l_=m(JIL2_Z5@Jy=9jk@jE;7^grh3^mOSY?c#IoQf~cr_3piNr0)NE?vme` zm0!=z3IE@A)Vu1^O82MROD}?_N_DN@7y6o#MSetnWd5Ig;W0kaya9k8eMo-9ZsyCU zu1}5Sk};@tNYjo7WrJ5y<^p~2b4TpjOnwjllj1%C-d}E_0%l_>7Ho|EJMzskt<)U| z#N*}G`Sbp~e}>Jca^;%;j~xE1s#Q@xk;OJGzo0*7Ld#u^J9@JYto>-{=5!u?Wj!S1 zbkfYo?+nxo_Bjm&5A*M^{~iQN5c`NXX@ieHubpQrrws8wwjm9%#;6a%`{l2k8e*y( z*0PWG+ht-@L+pY2`Lx$4pRFiB2jSg%>ue6mN2$yU}sprwyB8)zEbeTVX`#^&EA z)SJ+%RBF;Swux?5tZ8_q{y}%<<2J+XJVXKK8D){^GRL(iUYwMPpzQIxKJ6AXf}zbEp0nD%XAb}KdRNg< zJ1-~$vaNoW55JtLg=NtR`ec<})E&WPD0J7C=+3!xxSVKzm2JGMpKqXQXFc^O4$S9$ zpMVdQ6V7Pc4ptvdfzK`|;L5A~?&hL&>K|8NOR@Le3j-A3%1 z0O)(FD^a6mHBD{fYb6S|ZWRMyEP<{CvDlf%mS<|~B>5)G+IfMRH_&*1enCYJ^Bx=6 z0k*D_*i^Co8tu<9Sd9{;(7GbDlMBN?aYM0g?DrWEcG)j?ca3m9uP!FeVya~Y0A(g$ zKz_%FQ?B{ZC(UeHOzYEkd_K>a6DhOxw*P2`XL6{5>k`qhk0yst*K>|t$#;`q`SoSZ z(eM;1lP?N6Q$*21bV+@g2K+mux)`vc|3?VhVf{iOGx>CIjz>lH4PPOly`B5Bj2M3L zh2B1PDEua0C~nP&bAS}C$}R%_q8=?#xjp5RzGpM5Q20!~h1{MIsx!TY%AvDN9BQNV z&ch7AC3Rcpy%5dhkjs!I`E#zu<~Jh6q^B1<5vy2+@R_FKh}ynT4Nid;t|}ay9|FlL znt1q?rwCBj6IO?c5-`y1a#GV~jtIse+E2|EdYb+#WNQ4A7W41c_br5{axTO8&PLx8*yr98U-LV2l%xSa`0~>hQ}zd|64lo`vk{z32f^&Xppas z@FQC#I5{qX%Gq0t*R4=3TP1@z;)Z$ci=1!GoBI-2oUK6TY?q$rY$F2b)-4RZZNwR! zZA2xVZNxI2ZA3nuy2Yv2jc8S`CGa|1fymh|4Ah$WZBt9EZW&d^xD}* zyxZAEgxuFgn7XYJ;hmR2?`$J(?`$K|@N6SC@N6TR@N6Ug;%f=SzE;FId~Jw|`Pvaj zdA0(1vt3xtx{bQ?n*>2$O5pUhBZBE`M$GEj36#Eez_n|YB<$Bl*x9d*(Y9Y3;&Z+> zMD%`bhykzLpoXGQVxaetz1BFa5O)Tb{#p?! z{IxB%>(*%WuZ{8RUmGIc>oyqqZ4#<~DuMjhjX3+S8O(bND6ZjFEC1Az|4r&VCKYkFmob8m^m>d%p9l_W{#W+Ge@!onIj8> z%n_c!=7<~A5_m9kAau-1>A~iR0bz4QhA=teMwlFtB+QQ36J|#=2{SGJwb^0{nImI` z%@F`_K##v!s3cHf=D=~8mHCCt5f#Jch?ik=L>g*0Jew2PP)Z>B&GQDdZR)q(`*k)j z^cO4UZ(ckdz?T+{i4*Kn=imSe3&X_9(z=izH!vPV~) zqx80x-9cqM=aH@81NwBAWDf_rUz#6#U%UcKo&ya0eXC#4cYGyoU@B2(D?*@37l9*M3=EU^ z13foyX$Sf}uf8rJt9}!FST~;k?x#Zo`uDpKrpEd2+{Ls1;?R)@od#>Az;dGE!sddB zbf@}Px0DU=|K4y=FFxcKfnM1rAqxs|sHheMF62*V3W zi{32C++7uw!YPSXyaLD{J*1PVuxo}E)(+e_RzqJ_6^YgoV4$2SHDm48rG0aU9wB{7 zR2)ZmDK*+u9}WTQ=;6}>AH5ZX@E?7`yQ@$!DTfLt4A^R+whrVfv06!mMt-+F)~_Q;Ca~j3RtxoZD<}>svZxv>0C0sfU*D(e4 z4uNm#W1;trH{>Jp#r}WqhwLwM?zn1q2DQH8l|(|AB{>02wY3Tt3>gy79pQVeq4g>o zZ!*rS0SVQ4$MirZkkA>{o{nCv5T-&+ahwaNuyCkGP-BF`!k+&+OBRwN!#z6jettUV z?ioFo#L8-bPzeq9)Qk+7c}jO++87>xsn2~g7pWq0>w}t4lnOiR;KLs$b|V&$5Csr* z=$lzuf+p}Ogwk6CQXsC!hD|w4XrjVN_KqU-?O}99?@>&~oa7A`ZWIt`W*Y`jy0LZb z%XD_k92uI#OzVWkdv9d|&knSYAT8foV=};pLb>>{{R&|<1ZxC}dudhhiq1+5NAZGX zWbV#O%h1_!@Dnf_96cK%m&qi)8x&M`1kanO@`u8C_`R?JV^M&<4@3j0LaW!7ihrze z1{4n3FX-uccr>yirDNKIjP6(xr4>?2HMJ%ai`v!o>NIqGbm4#XmIDnAODx6`7iKxz zZPl`9Bu+SB2uFX*o%h}7{m?5NkSKyCT5XLAc=yF%-*JETdcC^dY+{E~q0$;)InG$T zpec$}o`^WmIK345y~85rH@x9jD*mI6w=Wg)(eAfQ6+4ZG5(Oa9FXJI9oG$^jG*M>m zird!)`#qHU%auAG#rP`i2h0O1?NHo6Q2ym+yT4s*br@FzTkXAt|ZfM&u0FEp{t1|(A?#%?Kp1C4e6 z>i{;^XF4_mSYoH20taBk#hnfksi>WH3L3pSaw>7}lJvE`G!`8!zo(<^^1_h0>bTy8z9uln>peM^sXoO1}A zZlB-t${ubnZ*Q6P=P$iFVsqvF@}yq=I#-wKsi%JH(J%e{Pm6vcpe@rN;l(Gr4v)ze zYDqAtrJo%7m#zQ)^jh`b`TJlg)pzY(qLF@1eJ{W1t9td%-miYjKaTw`Z~CR;|6lp_ zTi?8iGROY9^1c85^mWRe{a^jkQ~kJoCu=|ZlU~n|uf`^cO7SLx$MFc9GcDLR1Wjc6 z50@T2Qr%y5=Ye~A=A&NepYfE)s4+^Uf;+vm$}B3FdMhO*z1ibLA_}K%oqT6^t~{Tn zW#*xdD3!0(6Yk=sJ!GujW8QZc)#lLp!mb==ce5WD%}gQTji*>afJHZ@CMk9Ds7-GR zIWqpUmw9_d8C}e_;2sD$D->SiR54y&lwIKzdg2VdOye1_E*AnKuxavQybD$HrF9!o zM!6K64*3PI{?A{&^m?Jjb9Fk^a6z`it5J_ThE-r-%aCXfMMOOS=kx#kZ{|%kb)RMn zO`*5k<`$+p=foa5|Jro^!}bREi|q-Xj{2u;zlHwgKkNSzBR%Xw2MQ|E&C=mi=8G+Y zfv^FStv-U4SJ}~n@_p%gtIeD}U#BkkrM8ztd+vT`!%or*ckcOox|vvn_J;eR+xbh| zLMrJ9rIYOyS|Hk?Wrc364K@kWDCc251+iDR-+8~CZ4P2*zrNO^+RAv1uZHz)byf1Mcy z-EO{I=lx^;*WCIan`HT~_0TJH>HfJrbv>Kzuy1&+Y4+!!5=QY94(J+Rxe*2c?E@2q zyjL-W0=D0#&U)MUX1O}zlFWKzMysEZq(+1ct%BbM&Qso*E63dJo!rOlSG@F}&d`}G z{~qz*WUi|WaR3ztR8{a+8c^y_e8vgDe>{7YB%eeTDG_>XeJZpO+r0e>RsWi;=qlp+@A))Sfx~ZAGW(oXbZ%p@X?)&4TYUBfyDw{4!walEe z)q6(s5iDSK=Yj@qq+-5}lj7qx5WB<7)w0d*oXV~t2P^0flTNJkcBn55mhs9*YtwM7 zGn~z?PRf@;c-X%fa37VTsPNL_GHSUIUp`-#Z?V$a*|dsfYp<{vE-1DF;CWFSH;8GV zvCTBG59rwtuw;CqGHI?@URKbKEwkmfP)7rrL1!O)Hh>+D2jnY3wJ?`@eTA)SkCT{z zwpKJ+&0Y<<)hAs^UZdohU3Z|`;&19WaQRNP!ZeyiF)%{w=;Xyj>U%Jyn#QoewUHDF zYSy7eJHLFwS6TQbZS^!g=p=W(3YER)gxQBio5IA}p%}PPkn+{2PfY5v=L<&DrV@WQ zsmw#4`N}qsbOpi?t@AYrnc=N1Tin-Qk$AUL{b%0o zj;4^+JyaJvgajELm&4F(s|6gT#t_uue9AsCb#ZD00cqj^8PL_<1XpQ0Fu8Eu z3{6F|5Y_pI8JLnC$Gq>cnx~eLj9;*&b{|vXS|U(J?rO(`7k|t53R*erCT!O&7vTe{ zp(8uaOxm%4Y=Gmh#8OrE1f$Zl`?klZ0iiE)z071e>zcF_d4-fpjj#_`J$f5qma1~8 zX9x)?nyqHf5@{R_*^S7kyJH8fuQBYnl^ihvJk69eTPtY0Twx1|Z5*qF_ol(&CVF`4 z9`hE68)bdxIke)qMiM%6z8hFI@y`=JiM74i95zGFW?p1r))H#M4j}+;CKp<$Q(g_3 zCPug}T{~Ci&n)zRb~$$aiTdLqxeK_d0caOCURR^UpMq{$Q#&@5McLx`f3u`7%0*e~ zS{%!_`OB$mO3p?uZRR-zIkL>;V>hnIh-59(z2~LfG99b0HN9qRK|d2r3r??hopviE zD?3Z-VX5D?X3;Fut3Zx@^oB(+Rk==UH|?$o1}=NsNB6R|V^_)2<>iD&RExECulVE> zyVpS{Z01pHw6V>|GrbCLq_d&(5MI1?MO~tL>(^mQJiY{Ngl-;Rs9)1=t= zL;L~)8%d_C+3Z4{!sxVK)SC%6O)U)SmWUCcyc46*d^9UzXUtLJb|T+o;$<8-4!cYk z=m3FGUVExCGG@mVW$~KM7+5+0+||Q#ibAIvr1E-lUTtKunaQiqNK`uw%+76IAuDPJ zY^(2qQc>XatzS8tJDg^}%sA33T0_E@1}bH;ny9G3{v%ix16k}2 z<9vYYR^=j0maV-sz0F1$dO~C^9Pgu%C10m;cZb9rP?j51N1}Ou_FbBBaU4Q7YA_s1 z(0SF4;+F;zLLF{sl9a_{>f*MzgyhHk7^8#UgccbIDoC#+BTXo?5VcNh07S_=Ibdh; z**xi)ZO2V=4T*VN@$O0RBk>~U&#qlRU&o!JZ_j?-aj)oacgn^!OCV^HcGj5QM|1Bv zRvFBlsH@h_qkaZ=(q+7AT7354jGxyzDWK*h9I|U$+LkaQnbEFL+FN^^_VY9E0mp6@ zV9T*Mn5>wkaW5De4x-y7ahq_m0B>{&^UC*lZfGwwn!W8~u+eqw@*$B@n~ z2tb38%CkAmkOJze(-&-=XmVeL1?K&8Ug;r0d^;(o6s5Y5Q~BK+{6s!P{T&W|_{m2w zezQ?%b&6ENC}c)G<;Tcd`fGelh8v5|xjDFpy;Bu8?lCmL-~xI4BGz@8ap$+jTr0Yq zSm9Z1_n^6$E~FE!V+e3_o!yKTzQ)Xp4QXw)_Na45-bKuTM9j@GNZX*rSf{ZMfLmdf zhr0Jgevh}*)U`C!w~SYZ_?s%+042ngjEC!xieY497Az?4c5lUE7a4Rlf?zY;o0>1= zgM93%*2If4-o-~wd49|zb)l$okHl@gi+t$k>94l#d;Up{wdF=#i6Ou1%fhc?=ovPZ zy{q#ezHD&iYD$|w5c6zqDt>T(#sjn4(Hl1WyK)C!Dy0)HlHfqlHCfqZFkzdycF*fsO9 zfB5L#3cTK#Ppj%I4Aa+)6f#aB-`HsXtj?Q#TJ^$re=p51+^0`3%+HLTn>i%6?M;&$ z@(qV=>q(-ZS4Flr2Pf!qE%ywYTU(jhW9&W}`!&D!OVUxnwT3hWF|~vwA=7BbqT3S3bNY)br)=|G=|i z@fiA9|5dbk>TiCdD|hqTIsG8`gRvk#R(ReNC*<)pOF`(Am@DozqqDnh=`WOAhu4N~ z_!n%`#g^S0pTN5k_w$`PD2{)dCJvW&8K`Zs= z_9d=3kcU;t!`6gmsemoc+brtDD_`U(pZZTGS_tF;Zabcd3cXQq1;?AYv9i4`6`r@= z;u$ZVQmNV~z#_xLb50+m9uV;s>oqydvfp(F#``vWE#?)aXvFxjWTx?})b2ToBIr7(1 zK;b&ecCofrs4Pptu4u@S>@;)57yUi2roiovND6DXex1P;Uz3=VS1ykXW+%h`NxW^6 zh?!>MjHkd}avo#kh{h}=G7Kuw!kU_bCh=`cqWzJq*&qiWWNcTu7i=POl((FPo2Y@% zjJ#cvNMS+z!R9@T=}UyG1q_D>!5ctZn-F*V1QB@v1MziJ?L$5b875YTg^}JOV+)mB z%s~_QHapR3+%E&)jma?JCJ{baFae+G)*yH0UG0KI;&pRQz;zTnJl2O*aJ(pXM#u>d zFF@JbNQlVhr$WUwdcM0G0?fF>d4eH1XG%SqFSiMZ##7?%J>>cGuj*r5y1zBQ%;Yc8 zsyXi$G!k$1BP@Ik+CP&pzGfqb1anc?Rc};N9^pCvN#N7~;Kuo%PyBF`iNDzfdb<7E zE8AbRSNol;)DHHu{-9g5)KX2352bMaC%Bcm}@WP3K*&QY8SjlN{SOR{#Wn%K4N z`qk7o+C+Or&i(l_A53o#W0uL>E?i{Z#UP8j;-H5Sx6E1pkeMI6XW!;$EL|m{_SkVP z942RPEB>#%b*Z*zB2WH3TXyHh^Iu+_7q7*drB)`)`{?6#O6Z?+RdVp0F7#`Ed2c&k zOm64Dqh>%PhcYn*8Y_>0U>Ykpx`NTV=ilB|Ec96;hw(2Q1C@xw3|NTGnZgI_pfV(` zd(d%y^oL6S2X*3K{J}rh_SN?B;xBw=B~YNf`c8YGFMCM)c1pc@@#h2)^4rI6hrDf2 zeEjQigrWPo(;wFyvaI|3am!)Oq0HN-sgW2Q@rN1n1fXMWHqG zi)=@nlS(9t&tbZW?Ph5H`ZoXC}Epd2_Y)}(_T zzqttZ&9o9Vy<~9-A?Iz&fnf!IS8nb%;#KWG_qB$5Ccr`kKMD`he%CwNRch&T#@nLepO>+|rMDLcO5 z$>^JzB{q6fN#csZ(|FNGnseHpk}@Qra7(umk}at=%a)jn)2GylnxS|4IPZZdod4}i zZbbu6i>ZR6WLqTPJsEzY19oyL%nm&(k2+_xC0(e>pmK9vCe$1i+UWB=?GvefvM9}@ z2zU(UHe9iAZdr;6$>?Wo@X@G3G)!^Kj|a>-S~X(j%3S8Xz+{% zPt!BVDC|(&^w4GrCobJ9hv?3H`G?*m^af|8OXksy>ebKQ7jCweUB2@D*;%78d&4>m z_(i9EPYM4*HTDGgrq_x8l)&;h>p$UvY-AN#`7qZe@ySGTRLP!^XUh0@RQ|w#12z?g z8Rcx={GC^O=bnefL{o7R4aGE+Ur-;?>0$Su}NT60P#?$Ap` zWftKS6aj@rH!Yn+o_=v+gKM+*eDo1}9E5U+op6f)UtQ;=S0V#KQ&}!t1EpqkOw6nA z#V-?1MgR)enM7IuzbPHRKe4Aw#7SaODg$NiER)i3f^|Mn&_OSRYL}djYb~~cb@7l7 zT=HItGiMHOE8LM>#t4_HF(Q1uqP;BT3m}M^471 zY?*~zY9(VD_8$G-#!^@SbjA=~u)6qO*Tgmv>U#K)uI5kschvXfiwwaBueN%1pHqKd zxR>+2Ow)Ja^wb~QhNobq`+M}SKKPOTLqzp=?tj-`o<|h@lk&Tdeg8?$O!c2)1nY+?h=SfSj?W{|O}+iLzngX#65$vkYBR8D z7UV@dF+vyNa&AMel5!kf-bOEJ@Eco#{!OvL+`$!bK^qmT!bmBS{8pu;mkdK>fMOZ} zeBmbU0RnLPm<<6ct<{tD>%ID)PHO3Xdp1_8m$86YQrgCQ63C>`mAa@k)VVC1Hhwi~ zm73{7kj2~@r7_NR=~lX))-X5Ak&3WRSMvhj%O{oUr8J2^b}$B_xj0M>z7x76g2ZMv z+w;7!y6pbus`nQ%%Dr@wkPJywY&-KQy@Kt;nwyK(C{d%VwDkW!##?-?a-|N5ofv{? zeGtOra~p~_+@{cd%@-d#-TVE56t)NdZJc8Slp%UdlzmBOf#qHwr3C-t*Ep5+Qlpgz zkY04kWML7|l+0;-Ft`k*wP&OG(7`2_UP`F5K2pxxgDc@bM2b~A0EE<9t$$V?Mr~;~ zj57&VVtegi$ zDzTRvTe%qXHPs*qM$lszhDyr?+WaNoi_c^J@!v|vvdE#PSQs#k8G8|~6vg)H${5ZR z82_$uA68bSSfs@ZOH7JAi33JJ*TMfC6Ddt96_CS$<euB+5KTh9x#S1ZE{M4W(ni%}b3`9~wc3A@bZt#X8{cwh1!xiJbHyChI+V(^N zW{lIcl+^=!6G5)diVI*`c0J-EDIvQ^@S+f3QK-Qdq1v%)5qOsN63}7HzJt+Zo?M0l z^iH-N6BPbziMPh8Q<0RJovV}{Q!)~Q$x`7M-LIiQD5QXB=X;|xGZr+i2*V@-+SpK3 zx$8xycM8kSC8BpFSZ1n0m_Tpxx!brPD43h8i6V{^=~S{e!E1!D=Nx}ux7y#{K9vq7 zxp7T^%sDZP%?71QF6lashL`v;qtC%P{0Bj1O~UtyxM=7h75_q~d^dE4z+};aluvrF z7Z{l$Xv;_X8PbB4-o8Tw1VJ!zQ6)_Xss?n#R-jUzG(#;YY4Lr^1(I|WmTG}vl!C28 zWkxt_M{}NWQUY&fyHpz>lN+WtSz6sgRNu)&!g^vcN^P($Br9AX(!;{2j4?2Iq9j6F z<#efglpx~qeLG2>-7OMH1Cj@tU?%t)gQSr6;yA>GiBQt(odQTG#i(82P;8*3neYx4 zdQzKxFz~=2h@hQZ^C^vrcHBs9GO+Q0DQN8oV`~z%F~$HPoI7!7-K4>=;?5Zk&kJMd z;Yzp|5amga6L@{zGfuh&J3^wZg!tgY(Zvvb;Th$qEb zqOH)=Oi)xlb&r!nYz{`Fg7_uL3DiaKBa5VR`Bd-`0v2gG1BKrYDNg`E4e<+Uj3$@Vxi#L{$uq;%EJi3Nd7o-qYV z(G(#_CmQT2q=e|08cQOvFrnRvc=S;j7kU|BM?KX~?MZt0)B}i15{y)?U@sdi0i09~ zc4k#DRDo;o9TH1Xwqz76UkFOPSG0rza1c<5c2eFwk-o@HI3hImw8NWQ1II}jq=W=z zn1rXX?e4xOR8OqP!*U#j{r_D%{0K7x`W$pa09v&7;slDqJvGf8W%Fj#R4&n*0~N*quwk60FIOD z#M`-gX37v#B zEvy+&lDKtIJCnk}iev^2P-(Y#*6GL`S=P%^xuUy3hvTF{u;Z3CB^1nQzu^3mpbAF% zE9#ZXA|F*Dz9~A)YCLpk&*g%n8we6VF_Oa1_cl!m_+t!dwZR@hu$x$tI zJZ)4H@UpVs%ghhwV+{)$_Q>`(k)kWqxLcGIBk~9cQ(_{jWrS-Kg!BYbyXwYHx&|vi zkr{M>s%PZVrV2U%8X^iLi8>fJDnk=Y>~aQ>&{AA@QnW#3QUk)}6Z#fAN{s<0k>@>` zChwQnSZlNqfu|{;6QqwOUc>$KM_@h#puWVY;3oKMVnHRzP?QuVerUk~C3^q6vGGuz zU~xBRbuE?OhnzLy+wZ7|JSegUT88ql?<*Zd9YgXKA5qc?aFDg-N&B=DB~itYavFL@ zn)?XuwI&&<_zV7$af4h9NVIc?Vyr3^!wSm2Kdev`Y)~2=4s_5@%F%_#L=@%PH10ho z-W4}M%$8?XoC8jBDVI5tt(x-=Qk8pTgu1a;L_(0lNHD|eZK}<9PT1eqOT#U&!rW*K zlZ8u2!$;RmAf*%dkXJQNEl#{9PS)WO!W&duYbL$QT3=7A{be!T{Bh$n@4AHd$;$8- zN__+mb8v_cz$=4%$mk9?aiI-q?HVSs${R;w_|W$}ywJ#zGDNsdJWa#DP>@Wt=wH%B z#2GcnH>Qs&^)SLW@qrAPqUvY!uCioey$HdaTb+2+O=a7}1@78_^j@?&q#P0tU?c$=+Y}JdE5kIj&PP!_>l2u31#x~M8@tZhv zG)keiB025xM67L)fXn)!YrLUPW=%Zeg-ozlMXCo`PAHzZBo4I;ep5U}N!7$C*z#Kn#@9F)sb)okFap6BFWNNON{c|j#(fO4c}O-g zxt)w^sTWmO6P`K5^HS>_qm^rVbDxAAB@fs21foi6;uz+Ft!MiTI$=j}Hk`qRYouaIgf(O?or7;KA=TDX(RHP5yp%w(Zx^wh!w3ws< z_6cJ=Yh#NMDkWv`7Nj8j%Zg6WSwUm1;j)$CN4Yb(3sF)6Z(s{j61g59EH0;r^wf?& z3sTk}lea_$fiw{sfI1Q<5mK;oNl}FiTttCM6{1BC8X<`yK!|e=9VWCVDphoFARcK_ zh)sdxYDtu>*8%|f&ecM??>ogshB08`3ED=4brn&)u3R*O66lh{q@+UL;vNJo^nRx@ z^n#8Tgq*D@U4R$RgY>WgJV_udK^ug=*zqD`GizCTFAp3s4N}pAw*rNJbsH!+S%*c~ zSu(eh<{UCjqKhhFWXUo!XuD1?_U==I(U>9|_KGWtoE=Kx;G9N*TEfcsS)@_3wKs&; zGSc};VZ22q99UGvlryh$R74tzfRNGK+?hVp~4T;mwdr z3g9gT;R`-MOo|Ek|1ctqbi$6;-t3_*(wq?-GpO9xTE4SA74jGHlbvDIpD1aAx1NL@ z53dX@C?f!)Y>;!U!L6uwY-;nYGfGQd@q5uE~C@W}%GAlRCzze^^Z}8imx7-#t z@CT8?Z#?g%E{@C2rJVCwxLNl1Z*Do?R}N$>?`0)1(J_!k_jqGpE24JpYZ~3R``1*s z-R)x=gBY?y%($xvOvG~lga80&M(l{L0Ad>m*^mO?oBh7IyRo?&7^IBRxq)6lQ0jz{ zjQ|$yC`tym?OQGz3GO!nuz~_D37Om4a>yVkf*@34HQDIbwU*BHt(QWUQU0-{zL-%1nFU7Dw zd+0~Pf49dD@0Zpwv^sV7j!}O8RMlOMMF42YGaWlVI7fBU_v}$2uoB%d?UK)+`JbeD;C+Y zU^^p5B0!=Xav37K?P*)@;gmEGutYJ^&Fx^;R-0o{r?yuc-nO{>mb*|9MNmE~ z_Xm_|t+Knt5gql?*?#N70>r6Zly}z-13B^9L}`uQ*ona&w(kNPGwRn2{zk*6L7;TI z#lco|*C#5f0R>iy#!tC~MSXI6XU{(OW0zs8EzhSxv-{Pa9dF0(+h}M%^jQ{Dzn?SA zWWZhId#=kJJ70TVJ=o=te@8gq2j3UN4+H7G_*)sTLvMEW*B$%*p3%1W%<-jNZ7zK| z)cp7O0fBN(4r3C|+=mXIJCp3?5a@--0*TkQ0iX)x91RFVt#onDCAi$siFfR&yRoA-NBHY3>d?QaM#I(Jn}&Q@2?&)P*LZm{3R&C84L{19C9>9C`d5-#lTPc)0(z0YG2 z_HA@m#iDW1oDa;IuV(83$L(Y?Uy~9Ap}^f4pq4lldRoI;<+5<*P@a221}D!_9w5rN zHW3mKP$$h#cPrdlbT;T?;Oc!`b|2_CW%aNP(ZaRtU~_WTcm&^Y=<>aF2YWz5?gY=w zq%IVai9~xWS-1_!DD?IWTt6zEiC_Kt1@Yf_?1vwrK9G)xs0i*n-z+P|-l7Kz%M<8h zGu!=4jNdyuPk8H_C(+S_-^$IViW9vN2YY*A24C3;aOq|beFA_&jquP*Lx2aCKLtJm zPDdzTWZpk}6fCz(PoIdR20USB{;4;ipY_rD^QWGjOW>V9_m0+&!UrxOJwo zP!djF++b>A62`J>bs71Y)?rj4x@c#DjKKS^ z@R(Yqp-&x5D}&)_=9x+^LNklCghki~^kKM3=%APoHEB4-3jh4xk`48f=`;OL&MAIy zJVrdF)*~$K=#^9R#`zQ=Pf66#L{ff4LedwQX?m?DwF#f5CJItHj3$v&w;bgr1nCRx zbaepz+R3sx?tV5|EfREko)tJS9D-xO`~ULtT2R;|IDMqec=J>~Dy<@@gu3JV92t^4 z@L8$qgiUWpr2Xw>yvorBc4PN{5-uI=;{bUN&+Z+;dX5XNMdLhV&BoN%_M z-r*9478sTE8HWCw!*uo0c?sCc=zU6yi$y1l4k_xSzaIC$$qpK7?Eeo684lKaZy58V z0+tB2JlRXP9hr1#hz_Rc1PgeO5cR}3Mvbyiu}b7gT{9k>QKI|Cy6X&K0g6bRRY>F% zpQy}e_0u3P-6pna2Z=;=f;{4|=wFkHD2v(2_hiS-k_?5D4OGGbzdK-RzHT)7iW35X z3|MSRyVZM`J-Dw4W(0>f@K(xdD4TOy$Y!4bkr^j(-+N7mvTNcV6Xprn19mS=Mi^gv z3`Dh1^4Jc_TQMOh2|FMj@rbR-0Kw=?s4(jGnbq5{i8y&~&;jm~;sUO_14~|clpq^# z>Rv)jM1#ijYmV#>x>0y3;gAt*1=)16mJ-V+N$3`~eW6=imB4_$cf(?wM+4_Dc1M;k zvbE{cbMgW6U8m~ufJFH;ya^2E=+@H1D4Rw zF#dq$n&ttc@x1soL&sn(X3L5$F+%~Mx@`^j_|R1yFf`x2SSO2}UU@vC1Bh{85sE6c zU=|Ol?Y`hNUus&1vEfs^7XTB;3vX~Vu+UqNyrVBmag^@@TRH_JiW-pObqza=pyd%Rc>m^|o03OhXUx@xcd(GBL+18`(OhMRkR#A85#o%_oJXr+l z&Lg?rEn)(atdPPNN==3UtD7bGx?SNdy{&wK`0wu)%~a&dickEr6NLYwjya6jL1yqdyJ z;M9oEMmE=aND-xM+N6rW1-^I4c>rk?nFWz0ws$cR=P~R zqrK>LHX$0A2(z?uWVRvR3AO@QBJx6tuDEo5T|;maeF7Wggk+h{0jKJ zock4CUt9`5ZC&Zx+TcmPJGD?ADEL7Al7+w(7ER5kLR4%myUCNlLC6*%xF{2Xphr~$ z29LHi-J7cDb|VW1HK&c9Aee7SmY^k$SigKOjES1CljUXfI`#IO9GK$>E+IK$H$iUE z7m9HqyXKp&6hysgw&WLif*gvJ*&p(X{@bZ)>v{thkCv)CQ9P#J0umPOC}?hfZ*sEf zFTRI+={5gQzj3*_lTI)Z@j+Q1WrT8j9VXY7dN2CAt#`4{CSrUFZzLS?P-&BDaV4lv zuUy}{iAxi05WiTy7wIGpzY}O*wi1m_hg*9YE%heZc(uS<%crl0=d@@YGQ4JTn6+hY zUak3(y_V0&%-J#0w|*y52smCPlT47)R;`(3d$?4}z>{vmox!*HVo*Y2f!?*Ge_HVp zE^QH9o5lx=Yww<)z8HRL7E@WtDZbjhU8uoS7JpkV&g4ZqrtRYse#*m?{^_#Z{x_c% z@6&uJDvT!~z)0YRkCp}GMR?QLun)N$lA5J09Ot#-S)^dR>)ewpFq@>yVtUdFrO2wM z`M2V`i#Gj!^CGlivosIqf#fb-^A}@=#-zTftD3y%GqZLrVQUf1s1t4pmMO^^@hey z3n5Bnnb)%7DYI5!IQc0PaXXFMY2?;LnCg2KI10hk)S(N@M%9a~%1oiWP$g zC~A%FjzgZ@&afc(PRAj}-|7GDHOFYC`t2&;zMwNjcB~0?b6Q@g9Mu6g$3o7gj;09)G0i0mW@N-RVovj2W|-F z$jP%bw2FPMoaV_e7kp>q5NRRD_+eQ>wrYabEmJ}UoNdNlcx)jdI4H*IDeNABOKJa! z=f2woG4t)!Zs8UoUVPIkmYi8Ji|cz?PE2;=B;O)a9TRC*S&gf(#_&!+9!d4{JS{a7 z^oY1v*PDn*Ubac>n)B64J0Gvq@g&dZ z%BE}>i;ewY$-F2T;MZ*K%zK5gx4_9$a+bl84GQcWACOyb=XZk6e8AGpWF{)y^t_gt zr0uy>zQ=nV^I4CXFCO2YlVg!Cs7t=dY-@-4Mj@fu)~G7F88SCYtLIBjuhv z3>ld1SWOuTw)5S4^eQE?)p!iu5UolhQ;*(TDL3U)}z+emR6gVqo>xR)^V2* zt*)b6TM7f^JF~T@Rkh`Hw&keY$mqzI19=liVZOZoMwCaVC+pjj|M_uRbMU1O#M53n zfKL(>?`<=?`zj4szhOF0o9FPmE`C}qszMKBrw?iUuc|_p-KJw|hC1SI zs(gHAhCV*RrBqZ~)6=-+b!q+Iod-kHrP0yo&fxNNWW#i$<=lR-n)1VtF|Dvc{%pCC z!vURMT2@_0RuoJOCR>EW$Rv6U1>;`XGn)vsD4E^pUW4TWm!mR<%W5gF06Ul|LpTfl z{I2pHclh})>QZjzI+%7XAHLQ$M!=3*`SHp!4DuJHYiN!cdfePb-^2_|$4%7az|y^g zUF}I;`Hl*aCPewC#G<}*6zENw!OHD;Y8d8sL(c06DSn_(cLF(#Cp=ZdjO1oK)y=xz z=M%kIj>_$SSCJi8i{zd!m0&Gpwj&EUBIROm)%`E_-~fQS)0s0MK(d2eY79icc4-TI zA``KwRD>=#j48n!Pw<`)h?1ScRcEgoqZ8IQP z2C{F=hv?3&Vn-N9OHy$y0wZCdPTj9o3MCPdvP#aZ(^fI-lbmHUhNn`31j1RIGXqvy zV%XPXfQk|@heGSz3Ci(g&bE=Bz=p8uQp#EV7!!hWgy1|P9f2YmySWrntrA+Vt&$mx zz^siyFs+ZmAbbmP%Ep-Fu^b{L@mlE;f-SjaMd#>qboX>-&V(VpcPivz!uYwI>J#p= zfJ&hl)`~Xe2#-_l8tf0ABHhLFHtLM)PLu zZzHy^k&(($Yi5$6guZdfIx3G6lxH1bRQs!nEfvz9x{i4U1nj{)I#hq~W7$O|3L3_& z;8vohrG^8cl{lf%0!o1%F${nZgVu3iWnWALHFNd(GrhiUhNh->hCfeandjC4{BroM zf%Eaqg>L&jY(9DS>K)QPMnHbHov=>!nRVC55T7Dn$9{G>?6BWm%)x2j2q4C{D&|

w z;;26yz*47`A2!}SRT_eHt72#LLa~XTsU_9u&2?t}GpDWnKdS!ix^DIz6RltvVpNJP z9h^Iqk$Wld%yPW!>eh&8=lAI#N=-GG9U<=mZIW|$+evhycDVMYGzn8oB56O>eu4exnQ+4WJB&1wsO_5^E}9jx~(emvdL%HD}-L zu~TRoMRUJ+-Rv`9WHlgBW^H~BcSIy<}?_>sT>{>`7w5R<1V8{7z{95C6m}vW%l3FQM1W&zbs6 zy>HHSHbaB#g#iTu(Xa+NE+S602olNLvVUOhmXdi%*h|+gZ{rp5hq^X?x~_ivpGF*^ zYDTVt#{qBxX0eFR4N@4|!T5mB)H6?sox1l110o^Tco}s;W0M5WjJo-9Y0=mf5a*u+3&dmZO_1;f;Gg;w%w(LXPvJKMQ)8a8%Ta5`czSaR53vv(OO6wX>NNC6#~6Ln%4 zJ^Jy~fLh>%h`_;hts2a=s8@;<9vNV2C|GK znFknRWv5OL93DAKxl}3K7oG2w0ZL!;P8e%HN_flg!dH^*MC6 z-}=B0flOCpToKw4Y|j*Vt}zs50O|c;Z5LEFwC_aXs7;Tfndz(abYD0dJ~)b?(-=pf z60N0Ha*R!B$@104tu9oX?Vq2$o%*Jn;v1%>+$bafa7TGy&tsIesYJ-$C*6|GnQ8GT z?A+CW-CkO}fFUh%5JG@nF`?0{!uCJGQSGwwVlKU(uGQ=P(-t9VsKDMX2&g7J)Wl<< zViQZjUh095)}g15Jn5Ts=KA>nT0o`0PCb8SM?1`&J*KDq(m&?R*m?-G2d9lT`TP>l zZGZVN(EG;~I2mQUHeQRTxNOo!_^?QHPTHCrZR`$5+C85(C5Ics!%_N*r;YnzIB~Yx zvmcEt;iJ*rX=8D?QPupk);nz+4nw*1xLE*w7k{`%a%%&=vepR^z`KDZ9&G*39^vN>_4{ZQ{Zc!a39lNxJX4yF7eAB(e8(-W zLC1fsfs13-m%a-Z$GARyk1QV(4KWNIj^1{L{eHjYo!+JXhnxJCT^e<#UHi|DFr)u- zJ$sQIL()%?RQ3_b#z4r;q`MN(}IM#1W~9o2?xnBgtAGSjo$xd8u0Gln!+dmdnRzi zj5P_zc&bv?%AHy=!Zh3OU>&K@=HuuA5zOA7N6$xO^br5)-}{0Xfmb<7GmPaO$Y?pY zNB|O&h>O1fUk~9qf^%RYTxkq3L4d8Et&2)QQx?k=_cC`BHXpw5AvD+?Z9fsl({Qc? z6j~+qcXp&|5(7{gtvzirmvyj_YeB7~WqtYK-f+e^{lnc%KV5;pUr4(b zzVLAu{&zSk!_!p5Z22bVfr(1V}tP3CP zNe)o_9J%ILZgdt?F5JhB$l~MT*m7OBZX^~ zFLn?S&yC;WF(rJtVqV3C51JMJZ1ERl-{E!^_(Stm1NV&&{|kROraeGODA( zNVjbR8*qSc2$rr3krIqRg-UC8_Jj&k#{PdcXwY9WMgaoa2obm;P?|v8>|r5j5bWsT zA)C|a_E1jJDH{!?Bb3v{3jxl62qORh$N(1203i1n+h_o+4Tav@d-uED+kUH2|11!a zAR2HKQ5PvrP+GD!_pn~~+x9R`NX!93LQ%KXU2Sc*%XU;-SR0D5@X7Xx073ggrys8U zUDUm}YyYaT_HV}i!e5Vl^=tQ{zq^wca+GH1pL>3JXU_XWv6cVx`%l*%YPDqQj{mR8 zzpQ=AAFb`!n15Sz`ub--*SY($cJX|^SOcsWvgcA*=BwEzrNnf_%#}GzwW(Z($Ax@`|p#_;cwx0`fu}D<}b`wW0?Dy!sWlA z_t`39mfUTPkOHM+YRy8LniZD6phC~YgUH!=85+K|XN0A}UEv@DYN8Pq#RQW9EoF$q zmncxLh}efZZS8GW_vj0I>(P7mxgR=vpFOYjO>5@s&$qB1SZa1si5h-xpUI7k(5N60 zJ4c92ONNI)n6`MKWtYl2ICMyR$bf!rbHr6{hD;wq8+||$nL-^gP>omwwycGdGmC~S zh=XHgV`%31zwQmY3g!DKH6uXDanHg#g(eRy0?=+PZn<6RCf(=g_-NhzL+&+so@}m4 zn!JZUwBQ;H6@VAl2KtQyf=AjDxbe)1LK2|2f7-ewV3V&xjIoZu{%1)NJ zI+%Qp_Hw+T!IhGf$0HyGUe0yUWqjH|HSuFcmMGVxsj9@Rt7uYwh+vv?*K+= z_(RLKNg~iT5ci);x7Pjiy#$>JO*AEE7x7{X9~-k- zp6c!1&%Yr)84H6vW)lK?oYP>2q$7%eUfv3`-X8KbGc;4;gx6G;9u;Lt}O6>+>x89ri49Uvq^{q*GUm4*gUu9+PT>ac(h<3 z5tA}!PBUXfaF!#0CrA@E?=r$xV$wU0B`Ic>P!o*B8mIdvj;zX)!|Zl?lOCNSIuJ{&0|fVq8{NJao88w=}_f}GPtv18c!`$HA_f=fl}D!??gHbh)|LR(f2EfV#%OO zbz_4%PB5X94KAS`wt0g`jpbrEC`zDg)VwC5;G!CvG|GUAU3Q0!&0{vMPflz1=4N?4 znE9Zr>~dC9F|eWj$3>i~{0n$QY##CPb+b8n{+Mj#uZJRcWIV;nVgrfKlZXUk#5*Ho zGFSA*`)?9@#%Zk1?DdJcrWBG)cXY&u(cu%%Np}M`=|M*uZ>QJc)S>&!*Q+h#SSl|bY)D@77p&UlW^Ormv>s&4KSV+<#8r{T?=8-V+YaBaJ1hUsHoVl z`F5yQ8Y?p5s=4d72W>2mI`5f|lKThOLD{7|L86$P1!6&3SA3bDCgBh7> z5pn0LIk zp~IKQf|$7nf36+M
#v+{L(rAcgKOh6_2og+mib}=%8WnD%f)A4V=CmYeD(XTDu zI$FurCh0K7(hSS$c(Y4KO<>-`9VTh-{m}YcDP06T>@-8`Fg7V^7Y3x*(sC29i5(6Sc^f32`E!o4Xt9dO)eE!N8yq_jjL5k zV$OkD#7(wLz=z&}+Z;!9qr{gj-Woxtaz5Spi{U$N6yUi<%x4a;Uy0Rott3IKljhoV!F5h0facuk?PY2zV9L5~oll9}7r0;i9r-0;fHb^gjC}r2K1!%l`6|vHZ&Ht!kUa3j*eT z1>Ald65yJvFU9;I7uR0O>!!fxj;_zKs4a$}*O>8-jDSTmUOS$9EB~!eFge@E zxV7X~VHSBeOw%ib#;j&oXzkJbc2R_<G z=rr;Uxuc{K265Rk#KEU?msq&eP!8>#uaduer}<&GQIgM2H6}oj-q;(*er_>VNf8e1 z1QqV#{(D~fPB=oSD%SE&Qs8FBW|$}kmY2~@X8(7#2b8OH>}AP!-k+KKoq4@%CfYv9 z7~n%{3n$P6L(f7h>}kmUB}$H>)xGO?7 z`69$&oqPT9+XRtzMx;5yuXHREJB@e(FQ;OZgk?RW-lcn0&(5vQm5ukI8ad?TJza6? zkC4o}^O@Dm@pSJWc-q-H;)w{fKo%Jue?kR9>ddj}EX_yps0mc4Vv`zeqOc2g_aBR? zu-2VOpKhl7<^G#~>em38MBQt@1feRP%vwNG7ptm>sAU6xah%@UR)=Q3Hcqd8U&`Rp zb5mfu$MaF4_QeOo+v21Sks~g369$2&vwuB0!562Z^htz?`Eb2B6gvyhE)^+7^w)ZW z^0b!0)m0=w&TS-P%E2`Js}&AC4m7Txp7{HGM1R~HSMK}G-C4c0(R}0#xyF)j1UH6l z&F)$ssdUvg8P1!R)0}v3{3G8eM>^R8Mm36bY9URq^<}U=h}O|N_wEVsGSkpkqBpgi zsGjijfsfFTk28s`;2__dB%s}yZ^*E1n%qKHbR%i~kRC^bsff)x=GQ*Cy@ylu&-<}n zDaA2l)a{F&6MErYdX;;RgS~C_P7htVd*81|z5A7LY4dsM{@4?7+T`z@unIv(qd>6g zhv?D?b6)CwCOLaUZkFCXs#x4>rJ=Agv~Ta3ZgSDr7Km)2GeME#C+$&jA!i80;keuSyc)w&ebwSx6(n_RmLtMIFK1W7A+#_ogVk6Aq7> zdiwD;Zbw|Vyb);pd-l;^d2$7auz*@liX-DF7~(9(gwz4xP9yWj9rFJ)z?^hrXsfGr zj}BApu*$9YgiwWVaqcx2=?_y3E%q zaZ-t;mZer95ivu1*wj zDpg)s=J{=#6Q1AduPeXBJ5w2&189LTI@cMQ_0AF@6w~LLnpbAkVvyD5Fg zDdyL*tu(g8xH4Y8Qx^)StgP5nzMA<=e>+_uK3ctAx&SU>%32swya`V}-4v=U=b2Q5 zrz=mZpUqA+BR{YHRV*3TjdjW|e8)>{oGDVaxXX4m|BV!Csa!8Cmr8}q$~n#a{70-# z`+D57YtM4T_m>Wb#T~n;>7Ztq@>7_W38;D?>Ad*#8GmD66~07ERnJc+;w-m-rUbxG zo0!_>C1T~X|L@Y{jLC)7CwvCu;FZjNa~Zg37Us&;6Z+K=+i#= zT|A5rCj%Aj!veE3W#nl#X-d$$_wUZz(DUOXfKztT&WrJuKEh-&4%cy#exKS-gK!kr z2mvkacYb>QmS3$8Lu?<^iB;uM7Nn@`{`0m+F9j4z(81|H))-9vYx{?WvAjaxOC8|Q zy`8*}dRugfYMNYcDJ%6R_a15e<2pd^BfB%|lP8*!&y8`Zq%MOV&ev0Z6MCym1$40+ zc;uarAB0Ko*XdDiw&_YanAVebmx-ymULK-nlN9wyqKrSA=sgW?Re>^~*01_#AlG|` zdYhhY{FZwt8Ir2(difZ+pN}7@odpqQz&B23-dl3xB^g)Y?ciU)OFfstE9>ymtj^-j zz3qHk-Kh=#EC1ai&)<`;8GXr_<2|kXZ+Rfr1G*Xx34T-gNk|u&FQ00LpHhSi^1zw8 zIx~92 zM;sp2BZa>+0+@XJo2)N=)Q_FGs=0cqY`gDw6Bb=8BC=CYd^@V`vRtQmG+j-6xMY)M zTW~7%yx9VwEEr!k@vDVQ@!oN!;>EKKg+(nTiNF6&ofp zsMr*62i0EIXZV$c2fGyK@PNx@CUH`I#+aLrcc-2OPmOR$bHzUNI`>N&>r8m+C+|o5 zH|4u6U9O7>Je(7_`SoUh_;d^RoEA@GG5Fgi%L;b7sT1|G1Hy=%Fq7$ekUm! z_-Mqia7u)lh)0xE-ys*-51)|r`$&*shw5qQUz6yk4yO5(u-nRPAs)89iO3^d72!r% zluM$uRfqZ?JF63nGCfJHea|l>Fy-yVuoRS@RA*1MVY?6ZEBR~}SFY?TgMJ_RO1x1d zTdx{I8YGDAC1)^~)ET1w{xbLi$>$xL_4tQaAVXZjk2ZS0n2Ba9fXl_i{7OK>w#v8a z(z^V(<-5g9U(adqDlQSPl_kUaJlbOXXMWB5ehkrq&-3fkLX5cnf@-(;&VoLuMP;V( zp(q*}=^zPQdUTL~d*5d5=cRSy3pb+)oDW+xc-29@Ij!U)*WmvSp?2QlW_R%8u@sGx z(c&UbKj$^G`7wOywP;&7SP1G#0}8p0m`)tb;dcsDJqqBSr7kFn^ll!Hp%ek9kf15Q zW=pj7xhz||(!M;UjkV=q{~rv5>iW`?(8 zau8|MJW*6Ib}g_zaE8jerN1{a?5Vf%o~gQdhRsLzFidr_M5PE&*7;bF1v;B-uhR2` zUQJP7WcWnqCqw@@_U4GN@31hiz3~mWS@%l5tAdbBI2zh{iN6A8Rip%NH?ITdUDIpy zMa*3v^fL@T+mFf4V3_dCuR6(O>KAF;gzw8|`m5lILlvz%9e@r`IKSTiR}`AqFu7E__CmY?@39xIo|#>&Q*m&V4zzL#IcssyXpME#A` z`Y&F^@bl7GzWISSLMbGnh@b*&o&28!`k&<_3xt(%TO9tMM8<}$R#qE7>M)klgtWp) zsnsLKLqKZ?1h)aOG$8~uV7J7;L;(;nRl%*pMcajTg5#AD6#YjRW^f~{~(bs`;l)BRku@PCPu!JZaM=^+HYi94y(e#5C zU!@g4t!yyJa6_wY7$b@pj1cHLZj`ICOHiYAT!+j|gszn+_kll}7z>=}7$FL*H=_9c z#E5*MXAW-U%}Djtp+ix~mPGBC2LFfvmJ$gD8!6sHNNQUJ(lA;assLMYa{V(&*ZB79 zJ-ZgY(X#4@IQOxO+@t9Ak&?9YnV-ELyTjSwVs(@))jqIlxLhg(Ucv`Rh$^tZ)eB+7 z18BOc_+qLBWV{B5vMLy6Dg93Q%BGaO>3v?q~>*Xw|y$tYW4oa)8IHfWNL{>_as`F;`&xt0Dpl9H0WL z;0UT49waY7NL15RL>29ZRxv{qIlxL+ASkOU7nKk&?NyXUbp_FS0oPY836jMCQdj^x zSmkXJ-2mxafKRKAXo*&U>8pT&tY(@CZh(`h0B2XdnbXYx(^sa;i7L=P)eAyt2=Hmu z8b+&PNs3m0YO8=^t5SQ)Vt~r4)0A8lY*n=aR#^fxTowFQwF0k11&HM8j966zSz-fJ zU$q=sH3M2;1LSaZR;bzlkE{VUyb6P&Gk_JFKwix|wT2vE^yYNeJOpgl0Um5_L00bo zJvYFd%|~j>5Kw<}*Y@n}zYZg(#n_-Tb=j+VrVsKegH}~cpn?tX!PN*-ssdB91eoJ0 zl&Vz%)o=i=xY`M;bpR_@06SZ)w)G}}b*q5Su2PvA?!&G&rV1HA9akVNs}h-t2e58c z(418Yr{)6uT6M&zH3F$v0gPJpRH`)st6c&dMb*ex>IGS`16bMWcdg+Hvv1a{4EI%t zpzJ%>pZ=OX|1Tpy^uO5?eBTY$b%&Qr9QC@8AtOYQ1s1%mQ3E$rSZYnLv(|>0?EKg>cvu4EHU$?O7w3uE}HB0 zar^KGL|MeMImRk#Qb4}A$*))_g2)CimDAYkuJ_~*0md>7vDhS}r59M05LIW0>qKK| zCHVDv9{!ewSPU_WmBhz61hs1nl7Ph(N=TwKl_eL9gDa{a8c7VcE8|vzn_$~B#a=xl z85#A|UMBmxjlL`aOQj2l191f*gT>%NuBopTtyWayy`IpY{@_4@kig@p;n!G&orLXD zU}Lo{kgGA{*z4N;SsEX0tXa@XTb%%w8tRsm)!o4zq8O9aT4}!9{2XWxWKg3evEmCP z;w|P3qG~}**|!f7TLt?6>9X#we2rdz_pX0%j%ar+mD(j9L5zSp8dO-_5s1qyz+ZK) zUy5Z&M^nWx?U}IB@oWb*kUEpkTKFKMS5A8^SwV{P*V6VnoS zOj^#ngawySJ#PJK$zO2Gw?mN@LZ}h|^R9c35K!8>>xfOZV+D}P;veA?eu%OFzX^r&=9Lb-DTnS@HhLZw<5j#+@K zu8#N2*ro072BdI$+6)k+1c+(P8wx~-(L9<)m(@%U(-K+H^iUdh1Z-t93;_bmwF2=; zKo$T1WCpBg4glHVZ-k~K*6w}xz4x>Cw%mk}Zb_D>l-g-Px!f3S0YVV~wIOHQRcC8k zc1Pvai5hlmyV^Sx+&V0+O0;0$!cQzg3XJ+s@iUx#d@TI@Ox&+*D&c=Ise|g%-1Vl~ z+;=g)Wmt7q^Z|8=cniO|*d`P6rB(~o**D*yJJy}HLfSySxH zi-8?J#M@;}VjP?4QWpXC11Ab9x(9f(0zoUkot@>|=I3N#G4lpt)pAx~f+iKZTxA51 z7D)CITI(J0K;X=?%gy8OBO6;6LAV%^GC^fY^|j@c%$J4{u~#Yxvy#T9^g;6D&nAtwH`%RJP8Iv=FB!xm1WmR3`8AqqVAV3J6 zX}52Gp6*vmQwOgil8D!qctqVxSW5nun;xe!@CIV%;pA}agJ?FpHeu;FOK-Val_hPn zbYdFl2mcDRT=-t2ts&(ht*cymj38F-0nVvUD~_4%=1Wpb{7Ul%eX^X4ey%P|d2rGn zX()*iTQ1N?OP(bH3%R6t+2$;jd~9BPfM-11c8k@rSbULgKJxb~4&#ER0&1sLJbu0?nBkO#8YxO8ihXW%;v*K$3uVn&h@fXS6K zpN>_foYdz6*{&-wY+#=xCo}I<%Psq`am~6U<E-%E$J@BrS!%z`J%dWoux>LLKa>1jTZLa@Uvg1Tva~t^rm~opnzZ8!yh8 zhRiPh!#u%o$zSFigyj{uGuL6)69M(QF+jK6KkwPMzy;utcCpK6g-xVIn8ZpRtHR`< z=)c^f_u*e#)jD~qNdiXA8JYNJBvM+gF@A>Ia|r-Fs{YmAg_)O^I3!$neXL5WRN`6= zlF8P0mLi?VFkK}h=xG-Z1m5Qw7cW#Np6noGrO5yVYSko3!GLRsr?r=}kB!kd7;I*He?@!vJcUq2f(C(p|(F>{>-09>onNSjGe zOejClBE&D`C~KbKrvuO0_R6hwWaq%>`kA#fQ;~C~sg0T)FHHo9Pn2kyDrQ@N1o+LU z<-)dGxHB=1QLA{{6Dj{$(Z;Z zlF@})b&0{iFmeteD5U#(12^;wIeyuhto-Y2+rFqM^qy;s0g+#WcDwJ<0)BgjTvb%+ zh7B%eMi#$+*Tjk2?zN5BI|TSBBXn3RkYw?Opn*#;ySAKE5w84qTg8cQQ%q=2z~w5i zP2#LJ%-S_IY}0hMu<-dEVe-v~__pBuT@x;8k$Rs(4KozfgUa;*hn%jysqhB}vcUAp z)+X(|d_P3Gpl|N1OpaXMZI`I)I3PGlB@LOC-&kWvkJ7Yfn5NW>Y@G;CZn(s3!M&9& z=`PdCj7H{?Y;l2bUV7;HbPbf1#u~8gc>>;*1=uF;CaXJaF^N4K_(E3D;52F=T^mI^+PZB(5tS~Ud*Z_ z9r_P1^wInI`^x*t_sAjtLca9E14(}JAfQtyhk2)08n! zq$j6|(!fU;V+Lpw!9s;JaEM^02;}NBIa($oUu3Nm)>kVni)%tY9^MfRFeK4oAf{0k zx>N6fpi$a2AzhZIpwc_w27qD!FC;ro)KpxQz&I*xmS)Q*DASGfCW@kS20%G$MP{i6#v!DqJOP7Saz)<0 zE_NB+X;VW%T28H&iE$R2ai(P=-6+=3v#t3U+_-JdMxz#9HXhk^&I}(5D!fF&3Tq+< zBoF4;+0W@n8yrvW#5Tyl`@)}JG0t-FnR(dUBWpf#fcI(I&az!2cv0F5;zq8;@3hf@ zt@P`}8}D)pbBUlRCQ9;R5sc-t`oRjn@OEx^!RsfwE2A?H3qKMQBBy1F_p2r|#@qd@ zBxo+19if6a@uQqdjFysPh2_JS4JPU<(D33`E#P04;|+8XvV73l&W`Qn4x#k4hd~R$ z9{aGLGrMgqi}}P^+n;Iz=6SS#HpQ z-@Aa;k^<|xoOcMO&sX_Ao1LZd7L;R7=Ysk89RUQ&wR5rHD$)@!%(vl=1N-@>?GEr< zPVYMvj;m5LltJyTr!8g_k5k@PYM}!`+Ho741;bWJO#?E2jeNPEU#KuTS5|P}Mrl?P(9R!JuR#D#nxDR52liqOt zgIR=?0&n+CDw~cZ8nEY|+jaKvicIW4w0b(XDGSIpce)lS&8%KsUjFupBCfTX>Ktg3 z{+$r2ZnPFweeAzA_*F0SMIjFS^#EIW>Q+zm9c4X4&?Vnq zA_wOhkR-y&;(oKUk!-5|aSbDORffa>zM@tfqFXt@&Jv%o_*EE^K=S(NW4vwE_?`?LC}TiQK2n+W;MDNCBydTS?~;J264E$ab;~-nLiO zEcp7>Ams*%>fcks7229g6fY#J&sLS04($Hc-HyqECg0dFIfhnt%xPd{Z8x3H?t(Dj zSoJz^>U#_9sM2u*%ybW!$%=WNd(dI2WxZ=dSqSXvh2_T9%(}fbT*NK>Dz!HD{^Lb@ zRTLr|W~W>uh*u0e-JVHRTOPeGB$d%T6>=Wi0qepNX?+99x3yH~SU2y>s3#}8AGSfw zl~b36XO%4_ZIKb7-)31o;1B$W&i^)k*yxc1$~mbNyew&HBKxLPY?y}b`-O2q<0URy z-6dk20tTtzjZKeAM|QIqlOz{d1L^ZwiSPPe_G&U0JXBQqWn%kt*zDq>Z)E>_+BS@b zmb)p7+)0K3iIP;T9^I@3CSKdd3waEEET}Kk$WV`|oJ-nYm90u^+9X4@m!^aB2F&{g z1?(R9fQ5S7GDe_MpbrpZ;wO++4(HI7`7yb;_BWSD8EGWP7AXqXd%%qCUzT! zF^08Q+a43<^L{LaIx9m7R0Xo+Ov`f%yRY4kE7qW_KYX}tUcI{hS-$YblT;Yr9{MjJ z+_K1lM+)R|G})sK2F3(w0#F@u>edeiA)UDhxK_ZatoB#}?wCP1Kt}lmoc_U^3kUT@ zkDg7a;&PD=xU3F;Qh$vZf?24E5opoFLwygy;(IwFZL_>zqU}Oz3S4c6r23NYaRgtq zpm!J7^Q7(p&_5&JbKyGF6&RWlaRguV@}x(t9tfiZq-?_3jyfLnByy9@Fqk`Y{mOOc z`Fii~+xuV7@7%46*PrLn{h%yJ)nL{UW>Kfyi zq&kQr3XW3N+>_CPCj3(Do@iYzkHV~h07N+hG84~^Xi4HZXWdhE7pvqJE`uO5DfliSA)LTlx6@`R|AYY zf4NpbeJ$o9!J7%h?Ebz4SpK)}8(a1>dh>&&73HvKjQI`wu*^U2K0=fE z4E}O{I=X+R4~DB7BGoY-r0df>O;GAYn6v(n2k8;PBXB!%9vy%6TM~d&Bo`gbdmo+1 zr(rVRg)}LK!o}|PH0FR67f*kxG%=i5WGeoDe*6v38^U|u-nD@CKHnq1jOeSd_ z1*kv}m;vDEQm)ueuAi`xc_m-{Py}1rGS7prV(}aBylH-1Or?dd?HtlwY&DN`mc-}V zs^dz|S>tViHWMd&LBnOIs6tK#O~D}ez3u$7_V)T|(UEz9*`7% ztzY~vZ6Z^FedtL#r+|2o;5xS5ULzZceq8_L3W6SzHy}j)aIAa*cNHUlwr?!KT;J@< z*fw}8%SXLCJP4&h;s^Bal0J7@d0T-Z*JB|^RXk#y!Qi?X;4g%#DDo0Gfu{%8e~|MB z8UE?Mxy5!O7T95CLE#(Wuu5b*$sN=m9De^7dfkNaw#6LRo6?QjY? z#QALRr^dIUMOY{K^S+K(-mS6T3BA|kuvfp%t7G%!%63U#zT3?2eWB{$W}UnL#U$(m z@p_-qy%R&FdvP-0p50u0L;auPGWVFQco`;c@SC=J;!>$;OQ3fZZ`UPR zUr>A}FqJ-KN(N@+t_~3;p4{o;_2y?xCVTwyt`H8ySBs zf2*I0H7;x`>+zZ%DYNa1Y0Q3|0YUq(6A(fi7!|f9!s~8 z+~;@S#u=V|GzQw=1)xu~P<^4U2J@hQe_$?xUH$J^exccK_+Q=QI49TE#s`2~-W!7~2=rjm2|}2>)C|Cg{%?^tNtMtVtc66$`)#k5)@ir$E(nDVwZ5ULC!^g% zhXC-r*%Ja&pI0H@YH7q-m6KqHzqYYRuAB`w8Cf~_GDfYT*#ksSUKEgf$n}yM#+7YU znQ^y?Je?PgKtuyncZ(Ps6Uy(%-$||}kTs9QtOL&5?{@8I&~mRJ7lV4d?^Z}3HkTz} zX({;9>)Q(#m*-^2*Z^p!B#`q*K0Z&;?2LSlpETg07p>^ zWE7|}qBT&fIMgXq0j(CAe@8yfBUh`0Cyss>`)8xHa>VK(DXHPkc{{A?Svmxv?2&Oy z=XhjfynR>x^4pip@w*yVJQ^ChdOYYJLx4tLCwP<}(N?naM>L(lF;kA|W1obFq~Ald<) zQYbA(K!j(?Nf5?x=*EYlm;VugxVgFCGq-l@=j_qYwEomR$2W-tS=9 z_sL#tB`CEU+%MBG>bsr7-K2}DNqf7yppkBr%hXEnYIlg|OC>b55{%lN9@16`WbNAV z+D%5PY8Y2;pu_i-MnBx1%TA=`%1w61WmuWA7m}TuU#PMu9f%Kq&?={T>3sEv_eL~F?rWY&iK>hY%7f~%)2~9T__0ug@3#|JLIjx?BDo?yH1e)3eSF*FNBrC zV&35u??QyoQuzP7j}X@i@_*qE?{0(CS$NL7d_mnRAm`+t^}Bo^b$I-sPok8!e5h8I7-ukSr=ZFZ7=$MQO$HXF#0QjfxD^?Njcu5TYwzEo+g1p^l*6W+nn)$L z3E>XwqX&*ry=QUEzDQ=_&*=1EN{a_<(EykMUx&QWm?^onEXwC+v5H(@y7Ml5Tt^s9 zV0DNwl@4%%1JaQ(5hC#t#wCsj&lq#mLAI8T%@7tSFo(J1JO(SlcWbC1d18b%JX4-x4MmMk-IU-BM2LjA83*`6V76fr2AG~R9WmA-kY96;?T0z;M%sXEj8++i7RqKhWK9+G zK+NZmJh=*#7*Pgl#(~Qyr4vp;)#GoJXK{&1d89_;61&9nk>)^#YXqPG5PO{V2udfy zDLDCC3o*Ha*4+2u#{=Aivu^Wvhnqk1@&6Pxpznul%#A>bS)F_U5+)IsK^y*#?d4?e z?Dnf+qytzg9o0+7z+QMG8P5U9s`S4p6;j97^~^-(7)KL&jXXjc%!Mq3L!;2pb-c}5 zUtlw4>-&+)Fw(%&khvjOcm_t6&NWbJv=IV>x01Avf8H}QsV;QusA9*%FC+j9JX8XU z$CP6TEN~cWP|w<1@cUnX>DDn2$%n{jl-D~eWWo!$NOD~FT3l8JPh+`oUzsqgh=0e! zA*9)G2f8=VbrASvYcyA$%ef|mtBVIr|rPpaJQ62#e z%o>CNY6)7?>;Monj}Kmyx%;?ZES9JOoZ50YaQfXfT^I1Hc2O+~0LZ=aTa2BSSYE*Eh+K&JWT)D3WK&SD=9- zJy|+~5P;0NxL@H8^ z>(=%idd*xQU;!DiQaXu|gh9Z%L91rKGdlkF>;5lv0a4yT2dDybeU!Qg1Fxc$Z7mfm ze;d);ki8r7X8Z;iweV{qf3daNg5{EF1EG(xlUe)~6+87|y{maorUv_Q(+)Z8ZB82AL z(F)Ie%2|j83xG9y+-d-DK##vBQJsyQqwbY<0nyOt_}ysH&^!J(N+|(V+%G)X1E3Iq z73W4nBvexV1SX{aHP-GGeK!8(UpRr#;{ei3OB~ipOTYpTMHWaPfs%0^>p(=X)}<8 znJ-f+Y=*wijYwBGp1Seg{T@$VuMFYVn`#!05n;XIY-<^n-h|9=V=r$bEP5;d$}&Q? z_g0ElJ)z!j{pn6$tf0lRm)dwus&_XD&h2O>fNB2g3bMfV$Z-%qlT0K=6} zCc7CDNhc(>tnEk#ktEc>ScH$@e>O+XOqVnL%H8iF_QULX>9*egnDV(jy5)o4d57Ng ztIz$LH|EqdbXhulnLFy-KiuE*%U=F7Pxm{qzkTQ3pXKL2Q~b_5>HOHcTKebr^7!v_t$XOdKK9d{I^0Zx?nBk-lXGOx{gtJ>_H^G*{nulC_7(G) zlltq|-Ve9iTfg@7x4(VrrDy*_=!AADhJ|u#$p97JQ<+m_5&~_ug_$9dljx`Ublv$s zPnVzh%<7iVUByBmF@uZsq2Abo|_Zn@twDX@af!u0`gryASR`d!zIT4G$Sl9FQ5nuWJujWhDC zGttx(R{7pe5EbGzxpA$?m3c_?MUTriB-PrT#4C@rVwn@Kj_Nvf&TyAg%28XMf&=OI zG#wzJx8dM4d=U=z)%zY!in>Mu)s=}sqb5l$j10k*zAu|HYgRz53)(t?xHU)?_OmhD zgS{k)d)u|2dO+~$&gkY7)w+nG;Tu(1rRojgg4|`-R>VCk>rZgZ)6UBH$)0Y)3MOS%zg8*?VLBpL_sDgRK71ZI^-E_~K zOttOpY?ilXc1K5{H=C7}o3WQ`nHAnyh1|>mvX!FQI>ER}38S2jpgX%6$?Y6M>t7zF zPg0}q&=vAci$ZRyZDV`A7MELQ8vJ^h3(p+z_ipHi#*q`|v+h4H41hIAXaa-ueyfnI#CA@y_>T{xRUk1q&$FTVz z7=ulwqL=SQ7%HxC<>$C=MRIss`kydrvlT6LydQejPq&v>>iBQ??fZrM?ECBc%KXXv zDC1q#+p!`y_Wu{1FhqO#0)}{^iQD4s<%{MXin5q1;|q?yvSSr1&(+pvgWh@a-?dZ= zaILKTT?NMl3SrU`g*T`gQ?+gHm0jl8deyLU@qOEFwy3#7%#e~JxO&D3M{+ih2bolaRL zljsExCDgqT-x5D>nTChHX3Xb<_Q7VhzNT#9#j;|pJE7~cwhlAr1-klvrn>#ljn8XT zR~I@PkhFo6`E8$AhUD$=Od12cRo$9Cc z`*Z$Po2LD61KT6itlrhE{qFUnv;J@l=yvt;uns6#KcBg+NG;|i3>JeX)>2sT4Kb7V zWv3p@ZrN`)Q|zZb>%_I4WKF`c^HX~fV`qQ-lTA~1YR0~VOth`8?KKk&Vg2$tFSto} zQ!6?}?!GHe4jF81J8L)7P`}A^Fr7Ou^|8tQE_w1LIM}ZBeLL3DoN&cUx@c`U{E9!kEz?Xh;+#Uyw-jjML z4C7)kC>1`kPP{qJ+!&^j^;}zy?hHy%>dI9HHcKmS!HGn@^*`73+3Y64r5D;jOC^q6~uT1DT9H{V?w z4Y>;B=k0%b=oDECJ@I+fDiL;7rm4fMKvycG5*5b}9Oq@0O4ro*pLpRfi@vps#v#|% zYjneo>FiyFllxg-B{e7XS>o}uTB+Pwq0am_r#Ww)Uu+Jm(if@o`Px^R+?$46zSt)X zzQ42Ws6WFaL*FVgM!XPTA#7}?BidYuOT8ulez#X~*2pZLxfBaC+_;qpam+ojnh#ao zVH~)kX_D-h_!(|#U$WRL{rK_czu`@B#Xv2-pfiG*>%z{Jg%*qCz!tllE#OUN{`+Tb zvbpElLF7*L`%zBM)0Yh;YGS5zCa1ZJiM`KL^;2#-+>t15X+6hS^$|ZZU#8OM-%fn& zdfd!gPtcXG$toFl`0lF3MAk{t zL9V+HzQSl>cvp9I^5EI)wmtkDC?Q?Gg^uwU-xKU;JfucGN63kbb))0;doBag$6oQ} zx88Z{uKG2NfOX6LCM{g2G7*Pn+YTPOtS=JvzTWFx{r0|aF>6Qs<@^B_VP_GyZSm!f zWq9j`X;Au9#jVx5NqCvz{grmTkA0|Z=jYTpdYd_8HkV1>{}v$4!m>#;bl0m-ZQ6RW z)HeH<*`$Ye_IPlu;OadRKGcQ0psMz))*x4a-zLoa?E?k=%# zM2*+0_U#(n!iT;iL-5O= zs3it1R@Xd;mbFhJc&AN0p`er$T64Vjgrh6XV@|JM9n8V*XuedjrS%q~cay^JsilSJ zUgNzf7AtbTYqPmJI_;)zS+buMM!4JEa$^~jiY#abjJUI?5uVtw?k`u6{*y_TUuN|7 z_P(Q+qrKY86|K72Vzd$BXZy~}KF@E<(&y*-V0)>P;@)0zq#T1^)6L?)L#$Z25%+xZ zW>1wP>OLLYk7;oI7nSPj;_w!A^%TqnNn@PidJ31cDzkjwu>!_J51lK_)6KWHfn{_d zS~>bCpYKQ31Nx1uzC$b`l;*a{!{*P|&PC8&;Jc_Za7Vcgj}mv@HC)^bT{jc?-@K928kPB5 zk&4v>y<=`|4Xn0z{!R7HY&@Q?p~cvlcB;nHP95rz@ta!~vM4Tlu1EP43$=w~S(la6 z#U>FW20b0h$=-$)f@EGI0ZFPFg-*@yKtQ=|6Y{%Zcc2%qiOulOt1?>$O4dAM-H_&u^6>(@s7yJ%;PmVew!#GZOqmOo#_BY8OHebPOB_DM~n z&)nwfQ{H;$U;oE{0WArF_b03TU;l5u;fBklO1X6eXw__nH z>ujfeoKs~C{-u5GQjeXgxU@a@aYGd`_=^79pC3z8X=l6aV{a~GX+u$EPsqwOk{@alsOQ_tk{r<6yO2Tg?ZsTlkW7@HGQ#_Z$^>;sh;~FakzVa~_ zm1eftKRZ$5Y%15_AMz*34}rV><4?y-{wD9=UWL*Tl4|wq*c$L}uh!nVs*(8WYdclv z|F+7XMg8|uUqU@f?azMabq)QzVAk!{KhrCnH$KvP&qp7qPuhRH_HXW2-_m#ek9H8% zLOb@Vp2PF^ld+dSM5|-l{mGIj-_NC~vx6n5 z+V86Wnd0uB?wz=old$R)yovJ4VoF#7$8Suim=zyu*hsf@>HG1KySi0#jbpKbuuJRL z7V%Mvsc&r9Os!wh^y*bUx>uH3GpxJ|zWbX(XjYw^?fz0RRN`?ZCrhzVOUB({BzH`+ z0?qFIS3mXKJH0ubEV^BfUeZ(jp|ZYgat++*mGq)6WJ<-|Hz}`>&%_gaKzVdO4y)p> zTSKQRBmbi17gk5Kvm`MMZKUh$Gw~P3iE4aS^ZCEZoc5{w^XxCW7>0lJ2Kz8_?=vhs z)tVRcuio6ApQ)OZ|93nMt$-`{Fp)1@<`xiQ!Kx}DnqeDmCh!o{MqCHh^ci|9p|>bKw(&ZJ~L(7*^?WEk6ZwhZJ(O$XG-&&l2{Tl3m`*k<0@DK{gMp0jqWK z!l64iOOBm$gIw>+n=83T7OFQ4-9t*hcK6)eCk1ST#;MTqm8Sw=GaUYbFY|#)WySVv z@|Q{-%HcL02=vNTj@6C&3OqecbYh3@=L9--ayS0JpQkj@cnY^=e>f`sa{%o|bqUYA zs2`Bmuh5K@bnp6q6XN?W89C;wUK#ON6;CerS^%(l>(!zrlT%Y{MqmGAu_YZ3v&l>@h{fl18FzW3o{j430_Jl5SKx z*;xuEJ+!#xq_NuRP>_;2g<}b-#M_Ol#&1EInb(b5K?5lF9!g85YY@FuII`RMa>knq z0=d|bM}R>~EuuRixL3mIMRZebsxM!sBbS||*6$p85|I&KF9Dl)h|eKLn;h;_SKg|B z+AvUoQvnOXjGB|i)}^6D6lhJ=sbue2D;Xdq$*>_MTst>2Jwc}u)3#w*r;f7+nhwb$ zhnhquvfZ=?Jtn15N_rsf?Z{FS>k*%t0jM5|pwKO49!D!K0_*eUjQZeE-S%^J@ zj&4EwhH%F6YYZn$m#SFPrUvq&_D`w7ra>A_D`TvXq)i5luO=ZA1Zq>?xkSik*r~;Z zgL%@>Iom`qOVV?x=!zgloy1=eaB2zo&>~1$%XBgng*vxtV6)*=IeFR)y{U>ypum)o zA!KW_Yhp@+ZY6}Bzf+ybXxaI>*#$e{;gd>FX82sSTWKsQ{2BIMsEtitL(%a&{HD%c z0$k8Y979Zskq-qFd#>lVq3C!?=H*n*JtvEoq+jcO;zk=-9V$|H8;y>UOqnUhC@L$# zHh9fjM^ojHR!@~Xw<|LQ9q^l<+5{a2pg}RB*Zny6yYqaQ+xRpS=8V&N!VYL zw5|4yY#M@6NEjEVF11;(w$Aqj0f}#saA~O|AvG}kshGj*)VH=;7R8vG?S$Ajxg%~6 zB!V?n4zjA(scmgRt%NNv-Ys(0Fb=62TdL$*T`xuWX4W>`(oB;NJ|$C}0pHao2x4jG zm|8HM>ThoUr(ys7+--Y37$YYl3ztEYYW==;S4FZorrT6CbKYw~MFWRM7MKK{3{Tqn z=k6mG%DRBprrO3dDt7{;Zc)irj^I^XOwOVB40@-2Ygl6ESA{AX;a z2-KF!CRj}M#m_D(^m6a;dkIih8-aNGpaRUH2r#1Vsmaz;$5(44TfhxAZ%#dEj5LXixwM?LJ1i?Q)%CRlvi-GXLQDdf;uFQ$ zXv-mVd z8}%WZ1^EfsW@tPyR|W)Vl++^38{yPyYCH>{hgEW(PA~`7Y{Hfz?f4{Y##DO7nX{le z;yXX_vwNWAmN!6D&xB&u#F}pK7%ZqZ;?{EjP|jd@O4?#h`IK%>3mTXBJdScXgtYswJCO^)5BZlKhIORAr*OCpJX! zkMkl)lSysOtZdJ@S_CeL;G&&^suRtv7ova|WaP1$d9N?(C@6oIM5iY;x{tQV z@C4UX>$Jdk_+&AW^2a+VqV95Sjr^l*lj~AQpj}&=WiwPjK+46WTB)FURtJ>8rgmST zmNisMk^D8vrh?Tdgg(qtc;I%oE#Rw6HG5ds<9f0VI>1gl8ln6tZk}#?MBn z0Z~D|escCyY!aQ}lt~lPp^<573f_%V1J9`#D?NePM45{i2dQ16jU!T{Du8z()qy5o zGur(@r0GV#JB;)xp_dglX3`xfu#s!AuVQZw=8A%Ga%3D-ZKvYLbuD~HS?goGrbDF#h4s-SxM{?)|UP!EBjsGCTo^=9A1!k$3(mz093CS}as zP!EAcx&My;8u6IL#kf@jE7EQTQR0ve0OQiNw z&KrZeHnX9c$RX_)BMVBmW(N%lrXYfA!fRnlNp7en^5ecb7A=BdQ~)J^MkxpZ%?x@N zJYE)TNi;AwAOPiUuC8r@<=B$S$-1#n8Oq$UshdoUjpU$3Qtuf8;0$>bg>WnzRZcc9 z!j5ano0B--F%IktBG@c@fGVMOqu9w9ATXyU({pQM18Y#XZfpt?bk&x+8>i-ksS}Pc zG<*{eh7@X?kUSd0ha;k-)&|oKlJ;ViL{Y;iGR=P3ND-E!I>}}=*qrO&>1Q)>jWP#` z4^A~U7fUmZDks}VU`$Oj%1vlN%O0@G#FSIxE{2QUsCKe&4{f!`LD=T1zeTlp)&hU`~+c~p_nY{E6aLEHs4BrbM`%!xrXYvly)E*lGB zCnhIyM&E0c21gW{Fw6c-;x#o!brbCpWUjcyLK+*I$I*%Sme9W&eMJxds>ueX0c<4Y zeB`GnG+e$DqanxAj&?iZa*`{+45w z6Q!LuIxNk1Va7(S1dGgGnC~~Wfv**U859=;HkZV@Xx@TW>3h=C$Pxt;qttV;l}Kq9 z61FG}brN_?wsB;e1X&M((bo4vE*VkKSgMk63u`4_bZB?*CW&);Zkf;q1n_=S08n9p zTTv@bz^5i{xgJxIF-=%D>*9*Eu?s3HYSZ31RKz3+om%oDVwV)t$w`8B30^_11Y8cU z&GPW+juPkm~y; zI26wlXnqH#WQt_mf>{NTVBl+w7P<_5u{?lv(WkMXG?5>Zn9s zqyflHw<=|CDFus80KpX4>YNmSQS)C;EAZH zIplP}{&=O8fB?>f#iW{ipjHEwz(!5v3PKf_k|y?C4J2VG3P9m^$;L*i1Q$qJvhdgV zV5+ryL#6AsJ^2Q}OD7;rRb_FMETX4r(dzG+iEgb!_Y_}hO!gYGPJA)sjm^}B{76n0 zGNBA2FqmS7iWA*fTNE;bhC~_Pf`kCa1lqjnUTvs4*(}C49ic3@q;4Rn)#95CtO!Q% zMz89cs{h5=#fTY=->NHNAenjRdu#7=6EiTEBMc5La8w1I|YLriz(ljvcy$F(?lCMIN z-v$fn!RmLq-%gu}pD!)n`b(3bldYdtD`b*4BUzFmIX=}Xu1s1|q)xl8i7$q$m{pVF zC)O$ehNsTO*+(l)TT;z3<1dgsB<5n6mc>7oTG{w`WO{f}=nI8@9IbltLB3g770 zpbJ&0JP3ZEWLm>F7fk^FogZY*`b2Lkl(V3h$`s*=Dc(yNkYq(vg5#4NPxd%-g?%bV zobr<3BhO@qH@)h<#kI=mvB*r7RQgo0xUA$UWF;^ZoCc07QU4>y9FiCnqRu{KDV&+a zGfBftijIj1lP%N(2`Oboqf-17$s`)9{%gfqoNOUJo%yPDGB`(!9N5(V<#bWsL&vMyM^^6nGElo6ue2Canxj8aQw3=ZK6%T z)_jv1I8SAYtHWC$Bn#HioMB&6GtbRIYJt|C@1L3!XMVS^BEsdQrFTX^o$I)KBSmwHwo3w`*RIY6|`B6f5|9x8UZ~-G4d=NOVFlM*-8hqq5o)d zCf16)hww#_Ln9+P9kCRiTkCCzzrFl`V8-eZbOm#7G%=>}gs0yJXZqB!xM}%e!09$V zBk|R;&=H{sBD@$=lj7`^mygZs|5iu|1F0D8ch~#Nv9>-N|F@0=Fmo| zu`8Bi>z*-?#n4?SAx6$D)TNZ5xk9zFNveuieKX`fv@Ho;@)k3LrKky}OuD#~0#pDo z`)A0GE5LvNk>^3rwg*K;h-G8NNj~**%(@wefH{LB9CHE)+bKRod5P|+!Gb!Z%`W`k ztAaKsQqbdu)C66%XoCF~4k<`^t|TfuhD4F-jaXZ=3~WyJsgYwyA>d-D@9Ew_BsXnO zrgt>$>`H*yr$mlSgOwaFHLgkNK%s$D>?}%fI!vjC(Y`bdGh5Ig<|4*7&7uU1@Zw}* zQbyxCjOOSft%f{lGpra2n2KB^ohGJum!x22#$?q{R33T>Y-73?Kdwn@MQ| zDm_?~f@-$SK|RHOs1tFeiuqlY(nTvUlqPag)9EvGEBlS7Fh}Cx6D=f7C=zj;v2?;H z*U27KidEV83dE5SS}Q0QkoMqGC^R+_U`#m-8Ce&~zYq`u08;=pBm)2dKo3>tDzU(o z2ir1jcOkV&iA*vaJ4Z6~-taK4sM_6-#wIpsWB=#<|3GLJ0TB^^84v*c0?Y6N_jods z8Q;RTa9enRNW!y-`cWIXz)ayibWa>ZvYz|g7UhLYKr&NdOQ502-p88lVCYAmYAmwT;|l&o;*`I`Ji#E8R^t_N3@QS^c}A z{(bCgpYY+Yf6u;u!Oz0}+}{uH{n>wg_iMlW!~Y+Tef{ox|75+Z{~!DRcj^E1Pv`zm z-TUjkzhC{t?L_~lzv2Ee{e=IczklotyT0W6_b=!D=dsT$|M)*+{J#41@02yaTH&wr zhogV7`Op8q`;+V!9pbrEYUB*;2&gDEX~a@W#^Ik&{QT|sN78=puXkI)49V6lYg$sO z==dR1&0;imLT~-9lZMr;<_V63G0?nft=nW<7@sZ42kDlYEUvcI6}B*~S8Vw@?{jQx zmzL*Yst!6yX{>GVQ@X00t?gabf)*r}vj|vyagnDhN>Pj90qrXHS|K%HNpd)S)8(&) z#j_lrBGNA?FL??pR(|DP*)20Hj*HM0IcIWx@v)m`(B522Y+_|qzU1vsF62mF4e|@M z$g9W_F1$tMa=LBp@ybo9z23#*D^Aeslj z+ix9B&AHsE z)wep&PrkS9Rai?+^~;a?4Oi$=@Q7O0)8;|cr0!QN$13}%Sy1gcpDNoPi_T4!roWUK zl(9N2UuFBnd4}_#g&Mz@P+8OEDPRL-gLRpHwMlbi`pWi0AUmn&)0DQtw<`_m3~?)B zZB?F??OU*#D)IMhZ=8W^GHJ`EXQ8KIg0EP6m7W$w!;qzTMsEjOa+2Kr(<=i?aeT$w ztII5OCURS0*3BALz=X=`%on^#`C?U7zBcTorJ)d4%N`s37_vmYdTBjEW~>a#SFOEa zZvBMwhG}38eqyn&AwJ6NMMHL1TTWB5Smnxvc-v0Xw3;6+!MyMvQL-p&i}Dn0uf}*Y z14XGo%gmb;7ninWY*p|&8GOaqtD*C4S6{rLEl618@MZ5%v!J}UX6L8h+x9BYX)K>j z>`<-uX)Uu8yZW@Bo%!HmCH1}ZOyY8|-<>({A`r%r1X}^-*QmPfamr1yy|uRU+-3M5 zqq3K;Wi5?4oHL#uw_hkwL{mevO=% z6QygEZN=I7g}4o~=2xt}%ATQXdD~XA|Cp=wVmjwMzG`77RBdLyV(eEfzF&M+6SQ6& zwia~$z{LIEhOeKj=gL>Ly_-4fJ#? ze}*SBRin+{ z0kup96fO7_E3fi#X`Xn@X{ffzTZgDtw@qjL>ee*nm$51;U$ypB>luF4F9tr6v@my0 z3ICk(L&}bP#oMb5i+eTV%bw4%alYiaFCvM`?vzGy3s`5!y{T{kk&;UD4qP;>yDaMDLtu;8yrq&7vkH3em;Q^^mPSSjj z9-1Lv-P1!qkpDj$IJAPZrf5dIRJ`Ar)yjx1`$?S*N2-3@4Yu*rzMXr1?;EB@NqMFQ z4)><{X1r!#iye3TXnVEgwZjkl><=EMZft4PUTMV6K6&xQ;xue|(iIPq>H2t0{QvE> zC;Z=jAG4COp<)paiE3VqCKsS zT~qH0vsdjTrDs0HXW;fseRZ{zc(I-^^grhb6&gxs?Ifk!NV{%g5>|z%$>MF9^y+SO zOs&W*!`F5_Ya=P=%BqW>nT)<9kw+0Qvpv&4CO@FN4(VAZNgWrZeQUV>zgF`P$03pZ zmh-ZU<@0k}@BZL3Ubt9BYl817To~JRgy6*Yv*4wH;u)2=s2Y-%}9Eu*QC|> z8D{6cXCV(?T!NtR?zi#kH+FR_M|Eb-Y_K^#wG%&8Zu-SI2+GRX+y1HHOFDMc(?qww zje5<{$Z>7Ze?n6YSLD!VPcxIJ*=%%w6_B2x8_j%TAiMUCyyJD4m=Z1ds%ht zbQ6|s1Gjhf;HxV*kEIj2aIzM0-W44#u4L7*<6=?0QueMice=6OJSpRzK34PTbI5y`RhGjaP9oU1{8gf=Ig<0 zIm~?Q6x=(Z)1>&PykAs7Hxq`#;j_q2f2E3y zAJg%{$OO>1lxbcWHDPGqcs)BoZwqubgXOXs?I^$7ka##y=}{GimeL!B4&7XOV;?!i zsQB8>nztNWz1mHq&I~QqKT0>e&9uy{Md<%e(gCd()*H z(Red(^*4K4VAs%JzH@7zQ|t`sD6VGf;f|@z$5%fY-@n|9Ybw3yGm!}%xi#yDDJ_Mo zuY0tdQC~kbZRi*KcfVDf_QhASy{yk-qe8u&MY0c}CZh%uEgyetnL2LWxEq|UWx0)H z@5MSeT{hS)qyG*xcCVs~>d1}rp)JqCEib;y5vzWq+72z>{$WH+wuNWDmZQWNPe1E` z-&+@Q=)dK^L-4A&M+bf!o3||{)hMpSB z<@xwg>4$zje;h}8rNLf8^GC+pA(aGZ8Txm}TyE25R&BIwxM8>-+SZ%< zzEY{B{5e;5Xu|ns@<+T8_H|p&)jQ98X(=1oLuZ>Jj~!ZL{V=x>c5PMW0?6r4-JIj> zE;a`U<&3I3w7C76K|OE}qBEWxFp2yHfEuq|4Z>+Hqy7$*_vbF9TEh&~Z|&7P_x|p9 z;-s46vlh;OhZ-towwIk42Hl6cqKQJ!Zsd8|bM*>e##!XdrFCe~Tz%G!b~wLUvYWbP zgt3T}AB!qG^z{9x>A^g?9EmkK`y1}f9?73zUF5}#3OlqK_^}qGN3&D*TvCJO@1AZO zZEjRB|BOmIw6y(T4mUYOXQJB0I+TlrN~%Te`lnIql(dZaJHF?iTzc8wrao%EK&_;E z_@P-9(hT`Bs_)P_=4sh9@$5N#57qQO>QM|_rWKi5M*SU%m$A0AWBUm64gqk@Z4Zd_ zjin^_^3Zbj?^o7nYGlL1opH~regMy>iw0SJ+@f&(Swy{W0gKAhVMd7S5KQ!l^l@q1 zR+qOmK}Dq<`g{DBl(9&2S-bXlk5KX62)xDX5E`DejQ=|dY}H3$Fn#U*W;d{}-}_CY z|I!J|sJ}yVpF29_SuZ}#lIPBJlkd`|o+GD>Iy`mF};pnO@*u%Q6)2jc_GVAZtF5HqkEX`E9cxs2bAWCkK`wqV` zdPW@`TI2jP+`~ytx#ToUZnm4-!%ZE#y60S%QB6^5YX{Y^Ums(0 z+KXyC^qc+})tjF@E$yOpcrA2SjYjPqT5SJKTFl#d&5w5- zRNtXM`(_2dx}tSh-_P8UWb3m!Mw{alZDrJNqG0<2>uj_&-*@Sr!fUB_=Sfc`9Z`jc zmcM^>=a*d+ht7H~ zzoGYKaqN#?5GTB}kwdO}+wvQKm&QRYqyG+$cUQs(Z39npOY67p@h80CZM|=|>qccA zT2B8g57O=yIP0j4U(Nsfw){SGbH0LnQN{V+p`O>I_w!-SGn zoc<0orpuAHHTPe{Ys|I$%4M75<>Hr&3OlsF{^$;uF`zb?@;&ae%f|@}ZcTK(8%8x9 zTD1Rz%)8uxoAX?{;SpbvJ7Nip`Wj13#@_yG#ntTXbN;l*dpLirliYpYzTJAUy;1%! zYMbgV?9P||zi`*+vs!QoNaM(PNTx)Zku&O>>b~uIoViXF_fIUXPa2*mW+=|Xg>@G7 z8TU<8KNq5J`k+mGU%W_t?7S|Id*}vHVN{=d-_BhQN7LpJo4nKd6yMtKIG*-dqs`nX@M-LBEImXi(seX_ zMt@W4M~n4~w0%8J_x~JE5iKt7ZaZumXdedhu+yDmKiWaxSC6r?`4jf6n~$-SbLI64 z>GX>&JZZLX4xejE^*bcnNGYeKixtj;h%&11(1(+YYz9Bc_lynm_7B7}5{2^lEDd*B zMh_mpYARftM(0fuJ__;s?QG9=Yx9h>*^dKSA_*S0E#UV|kN!en#KUQwbh+-n*zR{+ zL80Yr;Fc-NyFp%1!uN8TEjQqb9h-vn(?uew!GWJ& zRNtY6{9+w^o<$Fvht4|GL#K@hPe*yEz(dQozi8*4Js+=@>b7f)hN(WWZjdzQ@ zW%%C~zK(1EFM;Q*OAc>Ce#p8D-9GZD)MeCfq8a<4im$8ohMBoOeP-v1?v&@+lXV7Y z8T)t7*?YJyo%&gO2fu1|+w7N@?@gYo$X`VJ!@wlQ7WAJt06 z=8FBOak9hNTf9x_Y|q!vy~bw$&sP_x)I01e?Rm;)R4v)o?;}GY^-kknB3G<4>TlmO z)OixKN;%hX_7~qhZeOg|4&kh$#}?D^GW4)8O5D|F)LYp1=Kw&){%1{0H9|?rwK`Dl zEsQ~-tZz56=jvNIOwq^*Y1AzX3VDwuDdSK%Hly2HvZC!=qVMbsUq$c|8>}QIc=lnR zpF26fC36uiv$=+)M1nX?oQj}->|Z5u9+kcnPNSmn6X6V_;?veF3ghTJT1a1ER4v(z z{MUR#GaVT?BOM&s7BXq#llk|D^INj){fZfcs5KN4NR$u}!jg0RXg)7?a^P^04yedf zF^W+^7ARAi05i~|YR7lDWNZwmh9k1Sk$R%onl7fKb6}OHUzfNp*%t*90wrH1p7zK@ zJ$N!>!m-c0xjT-)C5qCqn9NcEGq7tGjLe2g!%1p<{_Nxgm*HB&g`%kNMe}~vI!4*B z>EQ?+%9Z|*n~9Qx&!|AQu3KD5y5+17G9D8cHA{9WgJkTFoTPza*sss3(KSpJo8uB6 z&bVaJJLy343c3yT0)sk9iIYY`CQ4HKjKU=|zSXmLSan$JIIqA z-j~mvF5;3?3P4S4G$LUS89)wEs+ROf6r;|`J`i!Wm~zsxo()B}B*f9#AlS`V!;bH9 z$rB?Hrk8cd)3aKT!BMHBDU5;V^JFKSxIrfgbRaPQ@{$rm{O1%n3@>{qqh$Z2xVaW{ zzDqpCTs4rkc?3$PU=pJKw~Igc*#A5157Kql?cc*)`?v4>?*BdGZ`aiaG0pgwPJCG5 z;<7X60O<^|W~;-Kcp%Ab@N>Sy2tcHYO5X>^Vx8}dK z{tdh36hN{$l+mIZ-M&4VG;EZ&jQ9HOnMW^!fe1=a4A2S(rEoo&ZD8dfRj^FXj6gQ#B-E+Am?-6EQP;ol!MArvJrkkHU;>L{V~Rt8kbBNx+}xAgw|@6) zAN1T3mta$$^U~=BTysKfsMscJRC~aSE0DQs;#hY8-HApEH%2@-^u#vy2z9v}#%;&} z28|m*BmGzMzSuOQ$%~sqCm(k?S{hRXFc*Y`6LVCcX_8V{5XU;-1ZN-My*>7OpHJv2 zAO?(0%*qWZG6F^l+FDsq#BEgg?vH(6wNgErkU7^dztrS02LPsRMTl4O+#lWFZ+`cO z-{8N>`XtkI!Jd0{@yk?T&`G0})w)Ev2Q zx$yPB_nV98$bDSR3(4doiH&z)&tN^twqbJkR(<;7c*)tPMjR*t*YuzsM_Fx6Jzrek z8c#nWuZv3X=$Z*th@3${BRpP>WW{j*n{#jd_4 z$mjc48%mCend1W^?y_hlFWj4SqD<^U1^KJtAO{}j|A`_p#*_voc%*ISCZEQac&#zr@wxPDJ+hF55hO8Ts)14lYPq#VBMsk5Sod(1}%6$LReZ`s}$S zjPU{FQvsYJo3TtEpz-+kO8@8ogMwcI`bmt{vo26{O%(*3F;+lxE|pII`w;Z9H4-(G z$|F)zG3Im<-*Vh*!pEUDbMWX;{l%+s5^a944rj0jib>$ldn=@Le13WwxwC}cS~l80 zDnS=xKQYe|Ft;*C&+Mny*g-V3;&2JzIed@@;fNyupFm*0^`_tN^>?QPDEA^}h_KN- z35?9iHjsk}_gm?sO#3D2+7#nu|MNL|5WlImVfMj!MNBxBE9j(vV4$z&U&VQ!!@O=r zl4S%B8==Bzm352JWm0QQUm^LP=)YKeCWLNbeHHktl|A#<1Y;AUoN^pFPvI;@Nc=`NR+hX@ zW~}DtgH7YsIzt_dFz@0u^CUnNEDZL)S7j1e02?+dF!i zq2valk^pLs(j`(a)e3U~d*I8ps5g7k24(xLQqH?go6ra0l0*Yt4*%&Ddq+TVDy0Pk z#O`DhR7~hvfTGaB?veQP+&gY&iNpgSi(-a@VhYma!h4Hwd`1YrXFs*RJ$z_Kx7Z}X zo!QU9z*c2uxbcT+_2n z;F>Ig!5G}lccV!YgUae63?2o7IyN{f188Ids~ z(Ffr8l0c8iNk>FL`mJ$8lrF_^#qb19Vodbpy?~Rg!y0ZnJJOMg5p5^b%Fu93qKb;( zJexXdc27O;oDZo$K{;^491H{NiJ*8f(wujVB^}IJ2;+Kf)taP~3=^E6y4VtfED0kr zC#|{ji;LK#`U(uqPAFr7$m9UR8FV|k=JbGZ2z>bk8WhRtnoJ-xVx`g9!NR1q&iv#s z5?lr-ET`3|OHu?-*qml89`!fvdRqZ22tSKvrJO}b#?lTCGE!@eGd~lI22O(u$KXQ7 z=G{LrOiL!UN73t;s}pl#e1m65jn%BX>~I{ER0^5$~Dj^iBYDtgAZzE zO|xdvH|;RlfEu~E2z)&FDBFM7-yDpP1m0A>-S-wgss>{z&&fhw33;h9mWI);TD@? z6c))KEz(vb$t-+I>37t+z_*f=q%hUoZML#;>V-=^DI$|rIP;Xi6&Lz2{2;!6K(-3t z>zBI9wUPX!FwUL1jv9g9bUH&3O=E3Rn2<90^m}pUDTJ&rit`^p%Sf?-q@j&r(Ri&( z<|l)3&PE1_3ob3iT+K75A*AFdicZmQjk}qP!l-MMFH?)(hB!|)WCNh zPvW9fQ{XpMLble35lp0&&iutN&?GsSf)nwH7=U9WC(m+CE0lfC2n}$w`K*-RAwg3E zAQ$tKF;R&?{vFL>h%rg$O@kpEWN$c777=;qrPc9mftq4cQPXQt! z1+qVBj57x^wt&%_=l}kP%p49ATaz)}(e-ovlrs~08WlY0%>_~_q*D)Ms7Z~T|88bJ zY;geU6J%4jIa5H333b;q#ki;kD-3vq}4q0R$ynC7XEVf|>crym10a285 zKIj{WqQc${|6R2Y@^(D-wI6e3QUj3QW}~~PW&%s_vl`aKVcu zmXTm3wKbdfm9S?HF$ikdY%mIGEH#%n0TRl1uSL^48& z9CV5hC&pj9dk5U!2`Zw%IkVsTXVTMEN04tJfD;(6pHKrN|&`N+owPHaFc4XWWX93E)Zl>OP1t- zj0>|`Z%F&}YoC;G2Wb{O2xpUb19ur79SL-o6#cWAztT^v@)r!DCH=Q zLt$Nj!#_a_h;N5OwRjkx+B({wL4pcvN0SET#!Tu-ijDd zprclhe*B5jkz-H=Q!xIT_IBnthD(c=5nHSy`&EibWAFpym>Em1af|pbBB!v;rleNJ z`YImJlNL~+LEW-N(K{Dab21tcZvgCuW_@b(mW5ahz&P~D;dmh>e$d3!{50$Fph4!h zL7Mj%fKj?A&n+BG7>5=mVkKjqB00u-<2-29N703f^?*}CVi>yUT*Y$6gz*_^B0Gr0 z(J3)#gU&A%(Gc*v!p$i8&&tw9NqCDhZXyU;2zo%L6>AxD7R$HgZ4N*sC|^p>OnFlV zn#PaIE^0Yr29!K&&?&&&hRI_v+$86ScKGe`%;PL)FgPxxD;j_ZZ_<5h#8X1>DllBd za>m5C)7->*LT0kXVK97z)o9hD$UQUNX5o=6gt{gxl7br&qAa4OsMIRfGv)=J!b!Eb zXsfv4u%lrt^~Hb;BD!14Io`ZhY)fXDwQn4;^wN(!~N}2+g z1ey#qP@1SGTk;2V8KF)%Xen{qopw! z*g4W`T%U>0NCV-de>2_$RAyN&!27#^GHW>a@)&1h42UZkoo{%003xUXlP&v0el+#ZRAEZI1Prz=soXmgYRuW zx!)iDXxEp1e(UL{lmGwq{>Ru4FaLk*_x+E*KlS`)Ct9EU``+#U1^!?C`_laDe_#Lf z{D+_UpWlD*KhS@IpX&YZ^zVFS_V?3&{z>Wg?|o(Vum2zB_rrYuRvq}WaKCrI-}|4t z@BRP(GRid2t(bX{T{+(0w`E zR^7JfKW51#beV5kquS)fb1Sm4nSOmt8PyS37X4m*BIb5omg}PK^5S#qAqbwAF=;-4 z!RV?Lm-7QYTcD-7;l;%|b9B&x>qb!+U-0{`?6Daym(V&K35^1Gf$f+ z_WY||@y7He*?-UX&)J|zxznEh8E$|5PS-5^j+xj~r2myutGko8ub*o@)sxOfFnIKP zElZ^pUDt5`06)6hdAqtf&YibnlvM5XOH^vFhM+NxdTQ=8Zn^F1IsK$7k7!sr-OL0? z=qRc;&86sB%cfU%>2Iped>Z4Vc4L=ZC{L!tpPp^ca@v2ryHYuMy;?_?FV&xZ&%ru& zg)GiOPM?LHS3fS=)8A>9*VhiSw3+&>K&U*lceS!QkLT^HZx=BqM=1MF$EFZvR9$~s zFjLFde$i}-+ocb`6K9<-VN9w!kd0QDn(6V zkuCLBOI;M{-R-6}{S{#cdFaO#eQbaZGoq-`i&%{$6(IlETqoDS77Wbf6i*p4zu zW@B7}X2bh%O2OQf1dt`Zq5jpQ#WqWU&j1qb9TVYG@LDaIoUE9j>>xJ z>39n1>*<7bMEd2ooIT6(PD3iG(dj=3=%F?otm8M@!DQ1H9lE@q@PvA@tiOZmr1l_B zuiL7xOQ?HxQ-06cQyZsFJM?-i&2`>zNnKT=> zpJvb>&NQPdGO1BpXimFfP*5OBUD*+BQxO%(NGon%n#PCqOz4lx~^cvN5PlQjS8)?2ro0E2&>~Xn(m5>7$iESC-2n+-I_E zWvP?t))8hySj?&G)TRslou03`w7*XuLZ;8@?ej(+^~)lB z30tIX_EV|4s@s1jL1>aUcp6P>c!sJj9hV5RSi6(~Zrr+kyCp*VTUnN>LdVmkENX(X zx|5;*z9A*s+nM{Ch3@nz?k=uM9iD7J+mA|EckN`^08xoPafqM<*e3~keFEU57y`0ekT4ec}6o7hiBX&qkI_d^(O zcx|W#8VR>U-d@oDLGN^IgY3;A&c8b6emt^4eR>Jz-TwV2q5VzwRl0_X!`$U|z0K#E zQ+HgJp`1&0Uv;#9q(Dqpi5*|2LRAXxHC=nz`w7-@`w@(cycz)!u#eOk2 zf3BwnN4dFWzpqKOyu0CUPychTb8J0Yjrm_0zdh@Q>rHpkw14nTlP%)qngN@?^OyTP zI6tn?xw3$MHMjP6bc%XY%xm1wH|BF<*b?3O`(^l|Zijun(f)Z^Pqx!6yXu9kL+rgb zRNwyVzj7wkY7fQZTCqn z>^HA)4+?xH`$@;t#hpp++KuNTcPcn@52|&`^NV2 z;GchIO~=#0ae4j7rYeOJE~4apb1&KiUqO19ZD+MkGWwJ1oco0TeW4BGA+uhw*=+?F z(3=L`81W16jOoSx3HJ^|*)oSZABgadHS7NRT-Rp%kZX3x7OI94qi!s?MBi7~kDT5R zOGlPMShXU3wFj8{8cOeJ*$#~%Y>qFYK@VyjB$D6E19hI-3QX1;$(4z`)TW`$1N~ne zcqR?ud+%m_irbX1201YQy=(Wh-|9Q$6dUzs^{SNu{nwr6(R7&Dn%7ttfrr-!-b#C4 z?p_<==-L#RdrWOoh52*t{5mGKb`hA1{5`i>XG2q^QNoftYx{d+%`!ttst&0B1IJPX3z>N4wX z<5mU6NfnGYRWGG1xn#Qmcrl*F=J<(or}LBC3M|+wze)XnIB)gsosHGMf2Kb0=)aJmJ22(YJ=S3#-Mx0_$#z?`>@r_5WwCN~zw(C3JOu{j(y+ zKkM~kMS&&OB*GT|3-^F2o(^?EKaEfLRkyFkYL~b3q6?Yr{gJ;7Z-gz)Tcj{^=GVbZ zVc*mtY8?x!=Ax$99R7~mb8UOurWP9f+rHnm`GR}n%h?5PR~Iw8G(xKBqy25so}IfP zk1^GV?8ESWxG3v%a^5!m&!M4i0O$g*+Xn8H5)6IOsX3yA3gGr{o35r0c5WM8YyNJ! z`0cr;+B3kbZiWpLfzbv{hlU*-Tm zP3~IGz^m<|{RdX;nrlp&rYwaXaI+cl;*M%{0RRtspcy3QwDk(?hAx!c#nJ{iAbs`ea1%(w_`W8?ah}UN8rbu zHz$AV6d2H4^zaQd3d|V#s?WH)1{~txXr9)$@YA{|&IAU9N169cbpht=Kgt(vbzQ@! zf9xo5Te>^&D`AbWUM>E-QSc7(B(F)cKICh!@c6qZcX;${CGSSQzG`pfnD+&0T-L`g zxu(_D7hc{)XDmOd%cHGhnBZG#%Lsq&XpbgCR@D~;e^~wr;4-?_T9ewm@V&yW{b)bv z_Me}(ivs$EE4)c{brEj@?bdQW&aXN=Yp4IrPFv{0#k#uZ`FXztV^V5vd+%_u=&NDw z>ueilSXCEY<~B~!(*ntTncHy7vu{*w?Cmdkx1NW+F8qOu%bVYg;sT^=X&k2Hugw67hT70e6Tk;GwXfJ@EmR5-cx%8_px8D{n&J2OI@zwKeXFaAu}02vW$2r z7tAWY?Vnb3MHlnZ_ahd(#?ki~?rZ$!`=JWt<33NdrAtMD58Yfp`s%hL28Pf#?_N(s zpM$ARYY*X`yC_Fy`B?KargNY!bPer`n%$u41@*NjIMH1c&*a$g&yzghe3}s+Z&rh& zcF@|rZYQ`>T@?QH#0{zwZJ(S0qUn}ezAsgj&poOg3cTnpYg)qjUV~*3` z^X$jq_g-*tyC`FPBSY@aJHIZ|AN(@k&d~*LbglY1Hk}s*vu=Hxci@0nV6 z(r$A=jh%r*)W6aB= zRN#dzu5AjuE-nKE#w~%X{|NeAA!Zsb)T{I=@4dA5f$7#ot0TkBZ}@qP>yU9;+=dZnA7I;)&Z|&QT578&_Pmo}Vc2Nz3-^MN8D7-is=4mFS_4J13 zFWU7$Y&tFqmv?<$E`PpFMHfBJMTv9q{e)|dE%A$P>Gamgx~Y0LJY6md?uGu+>?^F!+uiNu{d{*b zZkL5;_p#r&MS&^9(Rc!v__79mrdQGZ@{iqS@y5$ucvTl&;WwL&efTJL*l~SDYgc|R z!&zgk=JH{IyD0N?`0J@Hk~_^DnAVe*hav}qzgNRCq6?_*U-Lr;^zZ9{V8?J#ZSS+b_`+XFt7Dd~8a(a0w)!mk zvERV`=%SrxY^)2UHlzI2@|I@gffs=K{q-w`y!lMGY$jSsx4i!RBNw<3ETzt;H^nS z(0~5xAlzzM0bqVJwfJ+o)Tz{NLxeYRObTDrii<)T8|!{evTE3tjylQK}R zDZcT=bqxM9O{YbH@Y3FMx=j!A&u*=YJx(Dv+?==@RcdY4;8k`}{eo7c@X1m9I}UC0 zeVz|>m(bzGR@U&UxF|3;j6buZqgx>p^_NTh>oyDa=kChpJF|-d@Q(G-vgYeO(HXoe z;oFM_le}97Y2K=~DDXbG+^54o2*>E9Zur}wCyqvxM*c10bm|n?MqPb<)9Hm9X7zqP zzk02^*|_tL`=y$)bm6;QKg_G*99xYyZj2p^XfjvkyMufAnwwVD7X`d@DB;aNZL%kd zdXTL;)|q9hxz=tU3~4S3lGyXk;)(z9Ti5wU+Bq@$9nQq)_VWfcMHh_1H@(&9?^sQj z*nWp+>|=TV^S{^L!tA=}{>OMU7U4R)b4%O`H^mJQUW5j~eae0wnYPh|xN{5}ZgiUp z^Y0B(J&$~psc-O~Y&f3#g;{pdW8-po#D6-kR_M%C8{Vp&d4_$fa4Ecb&PJGxO`m{c(|i= zue0jHRbJ`~cnhO-9d~e<-^)#FDDX15Yb;J$TgFoj8Gi3Q#k7#_Y9H>yhJF_X%WS)R z(FX&698}}0lMRdRRo?0ZI;gUDfkoU!BRW!>JSc^N8vg?IY5lM}AKxB+wLyVb(nbBO zm&4N6f9by68y;W%RME*xeNR7)`iH-Z090|}u$pX^XNhe>DA0&?NvY{5*S-Z_1Q#>p zAfVrz!$zx+3r0srGf;9U3anW!etsNuXq8#?-@u|l<{W&~T$+rl%8R9wy1WRfuryJU_|SL+IsLs1&tqfmgysY_jQU z9E3^u6AJT-sNz_Z{Ak>%3R1fIMUUzK4mWGGC*3qd_E|PQ@T$8g8kv*P)!6hZH%D{~ zhG&mu4x_48l<*l`C~+W8BiU5K{Q2$YthoV)k+0kMHf+~FlWLjLrKbTQZmg4Ce?Y&7*|2*Rh6S7 z_~5jP+1}|zqd38;8gB~YaY8faIqsTinS+y4kPQ|+1-h)NE(*3biik0E@>ZEe<}SRP z%E-Mu-*1ZoV4$mTRob$e--ag!0zCpPFiC3R3$Ng!6_qV0%o??rM3MBIL7mphgU+jJ z^p4F59FaMSN@K3ZdLbM!WPS?*SXCEY(K)|b+{V4&YSc+o$vsR5j1FU;VWVAi$Qe#y z(MAnc_lXL7VaiSy_MqST1*S3=;b(+uP!&41^_i+frI(3#gJqgwKIWN(nXU5;%1Qd zCbf?h&HQ3m$SggNSG7ff_rQUe^G#7YQfPrzc%pQoAq-VsB*z49#b`zy7YiQdpcWPk z1f!~*3cMyRNTY*jWB{%z&J&|BF*&(PwGM$-%|&K=lf{DpN(IJAgqbSQa5MS{#@`nO zWJ!YcA~UHBmAZpUrd5~!MNn6@MS)(;n}}!TqdZyTQ9KA8Y|2S}eXYEzE($=2Ck)Kz z(~}_o=<#pTGDlxcrc>y`PPut8QJWJ|y()C|L)cm)RynnF##KZVrxG~^N$;8zoYj~) zs`a}8(y>Q*vWcJ(Kous`V31n$RoB;OoW(e3GKSfzk_#wPGs3INMnV;la-DT;QQ#hP z+J-uKF372Qzy>PcL4gw~+G@b7=%NupIf)5XI)7P7%~lN`L=sQx>C}|423+|;QPzA# zpU;%WP- z!%r2~ys9n=|6>sy{$yfgYB+&STRDUwoMTlUMS&g6oD{-fQD~4zH1bGBS|N18I`uAW zql>l%PXgS8qw@iVQYa@h6jfuyt7>eF_TpM360#ADg4HI(BgLDG;uFL{odL2WLMURc zqD!K{w9R>hNWQCD=)#G(5au>klqWb7sv?^tI+Kt(s)a7Bri&v5Jb161>7;Z}%qwm$ zA#2zn*wYtXBqM!sQdJ{tC2S@KpNGSQNjIt;F07`Di*u9VHb#t6?z|yd3sU4#$Bc4` zAKeTYutHSkFoDeFTBZ}S)Cj7TThkV=$5(P+x3 z%&h_C>)N8gqUwplxmwA`1|-d!!E&mSB8sf?E($0!W`%s(>+n7bpm~-x%U5B!uWE|| zPO7DtC{r0J9kel!tdSL^)<&vUDDZ%}RVv4MpxE;-$>%&LNE>3SYAKGd6X$`bhzg9= zOK>YEX-8SocMYUtQQ+frVE7s+k>;@q68Eq|5P2YrRofJJR9)m_HrM~Ya57{LC0VI8 zP);?Mys9n=)p}z7=OYD6Hsnw;e`7#C3SEsef^rl?Rax=oAFbp?smT(~1$>+w0&AU% zYe6#W9*r9K`V{0bF@gFV47Ob2m}3_u@H;l;RuystyrQU*SNGML1zt@T`iQw@iLnY! zR6~6BR62WmTmCufHa)X8pt#8jBw+MqHKe{bY zfd#K>ivlINMi?oKD>;HwmE|xWD>gNrDu3w0tGR<0$=(y>G{#_!Fd#Ztdrrn1h=V=` zV037k%l1$0sT0ob(xNM!9H4m-9aox^d7fKE#y3iX5%`I=rojcmH9mFA znTQUdu5J!fYmS5r1!WnfEd{Zv3q4Rb-^2A2IT!hg1+mevD3NTmmV-U98VO~v!C6O; zGro)|BMN95CoblPxk~hmfEdBEDt>aw*yh!>JbRe(yO~b4p0NsoDwN@TCd} zqN+KGskT_lK+lc3%{bdsPAGs6jGL@K@;TgN;LkZL9FwF zng!D}raZ*7Yx(CHf}-w47Gs8A)G3S9j5br}nV_|eCst9OD(`vCguNPxsAtrmKofsd zP3DY8!Se^Ug-6I-YG)-4RDI#7NGFtYtmU0&#Koa4BRUwFA|)loWQ3D%SOq%ndB(uo zK^y_6!6be@o#vyD&& z2`6i-gcmaCYVX%Z0`v*#JC6mpl<{Vl++W@hOaGn8el0nX7n-R0buEtJb=ne|a zwY>k2;?1Cjgl|b}YRG!@3XN7V0s$2dd19Wp6~Lfl*=p+5k379b5#cNumJ^<_f^BFe z1j0>uW3n0_BAlk8Xbt#48LPwQ(TMu0*_<`+1YN~}d?ZOG2@%%vnkN9;|3oR;g_QVM z=$vFOhROsIIxh3XBT~VlxN7WCJY|{eN~+I%H3`d!o>-b`yjFdUl0khk6DWu@mV}{W zvs3I7G*4V5Bk~Mr6$Pu&pmG67y*MjB*j#6xs_~MrkiN(Y-BdQ0;z-doSaTsH^Tbv( zM`28%P|8Yj#fY+TZV`4$9zV=8o3&)bOC$ymRUyZ|yjmCNPcso-o^fkr5Zn!%ChXMF z8U{oT;=KNUN661Oo-sLvV7V3KR#aKasW37&1A0y+##)MbY$$@7b5eRR292Rmm`r`c zAtkKhm}lx(#UXsO^d>NugsxTOcJAc-#jVd+QZUjSCT+w*P&m<`aE93$UC2~CF`!?b zB04NSm2)T14aqFEC6`oKxhQq~@{F4E$=K%SC5#z1f<G-z5y!5W&) zs8yWSKA*-aYI!oME0`jjbNNZ*Iv7(j$gBsLSjSnOGzLXkNkAE~x;GjWJmj*8(I|Di z@{G#B385UV_M|teQ2U)QMK))I<3nex<&{z@$Y!%ljl4R|541yefKU`ato@Z|g}KX} zwf4k-50Y4Z;n6ioXrk4&&sei6L`0(`Ia`g%Q3_6q1{I#m?MbZVm1hbgOu8O(TH#ng z$`chu8FVZ+j?130VN=_ibVRdiT7;l$@=eB~3}i21V;!VCeZq|Z)&EN9I8Q-Rb1p{) zf4Y{#p0PDiq;x6~Ek@%`gi3U=SmCxPud!ntp*$k&YmFNjX)#5y+e8iN6i z@Lrf>QmShKDC0UB-bt2?$TNzvVk@zrNMwDoo>=n493!0MP-bjWbw+{y zsd#I)QdcWD#ykyqu~O@6tu`n`215#qDneQ_M`W>%LY}A|PqvRPP$whl)T%+BW@}mF z<8tH~DiuOO36(X9kz}-UGFKCN(ok3D!;mIFF!6 zgyH7ELe{3Ho=ZATc*f81jFCxQb7YdoEVc-3AIT0mdo0iRxE!bP|>qGv5qyK$`@Ia3xSzpU^HI2`Q!AO({!q~c*a=KDw9DWtnnEZ{%y2+ zewH&&ULSEhGoDf=SX0Z@GEX!akt32p=w!~uPTZbxZ!+PSNlrf~C*!g>RDli^(Ni*nC?eICo>-JCV=`_0*=&S2s^XKP{l*6G(~e_&(SHmyV1*eQ<+iapP@%deF>jB9>0adtMS)mEN32qpqbb)x5l z80Nu5_#{%3fp4jHC!Sb|c#KW88nf4wk*d-~8J)!!y%(G%5>FTeajeF97A|r!(8}uS zj?g@D{}Mc7G)7~Sn>Vx7J!hqJ^GU)y)M9<-?6^GR$wUP{wjZ!?^8=pIVR4brkFBGv zJmdXBjuA<7(G^5S@ewnPlcQx-Z4I%iAfCwXt<6nP2Cs&|l0sH$P!e!tolfwKX#H7D z|4ek@v=P1c&cpuGV^uvo);CUBf{ZUjgc&*91>;C;_bS$M!!vZOv|h~Q&drAj z@4V6)m8=??Q~Qji;P4y^c2l5WoKyl)q7RhFq#7kUsJp(n2!9YD1^|uQ075om001xp zQ~)Ut0QZmlWt3~T!EOu~f`W*U@~eg=D_{{0|Whz^K~;EV_Wa{)5~fhWSZ znA~jOw(xA0k?o`P_}AgHU=AmZDI4Uk?YBg z+!8;iB)2Y0FGM5A_^ANE4FC)k5Y@mC1Mn8u*Kh8;#kmVfCuEG8{QUp$-#_iA_Dehe zfAsc4{^fqD-q%L|KUMj?so$CY_RBkefA24|e*OD}f1iQ&Yt?r@%k@9@`@8=c{@MBG zOr-0Kxh4t8RK!)EIFeKWujs#H{g>*mNB#fu{gm%Num1n*--Ya~(!c*{{wDcA&}W|KIIz)c=?6e)s49<^J3MH5xg&rB+24b8CR6`f$bc z$IlV$f5ndNb-(GhZFJEw+I{HGK)FUx{+vxSy5jZQFI!~$H0kQPCq|MaG{R6Kz zW8&TK>WvOUt)vDr_L#HC=@o#ib=}d`zw|>^?UP*6SD)UT=nTJ-7hQ=~SksXe@6vvu zkF4D%T`X5G*%Mb^VSrPX`avx9#OAB}e*Z44#Z9K=JqNAco7hLw(o$|UiI&p>-D{-$ z-0eE<)Y4^kHNA;US2t&`JzvHy0!*4+cA__JXbHfEeD-vTjzih5bYXAT1nE`Nzl`=( z)Bl~lP(MdEd+XX(YQ|m7L)X=3#@Q)t)vvpq(Vf*a;?YRC*1{Nxl*u%m>E9X8i)ihC zo1JO(5O_h`U7cU9&xJTsbo$F)n_l}UMYX@#2|l~4<5ygXJ?Aa6ZK>1IVQT4Pzq5Vi z@SAkHTMqMkubHp7(VYQRZ@I9p+a(&lyUFG^)UKvqXbm*YJ*n`nOKj)cXECm;P`>-e zzuEmcnn>weH?`Lto-;Ib$8q}7bSpb=NVjJ9u>3GhzH_f`(&Og(tDE7MeRSznHgP^v z^%s6vf3vfD(Q}w~b%AV-?c)BkQd?!xIcR$=+Ys%4n|&;vw(C4+U(kjL2<=L*9?VGYV@9xG| z>`$&1{Pp&!!|gFWBR+1dZbg~KXqTG)k9$PqX_uuBv--5*OS7E4KQsBnq-WaIaJAbG z>1UeV55`u%?{=lTLE??C&u;B(d>ZzWw$5~Y*L~*n`Rm)~`@Z_|1iO*4o_pNWmfZi& z-&ZrRa#8YM-Oh*iesit4^)hOHR&-E)+A*~}--54A`W3gckbT0{*A#wC$_@!3*>ewr z3yY^a!Z7N$-Ol3oW*drWk2$q`Hl#XXR71VHbek=IXZa_0z0(@*$!cZ!PPH3*x_9(X zIXW#p>nhIjC+{=YX7yQJ=gb6q>YNpR+OC}jv3syDdusQ4$=w0U*l)_CwEuZfp*jElo-%^ z_*S}2&}_TkbQjBp-`nfXpgyx;p5)ZX? zJ)L+HKTZ~TWKsM^yRYe!=&y=_f$a3x*VS9pzI=9@O1fHW-QV1uOrO_E4|clc9d*{X z39dVzFSS89ugtu|yQ}rdrK#4-aO>Nje<$VaD*Lbe$-CtA26mXOe=jF| zfO1kNi8lA6v^jtK9UM>IqN^_It#(dGN7@7~luh=#1MiG5rG!_0KrZ?;cTNZYv zFl(}$@Y?v-!dtI&`^ulZJxcyYRXrdf%;Q#-+RY(^-+2QUEeeydDJIsV{W;#LO zhx^^c)sO7!>HT}^W3s%vTc5lSa}D&_>QAEe(#iJMxHo&XosRPB@4nI}09^=q<6ORL zSGj9nd`%@bar$(u-_L#BpWLxp-=nx4=lawkCWCM4`>^MwXXL*{JG(x)4Yvi@>F||* zAUMxIO9*P1$nD?O=ObBu$=!1G_l!ulG+qDfhsfz&)7?`xGk({(o#mh0L|7U9xN|;5 zxe6}NzLOOQD2HecW2WloqaZU<@LATx95#7<1~JRcv&a?`89WE(I?pNF}|=_PV`NrMt#TaAN(BB9UXho83qORKdpAqy9v-UUoH^5 zH*Ak1&%*6*-R)bhtCyqCtXF2IS9-YR^9WnK|B)X}Gdw51(_TkQxI0!Mq-RS{YuATE z9b)QNoQ4MbU3a@0e8PNL-m*{6rHmm=v+oLfT?g7U!e4xJefdyMd=E znsZNOR$7!x5AEXsOsqY#cQ#G$-@W?-w3Z9~d-5Q&%Fm0MfV*bLU3w-{>+K#co0r}dLtaA)E?w0LIn}4p*QlL~DrcUy8Gt1=Dz>=SLr@Nbc}xLTLmO>VZu^_wk~q-TDA*^*>8eQLt-x2~5Z zO<%-mZg;GBPS2kPk?F`?ET@imnbx&K2ItrH%96mZtV~GH?f&g=Yc+Cjs! zQ*6cknI**Ot83ou#<`zO|5U!rTG-f4`JNNDS-yH^lWP>XR`&1u0I$OVH=kTNpG5ns zX}-7zv!n<;jKiNR$+LOX4<^%#^&a@XROHHXW%=lt;P*Jatz>V_pD?*x_43><-lc%k za%PG4Gb`xQ>1?`OzZ(0%xy)WX+{y7Te7-u>%f!<&{ip+9!dkd1zW~EA-X%yg-f%O! zc^WKVp0(hcf4|*k-h{Q?+j_x6O%FmGv>lFm%F**o^Q5 zOE#9}r)MV-?QIIM5Zr1rs7hhT%aU_WfpzWh-O1>gS|sq#Hl;YEg;~tvC+gkF_iYHr zPy1(xc7xm_uM(bGgP&Os z%u=TG+41tj?BT2J20!8x_>&D}EWbYsUkbA+@x?e=yj zq-RbzBl{d_%>ValZv#cM+J-~VxQqMi`fOFdqjZhp=qJ7F-`!qs%GYP@N23*5 z@~~GsvyfcdT+Z43e|We!Pwgq}Z8)cAf3pUFd^h&cW!4^Hm4TXEq5oiKX6{n8?!8ueDgQi_I2mrdS=`% z1a?V$$B(wQUZjeoAa0qrU`_ow=b(CK@Fu)x@^fT*KiKspx|{Mx)7|2?wD0W1M$Z&( zZy+Q@j#3*0R>?KyOm^&<{Q0rtGfSw`B%x-0bFUrUz3>+fBg3^jaq8f^mO7$mTu*cV zn5E2(h~E~yMK?#q=QzKv!0+txPtQ^%gtt=b=b8lmwjiG7jZk9hq1qjB%iGT^0ZtN! z*UJ3uk+UBUAD#^(?dUxf_B~yb=$Z9vAe&=6!tbZ`7?Ry4`!&rdqv)cr&su;$UoO_j zqvp=D_8qPt*N!SyfN-)NnVrPxwHlviyisNTYI`kt$1Byj{}Jq)UC-&67rp!xK7eKq zF`tOPfm#2zNjUx0{+%D7&+Obon=r)3{&W3F*5GdHY4a$z72h|{5$!YEg46Z`{`qnr zuIK57zPubAr#=w>DbM?(-AU+~?$|h+VaJ41c}mn8{Pl^jwiyP0o$Pr4oj_v0*4f*- z>Dv9*=vOzLg=$mwhM#)1<4j&1x6?keyf-~a*5b!YKSEb7!1(Jn<7!&#W**D)>}OV( zru#S#?Yqs#7dv`*(c2Y3J^OVsJo$E+WiILebCwbO>>n-S$EmpODoab2#$NO}!Fpz) zaz}J2X(00IM{YUu^0AvOnzGw0@1C_`oOTgaOx8T5D&%!uF}+;Cj{zd1N!$ z>wfF$72u+JLF~41ncTWB1NAq33q5P17t;+6XW(voYOkhB$yV^c+5d#pwUzJB+7e8( zUg0PrWY6@YxP=~iJ^_96=}(21fM>0hr}l7kqQ}{R!`xHWU%Dl(bAR{Zh1a>?$~|j` zFhGCrcGy}eTI0{v;JCaSFhM)7Uh;ieyGZHr_+wse#2(`xq&{%{_5AuY{jvK#f%MG( z-$wf-#?m-Aq~7dY&-?W=fl*u*@n!kwnRd=(-s7y`uvOsA{ny^TPquTZPlx@Vb9!cK zPs1nKb&0M%kyjC@;RRfr-RRY{Fy-rKmOP`rpMd_Sw&6X{2VY<8$PbrF&_G{%ElY~h zGYY(avVW41ul!r~_oq(b=GghYC8M8NzItYO6lS;5`cyuDg{KJj`0uvsD!I22Uwkpl zvNZHR+JztP_5N*kK|Gg{`6p-{()+@eFP>S^gFF!Rljg>B@CbaJUzOS|dCITYKJW%C zUp=$L6M07aYflF^+!xrId1vALIFV<+U9XT?mY$vu70h7d^)^lj(+hXBrVdCZ7WIJ{Xf?Ryq|Nk%8Ftd+5J;aU|+--lK240qd;7Pj@Zt8z$ zTWJF&)}Gl+ji&;%1c-;P+%JoWu%A5t`*V*Uh_fUYJ*EUhe|Z(P=T;{dUXa?}{AOOw z^(EGx*$1ASiZGQagB`qxJ4pYK4?+x6ll z|GuY)$eveQlOdbhaF!v+?w&Vb8LduNu-r}X?4@Obk7gN04-m_FYVZ^<(9 zr8CQZ(6;6g7X{C*H~vSO29kUEPV?C%?v~}IXaCOgS2I3!36FC((cB{~7>)luN|U%f zv&0$q>X{54d9hg`^VePdXvt}IrA6mjic8Pnre0WHJaT(_L-{gFhFP4Sv95EhkF)b8 zJw{uL|I8u@G(TO-b5~)r&p181`$`AX!(T76pYo^K-M@_Oxgwndf3?z^ zp0p7TPlJoicYa;B$(x41PyWAek>vK)>MnZwzG-_C{k^iRUaQI8@GgE>7cqR=*GkXl z{K21HGPrD;WW%=(_jZ-D>3^m~#by0jD|G41Te%)zzdVjdew~H)yf9)>jP2YW_E~G> z>2pC(?)jM#o^@?2Ua3>mU8|#A?|fa>u6TNgG=mTFt6=xLHrKM;I%bck)`8F3l1$Gh z1Cq^`E(GYQ?dE@8{=^DoyaW$->4%-xmIZp@(cHWD4^9V{*t=1~T^0Nm`d^Q<+u7}& zoCZ=b6mn&}No)6xIW!js^n#w}4-`X?#a+Xh{ zXPCJC8t`gdsecmmIs0V^1}njp{%^&xds%^lo-p@3Ht{4myWsa8Z~KlJi#a_;|986j zWIeO4E*5{U-M87_&1HvEglW)EzXFN8E#I>A{L*Jz6F+fMrHs7YKU3wmKlvYgH5(oI zl9^?z=&pgK=sVG`XSm0t?yYAnM_0-FK9=RDXGMhBM;WAax-8v^@CkR}?#+?W&z9HE zS~yO|i8v8|xBY_BM=yAc_87crGsqL2+MQ?UnJwH27u(*r=d}C)0Phg)g``vYDviwq z_?cBo>6Cz>+@BgKJ8lLvmYo&Y^a$vRye%`KwlQ$?fEkv3jX#WVX4(&~#U zN{!b-9dZGj2kwC{mx$ZU`l0j^(#2S%8pJ6S7&1334-ow~9x=<-rfJEb5_2&Kj6JAN zRz{+|XzQ7Y#$3DrhCC@_^F2pQV8kgqvUR&>R-U7j^`iy~m$}rMt5^W-QObk9aAsK$ zdes9{!L_QW@Mp2?93=se2r*4a%o8b@i;wbj#=%K*^V%A&#Zwmate&+dm7v6XkpN8= z>n=X0H3EZcP+uv=E8>sjc$8$BrndPNC#7PDCTB7`X+5*D7M3`TfSJ)yW#$;1iN%~p zV0+r0wFH%k3A{1(ppwN_G>N$j7nK1dr(ea^34%2$u|p&UofR$r(b0f><<_n`dQxbe zfA6c7NQ@>G$y6uvDzu-q?}DC4;AG@p)d;I!FiFHZXo&K!FL(T=Fc~*q2mD(CaE|Ucqu(fcFo;X_Yi|-Y+82yk=`bKYKOiEW? z`6w&o1eB)K=MbN)e@5cwUaRyp)<;3KndSJ3s@D5=;bSCmJX#1c`6#Z z2~dKqX`eF*Qw=1`_s=XvMmChjk;$2@QSy<(*MWQIw793UqX0c%V#wxJpYPR%qeo3z z!E_FlC9`~a8d3%Xa8Lnno#|wmy|1{WxXi{D zWg2vmQS;vFcM^RJGvcpHgQ9sKQ%i6X={zs}#+e zRYXdaGw=@^1-?XUSt~shMidTTbD>kPRq11(=VFsrs@av0o^mv*)|_XQ%t#)TFXUv+ zMy2%2^3XGkULb&@O>|XZQDB{-RGd;-Cz#`+ui=x)3gsf;q;#)4mr@6s5%Nx1yHMy- z2q|kP%snP_U?PM_5!BV|jADw9s$b>_Iv_mE=Sk2s99ANiD#aw)WO7EaaUs6!M+tbu-R77kom6!eden8@;o7X6rpc7}n?v zl~A6fo6~3~W4K7C{Y$KG*qD>Z3P!kkkru3zlk{AN5td-Q#8CkhG|nn1hm%4+a8x0f z6W;;GEE|%B(qrx(Z3Y7|7-Z7|$gi!JU|Zv35bRY_oc$m4M*7&(QC5J94VG_eV_M(= zqZh-qh@#H9u_5OgNZ5n%CQ_??P_j~Egos&l!BK^RU;;qPm#{H5nK(_Ex+t}qi#0fi zpy+x0&djoF^pt5SiV`Y6ItLZ$iy7ju#B?G6%%3nRL#?d8L(>5I+kyqSvi!RlqPb#LsS|UWdx-q^GHW! z{WD7m&?e(HARH5f+oQ%80Eu;HmQkdl^TrxvR6yZ25h)?&K{;(Ho|}mw8&1ry ziso>YbAv1-j0VBr$95*9XXWO_i;K+p9?E$pKSm!#qH;<(rg~;u3~d0`C{?;z1S&>f zLJ-yzVmYp(iT-NBds=Ln)>!cX&Ux{iWqIAKWjFL`#IHE%G$AM;Fo{u(O&qK%^LXV7 z*cwd%^OTI~s0=#LIf{;Az{>iPcpEwuauv<%V{Dd9s+K^AQm|9np+nEOibURQ;xOJS zQ$aHX4@$AZyj}U|nS2!)TSiXjVC+3c6GMO)&nrD+ilng(%uMA1#H1!kZM}e!ifRQb z-%7_Br-;T1Yb`^R_taXVgV{M3svbqd@bqiYuFpI<6uy#W`0=vFOcO zPVqTZdxQ*8vSgHt+w!QzT1B(vSFF*lI;UYmCBTBoYWYU2U90pg;4>w3{|6w_{Dwiw zKt?&{xDO_dF~W>D2XUGUs;#1RGL1=JqO&X;J<%6xPF#s8Qr$L zn@MqcWa+@ReO}B_vas{= zSP_&*tN_h4B631ktH%^iUP~G1K;S*t8C^IDK^(DB`KNt*yBIx1^{S+;Mnqsy^iqXr z1cXf-2f)O1^u%PuNsSU38sfbx1|vEQV-j;1`NCC<6kMl7B_0KGlPm%WqHB(R?trFU(&h~s7jC=>ovT5`U$)==mCeR0( zo8r*{1XVcsQki8z=v4-C(zawrO(0Yd)iDO5&~epF%)JRY`*4qmiw})c{YjF15I!q8 z!Fpz0BLpefqMk@Rl}F2yE;5xo8S>RL%iPfp!iX@NAW9}&qeRPBso0TpOJ{8(q?O@H9g}M z#q_KQl{e`!wLxaEHkrAGKrV$#en_yMwT+Njet8bcth8mvAfnL;r`8(24r^B>J#95r zDn(&8iQ>sh=S2yFL|If~ikq~73CGNypCqTNkp&FO%y&onWS+G+g(v_j&5yMXD{fTu zapsFZWOWQ@Evcj{2F&5LX1pkpnNc(xJ%3FmyPjF|kOIA!GtfYe+!_Em34l^(mE>VP zvqC2;7&DA&jUT)^N>);J#+qRXc4=%KwKxDT%Eqi~Y=nluCeBc_xmmthjf^^mZ=6RY z*jk}qj9>+hgJm5EIB9ixGs_2*sMCw8?I?ar^#L32q)#(hM z1e;*d#z*rYKS-TXB+Oz&$Tdb*i|Z5YJW9{7LBXR>4fr^ew$_kZu4;p4Kw^%}QJE8J zrl>M#O@PKU3exAemSX}_5K)%NzQ{Ib7@14LVS)wBjqG! zqvK>T#}lHHHKXJ!H`1V1d66L9=UFhGb=H`)Ni2~iAt#iJoyws-nxF0e|4o1zN3e)G zU~>=g+6!KhwHrSFf2Vv&qvd*O&bP?#m-SA z6(JN9gT9sJ)AX$5qJ+Lm*j20uh^aLcQD3Ch7RuMU@fIN(SUF};YXkx7Y_UlF8HQhG zKTLX~nmINXwf@9bsU)V0@k6BG_Kx*dy<-vu5g>t1qlA!E;3$163{QKhche~PZ^NWjHV^#wrD$5e9CdImM+46GFC(3uj-%?txGrbQRA$R=N9odXtEsR|^m zj*2Ko#gM+}+89MB9N|QxYtLWqyxu!rUg<`()+{HaG8Aj47Q$9}S z(}pyPE=>cU;tWSu z-dUE2o@;FhjS(YxgBhd(Cu^G|n%`-&EGj)`sEklp5MZFB6XGO;k|%1%omMd*oZ|=- zC~l}|%ng~g7u7lSh<2W%XG%@)eA(QVMDm>be%Vz=qyn&I`RJL0jwS05tr4Lf{055W zN*1NCatgon%(T#o)`kVsp(DT|aA>u8*FtQ6Cl z#L~qMYO7!cnrInVVSJ1R#Fkf{StpNOK?oOhx`8x7fO)<%Ft+mo20gQ>CQ=U6CTxy1 zSpv>r0nJO%3A(sNE>p@vct}$7gR6C*O(v2kL2M6n@rhgrRZ|?VR6cleG6qHmiVG*$ zTQN~J`_?#>VOJ=q%$1R*MpmmEt5Mk4F+q`ou$$+I%PIq&bz(yY;yt^reDus{f&u9- zHaiBUJm%W+MPZ|=H~B`HW%B4j7muPue-vij4CYyWo&t-@TW2jqpcp4e&TT~Wcc^bR zQ+m@mD94X-(Vtgre{{)2RW)XvNRUl{2g%V-*t7QO(ZdKiDGlZ+9?WYNV?a%i1(1~EZl zt!m~Cy?L%(Om-Mt9_LgFCb>PZLL-nFP7Wr((Qkw%?X#8|&_?;hfXz2lk9lMGYE)GE zoC{(Hk)(ult}9K81WJ+44Mb1EbJziFPe;$DJromP5!3sSB&@PirZ1*s_-6MAdeXo) zv(G&Wsk53SEN~`|$z*mjs}azmu@zKDTabcv=)N~Pi9y611Hr@-QlN7I;p41mnng%c zs;HxGwTU@4DF>O@ETPI50vwAst;q*`-y<_Uv&kqa9Xtr7c^3rAP_B$CSy56Z?awU2 zMnG%eivsy3g((tPi(1el!=Kx)G31PD&Op+0l&hZASMkQA2puSkralQmj|r7QVA5IiWMO0~pJ0cxn;Sg|0W(HUbB;zKivm&Fn@Qjn^NBe&M}<;` z74e_OfQpRMq(eUo$YAxq|G@MR5CZ^H05mfL002M_RQISb0QJ3F1$K9!-GCxYl0uD< z48)^Y6;Wyy`$&hc~fCDas zbHbT$LDCsY{V870i|iiRV#uDjD&C46lugTvFO87&_QFY4fY5lFoCs+ z_$osd+{rubi->1HQ>%C|G z?&fbkeD=>CJ8##0>haH=ey=}Y`JZz4t1mx4^@+JD{hxk!<>|Nk%l-1HFWmi(FW>u| z-bcT_^7yC!aPh&^51;!Eq*<%K`u}YDL!saOkN+RH|2HHQKCBtX#9(a!PsSHVu}l$X zzd!l!gR>t?{r1`qKJK?=AAZ=s%YWVemu>dd{*ZDTR{_RrLudEb7RMq=5H9X)?LYMn zYgUec|6}bE z+`&ibLfG!+fXFHe%L*O=_jKd7k;*B-|0*7D^GWUxue*zXLsbue$mb&TS|9TbKM%i? zrdcOAUA{|dc~iNx6b)0aXcJK>D?2=CUccr`~BDm=Z&$27)fd12XuWm}r0D(wpK128A4xO#1ec{h$LDdMMO zi8<2M1qeg38n>GRSya(IuKt!Vx0{{K^0uT??#nbz@wziyH_NHX`sY~m+6nVq(C?t$ zwa!gIKW;zV*joHw-p$8nRaMK=DVJeXD18oWyccxrEH=j4zkCAkJj}cK=Iy* zAJd)g>EE&wALx4UnT2c*JS{8Z<70ZstK0WqIw_NvzmknRx)+~1OYG+7vSh|F*~_j@ zBjrhXpYmwl&_sue&*YlQ@GkXvpPlBPp+2dj&HP+&r}Fz=BBQ>~jXyt+CkNrvo{nz9=ThYGI{EZ;w{`Ze z;_mQA&eC!w$7x}(#v&oNIUeQ%WCd;X@YFgGNx+HweXte0(#uIt0 zE-lx`nZ|ydL9hP3iA;2!_*#_Yw~S7-ixqGyDRriQ|PTsA^f6=N(67m_#>%Bu|C!(vyXZy45OWp#yK50!Zs42cq-SnZ-m09fQYVny|bmBhg%&;z- z3an%4uY{!W8PisBPgOha^rd?!J?m9oq4CM$P$aXP^{<1EH6N5cp-vCG=MF4)A6-C9 z;cYd|NB9w4c&HYLZQ}$lO6N{|yP50m*arlsVY9>8m)5do)zW$CbNAf%G{SkhaGO7z-TFFDdK(bPv#WK4W<5-vJJaFk z()GnlsyjLP!B>$T#tUA@lg#5^!KY4-xcXWCmujb!W|Ko%^X0MNyUE7TOV_=r)70+s z-&gl$*;Vm<@?ARj$O#kd{dm~NlT)X|-8XVv9VxGs($-Sh7(kD;EJ?Gj6)n_#TAn&L=;dCP$INu=ZSeA=zB6LF|K(c6 zU;fu>gGjoYX1TTR{ehU&Yw>F9Sl$6$?&FLD=-Qx+%|pm%rb}I0ulWJYgH1!O6MQW* z{;Gol+%l_K&MKE{d38)~`QVk`T}*hbx1|s~1z3V-Jp@& zJiET;(x)SnQ0RXCaIR*$_Nk39%h4`?UNiJ@S3UJ_j`0S&HT*)T^r>=qV|R$Jj{%LT z>VNpKwUf-{E}m)9mF(!M2?X%~@he&$&_vEI4NlhB9WD4Krlz;lJb_FVg00||Pxa5m zmP}W2+4&^#JcYTQ$34Fi;?h*h(ngXf`XK&gShKZVK{?){1pvJ{ zn6GTfT(mnT^PbNgjb}9WhbPCT(xM#&z1!^L)5qMWcjtbOq-6~1-Irgc()H^_8w;8P z*<^sXrQ@YjsrA+GE}FOF+Y*n9Ru?pUvH?`%8>UA33=6)$UtRHUU+?ui)qQ<0Xk1~| z)o1MK$fnG`tkd8e%>c8q<@iYJJ_>N%tvsDI++ms2J3JLDpk1fD)Hm(X3IJbws7}or zl3lvw>}S!k`qbHi?;)K|c)- zz2JEprH}YOd|VZPb3vS7)%9_pO^!X$*wS78`I1-D=U=9#rIwq-L(~#iv^}8Bm3HH$ zr1~rp20YRJqzSy8j^sE0?kn0J(6P(~sg=?hb-f$EZoFKkE-^8s&+KF$KN?@z1IxpV zB9n8IH$={4?VE^^-;v)qsS)~nm#_c(?8Ww6E^Yp%^c{BEwo^Q*s6EpO=(q*UncBcy4lWSDh zv%H{>*+-h?pwp!vS$|8+1dRZj?;Jgyv%Q|>1?IfN|GMnxW%rVcmCW6r0OsJ6vuGah zPHqaD^Vsy=RP|<`ZZuZ=^9B!PIi=IH-oVvxDcAcn7%%nDM%S|)nf37UZKG-CbL;xg zCIMEEoXy$Ivo701T0D6dxhnHvmv;be|5nfNfNq7Ya~oOLu-6&=+qHhnMw-oN|K?9VcI%3(_VBgYQuk(u zXVq#?zwo=hdu)TPM|B;()aN(ynrAFDe8u|Gt8aY1p4VRX>#Mz)Vsd9WwiWk$7Ug?b z!|!-_-JW#hH?#Gi)0ZZm&y*Z#h#>CeQ(sGQ#nY2_jcFk!0YI>%E z>B9wAc{`PnoSuaSt*(VE$(7Wlw2c}y46tN8>QLXiY^(9QEGQnM_b)Uh%b+^eLk*-M zje6FgK3>{+OrJbO8#8*jLQZm8xYiK9d~dze1@Bp5>hh(20`xd&(05j;8~@BsG5c`M z+3uKU`okgbm(YL0@dkJCY4J_!M>=-RQS0fAI@3-cE(hAKey0d2z+Y-onwDMtRvwk) z>HIhQZdhbvePtH)Y!qmrE~)ct%L?{&a!yNMKx-mxd5c-H71GdF&q9GF^{i)HUe7u0 zeyerRsX*Um^5Zhmqz@H$irLkGmND&8XfwN;ssg-3vQ0;g6=gc zF0Jt+?<0tjPiYu@O7e7j_fr@A?B+gmCmRV0xV^dm~uQ>DBC-k_aU!AU0=7R^MjWJVaV(ihUV#C&H2L_{28b#y8aX(KhJgJ zNz1MdE}r~xa>{$J*ENH^4R<~8J}=fRn=R|l(7#E&U36-F8V0WKsdrpYF~)RJk7E~` z;MUz;2QN^+`E@dO+X2eeviI7yzOB)qH6#A!d#yHB<@R(US2}~$_Ft~GZ2fk|{s_^1 zWiYMY{H$x5BGpI@y7o&o>@ONwjr(d_KW*&r735FZNWYL`Im*y|)lGdKU0aHO zAG+FOulU&leRax@9z50P*{)mO3Nx5*krUK3SAPFm>$9IW_Bn&xIxUoA_odWeEDLP? zmfI!u-Yugb+N?OTfKVwTB<5PIk#;^Ucd-~YL_8nPk(yx{1HY7bLHc*#}`*~-z z%(bhomT%wS+Ikc*(^#&MHF4I#@25BK)OsT&;~m@Xg4FD<{eW|hP*-;~R9M!}yAhRg&$E{nuz3CE=q>-TwVymqvYy~cm95Sj3#W>>ns?<8}0qsd>p^?3>Woy`Wl zPiDr~_uognw#(=<|Fe9HiPJB^rMn!~D#YbcM1>lBB6-_`rH^66QVI(5kSujz+# z6SA*QF$I?C&Q~+)m6F9QTIck(Qa2Q-^vi>F(H8n~e$?4txw4nUCT+()D%jzCshi{nC zIz9b7`FM{nWFS7`PaI(ZXn*fh*qvny)TxZe0taT|H z2aYno^b31>ZZc;hsL=~n*68_`Z4mN6y zQ_5XU|5Z*cC#P#sg2~y*(t3Uz^CipUjZ@vNp~iyxmriaz!>F%MU|R#8k{gc3J<2A{mtR*DafSoHnWeaORAUiC}#yNTYj9O zsz%@HYrvfSQ;Upxew*W9h!uHO+uzQq%zE#)L>AxA^r~LVf0qu+J1Rr|a^i2R9Av#~ zo$giod*ufh)eaAJ$Oqeke*4+7caN+WTL5vi>{@%@uJ5}5`s7$fIcRK@&T!I&;`_JG zqHIq&f1Pc%lBf7#-RZo$ixBA9ZzZw+b#?i>oZmk=)h!DtUN-k_@>KctAqHgDvY+@6 zU6%9ZJz2%8WxvI}bnA_X7$WKXy0aIDqK6=e(vR$qf3%{xr^)+Yf2N$8zH4#tY?ABK zPcNB_rg%Q_e^q|?3~_yw|Du2Qx2#s#hpw;zkp_J5yHL8IBWm}Z4hCj}^;>2VZ*H{0wI_R z&Yj2PSkA?fWLd}Usr+`sMmnkH0|60R};5;Zq!ri;;m8fFv0 z1U05AqmV$c0?vU>Sivf$CXNqtJ8#Fr(NZnRM<0+EHK|FgQXCeQ(Xopw(9co`N6xf^ zlEor?^G=A}aRvu|{!(AyOmD3SN7%E-<|SCFRHngV*eav*O~6S#8(_+|;F4jK#ubz1 z;IFnY5R?UHOl}qjQ>Flbl&33#LsCBE-@}@}X{`{ceWPbtgaE1JZ12b==@U94@r2Qq z@No^6+BkZtMSL7bi`Z@g_)w`Uh)rP5Cn`dYmn)dyqI%3lt(_ z6b51hWs@2N36!+ zqj7Fc(m5FsxO?1Esx?ZoCe(TCp5J?z7BZlM4sla$u=4IOy;7)JCpZ!qVT78BXsWL+ zZh{T;!HH08{D3MUGWl1@A1g?1C$=Lxw@RN8*yafI*!0Z6A#mRkCHwq`wYWut?! z7tjg+lTm%i7%7I1jhfv@to7B;f(6JHC7QG|m8habiLVh5iyh&86&^h^^OeqgG(ynD zMrL%FRpc~E_#SGfI`rTT1rFqR6iA!QfVHY891cKcW5ui0J}JixfHI2VdvhH2++MZa zPg#pkxx7bC%$+zj5+sns>KiuZ+zm!Xl`J*w2pOqRlR-g3kq&(rPiZ)lR={9w3brGe zq^8`)Aepeb?-RteC}{FF2;8!5N8)H#D_F^lu38^KJdkDygM-hLw&~HajDz(f+bV=m za&e90hQ1nXEyQM~+^G$|Zk?`@5JL@RmB|O7xY2ClAFr?2MySXcA&t6xtg05RQ?(LF zLL$3H=;&L<^pIfFjGqorb;cHaQo*K!MKR8jl~J$yZvV}1z9M^BA>agz$unTeaujOG z#ns&UOuRjS8r6Lg9U(~6HGWeoG#VLgy}ep^8wVq3%|=hs$$eDkK(bYXRasT& zO^|RAFv^NQPKbH8$Og2v+PZcD$vt&40mO{xa7ac*5+TgZC&SxVoW;1+vlGyy8wv?h z3ZfGfAp4bNXmq{QSPx7S&{7OZBdvORX_0uC^kO-EvkYs(cvsEZy@vd-<_eH6#vyD2 zSLZ|-6w#|TlA{yXC+Hb0r!MNuAq&P?Y%y zV8ox=#99`wy`P5%DdNpJK}JZJ6EVtFd!h6tEu{gUmf?Fg`w+!yjp{~{R>5lJDAL60 z7^LEPZg3;E^D)Glg4_CsFEUJ-dFI|kCj38Z6sobo*#IilMMuL&1 z3u{i1H@+snfl)lTg$CU$&Ws7gprN&-yHp5Sl*W@HhgoG&Yt8rx4&)@QCMYVH*H~5j zTLgojuv$s})I&48Y89OKlnLxzQF=gT(6Z`s7;STSdhEnSrvyhD5R9%^sSH$9U_Hke z9dBUpwQv3L5JgEsr{>89LuI2zI7|ReOi3GhwnMxP%qY_lwH3@_fegkVRY8y}T;ryP z_$#QQ0syCtQfX>EI5;0-p%khg438aeK=Tqrp^BJJ1qo+PBo?j@(gbC1Sw5(<-*)VT zxlX_sa3Ma5NoUG&L9v`<6DvmBO1{Lo*Lw9=z5DfyA0RA`(T$oF1_2lDDUGsWN$8V> z#q&OMjkjz;$BPkJswzstKDFAL2NOnu46iL)*&!Rq=!zGY`6aOcx z<5pp1`$-w0k(IIT3PhB!B&VCa78iHywNTg|A-&<8@HA!CsXQx9TPTtdRt0A8?Ll|S zHpf6huqd=fNsy!5R1g_S^u&(}KPq z5jX~gsNlYAzC>o5^BLSGI#w<{y&(Xxk(si0%yRFZM2y-7n}VeDh~`&Pq#@82@xCfg&w{Mq+`%aEyZAdAC*oD45yRkCZMRf@iqgN|CvEkKiYdJ|9mzEE zg77rkW3`e4@g|Aa=X+PbJ@mSif>8N7KxvDFB~V_Ggw=qs7e>KU-+OmhxB)UzDVz0L z6s(makmt6b1U1HkY5(ILqnqM?_SPXn8&n67RiZ{R#4#5|YG{v?y{WC4HtJKr;I)B< z5L9jnn1nI4<|*Y4LER{huRzbQgvciZMx=3y3^XIEt1~5%0+zyq`Je{erPVeq4kD95 z@nB_v=E)4({g-%p^5Zw7k~IbzL2yy!(TfN`r*NObT8g*5eHDWV^pOfHlL3XXm`7 zN!ch|IeZch6fob@V6+h!a(zoPwEm0(B*!S)$ZbV^N$Icmub{cgG^?-4-dh!W+>??X zlVp)4Ptqv8HiA1TF)Fq-b7`bSMhb=PP46a+Mv{eZpZ4D$I{*jzqPg!%HymdkWPG(L z#j0A3&@2dW^+*ajrywfHDrJ}<>XgL0T+YZ_m0TsC8ImW3qod4O9ooD&28Oa!D0Sja z+{_G}1lC@vqm0Cw2;u;eIImR*e;K%MT4gd$gn3Rdk|HP?i>9ol$G@K3pjlNQn2FYO z0S?|hNh0;JRt~}+!MQ;?AuF%}M`%X1$^f$>taTIQBEeNjZ`yCf8rYl|x{GQ^It@MKKXppttIO0g*+)#n+m17nf-|JbF z@tfZe-k6h|=(_<-v%!hQA~Q-^DDmsql;y;#AuYn4q$8N;aFJ$nPdVBdsUvaUB*JS$4iVT8~|H#%rK7SvDyq zxEMy!*O0=pIHF2xNzcy|B2oIF$3Yv3$Lq`GdvO z7Umj##q?WrPxyTO2fGNRBEORCvwwc)q(5WGiQfy9Kn4N?)*8g=V4P63Qs(Ix&5cea zd^tuXU7RGKYP!iurvwsuEoSg=bx+VH?}KW1Aqs=63hj?e=D%9wNhRVGjA_zXRZ2NX zR5jAGNf#ZjEjCZ1Q#9O&tJYYHAf>QDJl&k5R<_D~y-wLcvG`uGsBgK0Zv);n7tmgtMkJ+lJj%#PF0rhIt&gv~2j~P8k`>Z}C60T@p~V_A zqM>!&fR7#P$N!75?`GekE2lBQx3Kj z1!`V=jVfUn#8K#1g&w3KGYe+rU|Aci#;bFaL9Y(Ugcq;Lw?4OlX^#)R{zO@9R`MW_ zl~SdjGYNKW31^#!wEM>yd5lt(Y}%%f$QFm9@mKjQ2)h`3h_`Eh6W!Vz->jj+|jIl~u%XG>tKvh%zVgK1%c)wQsv+JYm?(b7v_R9u9C`d*nOlory zQ^SCzxSb~6PT+98H}pfpv59k8wMIc?bSGf$HSQpLd{;mA-^IQdv1Q4sQKy>{x;h}P zwxEQx%~wjkYA2bK`9T6rI2{YcN?h+4l@gDQh{+O2M`K3bKFiBfZ$1g?A8Z5srj4+X zB2+4kyJch}C>I~7F>gm5%`mmW8AYpeK?0k?Vy1wE;2_QYV!f_=*X~XJd)Uu^?XE>1 zKIySj4um#J#Hci|wU!x)DTNC3Vj!FRR@?RaUq&CyIM%2Mt4g4Ju>ufRvRj?^wSD%h zza_^AOxa8|S`1)NKbtP7yiysOuUp3bkvm!-zoLYC5hlEJagUCiXgFaJtLvcQegE5D ztotj*Rwh-hwvBB2X*cfP%=qZ;FISqZk3HUq23f7e^q|uxez}ACtkLZkE8?|4PFa+Cgd5htXSOBTzC{-uIwXKU- z=Sgh_N*(#Kcg$=IsPS`r5R%r4Hh%7DbGpq^+AskS5CQ;G06;SX002M_RPLz<0jTe{ zoo#mp-A9-klZSXik|id95W6tcwl>fc(+!FHcd+~cKv5AC5dZ)J5L@^xoN&JI{v z+{|Ur1&MoNTmS$y05dfJR0UKQ@JZY(DVEGQ$IjVpzVC_4Wk7HL9=U%t9=V7KvI{4T z=B!YYA#eTt+2fD=pZq6dKe_n-mFqvhefq;=-&6h%{{HywKi7VH?$^G4`fCsP-Wfl8 z@aO&yyYGYld+u{W|G)nI-1M)0d%xE|`+fiBkB|NL-cK{X`}ncvKY#px(Z7QD%U?e~ z`H|fj{vZGU^!;P^@BX*_KhZyvKY#E-2zSr?^7{wo|NQ;%zyE*P{!O%z&oV?;N*!Qb z`(@gTqW^YM5a++dKuhJ#u<(s}rHQHu@%1i0Byy78&a6L)!_b``y{%RX*s5m;|1-hK z`|^|EE58*&=g7o)!RJCNERuA#&uejoszTk(G*{~B{7xLg=E_MJy3wVA*q-clag^F$ zJpHrlzhX(ObmX&np7+^4*H5@eKFH3pk3zlxy`Q{CS@MarXD}qIgeO(n1@81=c#6V^ z@3`ydzr;ic<7cfsDQcy!XGC|q@@;<8+5_SyL5=_aKKtLfU!#fTv*=h-7Fy|P?=)-w zW*e6~!I$i(^Y6c(ecNk2__@#h?fkpv#^*w59sytYTqW3Xq?ngepHuIz<755(?zPY2 z?ErB=j=$ydoavJ0y4%^p};UxNCD+HeHOr&;9MSdwzd8{ObN~dSc50eWc0}0L48E z_k1&di^HJ9mG~I{*!wP=JYPNO7hWn~K0mqZ@MNT}KLhkRU+%~IILTp9sRf%`gkj6B z+$x-|>d&+td^E9sCwbBdvy;2s0zF49Nv9(Tu4OLEGW46f^Zw59%UAZJb%q?6qG(Jr zvih~zd9`Pk{^RjwYQ{;zIG;@ymAfqd&#@EYm{2Mw`>6E(FNR<=YU|YJ1iI0hoA3TA z#Q*L)M&oTp-hYdMO3NBCw3g9@w^J3wAK1xA?dP^yUVi3J;!sZWJ!70ALwfIX>WjMN z74*pP!ciO2^!{Ef=33zMnng>b`#tcl=#;3du1Y#q>zir)jO68IHCA-pv%w1cTpS3GI zlXmi%HUFg3uVcIIjO27_bb?!ZXn1e>LZlb3PD{ntPqL5r*1yGZT@@8$3)h)ymFs6~ zq|^P5G*cg<*AdS8yjbej*>uHC)BI!4=c#(amvtv&z|zynh0o&a9>IXVLOA=vZmg}3 zIj*&x^4;y|p$(BUaMeoP{zCDp`MO%**V=V@T`Y9G%X^wWdBAlY@ADnoh_JmCmok!R zd8eTJ)+LOMw`J|`1H3zvtNQE4d);colvZ5S7+IkL& zO?bsy8ex6edbA5ZRCcPrZoEgox-`)6>awR|w|ebF>q+e-g*+D~{Mt<;Bd?mSmC`CQ zS^n(?8D$ds@^krF)!#Q>vs^63wel6J1=q$&BE1$F%iN#oyo`dI@qAtPtEC>J>c5NX zrlaFaLH{7#KYl$~Yasale152V@o}v;+skBfWN^jH-4bzMf`?IEwBLK!D5jzdKYk1! z{PC$6gLI3zl;_N@z7Bp5Vbx6e^JyGzx7?FwGp*4Lp0o2@DgW8p5AA=Gdw3zH{r+yg!aGkit7tsUf}8GPkC>i{ z-SdyoPU`OJ`YhRVrbm3zXyW&Hhp#c^svS%VCGP)o!KXi^av_WIa$fM3_InS%!*sg3 z;Nw>pqqfCo-_d|ptn7Vtyh_%(s{QiAFPIKFrVC?>^@RBm6-`t<M_s&T{eDSa(X2>-pKoE>s_S$Bs9Bv{56tAu5OzCPDMI; z(m(MFhvh8OzI`_cct!I*D9z> zl#@-g4K2GLo@jYd{U8U$OI0<0?|uDqB%h&v19B+!JD?Hr=(g`^h=llkYG)qP!DwVqaY6g}yxU8&#dztv7k>3t5l6fHWx+-8}ZW4*HC%9_&^yiWJq zihMVwt|8xi%XYcoa_zTUcX|pa+4OkRUuIv;f4wV|baX7wJ@u`$;|m?-M6%QNyGtM1 zApWhdNgm9jv~&CDCA?nS+e%)=;@N!auVvfU zw$RABmHgN7_;l8_dGuq?UZ!1 z0jD9p>dl4y)%@b^&Xarh>rC>;)j?kLt8}$9D?|FN2OJE&l}y@crqm4?u33%O+#of~ z^!(?3d6^5V&HH(bc)D6^`j2RTKz2MB{aCh&7ho@aT`UPyBdCy%v z-o39zQM^5dUhUQGb85ilwY(`MwwBnu-S)DS?^IzGd#~qud-T`hPePgDxpnEU%AoGu zhM)0H4{nU!qcyYo;Dp@wM;Q!vsa>A$kM2s{I|W$9-eW@G+>~W$*SVAi_cQHKThv}O zXi7R#Uh(%DeS#V_wL7tvOZM+%PmZnTB<^GAw|ILEkI~R+p?ua9?d!FrKhvwvAkd`8 z^A-q)G9EKs^BM9eByRG< z<8ylq)7#RAo$M4}w;Z`U2IUm&b>3^bePl$pf}Muq-Ve!*^yvHVxBa>{2A)b?_A^_(&|Bqm zt9bhh^v<;$k9PjHbMH)R1vfUo;hVOsTh^y|?*)Qq*8O#dho4V-g0JO zm2bS_?=^NmRrc@br4CJge`Gib`<^t6zc{RQTfD!A`gr)gzFCvk&&B#78%u3C=1uG}-Na*a=8d9%3Z}m?ib}ip}{0+2v zQM~tqjD@J*6NuBqj4F@kuEB2FD z@dB^moO(Mc>dmP5a$C=8N0cFfZ+}eRVTVEY?}<$9xz+xMxe*9YH*SAgMBBA4ivWJg zesI(FuYu4T1)f~sm`7@I-1RqnRWD3e(gQy@Tzgv3htj@6D~i>+&FZ~Ud$=pRVYaJy z?*~h8RDWb;_t4H-r;XXIAl_fu9sy+xr+DuLYdh8hb&b;;h^wBZnkJM!{)-VmMcfoG z{b2Lu96EBFIMkhNPP^GQ258q|F)LWL~~WVJ%+C6uiV(RVQsVerz<^&rwN|QMvn5u*dN|& z#ppV7XtUe;3hjDFejjaQ8{E`4XIJIlI4a(2?@gv9!h1&t`<`kiTE}(l!xERYkO$z@ z?)@i^&~ILLZHuVO$94-}-hH~B83SJV!79&tL*Ejb9;Z89eTZBC<@$3-#tpyP_aXO# zFuHGRT0Q-!gRv27;&+68y7kGOer)4I?+5ByCN!q|t;d!!<rF36We*VUS3WOUzv5mR z!!7e(Zmze5!z?CvTJLixA#=|BC^-+*Ip}a$_I?-oH_=9?EzU+yiTy~?KmEt(`nh#| z;iG$x9z2nH+R}HQdCZ^dn*URqO{abFU?vC4Tkq+_ti{}oco!E%e^&}}P_#LzGRtz< z!ou+WYp%uBTXnWrdHadp>Mz_}dzb&D<+$-m3r?5b{QyN2Sft)-8&1OO)~XOE__@bx9Q{!vd?b%L zrC+yr?+3J7G_`C^^$)9(4sS(GJ{Rl5Y!&fR7*@LX8b9^uEqW*VZ4%95e#4Wt1}>A` zl=3yq5ARGn&h0vux+&PwY{SiX=Qrv`S0--r_Zl9h9RPy5oapAq`1JBbe!D$I?;h5s zZt>m^ymfh14BnKcKCeAuavolLtLGoAKjkl&ws|eFci_L=361c2?l$WiF~Qq5p4_MR z%J~OhZtt-j6;7pN=r3Q(BBh6UXl`?n4SOsTy&o&WJwA6fw*=$!&$GBQmQx(xHJpc6 zbp`&E_Zdx^%JL}sipIPRZX?I~SLU5kozx1i z-L*Ntsk+7cKNw1TUK89wov|9c)9I&iiMDy%+aQg2cqI+1-h11@y!L8GXTZRdhXsc) zXGj}uQCH<7SSfoyZ=)xpA8T~Sx>jIcJ;N<+!{6Co^6};KJ%;DtnsS;GZ)jU7S}SR% zfO9%+PTS&*HM~FXzG>X`hyQn*Fj^b;ULH;F8Tk(T{$ZylhhuxcYHl^rYFqWA@q1k! z-kg}jI`_^)-l)MX$@_nEEa2b~O~S9#;obdc#YMH={^||fgB_#y8r$6(yq&2_MO%J9|83&!Y@hXb426EMM)&6J?fgT@|M@*1 zoj+f^#dE;m+O?;it9bhhr_^^8emYf}`{;+ZWB!-r=`t65u!Ct{d%<_kZar!Bq=)a= zw**h^!JZ;V)!WqQQM~tq&$IrY?|6Mf-sSw!w)Wv^9*y1bPU}|j_ZpkFsQm&ZGt?`S}eXCDWejQ!Dyw8GFpZ6@fA8Y@j ztEt{`x^en_eyB~>4bThvmIvMs(xzWcSW`ZnO)k$=oUDOKCud4i%{orNqv@BuFH@*71ndtTIz}@_t@`w7Yj($%V)-ylc zf3xqDZB0AgcDdVI#aO7`-Lj~cf1Vn$`|~ixpv1*~`qHcVg0G%`t6E0 ziDmZ;N0Ii4j+ENzqMNOMyI~$v`SPXEqU-HXul+)Q;ZyxD`_}*f^u>!z6bGOxflmU! zdXg$yWHqKj3?s}}_9$6W#Yu&eNlc#KCi!Y-_r=4S)D@tZsE@@)xfd#O{?6q1pEYka zjy2jVo6`tXCTmJSUPTC>_8jsG^G0G>6}XHUQ)7&)2jL}FNyVB0KA+6kUU7&{jW{5i zyz2F6Ge;?g=2g#`mKnb*r7_}FM@i5)ZP~^TT*S^y<4W$|lli+ZDT+d8y;(JD&X|RE zLK=fqG}^+NiWiAtM_EBLYh|WA2FI#{AVjkYmw*fys7OhXE=It4TWyj&OT3=xw~^N> zM~Z|J5L&@kiyM*5#MO=zN?OzB8#X1y5Q#aH8aY~Sfh)3t*{e-hD+w`PNgQ+3Smhza zRy!$EA00;r!_W-B#v_R(r${7827qOWq?4OY;#G~W|6DsQ&pr0r>%IN1j?C}K9TkWw zR>kMf&WRPHw5Xa-T!sCu`d8SXqOMFG0N9UQ9jpgbp@fVPuHql3s$VkvV1nMtR*S@jOxA?LqZG(1 z0;*%kRez}dTy>V{>2s`V9t{yu6gy7&2%U*sua6DYjQ^8r2AuFjmURlzOfI!ro|{~i z{(Qghl-5~6e1E!JI0HsOv5)&e2JV#PeO>FUI7+ipwm7UxnsX@$t&4dEHO8ZT-Hu3U z=!8_n#orAILJXD0-LqT{C8@XLQd&cUD8FM$Rz;W+SQO{QNCc@!ZpWsyd8`WQp({{p z1?^q6WHO`*6ApG9y6Zunv?B9uy?{irDlaWw~H)VziokYY}!DvzktJ58m)3}Q=iaE5dk2zVTS@2?nAEwflS^JgN zJOKMZYET>Cau`HZWRP0;RYkVrIyFj*<&SDP9Hd}XRZ43nq)dG!#;hoq6Vok?P!97H zurrDzL)^(VYhThj)1!@(JoV9%rS>fw3n`W?$}r!OI%}cQBMr{yuv*Tv{8htbK{b&lg#tsPke;;ffA3j$=os@n2eJMpUHK z(#{FAXVMVRq|I~>sK9P9aXZzh5TXE$IVBWGv|1eRZsHVYj?-z}DD@Kqh%If9nQE8| zB_G9VH~_}&(uL-Vq}63*pajp&RFOiEXoVe9(71{WHV`vJQArop#T=80Vswu4{w>w@ zUG|7bXWF6w$*XB{KN$L$qS;33S7>{Rqb^+8JG3ff=tlRS$O%inHO$FYDc-v5u#G6% z3UHeUz}((Joqb9(6aE-?y6iBE(V%A;DiEMPu^g9_0laG@7*o3JVu=YWXN0UX%vwf^ zEuFMAN=e3tE<4VloH?hCSR~p|le~QbMMh8Q@$?;*t+V;hYf$~@;Npv7CR7D7(2q?w^)bw;aTc8u;cQT_r#o$)52xs}Zzt(4Cu zexzo8jorjLAst355o#h;B|^YDWP)kM zpPi&A$M{TRt>j8aX|{#Zk!;o>XO(BRR44HcV^_0G1dPu+&gKOKW=WxLgvtYkx<^;> zOk?kFJhSv<*m)%@2ZDz(d;-m-#S4vHk1#6|!r8MM(S3y73=$<|(SMd^ND&KX{AS#{nj+XpT zWo3LZI%hvN+w=eT|8}Avr$l=t8r@2@T16)XFqlV^kC&})Kv|k>--TT%coRi~5R<&C%`B}L-C-qNG_;%yY+lqt#jjo%iDx#@mzPoym0GzFFTtAl3 zVwGonr{9qN3{H#;Y$WHb7s{{JXs&rdAV?KNbtRT6c_VJRz{@RYV>;Kb8#Jk0l1d3~RND%E%|L^~rEB zaTUk)DiBKYr3e-!&5?M~%rnGnQVDOzC9a)1zh*Mdd9NI60?B)hVdzO}#}hBrC9W7T zg}P@!0x3kcM`)|f_~FvZz7KV^2E~FvU??foX~m;dP(H9x8kk}mT(1;RZryQO!cZBq zQbs+P&5h0(46f@{{D~z=NE=R;hzymwahP&JbP7&V^*Z{*6SLED4T{=FM{bG@_Nr=~ ze3R=q6W1!*R>H=ykRm}elC3#5p*V_171!c=HF&6?^hxuXYHgW0t?=hupp3V0dL4J- zCz#~+lJAjQX7(wyI8q51Q^vHu#PzJ{w6S%{Gz;VGw8?R3TVT^x;}-Vc|NY`ZDA_>E zwd9}$=qx&8PS6T2O)WKO^`&I1OrwI6qMHn#v+xC}L~z-T>4XarR_l$#q{SLE92AT$ zEZ&q)BaanID82fwvDbhj0*UH-kj-?X2 zH$kbWoRi#wa)M?@7_}|Fty+B{*lQk=D|wq2L?I>=X>^6v&H>(wK3;695J{l8)MSuh zu-1%o@|B;hyl5Z3b{&l*l<=90T3E<(mD*8gQ<^#le6zOv*iS@~Ct>mdYS|3*0F5S# zW7bmhzK`s+mXt^Uf)t^jdEa%Nz?u@}ft`QV)Q(E_IZY2r+InGUS*8-KBnXC3q?5~6 zZEus3f}^g;F*lzi6-t04B~=+Yx5lm7D2aqJtC?B|S1E2n(mJ0q*)C}^THi{xVN-)~ zqRLc~J#_Ub@)wJF#YVdxc2QJHX6H(4XwW|RzP!drQxdwVHb&mU$>z;U<}6kk84Jj= z(19JKiWSC6br|eLvXljm&VouUI-(dQ%t~6*%@C5Dzs2;qAz@f@lPt72=U^I&6a|b8 zYb-l5PU#gqDydB>Q|&y1lex5#N^KrkjS;8xVjgO3EuWeL?#fbRwgd(gPHQKBJ|3iu zK`J}#0whM9R~9C^6i~(p_)PlNk5%R+jvt6_oiIoxhm#?QCTX2j6@SWO!kJo4F}kgj ziUQiP=OAXSHH}QiGkJ2NYdIY&q>`ErzGNa0m{#gc7c1Bq$BMBhXAQcq&51xy2s*%m>B^!7OLE03>Q2d)9 z8l7AOcFHNF<3=Sr2MJ%LS{cZ34!&ZJqLS%Mvm|4o(Y#QyMvErH@}q=K5K==U7%7F; ztW%7ml@6zr^8O5S@-PTvt-Fzg9t z7(_>*FS>+KoE|Si-zZqcIP)zfQ7Y(Y&B#1C8^qMASEDx~uhLGZZHP^2)F8cB-$KTa zWVL`NQ$Al=@k+z#S^x{acx4Az(esTGP&r+eKHhyQbUL9z!dA6U8YQhWY&2P(4vN{K zzVQ8(bUGzO40Y4Om31D4TH=X!F(S$ar(=d5A=PtN3CH8SoG6?Tva@x%A)TC#sd{YG z1f^R?FqI<9gw`9fWIlaq`YY&kbd=1_03C0%NN1iDa+bj>8P&L`;1Gfp zu{j>oj$9D5Ns3504_Y!JHlOIEUd8GAJXTbz2xSsgVWA5e%a;Bb4{k_us!g{(H&BDokLm%Crb>X*diaA=PthUxSxBXY;EqJ_+NJV(%qROEqX#QGnHPb-9(5eD&e#-%7vwPhyb@ z#gU{aG3FFI0iv^2QJeya_i-q(4hZO*wcvt5NDKIs&7zB1;mlneO6&?H9+CE94#g-? zqWROK#Jn*f`&(ka98y@R3XPO+B#=z|BVz=~=hYrp_C7ErN{Jx{dj&J>`BajZVXcB# zE-CgdK_!~hzz8p%IYZx0(%df2SvQJA@BWq8bVXaIj7Ss9BQ-p8)QYemsFZ)Xnwl&;DG3Ul}Z!p8U4$$kP@g+Popk)TZ( zwMv5dH*H%SJDI!tSz=Ed9XB_niPqRTVL~TMWpAWR`&cX4$wX~NLsrj>7R2lfV80;Fu4#?w_Ck`y>5x=g-^^`k(u!V}Il1D}I0Plculz`_k+m|Ksql-H-qK z4z^jV-}}ED{AaUY{g?2sn*UjE!URqrn1n<;V~?#3MC5AB^e;1ifBXF@#2>%C_}Jfl z;E%cZ|7fjr$Gy6kvU9D%U{om|a+Dq%+1TLhdE2+RE3d4kBi&V-XO}FSqs&<0epz>A zWETFd_wMgK;A4CJ6mJj~Rz?HrG)9-MMn{syNjc6sg(&22A79?FZ@T;I=icvo8+%&U z=)O`G%VyoH>Jsc2EX<$m+H@O4UMrv6?ZdnMwl6{VLH46YoaE__h%)N3dCcoH>)I=)@6sFuN&*~D_aVMoa{e7 zEA(~a!MD5abp~CbmtDF`QL+qK!t1)Tzd|L{hp*qiKKExIw%fJ#WMh6#lzOLel#`j| zYpaFL5wW~|@LOJQJ$EW&CX4d(sODo3Gm{%YKyQxy-Hk z!qwK!&B!g?b||Oz;k=$Dh zF=zMCqV%Ufr{KxhwYR@N6#pTAjM-)Rx?`s@2=ZJbyqr>J1a$N?OsefnpdLd z|MS$1*PEz5g{D0VGf=024*#}&zrA+I>0=gjh_~0~VLH#xMC%s0kB3aHRj+$1^4-;2 z6a6jrayUvRJMpX10j8;g?x80(@g=9V_SyFSQ;Iz0R+vfF?4j6Yjfzgu*>Hun8eNMr z6tq@;*i)8uK6|t039BdIu3wCCrzhh}A$>#`zwVdI9?aUBuh;M7AN+L=wYTc*>&K8K zDWpIa*IjT^KL_BPl}^*l8|L4B{WyNl;M;X?w&$SC_4vQ7E|_}VcL=IB67*Uq|1ht* z#p5iS=(fK>NoK!eK2bL7^NeyCQbXFx_x7*-%YW0ACtsSs$lDa0_C0`>DmAi{&4X*3 z_t_49mdrjs;GB(zAN8e=<^FuNtlzRYI8yamUi|CVQD437A+~cWomX9rMSmAyYwAhW zPVpR`>fb&K!~fRwj(>ad$*|g7ijGU;W%Z}5Z1EiCuxnVayg*@%>hJgK<+&@8{M|}u zG{$Z&%U{T9`aT}6)-ED{$DeWXnEb9)4R!L*^d)+$3n?K?%w+W#)7Q2&+tq}s2IaHK zRqz%+3$nVba8|~WfVx{lk4fi)@b_?eU8oHTz>og=x)gs_G^gOauB%o3TyvUszkO6L zXgz1~XHnM%1*8l19>pt@i2*~Fvr%%Z2?8azU|65{3f*fDd z-^Kg)U;emsO_VgEue3bmiXJ+*?pg$p2HJ=A3bB$HyWZd^kg!EhnF_3@i*1i@rSEy%|k!4 z|CLL-H2UPIn_8qEW6y;{!nY2v1yLqtiHQHdpUgc z!=E>0U8^dU1oR17*QX}tg;ln;cHa*~#6OdCWj0B9#)h$Vzea)jX{vlE0&b2UZ@Bbb zKZDbXndk)0TQE&FQ1to7pE52?jzAfHiU5#cu7Rm(J_wP@RQY zKd&i@Z;J^gAhfQo#%{95%Q4pI&%DU?X$i@@EsD!34dgiLleAik5mK4-XmYdCscmZ? z;?H)9qDSk2(nnp)3j)$D9`-|(`D)bZwo-Q(^iFSBQ z-|F(k-giH^IX#_{j`zdY``PoiZ_nH9tb3ZHZtgh${Jx`qUoky>CDJg1{7QcxV&s&9>J*_T0U#>#cZBuUlm6965XRoB257`|Bl99Xk``FK3x7l1an)9S@SSO?f zY?t<;SZCE<o50k3DX;i8^S8?8B%LHpqL<&K^m}<0I}gqM`g}%vZL|BWvA@mZ+g$mh z?!1C^=^rGV3h2~ze(TKyA181hi!busQ)O>BK8JVXz&|o=UPoDqjRyL4Du3cz9>3sf zllK?06^Y8P)vYrRuFg4M*!k@xZ}Byc8*OZ@OMA-TqF?lJXMu$D>MUzr+A8_>&WgGB z@cE~xhTvnGC_Sus{e#0V^vB;c?G9(Y``c!B=ZgL4Gd9;Zlp)cQblZ2%t7ri-sK(;k zf8TrV-qv^I8>v?~TZ)%b4e-}E%F5em;hSyye|PuTH2Ypxg#AsXp60!CM@e9Zx&@w< z{#n3q-rFAU{Xnq?w5R$c_EIxR+u_=1Jqt>mpdPfC?N$U-)b)H_Bb=ZdgI)PLJ;V-o z#z!xgoEB^~y$Rj$u0P15L3Dg!v$7Aj`=%OwD{I3gA zSL^Gw`b`O-SkdJ!*dXtu2UOLz7d<-q3^zCHyytCNu+^y~HqDE-APpZkmtX_X4|4EQ zbcMFTb(;cw%1%Bv@P8R{gWjfVy24+U@`RJXz45MontLuCY9oZ=0TMnv}{t zcziGAfFpc$M*@~|VZ;Z}hteH8x#m`|m$T=`%dzXqT`e*JHhWqscPzB)x6TAl)*GL% zx1I-Ho%&Q$HUYLh=ufHrvmL(pbjPWeFZkYu-2#3Qt2Y4E^h;iW(xssk=f|Dx_-oNd z#$RO9JofDj0$cb}juu_hUGu5hv)qsRaLc)@SZBo7b@mfLN_mxjBws`5JC+X6MdvQq zffmLBrj=XWcLE-C<-=yj0*DaEK2npMY{=tRu(*yq)dVN7qH?)HMZf8GIpwHz-RRx3 zkI~n4$+y;OfUdrhZlO+n$&?}ESKmK3kj6GiS*m zqJ7cJ36*f#u+=*zpNF4LlpemVJ#LyS#TEs zliksiWeltA7Uur!t2gk~`3V>Pr>A4=2RPgDXK`&&8li)1dwH5o0=jEM-T!MdaGpK# zkhZ$b>aj2N2UT6uxTSz!qjT-9*wR2wG&&$!^9*rhEx zNtexZsjeMo>VH*!mCyR>1hy&eR(~I$o^eli=!n_a&daUt2ER~$o7O*y?dDs)H7o>l&)89*ms6iS{y*h8qSsC5xS0Rxf~Trumw@VS(j8`X zq{B?0`Sw&-QL zf90$DUpvO2mfXx2)1+Fo)olszYuZ|uv*oVxp(E{CEiiZG2yZOy)c#gfX48PKKb>c= z{#r?hf$R@WO~4KYXPB~g+Je<@r}!X;=Qfv>UmJrUg*l(*&?<3UbtFD@RMs>LGs?9YAz6u6)%563|`RIuJU1 z^m`US%UKQ=4Rssq_o86Ss19=ie)?B^a>`fI|7e0Qc5ySrDZBo+d|_0N0M(OCI#3x_ zfVSQ7E4U4_5!7#g5z<0;(|WCLBZ2v)l-%^VR@!@f?b=rDfAL+iSMJLmx+@8wei^Dy zBg+Ej4w;G`*r5MfxiH5LbpQ!${@leO_(}sh%V~?2Ne{(_?DUW}(>ASkDS<_O?OF{s z3b>MwC~`#Tvt?vdsS#qMx+ooj2__AMB0Z5y?Je(k-#z~i_(ov!5$&H=kf18d!`LF&+g zZCd8x#alhT?E^hP78{YxJ&e^B?c>b158e{}Iv2%TJ^tJSZU4))0kp!M(g}tKb?Fe! z3+>ac-+*~548JDjFdN@0;8sf-*k0~l%`A7wW6{i&7kSl-{?FfGwf1?;`TWh6{=PiK zcbZQ_#BnY1Q>=eG_;0;EEqLxqYqiyLQ8#lx+pO)zekNXa-<7D6&0AT$U18nAQ7`tq zO8xoz4B=htdM4CUd|d6_{^qc(`^{UB#M155cgkxvZLd5Se)hEPeObL(R?l--HzpRi z|J;B!-{$p!eRhO z|K1m7Q5g5TEv$t$;pI|y0z*LjPH&n@%Wd6!merp>?XK;NPO;eD6uy3X)?W=5iQL(s zV(aT$tPUiy*m|HLp1@_q-?h@8v&Ro;G;`adn|I-Smeqw?>-y}w>^JOuE4_8MATmyS z`#%EgINxP;O`AKCCzcjNDP=9;%|`kThG%^@#JQSN{q zDRbLrj`=&*F#MUgH*aP27m6$Fx9hZS!>%%VXqP)?airCr)Sw?Po}jR-;;xP4kLX;b zvc9uuzdapmzgbfLWhd{q*lT_GgO3rjj3CFQ^L4nJz6z9)Y3Y^@*vzx}yq(!wk*K*J z`;KR@-Jb3~J0Iwl;*ZZ5N`5ci)a*)0-Y(KY&kJ+Z7M)F29Q9cjtN&IpFW%JbMMw&@ zovC(Iv_BF!Yw+2ZpN}n^mri&av%e=%j$Lo`p2T9dc6a+Tucv=6xmp^wA5U+K*n7k3 zx(fgPxU}#up?i}@JxMZVsLC zd+pA3M@9{8*WKJt;5stxQ|_|2tEp_4B*V7t+W1eNESF zj9zZ-9py5v`Z0sh*2<2^);Xrj%sAC<+p(?mGWw=NVVq7)e zwSIgf=fRz|ey_;6^UiVtjLjjkUd`?OSuZv~_m}itR`T_mM#dMteTL;ZS*-8R2a-Y~RBtZPk;&%hC)J>+<{2+ntJzVbb`Y7eg-{mW#ItZRIY z-P}95GnesB_X-zhSdV?~-Ee)7jk4jivaUxkU6yAMw_S~BxVL+xbP`>%dDhzHhSSKn z?#-+1kBi%qmATXABfF6&{`97IEpqENjhqC~Xyz-22j}Rsb*C!sTI=2zIp6sp$d0pZO{?en3nQob@A{o;0s&Ibk~;ll;4A{V_^Bt{ z{a=)k{@z-RRe?ca@MbdOaUi6T4iS8{9i;{h$tJ89Eo&s_u}0j4;?`D? z?#Z$^6b4F*S&WvPfU*)8fU`{SMQ7D;M(p^}8Rafd81$jh*~@QQIoF67Mc0fwU{)eM@(OWN(yMMgeaTy0NsAird6s3};^_hA~LV8X>%V8Yz*vv_P)kHFDw@)tpKOhv{+| zjI~uGF=d_1ziH%LoM$s9GI>EKv~o#VW4>kJ$7y036FgT?GQAKYpPS`bAy$JSIa{)_ zKrEm)Wcf30BT*4Bkb3HjtI8*4GX@P1d+Fe4g+L`|go-kl8A1;ONSAGm;x_}5Y*9m7 zFp31>3X;n;n+9?sBbH5yrHy=8;xc!98p*24BFPkU_mjDf%gBT&s?f?pg+PD zvZ)@E!2^f5kN<)u(7l|-Z^~m;)~M0{)6%+j(a4}tuIB$)M|hGs#>#|EE0yF%I4!Je zkBpmH#-KvY!HCphsz$M31!chHDtLpH!Bq+-v$9MISzoz5k|ISYkGKp4BxkykMj8~C#lDvcr!lrn2G`b{I_??HlOY^cCjz6@Eb`DREHY)+la(ha zMkpaJO)Ka6G9#I?{EVs*V!?5gg0PZk43~ICDGnoZUotk$!c77+Py-5}49;JhziGu5 zjTYXl8O{L0u|`R3Uj))Qh^zIEP#f0VoP=@6n4kYqIMcDsz0TZ8}j| zGa-LD<6eSvjROvdA@w5FCNbc0fahKlQPe0FflRz#DtMqXKoKHTgHA=k@Z$WItxX4e z@ObD%1ga@CA7xbukXpe?l(eX#wD5}C8mVz3B&I>}JRu^pVJ!7IE0hk1kn|=S;9zTg zQaTlGx`7x^k1`EJJK#XlfYE>mC=FM_mp|t9q{ib9AgCacF5n zWtoU8^bQ*u*BpaEQAnZk!#$)l8c30@ct`XO9=I0?CWV9dz@n@%7C_JNamWU)Ipx5V2 z04C^1wZ6sg;0VtA8v)})B%y5DbycEbakB$rGQFo{ixjZrO{RSG89`E)6n8J8-?VbB z0yUg47#*>b0+O9|C>*%>AmWInO7M?XqGNYYFKOtiM67y^kD-QS-5H@Wx!E<5eWidkh!3Y zk&MNyoeOsLB4RQKEm9hwHqml7Ri5!x$s3FeTSgWI9a5}E6dtXZF$@W#9BEJvKn)zo zf(Fe7W&EyHgv-Agv8-J6%1$ZOYwgtP#kqj}l(*A0XC|!)16a<|V*!hqnLy-k*(Zp&7Y=VyDBz4f| zYVb+oi?lIfZrLWEjo>iMXdM#*OW8oc%nCuEcXy+(1n$|3YM|0eaXJH1*RjZl4#VG=y@G0XB#=NB6$s3hbn0u*agI(wqtB>O(1m9s)>12z6K~nAAIPC}L!*5)-JTm`K!_n8vfT zv4>$i*-Sd!gDi|x$t27?=GLO2xoeq|CX)(f%vClBgAO*ykno^5IsC5Cx^+PQ?o)iXn~KZu)sl7P{vz8 zoGQkQ%^%0G2;tUrD2p@hK%aBek&um!)7e6PuG(3VcxUWT%A5SBefN&NNQg#6>CI z3wU!XBR1J=APRvfN6q*ek`vcbVI+$e{z;y1!l8r}8VC$4WGPVwbrftUqZf{0B%35t zYTq#?71OJ4EO40$HmgzMQc{G3kTjaotKcB$gGnr&slg^VO4VX=Gpc0vWGsh)_0G+t zJTK!4Af;gW9xS@nNiz&4nt$TG|ixSf*z}ZaV}Paf)ZGQr%?w)kqlm&@)X8m z^D1K+158v+ktb!8Q|T!bdNo`JiP+ z0YFVdCk|1kFuk3XL1}v!34_jBQo5@7h{%gjLomBMPfo0bZiP(`!XcVes|ILc#9;@p zG(AsMohhwYED(~Uq=pV2R2nDeW+K=r?9}I@gH5tCrOoy?n#@HNlFSnWE@aE!D#>@1e9nJsPca>hJkEG-vLm?cnQWd=!uA%qNdCl ztZN(1HlmUFmUklrn* zusTM#A_X7|SgD1k{a$_cWI`=bp22t?Jrs&*d@&h?@(T*ZS5EL~UyKGOZkNI($;g^G zBZ)pDMIn6%TBuH5-q_>JBKZ;rUD>0-7I0c{;p!8d#0Co2D1lE)uwmxDJ}ioX*!&)% z8oJ7FrW{%1CoBy464cr$dalN!nt7TO12L!(uhC(f*uDfoh@|jyild}CT6Wo)ELK?w zFP@shCeoJ#_%$a)qYPfqRrk8u8zUr*BB5kD1QWmYVX%Ewtdy|k zAr*=j^;AC4W3RG$i#CJ46p-RBw)qI@(HfLj(`PJY6I5En043O@_bMI1J>o?alSW$* zIgnrGIqZ&>27U?U6`xcw%fzg)GGlc94^G7z6WH39V3^~JIX(uPvW47}RDj~tWF2rk zV}ebPUrd7e9+acM;~5cbN;z?ir{LpZ?f+j#9O5CU#f_Ad(h%Da5CQ;G06;SX002M_ zRPLz<0jTe`o!jj+Xh_0J;~OQ(aD;#`fOoqzbtDer#9c%G{tzrg07OM#Mg#!40KAY5 zh~T(aZea_R0pG&6aKO_L-?%P3S4S^63dU0^`}aoyQGvKHch3^FK#SDCZP2#ge6~o2 z`nW#%R9v^N4;wfve1pm4SHu&LzyM%~0H&aTMu7+lT2;2|r3h^DLux$R$~U{-A;EHC~2)!k3}r}t^6e);+RiPGPn{r!ZgFS`Ece!lwkFX#S!?1O)O z?5}@6@6Y``{y+Wt+Th>&(5wIV|NGRb|GxH_&L{sq_51gCKWF}v_x|_k_xJv@`F6j% zpP&4H|NU$K75}CGllOD?zI)v%uD_p4@c;Jvxj%aU-2DGXw8KS%Q!OCI&x8%lp_)_7 zUF${VZ*QOb>ihl=zW?{^f06&));9MkvnegzCtAxPKkd!kl{X()LGRfa_;GJRr9Pgj zg?p5X%z^t?JyOEVtb7b*CB5;!-P5%-2#8z7LBY`(wauZyM*xzTw>J6XACCBCo?|tq zsZ~bYeI=21-K^#|&dl4}e5`9A9+cT#5u6UJR}9*se8-;*k9@vw0fuqZs<$V2pI!Mf z*dg%2m{-2Lt3Ubu&4+E)cWwmwZTG7Yr^u%x5YbV=!(4jZgfVaL9)z-%?yQ;`xi#t? zsg_~sX(~N5>@Qvj?tS+%HhncoMLZP90Y!pZb_%nbFw0chuV4G9_nUKn9=AQ ztEYe~RuR@_K02(QZR88rQr+CHE8^e`)|F>;y3Yk36?58WYx&A06?GY~`pyL^I#=eC zR#+`5=9}L$G(HQ+S81>5s;drtF`i%uc7O+V=UD!fICiM7d}g6syRT;Jxox&h+5MtL zcP9L2S8Wq3pIYQe@aRtcCMsCh;VN@c&MqC<>>jJ1ZR9K0TpUzIcLK;Si|Lw;H-gnV z>3LwnJVm}1{UYJzr_;X8n5DOb*LZca&YD~EHsmWpVJY0`wp?|nOL;^_JK;%l7W36O zR&;uOcCpX;?;kcqr>xtnj%p|=O%CQdessjs+UE4H*+ss#!Ikd+Wcucj?zIaG9k*fW zwu8<)>o+#G&|^%0{Dk#%7!uagYTaEFJa;#q-|P_I*v3M^&5f~+4Vx6r?u^-s@Ua<_ zw8)E>_pHdK?nOrm)lf#;W@6eWr!14-*sVgGf_BZYw|6Hu{k4GrpHi$IyL^_B zZ_G_R?tv%JxN{aRz=zpv7&v%d59}1**n%R%+RI!wVE#l%|6^@c;gH?uYRnd9<@v_+ z6VlS}dNF~^o=xi2lS`|)=t18bBtI_t;%2`T_&#p#D2qe zur!6mKLlBKA47GF+1%K$DrH;^t6AH>vZ#Ww%Jz(duy(2;Byff?F(e9LwX9zOE)6^|~+%$wJ1I_)U6~o z({%>UMYYb7z&fm1L|R?htV3Vh1nnQ2k`sZr)$qwJ+$CYR?k93O9Ic)IlQKJP^98=x zQKB38xyEzsK1c>1%;XMpVzUr@-+>E@u9^+k#I$kPMbF;m82*;fj- z^6lnz!h$Q^gu^bw4wc{S=*DLj_$CLIz&F_)RUDW{$tz}Fm%=|%C9Lh=__zW*C7*q* zc06|@UDz=nIYKL7d@m`NC&1Si%@AKbN&lZ0W>*-IzUID6{^2<3I{q7eyv^ z%(o2X;bXoO>ybYao(p3)KBB<10b&*#y3~$mx<33|$8K9-(orhQEW?ygi?iS+j0@XxLyd!zq;#~WSwY$9Ls=ojEzbgk#{ikAtSJ#2{%UFiv1_vInL#Lc&tpUqzKjV~#^A6w#Fdz~Bq z@%Z)g2sh)#55Fnp736EqQP2MsiNn;{3)6w$Q;&%Qa%P9TgWJxDd{oYB=Q|DGv`Bw5 zBOmqtmbIGA;F$dU531}G_!(AXkaZ~@2^fvX$ac+n{19;Q8=JN03x86|e?Y4sW<*V_ zP3Q50<)q}51Z?3U@?C>5ZHV2ugj@SpHm=akI4|ysU+pO=yf>_v zhBeQU??>W&^edZK=os89<|jYB^S+3^yRsc!i=U6r_iafln_KATj{`gGkfs?s{K5E^ zx)yj?G*JxnjerY=5Edp8FifHwX4#xDdq; z_TP0^mvo#g`Cr)$LvFl#{b#?uYjE>FJIBOy)SIX;sN6O4gDiXBYV0Rb9z4M#>?^wfUXAG+%NORK3{zW}k*o#%(*3j74)*r{COf>&2hE4f(>w6xsN}25?$+Vb4(% zx*+NASYz8|hvl=1eD#EUuifFr{lLDM(U@-v9De(D-|pL$&nxoUGs3+*X+H_wwYN7Z zY~JpAs5f;h*jGNX$Q3<0) z{3qd;X!{MtV=Lxe9nC!+@Ti+B?Hq1$N9MJ=c;1~Iq?(URn!;0B-b)Mr? z?74kC??(sOr@rzLM$FqwNqK*2iT$>ctQ_oz^u%pVc=!eWZ)JAfl7>a#J8Gz}v+xL}wH>TgW$!ogYrqVeDzB(&^5g zsRQc?C-#>%diJhAzLlK+I#)KU&^qJqt?7ab(t3ceNZbh3+M4zME81a|%`5cmo?}K~E$v!( zJ6m#gxzA&5Z4cI3;6B4>vo=_uNSQM*Vvuksr#|rHkzBG zyM5dzwAi#n?9aH@OV)|tGWIE-&F*h~cVuU8h=skG9+GSQq;nh~dm&Z$c z+R1sm?r!n@{@#}ONoO2*VIBwZh_QY%e9xO*Nz;A{e~-h{_pRCoSXpeQhr;)@CGd52 z$}eGCw$E@Q92G;`j%&q+xjn9_VT-4}7S`Vn{}!4UoAY9)IJP%=g#nucUUne>sF2fx3 z%L3Fb&hOcN)mAM+^qsOEjid5gr!gXpOg+&%)w#+ht6R&~6~4XI|E>2`?e#btmhc4) z3xC!VS)TXz4C{|o_~yRZQu(X=tX!#`C$FAOQ{8lj;riDAcG$(gmZ9<#5f43fU?VcA_32yM1X^Bb%E$b;rf7g}C#s>%Cnrtkyp8ZP&@*(%Mb z+VyfPo_q4fV;~=aLwwPf>Rp5wC#Ab@vsIer`cO-&ta@~(=#y$BpJd;4lXOS;Q|PEKc0h3FQ`E=pF1mYv zzH@QlhkYpWg#29|{ZrL1Pt%rTd|Kvp*Y^htfWHgyMsb8!M~h(#JnzbUz~sW)DF40G4N^*?>B@{ltF+y!lFt-ktee@w05U7zKU;qALFmJ7A4?e1`=W!G8< zb&>U{+w$+A=FkrJkJ+%+&tL`u3{j_yk?6;$s!&hfm^s(My_Ba6zO>eD# zQB-iA`zQAKb04~=Ar@UdyDmj{OIA05^GL8IOLcnk9WGwtBj;NV}|ElUdjtc)LC zJD|>o{)Y{l?63M$v<4TXh1u6mWOdJ@jC#qSj@-q+< z(`#weThw2I;i~$F`~Rbas_i9YHG$yk5Y~k^`2T%How@zK9{ha9+OPINEFD%5Wj17Z z!Rkk=kW}C?V|tU9pchRN1tj+xM?cOOnmSJ&? zJM9B)1MpQ`7Arbj;{+|&{ObGaFRk?u+v}MR_WI7EKkJbFTl*xI)xGb3IEy;|`a-Zz z;KKd?Dm=%IIzbibG^%cTQ@*wi_5Pw2_6axVC(lmh7Yq0QWkv9U z+_3)c@(%$eSnW={eYW|ixjbh9ouB>g+BkEi(7xy+x$g;dDz7Whj^fk>BG2l)TL3vy+J?stHl24 z43PMe8=H@2WHbX8@bT^EW+)Kqy|RNCU3GtpF6+fu*AC!4 zD4gF8H^12wh*wEdAE?9Ar>YQE_SmJb0O_WYAA;r7B#jmV*bMdkhNdgC zF2kn9+@}u~K{!l6kq7L5*ZTN*W4Eff&h`d4=4>I;O=>M;rEGwhgdVR4-W=)_nt;4#$s7|LRIe*+%Q>0;<)z;xrgrQ7cT3K z2u`21Qu?%~{uitKgS}aa#3$sN*|%Qs13gzi>xb9DF%ev?CxL2ndT|vyfzbUI{^z;8 zT5^(v6QE6)QIu&PW5Fp*_K`TRI)>uODom)?Xa%~+2Nn@#0Lm0-oNi88ok<$6qQYRx zh|jOIT+~zu|F+XHj((eE}0yBuHGnjY5*H;0!%bU zCWVm>lL3U4lqmFdvs99p#4#a6*TiBtr2BjkEOJv zRn{U|jW!2Uv_*=o?gqHF|g69hY~Jn#!j9hQAmp$iOU`MOZRJJJ7ZgTmH_HS)F2tZCGyobaLO4%a zNs?1xokb$wpX0I&+B8GZIi*R82GG$toLMDc1qB0lnIKn_Ird~aspkNRheMCs{# z58C|gYas@mqyZ{Gny^vmSh~qX6}l&1bb}^A`*nx_SR93-l0_wh2}xLc(n&@h$>i#+ z4@N6Y${M5@Axb0GN|=LIBPKHnva1`S8P?1#L`|A(^$ZFH6`nZBMK;4Cja25fX8)(5 zPggm!I?y7QrP2-?BgPuURnPJr1cM3( zk*vi;8LDUziF0K(uptFMA`|JbR^M1ZtPF38Lu(^@6(hnL8JMdy2&$|_DgN|wkqH@SR#ka4>t=3tT@aJ`=iC@)_W+p;h)VQ%O+ra1tu=Yte?v@J0FBkC1|&jO z#DOko)eeMzFQCzsgh3FgfRilbDv}k5X#>UUEH|Sj z6Ri0O*`ZOgGTY-2!`kS85k$@kK|scNPQge*?G>9`wiYsPQnW}F|4oLqsgtm&AcIPL zjKNyDlz^1V19%Sf^EFZrMg-wTs*OH-2Z%{0Z;8DpLjDL;1xaa|yj0>oiObrkDP)`B zAQX|;qVfUeM3LkGl$Glla%D`N0oo>@uux+e(lZdwTBB61@}NSD$!J!P*&H=-Gbm}s z)*&VGbV9B=tY|uW)PWcw8VD2Q^H#85KysBC6|mAQh#$$eRz`=8qgSDj&>|P4qM*{&f{Jw2FzE0=+<%q%{c+g_?WG~oAdn;?jEw{xVQyN9HsuuMq=j5Wj#Vjp z^ZhxZ5Zc9FO*Tap03MfO&^Q=gAA>^e{CGgJxvGm|!}J?a%KGmls?X^jrUsK=UuMSA71@=OgC+|YZ= zLTQ%`G4>p^fM;YQSfvA$B?VYB12yuHP_l04-E_tl5N=2_T`HWG4W?jH-#8b+O$^ceTpg+6vWXtk&Vbi zC4@5U9K?$;r}!AtX&9x3>L!X|GonF!ac-b#^NGuJPRgXgeBShw@i0~t7@KLtIOk@U zr6n#8I#($9yb))e+_~ri5UX!3pec=B-JLW)A<)RO*>n!_CQpkm<5H}ulC042x6}!w z6_Z9Is|FR~Bw6zeD*D)J^IR5$crojB=2U90g@nvF-zQWa`R2OI+^@jwuE>v@G>gN8B|mVBfvFC6vI(_+&m$~ zi;5=~W1Fn`LbJLJi-VJev+_O?*3#<73FL`oopd6z!lV}>2|y=%B~$`$P`g$o{?0rI z18qt&T4Rt}&Xxg|Yi$Zbl9$V#66b~Rv0|hU=kvW)&`=h{EG5(X)#DO+@->~uk5Po< z>ed-+E{3%Ez+Ea8TKss&p2$g?^NYL47$}BitP)*xLM+?Fi@B$Us73*&6st*@K!qyM z33`sLkgsx|5^w@@I?Zbt<>t*ury9U!^~8CVp_F(y`TrwzopB(%*f(=Y8<2Z$9_E#b}^Nj#B^)GT4I&^*_raQx}52 zEq#=C&p+l>U$<}D@8jB42$hl|VODf*GjxoAue}EI-o1IT561SHE`jKKFe0Y$J$zgmYGis(qR-N7}XKam7R?l)gy=ePV;bwq5&a237UG(WOaWOd*->8nhm9cu$A7zDpMv}#PLJP`+qqf$p?pd{tl!-N>4AAFT5d+x)&YTn03MZ$H7^Ry1Ym**LYb27s7)7C| zi|%%`tPLwBG9%|iA`l}OsXEJ?!YWz1TO55fOtD@(Xwu*s%?vA=1p5wz^W9eH)xo5d z%C$DRP<`B5Bjf|5iktJzha>)b{~)gi-}lz3ShjRF;%P{t$xI+D>*9b(R#x5zLpo&eH9 zedv9wNlh3Qhc*dPPr3+94D_jxZgc~Lv_FTh2^nzdFKEXlhSoVswvE1k(PN}CN^>(X zieCO%8)&=+Bd^7u%IHQrfv7cP!{pdolzA?%QL;D@u(CDuRfKL5BJu%arlA#N%>t#N z=OU9!KCfcvCIV*yds8c$RBMJz3PA`;t{;t0-RLH@B*uxxYU{DPDOZ{C=`lHj@=T%f zxO{F{YrTj@DaC|?va|ubSyq9OOmTPIz2kWWnLyV?UzDyd{N2>HcO#yf+8L5tG;m!A7Pkr2uas`fO(%p(tyYDG;5 zrJFx>E2LLbPb8F8+9c0{nvBuNc*#vUNR#w+a{B2*dl=^F)n_1aJBD-9b!1+HP~8gY zSA6<87b7EVK)H+0Q>89(n>e1O;Fkr+hK=I18Sy5SAO8u&SCW3pV zF+yR51?Xb5M%;TdL}+O*my=$;KVqU#*ObzeN!f%7pg}AfRm)SP*B#Iu6h5ZfLWD}o z%1|+n;E5$EldEou^j!s`0h5J$1fSWgSOp^+V2}~*tX|bYkw8{0qMvM$I7NJD4rgiu z2CUrI%TT19Y|0~Gtc;=>gkzG$TEcgdMtAb*M;Q z$c3#sVdRu^jM7lZ0>2twCq$E}5vU`PEjpmAxtlajot?B)YtFlc2%$~@in3Nhhlu{9Q6!Li^RxCcC#-GwPi!nVoMD7tR zIiRRE`a>-OZ9=geb5?rER3HabbXlPwvTl%Fg_EB-D5j9fdZu5BC{xzP7K4tCvy^xe z!Bef}o76U@vinbf?hp_I00RItBm)2dKyPI~m0|(PA8na$y^vbJ#F@!588&RdYz02` zs;uq-5@h0U8u#C{`~V<|h>VB;zySzQb0aU8fel>Y$`fyRYVI5Q78^K$a*m$I1)~ZP zg_*#8;vbao)F!uW1`EmtWuP)QdUL^nzPFJhBM^PJdFVsr`s`bcp%%HQ%=J8gNMW7; zfExgrDS)AYG5-LSAd~kvPV>4BotDu2*!~Xq{_#(j{{FYiX@B?YOQV1I7vpnHxp z{Cw{6CsP0Z`nB)v*uMH__xH2^?f!*hpa0ddCwA*szaRYXTc>{Qx1VKy?%-Qj|Nqmd^1-cYj;lzW9g>-|;Oy@!);|@hyA@f8jKbKa=BzAQ z;4tp-CcD#|HtW<66-;+#o+r*~hLjSNR@ZWfXHwz%-r8|0R(FS|Ldhy*=kRSt z9`emoqq}SoHC3$c9vhvEBR|7_iWEgbk-l7OO!?qu;)CN`kM^@YH)hYKx)X;;SeoZK z0cQXp8#C~+GLEBF&8Jvc{;RI-%$LLI3zVWRsHt2tJn6sOoh5XySyQ**YVkQ@sxYgQ zjZ=myOK3{yRZ^+9S-aQWR}9r$^T?zprZDM9B>^xKUqgRzT#UIfPNCa*2nAM}YUL zsH1AgV9rWwvGO()AT<0o4&y33r99LC1CVAcg*E3*=oWRH^OpW)KirdBgR;uBdQfP$ z5N*!YswD%yW&%Wj3QFmvN#>e$uO@Q}dDHR7{8dff?gB({@y04N2hr@->|HLnlf_Uy zQ4SW>Zb4tACAS&#h1@r_tRxi&T3z$d?FbV#c$zg3`E?6se4~YB)2p1&vv9AP9bRbk z{8q{2Z6iS0pO7YL8lI{&OTO5_Kxw02$AkEr;z1urdk0ysnzDbgPFbituAF;qtfS2q zNSbvJ`7;fUmPc;uQ9GYIo<}Sx-8uwf^+lRqd zQGSUD4*h0Thj|Xeq~MohGXl$X%5rQ}HR4&OUmd&Z(?=;vLj4)){51>;!BtHtlGSTx zpX;#|`%Bem+)?bFn)}U+Ef2#rQFh=7WpkUN%22D|oycPM^RD5qx9wXwk72W><|LaL zUs+VdZd&t;x#<9Q!R%-ovs6DlRW<++<9^dIFXekqHC9FXG5wJ!`fX zb%k1^19EVfg~_`Ab1Y*8f;|lIAjq9AhUH~=c=NyXMs@irA7~+C!*LZ=|rc4i=l-8DE}1`;sxisfkNhby6W(v^=eM+}V)Aay z(>m^l|EIVq+{(so^TyK2Mi-T_Tc20!pwZE$Q$!*_Hr%FUtBU5oZ+r*2k`-#EibZJr zOe*%r2 zMA%YboTk~0WG;HTQ9TJRfwd_WY18g2_U|5_Z=NXSa$#p)tdvFmb4Akv z*nx}ZnCbGN=J4O;7VE!jpr>z}Vl!lr(5Kgzh0bx1jVx-$?Cs-=!?t`+vHXbN&!S?B zeRtWAhg)g6Kh|d+YGq-CB&%YtSZa1(3pNc^++$xUmp}DgXGw-`vEIF9u~w`;(#-_E zMGink$j$0ck74hf{p_8BE{j!aDwEF(fn<~wc9Io&o3Nn@FXPqtAESj8E5%xPOYCU3 zCm_k$aaLY|fw4iWjDLkNzr-rB$&}tX0c!BeI|&eA%LNeA+ga#X_;o?_Uua zhD8TTls3s6HFMV1Z&Rz4 z?r%Pk(z4@|=-i7x_vF$R6*jR~e&@=kY@SnB$)T!v%2Ov#Cbf345~O8}Ol0-VvCBr8 zG0ZJqI9I>DUrhmXjZ}zD<3;i#y70bieBe6Hwau}Z8u>~9m!hk2Bv zU4J%eT5~4WYTr$ZriJmOCFn^?`y~6FO@bp_7AJk*y{o+MS96dOg(TK8Z=Y+*4a^n_ z6}BYxNq*{NGf%&D?{Gd^qItxlUZ=Wo_e#)$^rP8Z{^sma-U2;dx)f@O#ZE zWp%#^_C$&85_(8pZ1ypc^u5sYpm$7Wdt{1*EKR|MR4X{>$K$hyjlCtl;he=IMXmmyR6V_b1d2~=G_y>KZn?EBd$6jO7 zOxOJx^pv)?(kec@it0x?^}&h39ca_^|eP0(<(9{;;*Aev|%@O74vG-?$O)tPK zAGp-Ra>*e!AS3t&*UM{Nf>Iu&`x`7je?R0>GU^nyEewfu)i!C-GjxwWoNeyOT68sb zG#*&MK9Lr^B7ThG_u;u&`O(yq4D?SAGO%Xq7_}=diRM(Q4u&UvE`HkoZ;QgK=QlC6 z0ooRy#IFR7OKV=#v*c8$Bb}(-+|9G;c&I_rwl5{nahoqY_k-{2B(T(9)CP>r=l!x4 zU@EZ+ouN5mCqMe9c|2qWt=(7?Y9<#=@mOnzmdko*c6&0(e4hTmjkd{oM|t!0jYQ7nG6atkbK7jx}SO(xbF2CAqEdALB$J;0sM*jKWBJ*6N`aae25 znb5ad4!1z95}mIm;NJ1=I=>J_HPkq1TUQg;=<|oXqXC-SByQ47l7+>WFH-7<&6#78Bb!hpVCrN zCu79wt^d)g`Au+dAFJs7%Y=uTm16BTdRDnswc40}YczUA*ENr1{DiiZ_C>9+ws=2u zIi_Pee;bMJ_KZlYM-n3W&jdph5~_m;IoaH33)_8sW*ydO(U*DN=?TYwl}{*?bH3<1oKm(9Q52;W z5c%XnvR?nuhY))S>c`DPlwp^E&UZjMWQ{2%-T@J?J<2m^(GHSJd{nc5Ug9he*G0-(`@lV)Ao& zv9A5N^_RacKq1fg=6&iT(nE()sX14Zqa!|M==kEs=A~6;KY4qC+hbDxBIsc}>CL$M zt;iY$f4gm&P50eSo&z?nzWaRLKCWV*lYg{b4On@f@_J-PB+XNUbd4`XN4yg4Rp0vA ztv~)wIl&&f&!`-z`m;n2FX?66P+fF^rp%fvswwBP#{3%9>fT1XVwO%)J-jqK?wRDh z^QbJHuV>NK`Nz=9-;%lj&7EJ`F)1HV)F6$E3e`Dx8M45HEj^A;M(xQ+5FxI&m4|av zUn)cAEN)cye;slIwp!@HdtdjArIOOO+RAQ7wu|cBIaD0*=$Qmhekcr|YqWePzd3t& zTr8?o=bC;DAN}t)&!c>_ve4mb%^e3_>8eWSEQVA%4NOay8^g9d+Im>iaHb<8_XrOCI%Xk=nWi zEK2erm$0X*{&5}c$jvXpSu3(lv*TW}RpX!IS1*;OA+~xqyeD{MJt~JG#U$5;UY=&K zucF3tzS2swI<#&6a(AF7>JBc%%M027y3_}M8h(<^c}gti@`DSiUOPrK|Ao#S%vCko za32pYYD;tYmA8+z=Fn5EE?yL#qFRnncY;9-K6y^LQ8CpkeyYO_h;3SKqYjUib@=kt z=4qv#!@r{L*7E8uSq!Z;S+R@LdSBg`ZBfguIbr+B+w9X9f7fFCan7O5eS|5q$E~mC zVRSfdzBalm)vbCTcXsDwVZ1A>6>EceaH~^rTiRwFG^uy$t#`LG9|o?kVRju;y5oP+ z_JKF-9;JrQ3b%sYu6o>PKd*U}qHAoUM<-)g<${#5cNq7pO6_{b-Oo?#VQ$it;2p?k z^I&ia+GgFML5lCY-f?&RZ5=7UT-pqa`w^g zayWm)kv{p_`abT7r%N;8<@_l+dWAhcg{@SDZ`1tyI?c+oyI9Ts}GrXw7dih8Ipou1?Cy zUM6e@ciyU9tDna+D%4%B%eYitA9XN%`{Odwe*kVkk-uYgiyvN!b)}CH952iRPG>>% zH4oXPHk}&w=;^wm7xC3^J@rZNrx?1x`={pNu}QZ!8Bv_%%I-~eJF-80+alNMZBbC* zZ}fWBsyIvD^X;vz%GB02^B-P;;vzfpzz@5c^*vd(A@5S|IE&M{W8I^*@;gtwRO|Z0 zk72HPUhZ7kcW`aytHxEX+gB^yT*OCSTpo+v;F_O!-kEl}!yRHTOh^7}fS>iGsOufL zwQTE3Znziq_-PJz+|_lsxXZ8fxX6#Z273T>Y*wmoy)0@Ey9UjLD(~ms!F%@QN zzqDTU^@r~ccUW_<^7RESxE+@bcpZz2;mAkSFYiNbH1wO#bzs+2v%mQC{kb|n^hM*7 z)DGH++fYk)UXBa$keA5v*xhDwrN@hS$ctV5!VZ(*B_8Yb zwWza#|MI48CVc8c-)sz;M}~W>>J2@9i+IS3e*Gyx!tm?xzYoq&<3{0k%C`T!Rn08+ zw}W=?PQ7c-_uqYcYp?t4j~%stU|n3EO&^G>e>Wr#&}}Tey+5a#k`27C*FNp3`1^GU z=ew*KH7;y#{+A$++{M&it47A>O}y9sLU(YT>fm2zKUvh>9?;~huY!}nL`I2ki+X3@zGZE(MiDbLcQCVzhMzV~_b^8Kcq+GScZP>YwqtC~r2cnu+N6j3Xp{`dutOT}hk3;oZKzouG~ zS6ZEs{n&oC%xm?E#k?EvhwN()27Z;4!+qq%;al`WI4Csrdv|oq754TEZ1?PXozm?@ zyE!63V28TI*|6RjRnmPAmQ=V$8e?7H-Rr@#9P%$6b=SP(= z(H|>-rla*+pD0uhO2MDn-e;$-hq*}oxu-fec*xrw5eQNF-54`~$!vHXvY+3+>#59n zzjXHH*>TL%EF#cjR|t;sN9Qwr`N4X9+oL=7F#!YTm`&vmp|D{Xg}z2LFMnel2}%@ef3Ct1-o~2DF;)>yjt7QMW|#w zz8~^I3GMx=-KQ${^lF4w54;}wteyQu1P%e}6o!m4KH9|>pVzT-cJDsBYsdT6)fK$g zYN_;*ZgkKjaMzn^(7GIAes+HkRTtj9iegeN^nz^i`@7Va9<3bi(JEI_;>}a9pZKGm zdH!r#WG`~LxBZ)39h5FQ%942X>J`V1`HcM)ArpQ|o`5p-d;4xeu+63Z{RO2!Yn(l5 zv+wrmYrnk2y$0~=@c+o=`^R6l_0^n>qs!kEX0-OJf6vs29A`CkTk&2{0ASi$B%_d| zNGV$ji%`crk1Ox0+Mw@A7nx`r-J zOpf4D2qz=11Z&$799QdWlosv zOf`aBK|{rh!G>R(d?2bxyIJqM*w?L?98AlHpgRe^cunq%04@}^IVt%(^te5CDNpql ze*HjW#t2ML>QT%i>lOHL8sl}UX00- z0c1TU*QjX7IM9@_Fz2D#TpH&c~#@x1uOw z1!zV_QS(|c(%hQdX&Z_zn5LTNv9e%_E(n^(Q^k?PTqrsxUM6DY6XG=(KDDv0@!7N<3?>I@!Wc(% zjYx#31)}{)yzq7%N4$fvfDK~Tz@sau#Z;V2V@aVS?FJvah-(hcMdUR6&y<|(?x?Tf zpS~g?E*@N`Jmv0NB=l!%u^3tFh)ov94flXWPA+c2?9ZJ0WX84li_>xxOmyR1=~ROT z5`rfcymE=tBk2PHU!&tTpio&cS*nvc1)(sq=bBGjlXLLtC10dTW`fE{dbVz%3SwH)AF$d$KoUAdG~`yW>yKdjB~z$bmH@M({DUV@-{mJAfxB zYtWz7^0THC(2^)!#g7&6kypNn?o9;<0Cw=*<$Ea@>EBe zi6w_QZ@cfa&{R|y95)naqGM0e>X*s5eAHTy9L((W>9RRGXiXJIYD;Crz6p(hKzT&p zZNaY|O#RRP@2P(KnlgrxYIK4Eqmd(pSp%a1M=^3m z6qJ*3s^V2nowd)d)ubp@CL=}0wI>Wu9+jBGa?v$*g^SUBo@CM1_#2f@6O^cIYZ59N zGNH*6KpM=b!D(_#dhq`2@4r3Sbc4#DFr{tAnxn%ff@fLMoDr0ts4)8a-kbaF|2|>4 z*IwLXz5k&LI|)WyrlcrFY;KiI2j6TF&%4PD= ziiYTP5l1VV-^AIi_QT3K21<;L@!Z(>Ses4y(h0{omG4&-J&MlW&>sk9u#m}9z1KQT z@GX@I)fkF7g`B+gDg9_I`%);YZ>q(C7Sl_<*jpgLCCN{3OG+$1G2oz~P$Lppz=P%< zq7;lpZ;eV%7)zK6yamy?G>=c9ZV8E6K8#!QDPH^RoPBdnu{JL8*W-`^O^aZxqPRuU zCMX5x(S32KeeZv-qq_>F?+w2r=)El^#)^tMPC1NwsIB+x+*2y=qeQ8eq_mt+DAnq% zoMHgh|LzvIYybV(C#yO3^@+<{BX(q@Mo)4_K4>{8w|Id+oPg+HXDe(_Bsc zmqX^-N+{$-u*tZn&`D7T%I+^38(r$~ah;8C*-usyFkT*I=!lxcn~zb(s9Olh7uVJJ za}{P}i%y7vMx_Or3qqIzkG5ruyn+|$8%gcvpRBU~Fyt~_jiVwJLT0T|^kE6^F9M=+ z1k@(OYeoA{t1;K%)+PF|6I2>_4Rb&WgX|e4*gTBUG5DLpS|91dQczoL`M{~+$auAU zDZ^HSIka@K)=Ekrxq=Nx*dA^zwMi&n8e@YK>|)HYSSu=hhYP?d6ir&R@x#j3Q7TJL z5)?-kdIrQ%w~Sjp6`i?*<;{2(8qa!4IF_9O z;NVj3WHemcfZ-d1k|?C;Qv=b~q$!%P24T_|&NT}dGbAJ@0OyEei_wN@#xcP7YNT+k zTEGTLrX(oiDhZkn!5a{PHBva{fHRi32Q8iBo{e%o!coMX5`w89&XvX-$@UQge6NPx zii$uK3MW}HCSF(Yb2!->TClzMlXIXAlC?A%WawIs78!T$QB3B99!LbniYO^i6>EY= zH0-NdIh^f{DnuZAbS&41Kmc;1rcm=H&n1VOp3)asVUQQ&O`<5a;D!x?!G_dJKD1j!1xp zq!BOQMeU>V*O(EZ5v;}4mHts5^oEkb$dTem5cZe^i=l&pjgJ0m9AcS@J_>yhASb3; zV@`?N>K#`EWc2js5v3Q(y-8g2+5n=pE=FWBgyE*dwMsF6Aq~vE)LT)iJ!LiM%!snE zcy7+Tzqo|bilhh%=S$uWXcH(&C?J4MiaHz|KHtAx+go7UB%RDLq-HUOAU;ABy(x<* z1|ajb)e5Y(D#n{x4JL+rn<^Kj=_!Ia8tG>vUtEs5u_VDrN}^84WOOYkWmNA^R?fb- znAd30*96c>*pji?BsXLT^*AB!7+3RJm>Zz9-wU-FAcfE;6PiUdd%?lZ){PAM90hv7 z$jJ}dk$I+63I+60?w&a?2KV-8VnBlM1VmEBB?DNzRy1G?d~yY$Bq$Efg2@)6m&iFv zQmvAUu&!w_D4-J=HwP!VB(-A*BnUi0y;k&~1eQIseUC{TQ+&y?1>hxxYSAb6OtgmBoVU_EUT zQxG=>@^(mx3D9c_otm)*xyX}B4sG2O>&94=tme**pPUGkhp!e}yRRyiI-cNR3uL|* zpivz(#081qv?eZ~jm2Cafnj9L7ej)1%wGv0M@dKfYgF%xf%k6{~Y_E8?PKfvJF#$X;}^HGge0j(LG4%o>QE?_yi{`YVgAvUe%RysS2vpDoDnw@k6*dJYvcZ;X2{};m1WqmL zK56C%LblXK2BVA-lFdL+bo{`-vyp{-4;&!Fwt##KBdNd`L@3^^-+lY_VYc%BD&Wi{ zL`J2M8wMDUFU~D-)o5+XU9HS&xuyj^Bq2nDNG3&eYr>#(E#|>WtX7fCS9>%$LthDH z$*P4$gCV92b(k%zoq00+nlPnE`B9q*vdzGGi06yBSZnjz)VcR$*Nh?4}NYC#c{%9(>vg&PC}6)eqb z1#f7SPRbV&WE?80kqCG}9!a|?yjB<4r9Ci(9D{1K#IgQeICB_HT8G!hXPX!*LP~CA zihwuU08%OSrHiQuR=eH2TQZ8F!Kjn5xd)UJe3GI&Jo0OWUKoO4bG{Nxq{H6Lz!V1azP(+&M7)6t6*_f+lnohC&^IAB%*W4Y$#X$0c{4ub+;_(TSwLY(nK|Eqnq#%2~z z`x7F3jkP?l6saQW;M|FemP|BO9#kmx{MwbKZLE6UVlkj3t>*BUglwElTx+=KnMAFE z?Ri=1@SzPv!;fO{D9}hMjME*a+T7!_3_?COCxMK}4wAvN~+8~uIF-3?)o7pGWkT(!Loa+h9ag( zqQk6~7O%0kbAK+G_M{|`FJv_}Dxg%GgNluznRx&+YvyEP_+Aq(0tF^ZGK{u>d&wV*N zZ4E>k6APDXYyzfQT$Ihm^&2~&$}N@YnRG$1dDDjN_5tMKzS0-$&>MF|g- z>d9(K48%!WQbv(-7L_k^o1V{PYtv7M4bUz#lZH}?Pm z=BU>+F)0^;ThwglFG7oX2U~JBC|PVxn;}%*LP750oyW+qw2`sV&6<2ul;VvdO(d`< z5Y-;t!gf<8oN$kuq!i{&C5>`P1~}i z0NY@6lBD_89!XIOQV5J?K9Nc$0d{NW#_^)&P>Hq2S#FIaNkdyCcSjfsod=JvT$S+t zj4lmRgG%xkN|=i-2IafAeP=t*(?}(ZkQp7flR_6=6b;C697HL%7WLZsC_+XPDMF+N zq*fMnB>HQ@O(|B2^XPoEW>W$jS&SFV$plZyhlD5yUsQo4+WDJ0_FS#Ss9}rEUVNPB zS*8+TUGx$r1FDnHaozkW~K``MX)|N42OIsLbOL;I!mDgK{+{noEbdcCXv zemU2d-}-m4KmLA%+rKvbi?ZxjqxT>B{oMZxf9d>hYBILs#-If>+zPnap$RPq24y#r zAO8FF`5yWH?|#(Xcj`N}@n8D2NZF)=Jmnc5CLKw*k&8%ToGg6R*Ot~$EX;CK*{Qz) zv2FFS``HWKQL?(?SN21zFYEX9n{cxv!~5EfR}`G>9JjFNEy-wn&A z-pKJ$WwkHjrE6vDN%l;=P)}TZEJ)AhWgS;Sf;arYES&oGz1ptpTj$cT%h(^G zql>|XYxu(5v#4-}Sc83z(3g9w+j|w@-L#2%H5d!t6%O$W-Dd#&faPBAtAzK9JivFi z_o=2U=;Z3QD+jYWZ(~`35oCLnX8Z){*KB7Ua}~$jCuh1fjwaK^vKCdo@$k-z4R^_c zoTk$tl4Ot06Ch(|#21GW!B^Ru)xhv%3YP`_+Qi~Hi%G>~3SRd6yZ_XdyJ2kdnrbcU zUV>;bVi@Ad4+k*P{XP$0hA>F6!2yP!?v`Qty<+4BvRcwbSsIAnzB*wZybhKeWkJ6C zlIh4K#t2QxaWNS14SxRnJi{QuSb9pZZgvCJxa9DR;`3|>9no)m-H$Nuz=*M4RV=S1 z-9qR5RarWm*NQ&D6$(6jCc-wd##nDq@)bw3WVc=oZ51pbuAKfrhp$DLt~iP0r;L}4 zG)w|F6l@005wZk*yE5EqHD8zIL@8;}*sYt6=GdGI*osxI;O+>6V90m6U9xh)dH zCzD=`+#uft`@LWFF%I~9Lb$zSB2Skbkv(`%(*Y;Ou~Rp>h5dlcvuE2T2_T% z2jcwpphYnGnbBbxRxEZHJWb1Yv!X{Tc@;n&aNdo_Z*63TUSk_rx$Bw;sMM$4`rV$MTV6$jJEMaSI${|D3QBz_^@t>k7hi|It|-8$SfK-+!lz zIAm)s_=|GDR4y()KY<7YadO&bEWv!X-yuna#dTo($2J^|^Br24>AmZeTDuKorC>eq zI&qBung+)i#_`X~9fWQ-&i*4Cq?dn}J$pDaEfk--CoM2yBQQyFRTF0Ql8KPe4(?{;G4<)t!U78+P$ z+pFoAt3sIJZRVqtVy>j)Za7OUw~V$;h3l598d?nFGs}+5&Kd0!I|#GB%ZJM&`q4Ko z9|O|A$GFWhqm|W|=;yUpR@jms%yqp3>DI7s!-Z1UdIT&AzS~rjRZ0XD-wmW*oFnXV$;c{XHih z=DM+2H?4s)C4iK74Bd31;>@gi4U9Ehx1M7>*kze<;8<-gh$l>dkl0SJ21&l6@K3k|XlY0|tw|BadTT zXPIOP7cpSDv2uJ%9yuCDiC=e4rtp0;v+v>@`rlcuu|3U_hH_qz)fybU@C#U6wUx_^ zSvmYsg{>E!J=3-`j^+Jj+4kpy=;Ei?lZ+*gasw6unwJ-W^|VcZB6OxWFwQndq7&9OFL6 z6((gHXW;5AJWehweinL#c;q8m6=E62eU=7%LCN9G?Z3&}W@m9(p3hrq_tnOAmN~V4 zS%nLqc_wl?pM!a9ZN3t02h$XwXd-Weg)PX0#JJ zfp;hHSq8`oAC9|*SRh=irS0HRZiMQ`E5gf{7I#Cw>>4h9rr3JZM$2Qw;}46(Um^D| zeY#RCnJd!T11q>blT`x;hU_cV8=59pABU zI&S2yR($DPR95?Vp`-F2c~*YoxGF6Fc-JwH=?gsq{~lj=`xUj?6U;u(aTDa>blHqA z(Xi-jmcQMD@M8Wd<3Tdi-gY1EWDIvqXLGzCZoTD7nNpwQySCKJp8HSVuG(*COvM(` z-`IpM>FrT|Odv8=z9+jLsI0yBVck(oL^K#C0-m?zQN>F`zE(Jk%d>rKqj=M+SM9em zP8_&9Y$?&f|7LdyPR~C4vP$!;yxP}Kb?tR~5zUU?=?9&E&kR7J?k_&!DK}~z^t+lP zMe*#DhZ$(0xtnHe`~1lr;Oc?r*v)Nhj#^B;(fjIzj znA7O#`Iv@K|L({D>4QyZKMM>$;$2##CI+XqQM>tEh>Q{)sNNC$pw;;esb)M*)QDau z%xh)?WO-ft%l@YKOj`m{JNs=TQ?l@od6mwuoiJS|wV--8#AW{^_VoOE4De{p`3Ja+Xmdnw5i`Q3SE8v1-jizj&% z&abO4r4j?Isy-&>(}>-bLlbapc-7NuB@g_Q_2!?lqn+E`#XEo%!xc<)mj!e9@=hzb ze$9As{V84h;y;Ew_)b%J)7z57!Q2p|+xXqd`Ra~`0vZ%A<9BK39?=U_jmcawo8K^? z9v@#X-40vV_uj^QeSP=DM|@vgZ_5||$uec_`5$*<+7+kzRQ@_UC)o~ZhaXPqE7<)( z@_m@edb8oNK63-#VRtg!Q_SEOVow(WYy9CjKB z$9BY;L(}M0c0jy(uB=n9T&c{#cP(Zr3rEOJ?R!zidfg%wcpsHHgZ$FH`u1*p;>YUe zYhHMp^f(mC9Yv`VYDbna7^G<4Su<|s@vvlP6NDEcRxe4U!l zD-pe07^{2kH&qI=jA3T$Li*UnTl%lQcXK%NG4pS&>g~Pso65Y6RvfaqfzcE?pXSJh zy(8#-QV6zt?YGx-_xt|zYR~Pa+26p%c`?1wdlli+{dtAYjbR2ocY&sVM)>=mWHFbNIWD{&NQu4)UAxmr>7hLyVIX8t=y?V!* z#TD3&k6WO0E#%fse`khoreFR$LI15)*7!HI=TqHuJ^bz5mOMoN&pM636x$UvbVY@^Im)|C8{R zt+l---Cm+&i^?e=mXy3rgEmsqR^RI=O|Xi7(@(OQ$N4&;jH zh78tG`?tQmuafFG&aTw}gtZG#^7o`kB*mA)N#zH?>o zkJ+gr5f4?nz4x!~so2K8rF5FUe;>?4WwB1RaNtc=MyvCwi?4!-y_)B~5X|-agL6(B zi-ma7GVV4^%a6);UJmA(R$PCWM<|I^VdK5M?EuL=W4jXfn9u#bnQ6rmw8r?y8?WUM zEby|8F~#%RJc?`YMIe2V7QLQ~F|M*^TVQ5>VlkqD?gZrxSC9-nF`5;ul-( z?c!o(liYVpTkQYnr3;wO();Uek;5S4nARr$eiL*ALs^@HrjqbQwim+F?A+6w93QHy zzUuIMtR}l+tVikj{8;F$P4sY;JI>F>O5vaLhVoeTs`H#HJU6}Nc;-(|QYLDnS#5z)1^c>Za>8lAi1ah=-oIv1~@ z`Rn``k)G19l|}#NQ){fV8*+jXT&PzJVW**^x&HFZ_N~rgs_OgJ?Jc%+u?!;H+wf1t z1V|C|dfDTC@-6H+cfMXt>8}^-n_*8lGw3Q$rdHxxliQ%VPqahUz2cc)oMx?1x%D-9 zU2Yj$ZaTAMi>`)VYjf8Y`m4pdg*0HPLc64aa|}-5tw`T5#7wT*t>B*m~Aj{P3=no2JN$+YhhH z9nU(=ocmkj)8kCmh|@mUhF<<1s&@+Md#?DmnFcMLGB;a;)Z>oUpNA%A^O@-JW^wjg zadg5#5Z&hyMfi_zSyusjmdCdKax;>XuDQM}AdoaLhC_Ijz~5VcH(7*3_^J5qWAW2N zF>>@}z95KF%D~68u=r7&$$Bcn6CKi2*qL^EGg(jAA1wQ33Td$O|ADoz#aQP8z)U5! z7o!Jq4!Pv4{MB0yG?-S>KgAJ~%~%LYm8?)`8`HOKWSpbpa7g*#Z(qF4>VMDB{AcH{ zStw9+m{v0fFT-=AExZmrfrok5y?R?sD84@ip?93owy=j`R19l%;zsL_M-@dTmo0-bW<| z=bFyS33+?*Bt5g=v!>N+qTc*BWB*~vyA|->`S5I2RM6y3nq5K)tIxfAGQL&;kScth z&gZ>Ezj9)9d)129$8EF9@U83Xa~MsF(5KNN){Oxw6)tr1$4aUt4xNUtwx&F2ThCCU zw63Sz?V{T7-wK>?O0CxUcKAIzy-wNB&f0=^^yUi@BG~?GQss({cNbnPoO8`b!RmYJ zV_&%W)^7N&2@D?l!V`WIc+Pn58TRQq=`)T#Y-PR1#90woRmffC@?)?tY0GwtId-QXNAXdO~C@-f*pX21zbqL+PPhDM6WzLe<3$A-@t(N>7f9{p& zy9&GSUu97rol`B}Y|cY+^3J-#^8_c78iwBFV2!WNsE@Fu5@^GdHY~&Pz@fsuo(4LD zUF2{L@l_M`r}JqIv@8jIMt{e%r!6-upTcrX9{g-ozJ0zVp65-L!@JWAjm+EV#s&ND z*HJD;lP9c@;_C9!3w_YB(da^73q1?qC_hfU(|jZP*;%E<^U+gj)*32d2CiJ<4O%L zvB+0ZK(3^BU*UkAxW3lMhptkl)bx4V=gEhkQ-7U8mX)-?PulT;xmNn-a0`agf7N`V zY+tz;U&Z;Ih5_vT$O!hiHZ z1L_N%R;JEJdZs*noNdF*ujy-qJUr#!I=^B;?Cwji^123ta)j>Ao>TsO^C5c0{r=OwXmYdp$4ip>GTjitclfnI7nM5_1k0< zTN|ty=OPG+FB}-H!h;j=7E|Z?U6P7z%I9 zI+I^*7|5NFU^f-1kH#XDjBkyBYe10R>`2I8U>HKEhJm&<2w~R1rFYG215$<%{I!CC zV2l{4855waVdI0E6Y`wk&8=5k1@ff#K$@Yjkg>uke3U#Sc{;$=~PxZX7_Obbg?kn;ZH*7%=qwR z=8Dp`1XR_2Vg0nPPAG#)_KVnny-%8xYs4;sHkIkG5k?rfH76XQ3Y_+1k;SHSr$#QK z>UB#0k}w@)6oMIH2}mqJ;9Cl+_Tn!{y)}sWoGnGr8Ln)x(t~MB(RUKF{F$~I^sh1# zbW&uV$VQ672nq605|qpT@8;GD-u|qw^)om0%Eg5c`SZcSo-l-QHkp*MdUZ6jcNmVu z0!__E8iVNyx7xMKKH(b zBpw|4R8-y;?9$K$Qd31UurYC+{C27cpfqc}5jorfi=>3ff-De~Mk&m{^tbgU924Hg zlBh`sLcke?*AojE&6eSbjL%pI32jiZDU3BKkjj_>u)QRwAYiMlH{*7b;RIx)(8!18 zCjzn<7Xg$$E0cI@-OZWwjy)--sV{V<jy?^74AV?Wf|4}yWR$j*Mjt4++@2mTXc5FBMHV9%i%RyIl|di2twzB~ zZe-D*d9KSzp^CH>RFu8jI(gq|@c`vytp;%K4Y`EkYxE|GeYArdS6f2HGIY#XAyAD( zg2XHQx&_4Yg%)co$arK-igO5=NPKIIECBK5$#FC(RuWE>0{t~c{!5rioh**H@; z1HLE;N*S)w3Nk*SqYVre40AMKUUOIT)}R8KwVymsGjEtHBi*Q|6WrNmaXqAbVYP+E zSz3eXhzuh(IXpf8Xp~1awk4BHGh0G*v$O=$x40OU3&^9?f|w02^!lZ9UL{Jf&(bld zX&rbZY^~OtOKAbITGtOp(S%j<>OVPt&Z3`NV7 zIf|Og=Hv#XV{o%tq2~t8%%Vf zLIQ!&v9Xuh`M0+N6yvnk7`o~?rj#u=GJ2FPDj|+vTlM2vo)y92pF}Abq*K>6Aq2^4 zQr>H&tgZ6Y^8^}R09uMFZ9bt~1sAHpQc;;q+gZP%cvjR~ZPiI(PvT8)(4{N}0vP>Nqff+Z0`8KWpb9g_+< zlcX%Ih1e*N6IgzcpAhy#!8P}alK3yEEUnPr<_xu`(_hC1dVC=*Q%*2)WNbQwBH*UZ0+u7G*OsF%=h2r<2=3+IsK>0r^$d;d-&T znuJp17MC|p3B_r|!bc?&lVD|auTRTONq`gpF=Xg^NVk5%0r?ee8%Wh^b!uKZopIFB zr<`;_D1_k#DUcBrK`!7*)OIueOyoADh0!`SD3_vAAuT2eJP+#(emdnfC-Xowp_sM4 zf^emzI*{@$K+>tLHTOMr=E_pDO#`XqF*+z}ZXB3W;UsWGwZpWvyUgOD_fC5oU{R55sVdw%xIR*M6Z*1q==e-I4#!Ij~xd&$N3dy_Z z-_drd1lKj$s!;XTiv8Ffsfa4G5eR6>zEYxGSTdnMJ)Bl$injz53iwp;gah1%nW zqKYK8vr3Dr7fK)_6>QcpgS0ba22s`kkFtqum36Is$4;-u1g-sHMbn$|g`Sdq{z^2H zr4r6s{?6&CLN*a^ErCue~Z6qcJ4TO~u9mq&F0FYVon1 zx#Jz@DF4WHyoB+ib`ykP#-=b!zDKW*HJDxcUwyrApZkOLSji9wyx{$#)dyK@EN_aR6$cAGpUvC=E6FyEQ=qQaYy>=!dasc!|(FW44 zJN3;Sf8Y7JJO=`lD(9JPqbzaa4n<1ywcZO`qrr;oIs%AmnklZDNcA%9Sng5 z){YAN)EkO9Q(=vfv^H;1q%wbFxg_0FSThwWU6p#Dn5Mm%$cBP07&43rxm@2ldkilM zm)OH@YN~{sfu?*i4N`;%YYl;WYHIwRV-sK3eE5#>Vw;4)aYBF>OwAxvtoZ^)#>1>sOux8 z1{8}nO@bDR)I57r8Ll}TwgS<%n1lc3?75L-n@|`{1x@h1P}lAwh=wXdcpa~|^{tcp z5KaM*T*w)tATBCJP6Lv0Hnwi<#sBYO$uL~=hRwD>;kb;lfLq-V9tecF#p``NkZ4H7 zsmUgVPc>0R6VV=gm#dGt{n)>LhNuZD5qi{QN6;IF+_t+9Ho7Lr`0Boa7NCuy42}fF z{ouBB>_kO6zOc$6uPQx={UZsXIS|*9$a;aC-hq*#Q3tn&_$q&XxET;)cmW%YTX}tz zXk)o#Z^4;_uO0Xk*3BWQQZ={$%A(5#iJ6XzOY_&#FkfQ)q4R<>f{olzdSV6hWlKrL z2g5x2F3MBi?58i3WhXuNOqUSjM^hoh&4V~>j5XtuP!bTOkOKM|Q?oc%{JB7}bm|?u z-)?lI;d@DfdV#f3Ce-4hA;hdv9MG)r|L_9xV}G+(W&M0F9RM5h^uoN=#HMgG+Zqyg z&Z2*>dZa-MDT(>Cl~P}em;T^Ng!eG!RTlK{Mvp#_5+Ke-7-~_tbyJM?tOXI=(^duX z(s_h5;Dk1?4AF=d0S%gCDEP3~u>R3(8#>_JNo#BgC`j8t#y6aFAJP7>{h*<02@WAO z8c9HveAU1_VFvJ|j^fo~c1@nJ z0VTy~oKZa&^{2>&P=f&82g1_Dt&n_5KO;r-%czHq6!k!|gXIyL)q#U4$!zPdV#$AIG2G3Hsgfbuc5iFQMY4GDb<5`=} zUVY`aimm(a&h^tsY!cJODUX-LH{35~qMV_yTDRPNbtw8eE4`=2Fn8#rP&3fAu5kN4 zn|-;W-@I}rS;yMeo_(aZY67cGp`e_!MG)Ym>dPXI>v~mWU0X!>fPOF@Jt=|UH*j;! zE59RM04x)*S6Mo2*M8|sCtp`rxy*|(59q#vkm5W>5+zMx1(3C&v8PkF&2syg*M8h% z`_zygV_(iChf00pCk{4}Yi@yAY(`&-E30U&oA#*|B=;-y_>|>eXWZUU3C8k(+Vt#etfPnl+Q=62FZRpJlmkdiH%?74#?xYaWB3 zNEzaLtrjGpOqw^r=k1%LXRqYR)>IP}0d^Ew!FfYL#d2vV)WjE3Gv_Y1N={RfI6 ziam4!#WtF3aojOAG4#`O>c^w~{_{TU=I)C+j>gWwY>N59QWq&jYdO&yI*3*WtG~t4 zyO-IiFw6{56OgdwnuE~E5bq*3O@)`!r{6L&^Phtre%CNHbM5MJA z&mS?_tIVli`QxE&DiZ54J&35JQ^^cijMz?uRd07^@lSd)ML``KZU;$CmlUZRjzPv3 zn-c`cR-4$itFxn@F;*IysHU&Yz$e7+Kba)BC@@RFeQNKH(re%pYg(W;A_-=a1ZSFQOMEMh@xa%U9iPJuEU(nxea z!XUK@|NCPABu5ld7Ued)=)gOpz?DQNt6D!RV)MB58i4qOue=un+zE23hJ0#op})ne zrIpzEr*8iOU5t*JI3=$H88HdcM|_u2kq_vbY?Zz^AcD}PDJT|(_JwL~H{g_0Y|r?3 z_6FU(txomhQ-9z6>X*HJsH|-bFmx&D}7@+cEg zQqjpsHpdb|S*z;ZyL3;TTW={Z%(;vb>&+CTQOSza%I}LiE6kp?{oi^kKi%wiyLCXm zII{?~apq8@1fFs*fI^IH30rCld)J*^rd|U1m}*)R1sT^KY(?5sJ=jZN$D6AH=vh4+ zpU$h0#+*5hfI1l3Ny^!_2S=0xEbrE?f9gO^c3n}qvD*vk0pS1^@U2qAwwtQ8$B5`j zY2akV*s`*r1d>tMZ_ZuAWDz;)Yg)W7CKO;AQw6$1t#K>M_@vo7qHgQC2Oet-OwKhm6 z(Srk*FB#opWZm!M{{CYmx(UPdw*5&yK_%CytJiw`<+-NXCn+R}+guInBazXPbnlz? z%2u6wRG+j!LAkRPCPSP!m~Jb+E@dlMg~MyLQ2wXKQm~a34b&jUWbP8LI%I12Ta;VtzLPk}YNC_sfXBtZ%z3&$2#7fB$~C>&LhL)Nd#MQ(N|5{6Am& z^@APz^LtPJeeK`>)cqg-``iBMzt7+L`@LURkKFz4_P*Hts{gq^zxKS*ulN09k2C%4 zwZFao|L^GD@BRC~WsR>Ed-nZs@t@6p_V4}wH2)N4Q@BYb;*x@tD3y^yJ9Ja{Gm*df z_PN8ozWLVD_0+vRuI6LM)~$8!2Y;{Ia{p{uRsbH$s36sjX(Mr(UhG_3Dm2zs6Hjtz-tW-Z(pJ zojlT&ugarD3Y+oba$a`po4R#5LXAYt(ro|DfFRNRs8T(vQnS}7yPRj1>(zI4!ZTMO z9PSF~y*IuT>o!@i{Nk?yg@k=|J$uh?f){eQ90pu2;1U4gcySy69zwJH0AE0$zgoZ@ z4xE*|xTO^;ngn790qwRnH*Hu^vI_7y?94s;O zaC`x8}zU z1K~M|y9SloU|tWC^61DNrd$?2=A1S8v2lQ2gqEj3R(@#2;F*;Ocn&dL|1mfpivaUw zIIX>DvyCq+|A|5Jud)kmi5~DuF|Y5q(u~E<+13|VNG$BXbMBq@n@i<&A`|fVm97zP zEKklr74%?l7h%T^C?WBt!&KzTe-#|}t^0Kvd#C=?V{7WGb#j}VSHVOUP!9g9G%bs! zB&J(8ciw8>-s-D1*LFb|OJTF!RMw0hK6CG;E*a_wW%nzqv+dU~*TJ&*)+&a>TOTM& zWiOjtHy<`x30Cp@kWGELU+V38cH_R;TmY0tHDFloi&-Fvq=hN|nv}!;I9i#-*_x?v zG|a(fwK$6$`Dvlb8wpn}npV1Mvpsf9eTUKR-ga5ew!2z>EtkS)iWQjQy@|2%GczSY zGFNl)yT6yYyU?60WF@Cy98}yT|JYb8J{P}uC#3^-amHJsC}LPlWP;|=O&hqBG)MVy ztCv%q1K(oVTXpriJynSnnm0kO}Z|c_1{a+BWq_FFG zr|DWnEuo6L;gxZtP2uo*UoTdB?z%co-DV+qgm-_h;-yV1YF~B`_aQ-0YP^>h>pgp~ ze(b3LV;a73_FAf}xt6+WKZGr8GpyMFUu{@*Id}J}wgBfWD;rCBDEJeWKHz>0N^~G2 z;eTa0>{A6`WZ};)bC$-HZNpCn#d*pGK^0@))z1!jSL)XFYyK`&P_a0%~>6aaTWH(Y~{P{FCy_a z+gruQ_Zxn!)T`ar){OacSeNWhjj_ju1F6!OIV?kzF=xl)e|KNacod>LaI-2ycBqYQ zP!{lZ`MU8nfUoU5ywPSteU&&}Rtvm~%2h1?OXU?4gQby%YxgSJvAWl_Y z`4{jS;GDmXxV#dLKF+&l5YA`%h>b%yzf3?E|DAvND~Qt*o3Go|-Ok*a{S;FC@ISgbCha+N zPP?vg+^k_cw!kyxYvoxUaeA@iF zX5lxUclBuSebLC~c(9P~-U}_2;D7ayZ_!2!&dD&r4DxS zJuZ3O87g7pyVtMv?0>aCqhrVi0eE=VsH|nYn@c|y4jDpL1QEt1%M)U_*1h^yfBgOY z8PdZIN0QHwrH}wHFY{URdfRnYgz=tVtJh> zKpO7(>;8gM^Xk?6b(I?9&1HQ|iE9}TW@$e@kP zcboDwm~NAK+4O5pq0CLsPFqvt*BJYLy=XxttJg}bMsBuK?qNR9k{P`BCR0aW75g9i z82Mx}R};FH4=o|i9ULT2B=jsiiB$smv7*$f#CC5^1ss!FyJ?rcme{zOn?5qvT>9Vo z%^JL;x_oe^wrkdEj;O;2@tVOKHE=kf&p7LBYb$WW%q0tYmM;fI5LMbS_d24B7o$fk z9##PVFe0lItI*IKIAUtETi-PWhdJ_<>E)R-GfJI3z87BvjZP2bf5RXA-(nKCUF$uK z96F3v)$_yKuf=*xbTIQwH*SJc_a%cY+h%9)CG8CiW4nLtqj^bg!gubRsdJ0IulXIN z1U@{&8(4{p$9eblqM>0jPdeMHM=LKa`p+jG6*L2ah4EGP)#|ZL=WPPP9E%%>AVFw> zEC8?0F?9K@FSp{WyZh8gyyYlNJg#_Sc6*?olR6`UD>$6f%!~x@tuy6ny(yfHnH15( zc|!!;HAm}VbcTmra|^ZYZE${e^^Z<hROU(1T|~W>sptV8k<<;uw!#h`wh-1UXn@=%a#s)vFUh~gOBr=#%|TeTNlTC z&D?!33k`eB0|MPee=BJ|3naAuhFx2{EwMU3c7m(+?TDx49w$-^f|S?4UyWYK_pQ;3 zmHF{jaBlt6khyX>+Y`~!_qVJuE5aO?n!{O_AJ79iQcb$$Hmc74*>aO^+z4-jHg zK6*F`+#3HvPrLull=R+aWhNon8n^>pa&vIUR)zF>EYk{L&ckt`b9tvs$2ymO9!Pg+=98)G3PoOzYXdynE9%ts zYO{6!(pzI9()$N@i`vpDj)t)UX7^S^X_HXYbYnyV0j$+K0AwI%-|^z=Rf z311vvD`us%GRfJ6rq5#jBz;`BINuZfu?PAF#yt)~1!>vaP2fjqVn9n@u!E=QXNm6D z)|`Il{mEUTY37-_Wp7KI(aNczZHJ-gqxC-4mh3Kl^+_l|I{bnc{+j6+eDXVomeX$j z+;jNI)4i3vn!XB;MhZxQSIL{N1&t>na87F9@&MQEt?Smwc_U5-{cf)#Al+wl%Ny~hG{ zT}M6effb9loveY3{#DtXYwevW(}tIP9-93;O&$6toeaTg720pOy{rDvkhT)EnzP}9 zw@zvF6J9I}oqS4aw0E!77nOyXU)KJ@kiO9LF)9fnd>8$qU)L9X&(QM_ZX~^@E9GPt=;wtIqv}++y{!AY4Wz5z$ZjpA>}XP3|6V?} z8p*BY+P;qUtp&K+kPbhR&UtrcDxeKh9nW_Q>}X~+Lf^F>r$A#NJK794ut%MoW%M1g zQH+#CUt!5#$KAz$ZPagS#u`1-@jx%n42N%{e~D41vHo83QanO_^KS*Ob0Ex>bFatG zAh6{9!+s4{+^nYg^PAr3G@7g*(v?n`(``NGlQ|%>=~vJTjhbZFG(tzS_bS;p?UXP- z7S4h5a(U4fI@+{T_tQLV>1qy5L)NeGkS}W4NLHE~zIP>~qr@&>l3hr2;Y{!OlWEt5 zxymwyg2p)Cw1N)B8%rNCoaB>X=%t0LqIgIYHJ~!j`R!yS{Oxa1{_q>UuYDs&FA{N0 zyXx)nYW0`B`lEl(sq|}(LDzT1BV@MbfLn0wBK zwqIvj6VQ9ctY57ejLV~P#b-Y*p`A1+IE}6840V7}v`{m76=ME$`fs9xOD438CL1m4 zoR1f6klCU>-x8IH;4$Aid?r!b9l;q-A2bTyD&JmVLi6Tm@N78g)sXZSI3rm|GxB?) zE$9bAi{nIKlugeLZM7AhI$O^X=*In`Q@VwvKtiW?xiZ`|aQ;w%9ElDJ!9BewzvmTR z#uZx7ORHTgA$VBk&dE(&A^PlURdscPJ`Rh|>APonu|?DLv2N|59DF{_{gOOZwfZU- zMuqJ*T@aAIZXUG# zCPN3IIYZ0R^eH!=6={YGLq%n&aRx>60a^~lzg8bC9{>lt5ru**3!8dbhpl{)gmR4=G zuhHov<{+aZv0n4hvsb2QW^Ugwm2r;W*`>D5Vx8B5L(~^ZtfPFvzeCgMhrg?{4@LT+ z741Y-$9lEi+Bi~c;V-%@#htR_tI(&MBVQkeS4C+59@JL+>-;^4X2DdZEyp7LJG*)! zPoI0ra|Yvk6&*gZdzhYSD{Qv5(@vSO=Vpp5Nbp3Xx?<*Z>{22Kj&6_#%(iqrt^$kH*8oO{AO2{UquJ>;b+8N%dYcn%~wxv z?)B6hyPHNPI2V@uS8w5lhSO=ArRZUwR~}7r`dnA*U3&TQAoTeYEn`$Lf%{zs%A8k-c!zIz)}>!Eq3l`H zirvwCmX>qq9NP%B={&|j#|?TvinS7#w9DQ@r~gLxV`F9KZL6;-eUJ1c(oLQ^Kl=Jm zp<@zzB4SZJ2$V3_@6Fk`4Grt z$xSJq3%=)=lT9o)se~tKVZdoPe`>yIytQ&KOs>1$vDM+^G+eQf-hEL%u8D z!*qx~FWEYMbxp00Tl&V}Nw}<&EzUGq&X=*hc&S^PtmM$C|G0i*>#+K*OAF;Ql+VZe zrP=*2F?&Qgwtkm0^Jv!eWD~D?>fPFye*x2fE17=u#lkrBhkLhsh8C3Szh2ivbt+yu z_|bVvcc3=^7R^ua>B7?b*ML}1-}+2lSljSVzA*2x{s{9nrs?NTpYWJ@AjXOynR7-H zqQxt}9l*PSCi|`M=YDx?{ZLe~(J8vtKF+`pb9aT6pK-0X36^4Y9-0mMvPWuA=CyM^ z1f|}=PaTJ&c-mi|s0~MtH#tpaYC)9VRU$w0UKf#H-uOpxarLjUKT6Ez%5x+ZdnAx4 z1zW-pveqlO=><}Ga)6QB^n%md*6TU{n~%|pUm`&Eq__J zYu2kL#*kojBb}Br%!20Qe<9FZEW0>UG{UZ1?xv)NcK;->IuF#0VAF9IW`Fd|4_* zxup&1Q6V?DzR}Mgt+7|;)Ts(A6akA8vLck*>q-U|XjcqM5_48}`s$}Rb{Ym)Fq*T( zjY&5EyrkghYE+=87|-qA)vaHcEVM7c6+&MLn@aA-L92qbprcG|s~vl%zRyOF`ze%D zEVP^hfiy3ldx8gOuz75bK5R_;9T>a&ak?5pzecYJCcd0t>?U)_!y6AtXAZff3qQ9o z-OPCi3YiRT6HOhWp#!O#-fa?#M|0UjS`^GugZGsCew?Mcnj}bvHz9A`I5k3CtOADpox)L)bU zGN5yb);GQ6HazU)n{EgRbzO>~MI3>b0}(v$+R=mu%r-Z_9uQs<7DL|Kd!B*>C#(-K?37CZZPau*yW zIuxiascY|+kc!>cF*@;53vF)Z3P~5}_av04_z@vep+~ywDrfLYb{PdOm7-?N zIWxgHF%5oi%YA))vEzfvDWK3P)rHCVOD_ z*!4wsYA~Mxa6c!9oVl79DWb&E%`$*kF;uc*ojRW-;;m6FicbnYfTbdyHEQ6YNogI^T3&^oNELAdI-Xl zdjQ#0Bcyowo(8mQ^k<~07p{x)D-(te|C92(+OZj$aty@KqD69=*K1aT@{g)qFpV}S zN9q>F+(S-iBuho@?v&3H3UnYT;m*;L7Z}+kL7H@%BXlq)w|0;~&)i~tYv2^pfoXSC zUq3){FzRyu)kg5<8cV6o1i~4_=*@fyMZ`%6wogenl^G|!`EIllBdmWN@u^kkX%xr=&DC%cSe|WQF&<)U>3ygxNkRs z(obvJ>NnA2Hd-X~)Z=rEAvGCRigNX34+69l3A7-Jd`#w*HxnOu1YZ+Pw;N6P_xP)* zN6arI!V=nfqXU=}SzMGd>gNP+rJPr|<+Lf3n*+0;filjdOZb#f&RSfWH3#{ryv5v6 z4lr1MIUZfQ(z8h;YIO;9y*w36S{;a9)HM^8961-j;z4&$P#JQM@E2nQz-$Q_Qre^_ zvY=5k)^5SO9UAe$Mvmqjaj_&V{!JPl3M1qR9Lz0AXmr~Mb7B5cE*{cFTodWdPn#Hv(TJvR>P4Xcs|E_QNWS7h_}Xws{+zP znA!oJYTLaEwSR#asSZf%V)%L>jf%0SixaeNd`KEjwFnMM#UnQFwg|XbIpeYuC)M15 zt}x2*P6-hN4-eD(grQtg3Al~YgcWM)zDOe}x;2CKRwsOE+c6q2r!IPfO4r`sFhxhB zN*DImTM4!$%>JFDk;$55x@$s+c$+|$1pVGsodW-W{;L!rK%9gq9`~By6E@X-ZAcE7tDGw2v9#EfB-KH9n+%YMlr*;E zUZI5ELL$1qn|v-?^7bnA_4F711)6zi1m}pb3B2JTWGw1&mKz)uR}k?j7FS^8BG2W7 zO0^hsNnzqxW@)f3mI&M6m7y#x*uDx4q?f4$h-0?e^XkV;jdA z-Bj;U_JEMw1#B-g7zy^Qw2jvRSAj{wMF~!1EE;j>8yAVU%youwo8hX9Urh)K@Nzl> zMB}6=bJ3ksOE&9O<0Q&z(?>&+6ZM4Lywb+WJ65FIki?yWjx%d{r%8PN%fP9cmLPBZe7tIYM z7^L9G-29|v@w0)71lWK{EJ@yU@)+Ou3$3nZ?5Z-TY#BZGWV6ka8HsladBj0WOlI9> z%*#||@E{tmgd<5MG{iu%Sj0$KX&AE{RWPJ1k+I?pr6|hZj71jpq`X0^7?8Fv}mAm^j9PA4~keA~hKY&gU?b4wsKSV9-ndfO0jxETPW zB$W|lC^e}Tj@8JnNeKH9kZV>#+zQz5O=62#4lpPD%`A64rNM;84X5RY=S12<_fhn>n83A4Q-LtARLTzVq|=q zB>qbkAl_!GWRINfH-k-x0av4+6H($plh<_|b5+UQ5T{Ks6=d{Gm_9YQ@FvKxW@eRS z-l?jkf{d;hLd-qMl=UWewG3zx+uN*_%%M{)2PdsmPLPBTXqp04!BY1<*W1a>)RB+p zNQyN|=CeD+)*?JcBi0ezZ@JOtV${%aF@!B11`uF<bh}{roooc)=xu5FpbszfocU_ClCL7O2m zf)bNDEXN45WzB0X<^*wU;5~qYPLu97Mi3%}5f0?VRmGe+t|y8qP6&3GoVC{~r4u3x z5^fl5V~Ri;OeIoLH=?R(!ze?cI5iin^tjhxiHh-aG685#bS_;CPLgmbEX@kZyfdx= z@c+dm(QQTpyCt1UInoKNj?CNRnlv6UHr~om$)0qh)H#>b1Z+gf4J+Gu00_}$B!kAu zV01~l{-h^1UG~;827jtelkX>+*N6n_!9|LEagjkjH)gY{GLW2f#bu*D7ou;q2^p|t zqtW==lCYf-aG9f_IelO=m#$G#3n-t_Fq+k+@eEZZp90PVX4B@Ievv5NY8PvjMt7U) z7i_v}&VQqn6|Rdr0+Yq%Oe`Mb0H#Vgp*C||(ArJvWhsxc2-+*{j@)KdWn(fm=P9jQ zK((0B9=QMm=aHm)Td(T>`2Glf_x%J27wbs9w1Njd0$+h8}7Hpp6 zV=1b?QmEjsQr1T*rcwGchT3E#<@F?ClmZjjojGM*C9SVHOk}P$o20uQUm$Mo~vHJY7)UFuvpU!LTe!!m8g3uX)JBylmln&P(1f| zpizk0opdUNeA!4giw>w3UCSG`=Gdb@!x6+YRD2?E*@V=WlJ%Q;?sh!37Ol#yP6kEc zf>?t|ZB4a5ixRW8U~UE`6@T61JgC(urcB1&x7HJwry|mz!lNv9b>zl5cM^xMqD|Oo zZIVgdSdWqqjNO#fFsp9<)3^oE4Lm4{_e@9iCYszBsU)q4PpMV->>A2PjWTpV@}U-T zG0T<_lz@>##-mo!$0ZmveT7MWB`!+3kwbGqDL@r!n|RfR^um){FgU;A+AcS^be&mt z8;wD(Vija2*Qg9ar-6|By=)D7X-;z21ad>Z-PpfFZCycbAY%e{OA?!t6SQEXxkWG2 zTLb0LPWcO{-q{)<9EEzX*rkn&DQcvB_1=bw7p!0+ z3(5F!4y-mdK^3cpebe#WQv#r$e8%JonQ=wBMAD;d`D*LlZbXt$Ipvh&q_H(Pvj`O! z*~m3C6KrCu)6)O`lC{9^md8M-BPoI2T+v=IVA<%UUDhb^DA}G%ML35|64GLlYKrFP ziXKcsG!-k)cy(`q(VIy5a)u~*5yH8y*dp=PHSsFlp6c*Y0ECMps=U6A$sHm@wF3W&ld@cYI;VDPwXyKYw$coEsKtz5@B zL<7~7UD+{T0zqxb&ifW)WJR(nw^a(SAbb)4VgLX$KxH#TV4ehtZH;2LzS5^e|95|W__gnP>*xO2tM~35yKui# zKmYahTb+CIkGpnXJO8iJ_h0+lt+Dm^Po=+q_Vv@G|H^(BfBo69Uzq#eAJ>nN{;&Q$ z^WeYypZ%*EUmyGTXOw}zTHK56hl~I4_PhW8|DyRkAs@zSDzSM>fD9HtapCH1OSyVzH)zeTB(*p8)4O8Bos=JD-r&UQK5 zZoDq3toH2cSFO}Gb{G3W@De@YIBZVi3HQQoHZYa0P~>$uby?q>GF&8^C_*OxeMY{o z%t^4;S&q!xql=DCNvF0=&tf=E!?sJSa@l??~ zOU@d|unOvm9WSV!tXRlM)h6-W;>Vqp9f{5BTs3O$&ZUk|j@FYTJ1}-lXfq3z`R*nYJDYu~ z&gZ_7ud>uc2+1Eq#bke)(P+}g!ILu@%m>eNr6aH0s5Yvz82=pdiNMlQ=%lih_&+&9 z7i~^-WT?0_vL>URJT`eSxD|=Y%zHogEPkS`ts=)Kr;|5hB^BQbU_6FfcLlbXEAYB&m$U*mOq`v0_r%bN{*c4g5pR=)_h_foATUs?5saf4)o_Boyrwo zpYGH*|68%BRIW|s2H8i`be0PSams=>Kf&Wn-hPwp*P&=)zxbqu=(&dbL_8vk{$?tK zCheHd%7HW1E5?7+?V_c<%qi7*G#&opn6J6)#Wdoqn9fD6Z$fh~) zI7fN2lm4u#+HgZTUw(_2(K<^@QUynNlA#%ljxc^sGVXvZ2dQ*O3D_}rv75N@H_^#~ z=z>{QK0TFR&(3g_b~Gc4&_Z#w|niiH5LG~9sq6Rz9wI?koYCzr!(KjPQJrVhF> zdQ1<)roAjen=JcBa#3f~m{LMj=(SV#^dKw^{U>i3Vn@^4aCR(Qe%AYse_Rab%D7M3 zs#v#%)=2*iu%2$6r!5!sncd*J$<6+}o+0zie~RGJWH+OZ zEf@qV_2ZNIw($5-7R$*@5!}6NPUjk@UfE}V9#0MfGl_o9mTApZp2*{Tu$d{TGfkK! zsqrFkj(&b|)4bq$EFjk~|YUvsrQ;8L4@s=)+{h+!9aPODN{I;WU+St-68z66augz+BSKm4}UWG8|Q+*VwUn zW1GoFKinErUQ>ukT069H9P})zy05vRLpjntTF!J?wnb!zq;Bs!+2&yoo2#nynl=u1 zvewbGxz0{w*Mmsm3&rcH#kscTRsOH)M`ekI@LUJb*mLu9qRs#2h4V-iQlD}!^18aR zVCR_W9hBT%+gzE}E2LM;h=2C3llecsEI~(x z^Ky|ifhF(jn93U2Qop73%i@6Twbf4cT*OT^dzAPm|qa5r#?9~3fPkpr(ve;u-)ZPP%aTs!xt9;mf_*l~7xPRrGn8^Dd5>$}xup)~(dUigJ9>RwPQrI^zh>qbf5tw|cV&Fm zbdk%BMZ%Vb-vBF5_%x z368$mahhZ2>G5x~#hZIhoMXLU@e!ArUS6})ZD>%n+Np@iKHt)gzsYa8KFm=bMDL21 zsdM&-(p0+tyf|U3C>{WSv-KEi$~a%Wd{r=FQH}bdT5B@7R|S`?KDXZPS`3 z|9s7tMN~nmST=mOR63^_<6N&j`}@_mp4+Q=?aA9j-5mEMyy#p{u^GO1_Rb|upR#hcCe}~Q=6(t?kS{yj)Irw8Tlr+VBi?z4+R1|W@HH53jE2GoCF`|tf+uilK zU2Rns<#euJ{kCq!sv-DnNPB9Rmg19mTXLmhGH8F!?#`O6uXF5TK}K(IJCD)8 zV-Ec{y~0(~HPtokTRwJer7TzTQVY;emIq@9-DXcFz`yB&=lE!srrEXW$VA=5I$3s< zhF>e#4Kf9E8;7P|qjQg08B*5?ojhv~spdJLvrRUNalAPqUq$$pmrrNr)+4>2C9SOM zj|3hC9kK;A=&R?agiJ-MFWa+8sUhi;jycotU((USk}t_gPWXt-KB;QH`qZabsr6`f zUuYaT^b13QL)ezNYg}evGtXS!99mCG?kC@tMp<9k z)#L5#r`A@u1^Xopsf2-0-UXEe-#NT_va>;Fm9u9)`)#EqT_f|svEKfcCy#bk*}nKs ziUmMIH`lrC+*t1GZJ~+cGS-a`QFWRGv1H3buOUTMyKi6Fu{PYY04r=E>+I7=`IX+7 z@L`ekwKfaq8mnK@nM+^Pj{R1xj?RA#mb2m$MPzI)#oEx!(p!ZyjM!Z$r@|%SE068D z4SNzl6RtWq%V%A!UwG`*pCv9GB<%KO8EyFE+K{YL3&)+WR@}+NNVr?#Q{0gMO>EF$(Iu(ofB3 zO7Hn(o8iIG{NlWZ=CJPi0ZI;)HQ%2#Eq=8dXeVV6u$IS5ZzgSoY0*r@WYytR`fv5=%@c>iBz1buGz1B z_1CVVK(q`4r#AzJh4|CzYXeN(u}W&8T$ zM~dcS@T;nO?yeoJ$3EiBvda#Px+Bt!rtj+a=W(v|;xq_V*>`X0qO<#xr!c9mdf~>U z{#2rIWhw{w?*GeGeb;`(XMWVXN#z3wdd!R0afg50VLs&ogFKa~oma2wy$SSexJ@Jl zKgyGH{F>80I&?cUJXApZ#FU-bFZSBEd&T^66xsPTrE9TfxtG%(aH;fDYi8@7R;pT! zzT53QtYT#&n@%g6OgkoPlUZ-`hORbLfL=n@@+}@XvK92>E?uwk zZTLKnkH2Q*WPDr*e=oI;s6)7Iw{_3o(t@Gos^sAg8$WyPnaI{^xw|JrWpvhmF6r9P zZz$&I*Bu0lX+l+BHc|m%BcRt6o=wFsumtj~vt*vD! zAM4Dot+(9IOL~gCSKqFEG<_WPpBu2pAK_cdRqo#(-Lj#XU(hlM{jS^*p%qOn4zdpE z1FlgqZmFz(`bRQ5iTcv-HL3O)+(z_*Gd>$^)*d}RmAKMt#@A`>z1WsXScz3fI@p8Z-+sT*`^CQW%Am)83(;* zI)tpe5-!ZJ_4bp zbsr!2@MY?ZpyIcE@<`BH7WsQ-ME~r+Op@xfQ(M z&LE1mSKMD;Ve;<~UtdRuz)_%R8IG8KTIIB+uq%J4C{=~mmXf=M_&l(-U8by*D`WDtX2Zh1;3oUdcQNPP}hVBo|qNAFzq20DZ-t9P&QCG#!` zit zlKQ%ASuM9Mo_os!Y@6$WALE~3V`j@qmTzJ=@_lndhwcnqg}%{BpY8R&Kl&t4#^b-N zD!sOs+zrK%8@A;+@GF16tJJutPiKI{MBi(ECr%8$+;SmaP#w*V=&(*{MXs@)({3-X z=@!ncD!sOs+|k6tj@Hj+g}>WcLaZ-+tk-Rb^V28X8pM+1|K)zJ)l;gFtZ`vov-^EV zAs=4zz8-B#8mt<bh+qr+i)H>}k z+P55aHMzNCo!Q{64T$kmcAfB(lgnQ|yVu74cIf-R2N#OY@e1@CGqv)*X^Awp^Q~_> zddiB|u5ou`zrRDfD)n@3!Q41;pWVl`X6UooDOJ^X?VUcuO3O)>qa1HXyXc>83zKl9 z_gkuS4VA46cUM*R+s}QuU!VE3hFTTw3&|7Gzx_Tfg~zgKCH<$p0#)bAI%nVd z)j7Ykhn*E6O#HBPTkf+8_&`11PyM=boz=MORh|0U&p+{Pp)aoKWee#~Hk4gUGmjzK zC9S2}yoM6DvO}GFeDVH0^nd+mRf>(715ZX|!d zMRx43{rp?6y#hNbi(#}{=|VsD{C8>+UX}Fs#qZ#4AAJqibw2vvYPgQ2m12_W?u~3g zjW){ovbDi!cQFL7@E-5C$MNg#?|ydkrn+iUgF)cWvWEIi|2atTMb67)GWF4l+nK&^ zt}J!WMlV`%PLG}CpBQlO(z%N37I__6!d~fIrsOAS)8U)&{BHfW!+qww(T)}2yiqfL z`x%ydHtBPu2mIrp?U$n1c6w`$mEpXOIfuvh^edZP*`t2mZa0yFUgiu)t9^y%bpi^x z+Ze^+M)WE*_|OXt<6znJ>Kx;>xnJUU{?9xub)husvdi5boB&tAQ@hSMN7?x=&UIan z{;!%hg{kdxYL@hmS9yQGuR7(K&^*Jsy3O%N^4`4qc~AE^m4G^)4=rGPPm}VNmwk5Q zcHA=^*_)wy(L5UHsTlhb9Gb%UU<2fEB!0lH=ArwuMuzqtbfm(C*5-MQF2@>; zS+mIh@l}!A%2s#v@p>*Dd1ITQ=Vf55W9P<_uKGED^PwJPaPi}wZFhZaZvD1)dDgLV zV^7$%WN+CdS+@AZ^7JtXW}j;}UsWAnr`z~p|J)3JU%>1kXb+Ab!?j8cZt!yPf+K65 z@430aW>5d2kWLSx1ha#t|Be$|MWAJG0+tHkzp&(9c&|x&&07?tEB&Y zMpdMy@#!kX7e-!87^sZCqeG$r8khy-GNt^Ejo2<*LTL9ijs`D@91AW007-_eb@Im8gC;C z1#H)5#_kqTPBD#yW{0b=jDcS29A%Vzeq=0G&y?5x2vvKd!Y!R6ipH>iH04E#TMwM% z^yM`bY3VBW!aP3Impt4hU3m1gVi_mcUQbjFzb{Uut<&}Ak3Txd3jf?Cjm0-;vO=gK zCy67GNJXo_C?vOBy;Cxsf{6yg$x)apCZ!;8Hi$I^px1S^;F4iktaN-jU^pzAC^)PZ zH_mL35uW5+y;ZVsH4LE~#1*qxu%ox;q7KHCgzc*H##mgSkw#FYYlTo2c!;?$*!g0P zWbPXhkOp&n6zo1@ipE}yUZ$Fc&5jigx-NMpG{(JrE&?0Vfd2+Ch>l>^N9a0pI@_Z; z8i;g>8hGv#AZ?gI1|#i`-mZg_G$rHOgI>9cNj@e5grlc!;QDUE)iovcGMQ3h3&Q0Y zDO01#4x)^O#@BVV;F4isv@0Qu)lHNgUeM-XjG|-&Gvlf(S5=e`LvPCMc#_aJ4hk{D z3`Dlq_A_qHJ+>7V*ljKnq`XUuCkf3FZaSdWv6Mqg&Ha5c@_ihOgE2W;RMb&HnvPW) zvqYC>1UdQ{)JrYA!flr3q#!c)gLva2p@^bv5G-1f67bqyT2nGgQt?|+yk&wM7e!l+ zJ{U%@E$4eliOodn>B;tdO@I<+xKf0T6ksqu=1hSq0j4$iK5q2GMD5k%2;LV=O#z+| zY9lyOM)_i=r}?YSl0#0?Xp#86@1<*S6U3BS_@^45kk}haG zio=@BYULo`z%m%ovcH;2_NT&N$@rR8VQVqqNKLlm&=>PvR||d_R#q!2!9_u0B(YwY zxOF=y9Rw~_XRgL9S!~lV7XNdSj1h;*H84V)BF&t)?V_7EjBl>J7F5p&ri1W~hFEho zfVYlrf)pj@R1EfiX_GJ{qYo!4%d8X7b>wpb^YoI1f&kGP>0QT72QWY! zTM2Rsk_f1hV$FMXjcE)Wyg`>uV<(59$<#dvTjP|td8G^l0F^*$zX%=$ z&4(EU<(`|W2;OE9C=j*j@GzK!b!~SRj+Gm;NtvTlFx{yoh-pQ-cq7*Y_e<5SvyPY> z0W4?@Vv)0y8e?u?P<-PiH(_dV$@Xzc^QVYdO7rPVTmt~3pM-XhN@F?MVp6CXZVkm5pl{i<`8ymO`t3C4BQYkW)~&^pxZ7ZNc!3xZaz<;N zW46gU9-EXaj}{Y{Cz(jLM#zYcnKtS?X3V)%-KHWTMg-?gX&}OwMwoWPi#tYF%}O=Q z6zUBp-Vh|%@rwk%toie!YZVKpb@!5CMu_18qE}V@u?As_*PO3LauOB79;f;FOt&^^ zQ!*4D3wnzb*PBTSv!qxNm9l}BhN}%q9HcXkdRJI6hxZ_)-XjMRD@nhus|A(}QjiHX zdz|gfO_}+K6h%(;&^hoZD1@4%M&oVo!Mu0ELa3<#G9Wf< z9~C$u;IOPTzI78qD<$#92|0;u_N*t}_JxulV`YP`rk-IzIXXyU4ARI+1NRo4XuM0= zI)0oEr#PjYDi$+ts9ER56dAElP;)xgI_M_snIc*-B0Px;>Nzc$UXOzdsuNf1mJ9%8 zF-Z^_jdPLW@Pq~orx1#Ix~>-dGOPhv6V9}W)ab%cnvN6;aZDl7)fc^Seap27aTI|s zcbquae(`a)V)Vh|xLxH3mNWOonHFG3VHKk_I$Jtm7A?s4ffoqh`=$yi$U~UtW z`HP^MtN1f|k{iZiZ43PTacUqW-SY@khM>s}mg{n3n{+WHpa5D(#`%P6_@pu}u?fAS z%^Md#Wsnj!8;Q*sHLuZL;zrqQwZ3F~<)}g~AyZLP!ctPWj6l|VI?}T~-pAYgvDVqd zv@I2MQa9iYCn1cvnGjJ)^sK|xaV3wcw`*riSwkBHn<8_hi%)yI`^J`1{0NR&LN*eE z5|m_88bPtQE17+xTb%uhTC?d2vkIPq>4->0u-94_nC;Ba3+R8MEAZ(XTqI6THAm;D z?-4QAC!H#w2nCNZRENSc1b}>yC#iBU)p_QbGD0F1ESfHgK5i@q-N`^w6f0WaGP>MQ zBEuu|34BSa0v#A}Be?_diF8^;?{Ve^Clv)OTZ=A(9sK&ZGV#HKxvYR+>B6C_Rj#*=oQc?88$R@;9*N@vZ?m<;0B6n|Uu(>&Zcv z0MnY{0h7u(lumo;YlJoDTCB~9i|gy4xV5pN59TOzm5&D_L@FcnF<8E5aJ4|m=vHtl zyl9MKEr2FBHm)MGEqj@ufy4WRB9nF&f1taI$_ASP7(*qm&qhjdHeY zI%7JwgLDa{i70699UYqx#D$}Bym@AiGc(?FFo6VLdQ~PRTnquGyQF^1)#8%T=8m=m z!ro06TW?H$jpAgaP&8A@X_dUkm^&1C8K=1cz^kB5lI}Js#Xu*&(;D`Vo&G1&t@yWsC72ktF1lvq0r666`3w{|^5G(>0iToj^b5=Oa*UZU?&KVluNN><8@UQx{jF+ z<0;QZh;>oQg3K%EePNu7gau?*UM8BJVtqAxe@4Z#tR-bybF|Q%X(;_hKSY zhIa%bR#S8mLb0oxzpkqVl?A9;;12SNkvfY=o_A{ROGE`S#q(yW7f%XaWOGz zl+)Ix?9nl5a_gl;gNBxOY_D#XkT%pXb&(S=w>@G+ampE8HA+6F`uWLs=#nP_!8mTs z&g#bmpFG4sHy_n)t7($?2g(}3bqK3M)fgtm7*FKj(dJ(nW*U=vxe1c%u#D!YrYMr8 zNY@Y2Qk1S0p4lFiBSi=@*BZz;38Lly!iZdk9M$y9m@GC5ttJ!NL6=RMp>EFM0z%iS z#%!Z?CpjDzG7l)5gY*gnr$%bIH=it>X2!`z5Tx=ZUKfCh1E(p7iBxG&wY+3>+^s0V z84WZSAc0}#rs%|N7b7N{(-nD-n7eD>ei;G8t-&jB+rVC=lh))`IIYk3ztgF;$R!!! z<;;OcT&#k&fz2yF*%DgTS38vqv0!QVML?o&BAYixqU|2fWvX>uE%;>C+)gOw8xytICE*lMjP?>8g>i}@l~Rh^h`!mHzzn7+-3l;7cD;ZN zqqTctnDL7t+&e~AE^Gn?De%5ENOUMLuK3rn&q0Gxn4nDuDo)EWF%=IXp_9+W$4UoX zBuzcm6Xp?{kH4czC+P`KQaF`2x{kRH95wK%#YopA#w;s925mwCGdOB}lHm@{)N2&? zz9h}5Ns=eni5x9xS2uoLRtqQ@qV4AB>M=A3gGw9delold1&MLh%DuLmS@M*{19ZuN zBJC~*mv3c%<96ILh0K%4gEKYRL9PNER8dNLV=-78eCuJOIDKtNrgBocC@7#%B!VSZ zV~z8zlH~zT(!mBmITD#*GY=%hr=06pxiME$H7Z9Z38p-S&ID60m}JIytWKD9;@kr$ z79<2lsbpVKyZgWx(wZkzaT|G5wMH}BywJLtU2#$KT(Ap?V#;L;P$PcR zjJYQ5nG*@d&^HDkv#Bfw!gmC5RySt5Ei=(;A*Qe=2T1AAag+V6vMj=2THi9dZddh2}OK$939fks3IBWP12LMg=;#Tt4;%YPgGGNA>c zThTG9bwZL3gluM#dHN#1NpGC{(i(s&^1URLfN4?$=->)I_f&qfN9SPfNLLlNUPQEjECf8*T~u(eHFfSm;{xzY#34$hnK3LQ7o3D zA-rP^#;jB2Q~@xg>s^4MwI;iG1VwortPq%Wh}>zgJSJw`P1>MQARz>{loLCKywQYC z!1Z$xDRdSi@*RDU`cf%$wNn)ZG z7pH|vwK=l*kK|Lsg6;s2+1Ger^QV6;NZ@zcDM)Zhp`s zZ4}J8g#KgKSTa6}zyE^e0{}xdRx|(r2tXyq@UcD?)dFk6H{ne<6V3@=2(gO^pMalm z0X~r~Q2YD~1bj&JvlR&72J5s^8x9JH$Zu>4ctF6|)sKgP1EZ@K4FiXXzr}_DL1F}h z#D@Sf001*HRzyYsVhbuy6y$fg-fzs@U| zKuDO#P6hn`AN}lOzWqm+^kcpMKlb|9uU?j^wSSKN`o|AHU+@25 zv0py=xA**w{1CrC{V;N0@L%u$C*s(>3jD!LuOD{R_|I}SZ+-pmO8A;iNhSjU5R%}1 zWF#{X$Vj@+t7)oE4Jn774>_ue80#e&tFmB4C+I!ni7PdY80?iGyE0|bG+$nsrV8T9 z`I>LCeoE6YrrVRf0D`F~_S(I&8tnzHD7Py^1pmwfli|Ilf|X?tIaL=cQ9^E>GGb+~ z6Ip<_9yg{_hrJjC6PCs6s2UmqZ}bf0F;Qd&h>Z#^wudM?$J(yr03lQZuP;$k(pUcO zNaA%u6=m{FrY-}HKL&9fdP^S@pappFd5tq%Sytd3fo>tkqXF9ZNXH0itH{XGy*og7 zzWPvV`|3Un$1&p}5zln#FFmJA_|=6pBSCR?t76cUn9mA~O)sQ;P1kdRA8i3w*WFPL z1*@9G_rx)B<0RjdsU+$3bg%j-4)_(gI$a^&mQ$-N1-XT9PFMS`p3)laqqO7eT`_8J zerp&_smdap(6Ndiz8yLZ*XtCGe0?Bh=iZ#!KK!Y|n&5n*QN??61VW1p`Y6o!y(*&k zyB2_c$)>3?S`9c)5I5fIqw`+t5eSL6#_X!9L^HSLkionG!#@H1kII;>xehlcxH1~$ z?x=bERXKs$tF*z)j$e+Sr^M}Smx8e+`ow1AsfOfRGb`<4g8-;(J?oDx z?PJ+)PhL&WW`@|RaGHgj={0(8ONbo}N8h{KjAb_I`8D36lH+T1W6B^jfWNLWYr?d@ zm+p{4X`;7V)VzhOSM2xX6<0~(P`zf#z$1_9)q|efpXJ`->PLb_g>03HBWVKRa26= zU3KBr?zteAbV0xBS= zwx-zc2Tk@kiSmYaSCr7P;@GdU=BJ(^LHFR^!qX)|L#Ul!Rejc(r_SG|nl<*$T9uUo zefg^E!}zs2zCo%Nf~PQT^c3dbP_q+r@x4lux+`0`yAH_4Av2YcKA_tj-$!D{d&lGR zduvurz9fttbZQ{#jL(l(7YmC9mM^^03EhwX$fyD`IS>sX(!rKUc#RJ87oe58Ov=!T8oFvM8aQci)@_ktV$iM_4xtXrJWx1-=c_gi1mU_`3MfMq> zu234Yb7=!L6*QIDUaN#{8XsSm8E*!pm2S3k8ve7fitu`f|;GgHq#c?IBqnHIer7H$OBPD?`P#J+s3st<0ULEO!ecx9&_KUdP* zSFJpq2t;eK#a3zBvD&R|x@J9LcrZUZzrkV;`QJj zz|}f|%YwBM7lQ2|zhUe(2k)wfv2kj&(E_28Vq3FT{O~=g1QrW31>RR2W%Uor3>bjKX*SOwdsoLD-j4Mz%Vo|78oVx~9_Ad9iQf1wcZvYYuTz%2ntXUez43j4raER>>>6wP~^qu=clOM!PDk_~OnTNfFRWK|zUSyISK%=TGWY z4zw=bYPy}lpz#9TH4K8P65DpQqf)WHq@Ah_@crK)xVn4{Z(`lq=(e*hYK4~8b*fZz zI_9s63F4@#kwLoB+@?V}iABmCN1t0iW1ZuC;CAdTfnK((enkU~)jM;`hIip^Qq#SoN;80idu~Ei}PG zhusEh*n~$3y)7{b7u0px$ZNFJ)>Jij|{rAgGC0xlL z)l8=fmL51yTqMM2Ye2OYRp9~jD@z)UE4YH#hUF|=!)aV(pn%1`My>bLA9BF+s(5PE zpqq5Hm&;RMqa?0$l~_uxecHMASK1e~X}CsytFJq@6`78{#kOFraH(?oTDB97w(ZE` zjV&wq4s3V{e#x!HTSGP^2i&lIT+Tm$a!CfiYW=GcJLUuBYzS(Vm0HdrjtQJ*?HTA* zt9=nZ70?;EfdMjRK<6f zOU<1I&zoP1ML}ALQ1mnHBvWwfd%(0Gp}TWp4HbYb{@)z*Ikcw;HVqKr8Q4 zn-?-`cw@%C`+~I+-@ocET$OqKI7kmyBXtS1NBvzUf`=LC%G+%WLH(ISX!-N6|(^4*KR%& zdr5DptxW%J5IOAnYL#x?6!k<^jJ3@zIJYt=-wxpc(OIEzVp*$J+g-OAdpEoN3|#qS zQ%jRkYbgjr6>#iw)Jih5#4M}sZI(V$((tsdo!Ey~x1&K3oNZAnT*`p2TUE;rW%-)n zQuvlSY`yY#4wi{suUflUOd|#bgI%ZD)&9Q*LpJ6Q+t_VET8Wq6!koq%tlm^pvL5Tl z@)pLfqOF!!*j8(?|6KXKV*MBLQXyWxYPDB|w>ofM&kjn)E!J>rUJ-hdEIJ8()~#c3 z!=gA=KjMFkn4ETPT3yTQ6~1VV%s=Z3X7lmt0nF3#;|+MPc*kzZ>&xm~$rQF0U>$TR z%>q#^PA{zEuV4;tRwA`naHu<@WM55de1%U|myS~OLcj7B71#C!YAwqaE||Ecu2&c@ zwTw3ePqL5rImQt2#41Its~PQjs8w=ZggIzimcz<7TDOrf0AVfmqHAY}+pl-;iwx~; z^o{aXLM`E%Jtu$LiyGU-E|qTo{Hb)i0Y)>;aw7J9!?5nKptT;YG7 zG4lwD9V;c{65F@6X9v}z_AR0HU10zXjue8o8O{&8!X|7i)>`9Q2TwQZfiZNC_u`qrnlRIRyg3cRn0r9>spy(zMZWe zto+^--kB>41%)LRxK}*Gl%o71+ac;+=HIP!(HW zwl=|C?);!a#kO><9IQR42dXc6E-YzlrdK<^V`0lt;N`GDLUo1p#61Hzj1tW zL(0%Qs%rDsUpUJ)UaJ&*r*OtpQKkPmyR2Ib@`%?KmK*85u~=9uC)%;Kz%6cgXIGib zE-dhOyP`+~I+m3B1%IPrkpR`jYguvzT$^EaRWCg?VHt;GRthd3PFG5oL6G+efI zew^h%mZ;_KeL+^3ouzh9UCis^_=?gt(%@|2TGC!=W-wq_!B1mA>|1Ah%Dr9jUAnu837ylD(Ft|bk3H|88yKLM z_dY@&?_>OCbU||j?ee!Jo^hw^|Mb#Vsr6wB+An`(RiTJ;o2!{y4Y`Iu6Oad*rqnZ@ zPo`^o`!z42hC==EtGZTN=5@WLI;ZoejAv6Hv8gosE`@3f4=)>9m)%f+6>BcM9BT9M zH!=O?PaW!|HeiRt@4Bbiit8sXXven#{HW-NSzn`5>8Ut-59?j=3G|b0EJl(MB~~Kr zu*v|oecXTbqV%4=bnR@T=bmS4WYlUt{|b*lRONoT)+@Bco}v;fjNS>Ns_Xh4cti|* z6-FUb##Rgn$MIy#@uPfJ73 z;jXy`o4@{p)(X;-p5JqVZ`LqDpw6qKTk+NLUnHKfb#=(%DE-$q7+6}@b)s}BoT3qj zzWP~_Kj`LYC;CtK&eL8M!Fy$o@SLM4_NwQ;$C~Dn0ek<#^Oi^;P_saP&9)&lN4-E*zg8ltGzj zQ^%Buw6zzW5K=@d&^Z1V(vJ*tPuBd`;_&8f~@`d-=nRZHQZo^%x-|CbG-@9Wac2U=q* zTFObEHSo^zcdL_f;=|rMp-|IJ`eeEw$r*B(p?AwXV(NA0cv5yeq+SmFo$^&%mu(}@ zrW>+q(H!Tj_-vC-x7%1c~sM|sy?)KBTyg=y7(Ga*0qvNqS?`Kxmlmjz;9xw}>EcbJW^%`$rJ zu2e4=AnKLoId*5^7u+O;lh=;lhmILNR}b{;pE{E7!KYuYHhGo~JLVw%oIs8_330wH&x;IlOdtQ989xPDuJ{X+=rSLeir?9$JTZ z*)jn&T~}pf1}=)nmlz5rP6&A^k&u5^X-y9kK>D< ze$3=MQ=?tyKMzeM>EtL%&H7I1MCYLmH_6Yv^`bWJx^Cs|Ru%ERQUyMWdb6xPTE24R z!RR_xg4}cX)J<|M&oh_R3gbmle}+C)sGWJZd+HdLTmgj6e1z}$0Lw*pM;&a#nti)M zZb@|#)rc?2dzfYyqZ`zXpL_M^tJY|`h_5f_9xiIOhp76RYPHUj=91RV`5f{DO_gyL z^c?+pGYW3{oln&`k&n@^)HyT1(VSs?RTC+H+`I?NZ;<*OM!lhS6BDC9xwzwTqb%{J zULT2QlIP}Vp%zm+hy~>7zEV<3i*`CX5r5|JtNsV|e}%V)yW$!14*k@Ji5(yFR4)8< zDrdZo=Sghnvo*B_zn&vPNA)?dF^&PLQDE`Yr<|TCyODgh7tcUcMTnA(fMU>cF~Cvr zjK>A#xhFiRK_v!qUxX-(A-l>6KWGOXXMBn$FQ6`0zHpNbY&)TXkT*{$Sb7fZIpbI~ zH!U{q!Y(v6sg1&fI1p!Xs<+h`*>S;57=|y_& zUozEqQ^&vW0;^h;_Dl9@{-cEceu0%RQYQDL2!HZl`BxB5CJiS(7$&g2DVc(CcvdHg zYcoSH=+b)id>y%${r7gLvL)_V;ExwC-s5hQNQI*2r39SmnBZx-7)Iifxs2PA>g#=b zzkfc~%#Qs!>vMf{yw1P<-@kUWZoMIKgD^mhG+UyCL-dCrj47@yjlFcA?fr9~UaWoh z2}JVETvQliCXtgEa>frPv(Gcu(Z2pYxyN(3I9{z+`|#CKQ3s&a?#yC#WtD@{VXQW+jU9q+Hrah~I5Tk)96!?FQJ?NO53< zljJ}ehNdJVRQ$@Jn|j$s`|b78!o9}g_viikERIhF*h3&MRze%8Pn;)nF3AIiXA_`) zBse8Az`1)%jn@!zksUVerXa<^U>WPrDRdPpdIPUXKol++#7`-e1*2`b(3+h1!LWdnLxDLY8Ce^Ott`yuQiEEOPStp>BL9#S7@33{$lmF(O@Ukv5ZGlz zcLu@x-|^fgx+HsSF5;VP1~^Gbk)j%VP6yw@30GJ@&V{cIv({z5jYk^MsI0 zT#}Nr5z4Xc_>oS8;#dn+2Cv|~5f%H5?%%gmE{WFyq@4rO0RIUfuviDyp(g@=%L)RD#H5Oa*j6R-3fu%vS#U*?2yM|M86$*5`6S2zfLSbm z@5aRE7nLA_6y+Ueo1rHi%^7nGJplvqcVplUo2Y5#2wY8^vKLGyX;Yb<^KBa=74jtWp~SQWTq(!BOaiM zH`XpCtp7OjBVx@NKn_eeHYGAmB8$cN zx<;=yyN3^ukIP5VmREt@2Q#*1^0~3*WSs^HjA;_xH2tVj$>LjvzB}I$>;k$m6AeA-j06fTcO4 ziqKPziIRHxEl}}WY@1o?q>Lx_ct4}~V*obCac~I)b5huv$h4QD0Z7{!J{_&E zdk?hy2e#>rp|(*`d+sZ;6E`+9+^nCpwp2vl5+7?6(v$p>jM z8e^w4r7poP6WP&}DJB1e1|@8=k`~@u;6~YIV}IMRhO3Y)^TFgt8U0JP@rU{5Mm3GD z?aw~+$L>Y34#v6`lVBrG>{PyJoDCKyggof5ctZCIKVBP8Ql&Hw?IMp~iu59D|IkPZAqoi3F_R)ugr!dUUNG z(Gop)U@CD!K*t8n`Kfa-Mfec})=cv8IKau-SPfhbjVFPO^rVEbDN(XPFryo~EpTU} zMhC_TDXx(hQ8rjaR%^0cCddAQ2m~H03p$Vo5d%O3F%o~Bdx;FOr$o&!Osflpi}Jdgr6~fZ{NaGG7NaY-LtLytigj7Mk;akJskl2}}JgOS#12GUS_S)FA&&o+G3nM^hZU z-id)C!6k(NW=U_7kRaAuVZ}kc-nMTpqJ$R<&8_5nG`4fz5riC@I$(VdryD01(#o*( z*BWXjTT+-bA{p@{g823XaI+M1R+<*VlOef@(EI*-OiKdgt~MhK3}#;3Xc-M9kc@#1}#5FDCj7TJ4rmY7jQ4>z3 zAD(@Yy#|y|V@aHl5|%QR`rj{~{=edcvAJte1s95n5OBeH#tC65HyR8clr7Dde67$7 zTZ4k$sbD}5x)DWDS~D1&2s(fn!7rpBv$VAT$dz!Q5Wr^oU$y+{v(?T9I}I#2|JjLA z4Kl*t;dAw=$OSC76>@b|1?!xa&SvLz1qRVlej|>PnIkwCSn5C zeS2X49NgzmQZgpz;z+QRspNshw1_qCM9KZTd&2J?kc-XVy78Rd{vQv{&Ymg{#*NyDE}NEjR54)8 zC8r}3h#3z?WJ8Xp{@ccl+K~X62r42rb82y-f=G~)!e~4twsiF0G;Y+^^UL18;n`cE zrkH_-5I|$W#UwuP=<96XtUZyA)l6cJFjs(kSQv_G%pQ)MeiXqCWNaG7msZNH2r%HS zBy-x7C5$$-{;A{b(wN_Ct2ffi6q1CA+?$(BAGb&p*^F;W?f#YHO>H$f?jSu!dyeuJ zO(&-uDHq`+QaJycc)NS#3R9F^Fv1Bj9K(}GK}l)NQliIlu5N@VX_{3W%NcPRIB7T2 z4xv|agd?}36jv`oRcbB>$Yx`{gb7OKpvY&~5I0qA5XIkv$rMS97z$e822DZaiUUff z-B`Z5+KuDw82e!GQb?NU79~kN_i5t+IH28d$9=Tmat_%;5El@`EEh>@JmD33NhYSW z&Hp;kxAc&O%=QYFvT<`@K{ZgU=Hm$@DqZ^H56brC9rB}}l;WI?-X9OnnBH@#m}CjH z;|SoKl4zL8T-=SN_(~y~q4bB?twZGeuP61@drr2oMdX=eET$HU$mr=_jpKR{NMPww zPNOcKBhAsTs`_WQo(B)koE^^}F$O`A-x`DiDV?4uu*jjJaC=CW-%kCnUyp#1c6CoZ z*jYcl?6vK8R3s^=v%+g2IMYipTYQs@v(~nJKD*RwkaDD{z*IjtHzfolY~EOOq^LA| z@9gkm=;*QhE^6P5d@@W331o;lC@mx-SjkOFdp3^dA(lb{FO5w|XoOmvW4J7Gut2KV z_iP=_reqXxvP;FKYX;p!!UZA|#COeP)V`|Y`A1jd#f zaynRpY){H?T1lbA$|cSq!~RTcBqI2hvN>FH#wMVG7zxO!k`F0s_V=&>Bpw+7W{Vrf zAQ9xoo;;8PwYeuSQH<~3#tUMYIrKp5aY-znr9~$>GS0<-agM*gG_)k~{{Kn95{|MI zHJN*|Kt*!=Ai@sLG~}=N$p(r%jBklx%^WDLn8<;EMv{(gstus=s39m*mJ7}GOcCa0 z;xXcDVY-ToZIGskqOxMg!F=k9j5`fK!6$JsQqr4SfFlx5GYcUIa4%l8H^hQ6JJ$Z$2IbmN@e-C_4p$LC^Utf zSFnl~QexDS3ACxT!<4UTkDn-19SF)8Y;fgR(VIXegcXxd3Ha?RdsBJ>nV5Un!Dgi0A$8I^9K(wWlv6HbTSP)1&$VDy3G>@4g^XxJw zr$R{1F_A;<#4xahMmR-gC>HZJulfGv*uQk%a>e!563iD;)GUmEh7~YK)?!QMwsk;$ zFwgD6`(f=K(JrIH5|PBzQua894&Imt5U4iD9T>yu(%xq0t>f)Z0ALUh0{{d7Lo)*~ z08n04&!`{(szJ=|-*Z$pQ zb*Hz!-(APt;YYha`8D2Le`c{m&l2m)_SyPNetqTV*)MYG&i*r3_B);bzxC}G@^eq_ zKkVGC{rk(G!X4fF+0XUuJuP-;y?+y=WVf&(tbpkpFCLXOT&xyPWRpH>HlNbpW+*!K z2j8?-1|_s!$%Q>{D4}07E2=K+P(3Q&pFY_}=lo85sJOLL_|+TGoV9QC9cdC$w6#ap zL~MEL#4A!eef;Jid-Zl7G`6^KTBb57%DCt_!d{d!{sPAmOe7Qa?Gksn8f?e)R zQ`ef`dVK)9vX0ihA&gb30lDFOUG!3Is^QPnpY5m(V{DJyl-limb2Mgqx~L;zRFsc> zc1`(lUN+#1%z?&jIi#F_Fy$iE^>(>D0BUj`W>)d{v#s`KiJ$Jxi15-FAYn+ZvntaU;cohB8?%QCwXdAZA|v!jZ>K>SAa(zr7tqtCrYYcJkEXXQR~HpevAh~kTe z7IjwC?klMF-CtunNIfuPYpTm!E{d+BSB_~u5`;?i#l)Njn-0l}D^?5w{0){XNs ztu4?EyX`ss}kNKcT6_1=!`Ywzd-Pe!%}a? z);@PuPL2oum)1lqQK^g>TZAofxC*vxt)D){a%`sa-k1EKgaR<{;R`;h?PWY`?`&b= z-7Cs<`S-Igxw3h?3ggoeD0X!ZYP;6yulEk4;bEHf4f(fIex65H&e{Uo)%(<>xY+S* zfGRW08l+D{W@NnrcA}Z_cY8FqN!kh6T0%a9d-sFxi5$lFP-gysn^oDiFvEde1+%=w zM%Bp~efX1qkpa1918ye@-hoV?-uV=i?$%Np*H2j*;TPloM?NvQD;GwwZO||trx9=(;Mhu~{5A2Wz z3_(#ua7huzwy^oCKHl=?9lF^&^RxQ0F&<0@gh8-n=`__w?F)9SsoY90l4mm^JJVk5 zo6|b>{#?~;x|Q4a{!}0S`}Wv9Qh#cH+rJb0PxvABsWo~+g#YBf{8waO6Ne$O$aW*r zg{jvz5#ty;r|9jF%+UMgJbh>Wyj0EuyXtb$nvhnnP$65q1u&Xge<~z_Hdo3JJD3%! zj2?d9cV3}R>ID6DUjE|#HHYtRyD*lGu%u-;(iRO>UVt{*+rvI#&1R+f)W2qXE~|&H zz>`rOfv-DhdiY>vt#C+gQR8JZ(VjndWjI?c@VVx8wV6_>->BG9^)7(xP1p!~TRpTF z5zJ?qotJSui@{2z@nVnHUc8If^A?8HWM7NggAZdi-bL?=lHTRChK+5}cQO|n9EB2J z)Y6OHxYM67s*^A8h7+@DyA8p#iicesvE(txwU!O+>NTbvO;%=>eQUbqZy)U7J=>@L zpl+BHAmX0$Afj=pEZfr-HRIz}C{x&JlrP5HGk5T%J9j%aia7Pgm&%wK2F*>HUm7|E z6#IbhOLd0-1>^{PCs!ovkB|Wf{tDL zr#^pQzJ9Wr(4oA-y;b-e&H-(A9rD=?LCYy)hAt_bvjjS4M(A7RGTVix zqj%?xwB+j|*lMZ>sn}H31&6SAj*1nX{O13;H;sbNR@CX<-|$2M)Ku6~Z4;a86Hl3C zT-ki>GAk%Fbh=WNdrIBmQm4>we{8GHfAR36pLGSf zKV>O^(6^3R8Q4T6`6d;Xl0mSros#7@@YdTM#XBm_YElfZ4InX&v^}=MA6S}xREF>SK8B~fuXkWi8Pif_O6>cuHB#cRSHEvM zp366!FZl}n-QL{_725Q?eJd+8Xn6#FVZ;}E69P~=HLw`9#p)2Keag+-*)|iHa7x(z zs%mM15Ot;Zo+{jUMy7%Q^@5!#nkKbW9kW*?33(`7pKe7z(^GY6! zvEnicZ1KERU1_MN&wg4^QFuBtS&vCCG006cR#98)7p53*3L^KWe0qw(RGG+%v^YX- z_hbp2>nn>-Kscmrw@SjVGgaFM!~iD{(;GqRGG-yuD$*h z>_+w^K|^3H4xy>o!w{waCEK<|I4Di=5GuUtR_$d_dKSxL_#SA{71f!ixKl4D3cdH6 z23F+MS8mInETkR2e6|0D%G|-N$vGND$SQ9#GCO}pNSh-Hbi1i9z33`)QNBg$IIS3J z(AyKZIOPp!&T6qeumi3sw{+zMoOn=E5vw>!xm7nm(W2Z*L!=|(Wd`6@x11&-l*ya3 zSJY%hji)(X3$Q&&WMK&cTa|Kxu4{rHF!SMdnvC|U*BzCi27A<^DL>r$=Y*3QfuYm` zv~R{~xgDuSz5%HL@oaN^w<_lZ{R~W!A#so4Ke*xaPD=ndhbgl4)tM)_94)moq6v2F zel;}h)39vnOGy8_Kjk7@oQbq}#bc@{_g{>3^2{D|wPPH=K*YPCHgV>Z%7 zl*fa(ynEb6NxhZ~H<#m8I3B#PPgpmLQFz5hTvttNmd4~$n*nLYxFaMd7#4b^hj+RX zyjWq6*N1A1UpuiUGJ$ZbQcl#BcQd%?@5elNi|(8q@5469KK#m@!L2?yT{t~e|76qV z7myr`ni^0MntI%je3|y|eKzzT9 z*)||g!ou!*iN5Gdg1wA81jlx&nA5yb-H~|WfyyzaFB|{(RmC?x*zZ$3w!^C4+-aqF z@wC?CW)(7iNbxnqllyS_X}(MH*!XZZ^lya9{`a1fV zfB4n*zcl_N1Ns!hX!8o=kA1!4+j%z4p)68EDIXslK*t`2Us3;Q^w6gf`YgSks=jeK z?;HBz6q*%1yPtlg89WNV;q=yDJ;hM1(4p%%_;n(%5D~%7qNq2q+Pv(?2H)M)5a;S# z46*kjhfQgk#AZZ?Ge!>X+2LZ zgmT_|UU7tx@Pt>%UR;+|-}T>F<-H~Fnhq6eowLs%vFNG$2F=6rS}ZW^KW8(&^zO`# zoo#+ItFD>jF%eJfLl$v~v=r?F;?=MVSF89>xtaQ%b<&fwvidW9c_1G9T3ops{)_JQ zP+R?fdQbSXOX~Xt|Ci^mI&wbJ7Y$rbq#jC6lrshV2)f-IGFQ$EN7tiufxB~_R$Je7 zhfO3OT1|J1zvbcr-|>oSFxv!cE z$VeQ*>(cnL0`CG1fFBoC zAAt4wT}vNp88BwDF`vNC)ZDzR{L9_?ue$3s?N`RI?r7po6U|DJ-2!$m;FLJO>sq0_ z19)2y(SGF)!>I@NC=`*u z>M?!t*ZgO=4z9Jn_@&k4-JB2l9J|lAD`2C_bF;v^e@z|aSh~h?zv%s??`&8`2Nj~l z!cm)d+{`%VvCjIH7wy_RcFtUP#Ge3;j#Io&%%cEhvi>Yu{QyZR=)HFE5~ zy*^1qaw)12DX(ZPoFTpYp6LV z@Sj#Ws;=G<99}iM^NtLiY-Ux!aVPO4{rK3~WXN8!$(8=o1oeb{u3jiF%+%ezU5b%e zig3$WIJ0cQ$mv)UbK`8h^6sj)IrOhKi9*Jz<=8zp+%UvMI>ukyH|~bOfd+Ujo9fN( zyXb#h4dTC|*G1#JwiPF~OHr9j=`*ZX6u+!yTV^vjYFyKy-DVeGX^@{ZRkYsm7;ELc zPo|pq;sle<2j`Q2RgkYH6)CLPkGI{f5NB$bT&E)hsx>{$l7sEsXlHISf2*W}_8lkQ zzcf)!hOIoHZq{%;-p|wCRa#tFyz1TS!51V#kbQ{cBge>dAV=c}-ln)P-TE~%-_au# zy;u3GE#y#|SmJbVFJKHS5zW@PYYK2A_1vb{zLi7Im-OY#yAPZwq4XrCdxe5hz`gIExe31JkxK{cF-4G4P6^KB3?A>zO&| zlytr?#csi6!BWQE>LvWP^WBvRV1=%CwT1k5=I*~3*R$o=ce0o z;CNDoZZ}_M?^$1d=A-8}ldaIn&u!S>Z`0Cnb1r_(3Y#D<8+!3b`o>AA!z+C)=jQfa z?q_Hg|DSvEyXElsp$rG&4ePykqARbD|ImNBailLLdh?XNiLKyz3`-23Ydr}^vAsm6 z^x0unjKWGy10MG=v~*TNuTjFf-Z42AU+d|oCdZ|mxKvxsNFw(!v>eFWY0**Vw{`>* zIrn;G8yg>5FP}TyH=#Agk%%e5Yu54W!tlE(Z;02t9{R#l>dAcst?NEYxa20FJ^jP_ zqgel{{Lgyi2z}APnp&0P3w4GyPq?%-zP8KL;5ny_M{ph6He102aeJgQxz^8%RCw0^ zg&9bJ zAqceS1v&^i<82b>I)JwU8FLaXQd~R<`%6OLYk%TP{FP?ga|*!9<*^EzjDi3}%rn~w zJsc!tj`q#q?U4kgLD@=o6|{^?IjIL!2lA0+WUhArw9>*~bG-y|5qFt`kxYl(nGK0$ zb6sc)u|6Nf;I?>pspv0gDcY_cVh)lWDasb_}k>MxQZ;2P@Rh~5G_}%C_(Tq#YS7dHq1CcL}0Gv zYbtOnQzCa^1(%G)MIIw*Pi~0VCX7TV%K;g;G9YqASA&st-V!R7Ns}+P)L_LWW`e7W zv^+{yKB0@xTem_&)1J3)h0Q5NWT#}nNQer^K9ZPDJ3z&=&+9V&vpwoilAgK0-SdW= ztvK7W8qzYv#DN?nlh(cOBr%Z&kJs0IvFy#Df8a~Mu6S}LebE>UE|3Z5M2QA&1bT81 z9^XrCUl&4>Q6W^1vs&&eK|B#{Uk9-aG#rKXPMWa#dYSpjoUq}NNT$T^$x~z?1}9$P zS2P5D@SJ^D>v&pYZY-t~XqaFR6cq^$+jt0K$(H7sm4+>9c&yXd-D1UCfg;=Na+@F+ zTKp#LWa`%)(0BS_^Yz~7 z-3e`mlLH_z>frz&yftTha)~4&0x0=|4C^@nb86}4UM8`8tb;d)-q5SIlmT>GoURLy zEk$!uOJq=@l}dt^t=kxbfsDg$6AGBwnXETcU^%CZvoM*)B%X zirrDn%UMUg8uEGckQWVZ&jQ_c6th2U8Bb3}$+&vuG~?!nfP zNubP3JOcS{n;0^{!;a91jnqS3YRjK+>4M(TlQnQwBD5_?$wgs1Y|#PDI|>P19bNf$ zKNGTL8qGbKfW-g_DpWJcHs(r}eCrjy_lB#|IRa3Ng_IBug(Z*zL9SWW+jHi7H?$O9*=e%9VzbAk*P&(o5y z2gk$?q#dYj5X`7)2HrpY_NB?M-k=_>(4p!3TdmOO|N2&R`I0oFRE!W55#0fGAjGiK za>WESQe}33^O^Xn_Yv{doKQ&&OhfUe+M;)q3u9WEihl=nbspOT?aO28rSrWuCy*dx zi#aAjQYL~9a!!Ee>7}QQz`i1*Gy@M}ObvDl##vH(5@2+Ya4^PRRKx;zR=YRNomrat z$w~!ObEakn2q2S#kt9~V^G-y8jEja?Ro4H{Haq9lsfF2|!b?%NQj$roJQ)LFDq#Xa z2U#n#=ihu7fknhd~AZ#R4cVDCPmTku_&~4^YWVxVgWG{tUQUj=1A+;#3D68a0)E9ZcKj4 zIE7QW05&y}#+F_npf1-5)ma={HzvQ;7zQCl2@>U-OiJHiOsJP);B0Yjm6-fgR6VmX zQu2Ywwm{;vxECGHBur4>tq6+~G?t=KMR@_|-dr4NEVNn>yu!V20KwwqgfN)Wn2a=N zsm-KR3-cskgtC2a0>R=1Az&aof*4^(H8b8l#$wt5)>>5{uY%p2g`ruJxFf zl7nT?%v&E){;Tot>NNLdII5G2FuD1cwBMDCis}tyn-;Uia&#&KT zal9rH4X_#4U3qC zQ$92Ox0&M!cgcwfGO+0L{qZ@XlVf|8)MvK;zH`7b2q;1P-NfYQoh4E&6B~;fNv;Zy z&W=i}{+*Gn@tE{_;R;|q7m&&ktXw-kuZv3rl z&L&O~T2+inVuMgGV+N*U_}Sj$S)mDG{0Pb z`;;~X6G;nZ1!TJgKzlDKSx7F1ky*KPWm!5n-$WnOz6ObZ4DoezXT208A++)sqGSh=E39il>HEB6+F1wM#u<9SpOTDLMGlH>%= z@`ZLCZx?;kRL+?GdIBCxR*>$HlR+FswqfphPsC&F`3l z!$!|%Pk!ir>S6CU6}w)MyBW!AC`px?a^u5h1ORuM!jgg(% zKwHWCp)3YMAw8n3<#Wt<=E7?r(IpcAkw>~5G)TdkyxvL3(sYE*s$ctkB|h-R&cZ!N zcuOMBN&+h_1XG96Am&Lm+fCt+YQ~}z2``y32}5sfUmR31hOVog-bYvdo32&a5Q%2y zA>AWlygAuBYbw+rBp?aW@ZPI??jn**YfXh`nX=3N z_Wi4_Nu8qsGRR7&AW*W>LmKI*?GS1{3FeW6@I)`8lHr*&6Zm2$u8fvaL4z0O7WU1A zaDXjIs@jtklt7_Eq7%IY!7B#bJidjw6P=`@iZor>?Bk(?ZlcgU5vZ)+D}U*8EC`=lLjRX8c93B%ZgT*R1Kv7Jc{xXKS|m!C?-v_SHRhyOtLSED%PMBIIL)v3|f>z>k`p~J3FQJ zG!SvhTg9*jL%gG5tLcd>C}EgX0Ly?KVtYN?X0W_aH-ot`O|Vcn(4v@fPlp&8iBfR`Sh5zjvl-;qLQ5bQS$MaxAY$(2BwP~3v{m+{ z%aMm?zF$lsoo&#_$H>5(MTl7AGzjwrE#CODu63T?^>{!Y}7dtO=|NW(1d{FYj?xnS>52Cb% z(k*QsJEDb4Pjgmam`RmTuv~z(%)Krb6wApI$M~Lwk~mFA9hPxfu(RN)F%CoPeWg`- zReeqd&7Bl!yG$+iZc|1|*6UCSxVcq`a zHL6&U3F%1WdAIpzAFTlv_fsl%4hXRjG`;o>#LH<8x}-BE)>(Dy?1v>-=Maa4k!w;e zmZD37!xbM1zM+7ONN?MLv$s~#Y&8DpmQf4b77~P5RIPV)Y|^|zwtsKMvGiIRx>xwD z76c*YnM5b$dv^o|HdI3}sGI7|Z6mFfydh;mU@;=OCNS!Wlxit0Wj87|vX$IgNfywH z2YJ$3Aji+@Tv#hoDWZ3aljQ8AI&#$n4qK6x+RTfAqz2dIFt}#2WTVpD*#$sBbwY|# z*w&ItdnjQdIXT0N=SIqxe*WEAW#IP}4tm{)!CF!ARy9a!CcGJiJ)={l4P=k52)4UC zmmdmfS4BJ83i(n23`*z3-b^nT(Xgc+JVIyu!? z`vj^nXBh!%MXhj+(aOBwQ5m^bdiQ2HBQorYh?tgQEhg3_AuK}FYGm*=8vl=-_~%lo zxa+@eiMPB=Nr_TtCW)N@ge06gb8f{c2|J#|F@C%bVqHf=4#RB72|z{s@#B03s^5BLe_u z0Irac*pOXkCl|hjPx#*HT{`d={svj$`@V1b6(^z}|(g!!efPxh`W^(kzK&K>z@10A^+Ypc1NfH!o@B7}ve) zx)IywB|scr2mpa%yePJj<95TQ-Lcsh0U+cF1o4q3J|_6Tgn<9{>c2jI?d;EablpF4 z=6|&RYpw4;_nl{cp`m|n{oBWn_MiK(U%h|**l&+@s~`4$?e-wopRs?s^&i*sf|$M6 zzyJF8TYGNkKKu5<9yHbWqqMYfqHfabpWo@fo^|Vp9_F+-_JqYP*J2kJWO8gqBX_7L z@edt;zDpLW@=Gu5m5oY}q^S{%gf9iu0#sbpgyhn^Zz?Gqw9vC{>rG*(Cb!PJ%jMMS zbWNE}NLUI;PZc2c=jKM~r)P461G4@cu`vvb(URR6mRR7kD_f`5$btrV3cT^YU7x2;iu8@Uf zOG>zwC)WV)m+XAsX0OcG}b9#wZ!065W9dQ{lNLVh#J9XglfKmHG6CJM(HMa#}5#?Nb9m z^-fio3&vM-O}L?r!1Er?m{ABSEJ)7oDIv80+rxJ+WfAY8dD3Au-c$X~+rkN}6fHrj zWy-ePBYB~b@Iw>t_bb#P0t z0Gr6wBC`z4fzxb_J0IZs)ffyGSPZ0h#rBD2)w~f1>2&H%3acVc6+wf>8hIVjX*-{yI zo7uQElu}CzimR%CuCcxy0`IzQA(ZWu2E5(7^}Kt|ntRe1XsXRsIPj|Rvs=X~IF#PX z+j{ou( zKKfnOXCsv;mL;wyR*Zp5+|iX_Ri2H*I6oIU-dzq;k6&z#{k=Z1rphJ)scuiN@0_HK zY06h)zhF7ha&}pRHUF`zM0vEuFnQ(DB%j*J9PoM4TiXJBw&Gujkks%x_y)!2AGp+r-(xEv2My&@lD+431ngca*^OD)Z{pu6X?Y z>;K4~g1=(=>-f|4PekKVsb71)lq>fT{PgdHm=y#o-XkpIx*|g#cILp~^WB`cbZ=GU zG5-3$``mM;|8(ymn=%B1a-T7F5tb1uw8=3F^oFZcSr=U~l_R&Q5uQvi;f+8ScAk}S zNG#%-!@!oJH2L3D;K|0Fw4ppX`c48ZIoS=}uO$Bq?2M3VR~vLWG$Va=>hgUxc-x!^ zhyg*mGCl|I(hH2~idWouSzlB$yj9#+#dUkjYw!3eL98|GD)_nC6Q*g6E2>-i*s_XV zuQy6Nuomd{^l!R%Z*;3$>|>{$hVPHZPMw~5jy-nlbm@8a*iWgI2JvH^9mxOiuOv54 z;-fO=yDTRhRii6=kky4Xn-Z^{+V*E$l}G;ePk!u0bfNmue{rn1l?TiTqthzQY!x)lMlg4=R)zK;=#>(zT|lX%nw)wNhGmdXKw_RwlECH}_F3m#S*t zug!ExR;=vprUY9Rg?DGx=Abpq62!MG4=KWodLpv#YrZRM!{*SG7%T@1C=f>B2 zeWd%}v1@*+J1U*x=O{%~`qa*+1nqwDEOgDEqy$46-VRnEYjf!;C+- zGJJLTD`JdpaM8(jT>U!sn9e(ef+tj15aQO8xPvcMH*@&gZgbzg@EB;%dei-%=Ji;y zm-f}$dgWM5o;jSik~A+Sf^OHg!~`23Y#YPk5iFg4xk;b5D(KQ)`cId^nM8Dx_{FDX za}gp5k0Yw|FY`ZQ=^L{?S@gXHr-E2(voUn(9;rBY&*q5h6{#_;PP*^X`#GE-c1(f3 zJDY3uj^a(aO2*(0k*ibY6iODuX40c9q?e528pWfI+M9t?+53&3x0g|K2DR4#_0`GKTXeYZ2Pj= zzmDRqS_~3TtX5hV>~?kWrTr@P$i4cuPGXkQIDhBQPRl=skM4w={g+rTzj`4&H8F1ISqv|i(b4_3nBkb!9Z?KnMwLD)dUcQ2 zT^?T8+w&_8t`7sj(uUW+jh8So!{$t!e`A3IY`HCJ;l8^2FFn@v3U65M2Xq&6?6K2M z&;Q3`r%vCO$Dx-P=iTf$o_TM#fdw9avr#g_oly00&s;-G@6xAw^#j%Z?U&}FCPtB& z>rvJ-U7XeQE3Pb(e-J(%rq&UzQ)$}U*J}Ks(s}Y6&R$(Im}jjyj)~5*U2E2=s;l`v zO{N?O#*xfN{;#I+DsyGd$X8|AA{o-}yT>)&(vNAF1+(@3Kwde^yq#R=8};?u#1(AV zb(U7E@J<+#sn_Kgeg?6_%jVgGf+of+$J-F4-Y&cf#$6DjSLFa4(v<{4+Y(P9IE}+BG0x|AhH&(b2DTF_Yb|}&;oUH*hy*MqCYuCMxVt5ETFZ~Rzg zSnn8inv!+x2u&X^vXy<$`Gn=p{E_vxHsq~M;#+-5hPzL+!DDXbt4&orliXr!_u&!d z2=45wVQ+ElG`#P(b29Aw-*edPaJla_kXXW(WM();nR|cgRF3zSA7)nJuUE>6pUE{s zRi+(?YB?5KHJz>kowyx!WgO&p9F|vN9@k>}p5NQ$&ilEi8BK2rUXONguVnZ3zSq4I zLD^Ocn3mn%6I<4cns7^T`D^ySPa_N*T-kD;?%C)#knYuZ!5s@z?Z=xY3{yu>Jhmv` z_%Vz$^ZGIwZ#EB)6{3Qvqwv&Ko1GV(qU%O2UX{Emx7IjJEpxsJjbuCFXfr!L2(N|N zLwxHocs6InZgw|VH|8}~Rdd}nzpK6u#g)$g<=!o}hl4PbBzQy_NmuzQo-E6+Q2(yg zhDA(m3yl;@$I+YIvWkyY+ijmo_q*3TD#*8RbJd>Uj9DtEvReJItc-Vy;u6R$!m5LR zr{rVVX9vsHKh4r%SJ>jH;&^1+pBtw!&^1*!e%WCnbLR6b%Jlr52 zRMlU~94v3qPrm$8ON`02hzQv&UJj_cjvJ! z8mFlPuieq4yqdi{t>R;`!}&M8fOfF3-eKnc`+1s?+!trY_1Rl}Uh~YBlVgf2REy<~ z@)1HS=I#Td+5B(^^yC|=g65eh^rzcq1rHTRcP%ge##{cN`In7t&cA{|*Oj~S=^Z*} z4$%<-hG4e%e@S2-_-hqfjkb>6Tqd(ZbK#Vl_li8xHqAy!+1@yg@rU^_MDKk@!a(zJ z?c1Q{&1Y9urOiBBFZPl5JTe;Fh=&)vTxNP3SFn^dW?rX!5hLRXloQOO6#H*|PggJG zp%i4s0{qI}*3y#b1;cs4uGkozl z23dIiqjIgS0^GCaS-O5X?!;_vM;{Mu^=)zZ`aN~_h`M}JHBJ5B<^QTb?PZo%$TZ3k zEk3VkV9xIccq~Kf=m3;XaJl5(JS%_F)%NpxzE+>YQSQa6Be%Fu;r%f)*pQh~7jAEtS2llRytxdens`Nfy z>(KwB!8XNUC#+4X*_EHn#xD)W=lk+`mpZLJc3nO>=B@mc|3Y#fbc%PMBsU}PE+7wO zlDV%wIIhmx@*R2M1oR3`ec;YNjfvkuj)z0HA?j{csQhYd^BbDGVkHN!lvq{wjz5#f zPMx-GkKaF0$b?7SzBpeBebqW`?y?L%vJQeQ?m=6vT+Y`gf9chu`OH=N=v%&O;$NL5 zEd`P6!em^;=}Xar7dh_GEEytJ!ugCjR#FbTD9v$iEvQjjyhB0A++~RAJ709S-kUEH zy<-X$=zR7p8kdt8HEg#TgXR@xGtPJ-ysv|uPv*?nQJa?yfFHN))y}ELSPo=YR$s8t zx-Y689YRO;^NwkeVP^+ijAw|({MBHK*F5LEcj#H<=1wV+d(04-Fm_EnVrIOJt?8XK z_z8E#+oAWTl+F+M=}7%7?Sri64kYCGN#=r5J)Aix_v2*ZV@lER_G(Dh4OOMg2b@h~ z+pJz!@Meg_`;qO`V7*cjyw4hL$za~)B8tB^^EI14zzK}Ol82}?;AO9i*uEEVfsl`P z7$Dw=&%Sux_^_++e5vojUL|60lL-3EmMTMJH#+g(u!+f?`JEk?kM>Ft8y;^R-~jWE z_x$|!cmMaJvwSKiG;J^`VZBnsialX1e8={fRy()KaVh(c*WEvjr#;q&;)rDt;LK*- z)ZlXSG8k^{^IFcslMO5z!#1On-ng~boC~ug^Q!S;Hgf;0WyJJ^`{`<{cix4ulZaU+ zr`_y-&w zO*$-X5hl6+Jnj@XL==`)nPl%lB$ub_!vxSDo}p z73sPImw#c+e4S25R``#D9%T8L8XuBr1@s2~oMDO9<{#elxa%+JjJx+=aFc#ukewN; z8Aoi{IA_(N(l$KTwMW%tuKGYr4( z`EM-v)@uBK?2JDdD7)7H741)3f2(?Tw#$3`fjT}v2yya^^VHY)^x8IVUFh*YA%4Q- zJ@Om>D`Bai@i!Xq11*Z=un2!tI_WwdW8AN(!sGlxDOTMK zBYu;Rc>fF(k?d=|OaNrRFZ1QQZp~`3i`Nn|rYZ8n8L>Cv>?_Ew^L@`x5$>Tal*Ga& zL(Em~6(8Hj%!IcW`EguRr(EMwzCv|u+|f%6+F9ML#@t0-mV}4Tezqhrr>MRxH!C3< z5z+e)4K~H`Y)sZCs-2DZvj4R&@W(y3P>5w7r-iBC&~`BBb-ZOM{IBxvdEPdoRBv_f zeW+gev2!_EoEI(#wn3VMD6fq+Se0=t%AN%%PO?czbAuG1OPjd;f;=V#8|?$01<*#i z30e+@-ljYT!7D03n}pFe2G2s1BeUj7aIIw2eAGlmGQk*8@a?Rg1sF;%$|6}qYuKV0 zoFf%ZQo4QXQdKmrx5Ik5=#HPk`i!`}=OE2fqcVwDo5|>T@QMxlJii}+xW%-P=n10TStu3l3vlLy265a} zJNtRRpC$2_=0gNzUTe+@x~=9w^eEv!zK0Sy-#cP{J(#~-H)pTbvo-pTlj4Y4aLyo- z+l19jRGc$jh9>XswJ4qF!D$z$%!$wq!ESTg` zIwn9pZM*WfI45UXY&NDI#n*n)?U8B{2yYj311w|=pSsbh_5!Z(aL_9^`nF%Xh%!dP zb=1_ofkNPnkkJ;WoFO(t*50Ss3$w{1V!Ek>JwL{ z1^_a-ktFcU0e8fS)$3aR`QNuV3(q^9emsrdTbVNdRgxs5_zuN_(rOZfuV$!pQ~M5= zNuSdHh?5woJWVgUpBtM3Zee8!r>zv;?RYy3dOye$A|$H92DD_6 zg1|Oz7J^OR^7i?OW>c_57kIB7~<|ya#`@EoP;Y5 zhxHc&wUYiw$1g>^IE$f2mb zU({=n1BoIpPNqtY5GUnvGH|Y(ltsJPWU1L{j@;`9NkcA@D6<9MA{&RG)PcQ zvR;fA(5%R#6`?i8BEH-LDW61>1~J>~4>4w|)>!5)HG>n$l20w9Y;iBnYnZd)&y@}R z3SQ$Mz0>tWbEldMN!4w>iyO)LNtX2K~=V$E@UZnN1DmLeFm(s(qx9MuwN&4K_Y-L8oe?GX75 zfg3KMxxm}hU9Ue-wYz{n$TfsGnDzL%ac=XC$>1L$4q}l=7p!L9Pw513)EDXs#m#aj8K2zZP;?9ToV{biUJr0LW;-d*5)jO_GG6Xc%HRu()hk``^12iCW>~^^xj0! z#qGG7Bh`JZN4OtE{fs>R& z5f_z}sJ1nPE%q8JN=kF^$YnXnO`9noQd{{*xFpUKR~s~R4ZK}h4n+XV2Q;@)Jw-~6 z`YS0i^eG$2PC4);V>pK`EyY9?Wm`Bhb{_*S5ch4jLCb*&5nxhr4D-!sFfOq`k`I=o zLS-Qjd_Y(^YMlb2If5t_7vfBW*=;T;?(jBXIin8cW>ks|@B{xrHH;{!oGZ1gV*`)y zl`A&JnL!Mm5|_py$v$yD_@3bG(m8N4UYaQcUXm~xKA6xG&SX>w#Hb2*yRIGyp+<_h zDT@cO_=-&+1KXhGz?E=K5}Q!$!lCvg%nUBrVoi73`nN&KfnnLG2FaWaqMqk2J4STYoSjbna z%3q)*#Zsach?By>l%XlUiPhS(#l~6|{x8sy;yffX4&svv^u-+Wv7{y?7ol6oL<`zW zG7aW~i07mLy-95_CKha*=56lGDk+yB7%0`)3nAeawAExTHi=_}k~XlsN|78yG|&y`Yxt{Oq?61t)f-G>5=Fcg#A}r~ z|D-TobN&JsDd2Jh#ACL|06zg*01<1pQM?N1jPVz{NE4(%VONi9aUhgE>F@r;29y@! zmUx0)qzA*IgeqiSdO)WMk-3}olZESNG;G1M;yP`;x*z6X-=InhK=2;wiwkSRrAV+7P7 zUz-`FRH2kbCFeth5zMMsjOaqc0=t9^4xmJYOZOB8f`Qr;e^Q2rX2KN|*|kG+5GZ5I zIn;`RF%rdm4cH!-Flvju z1p`nZq)8a0o+z19Jt$D9MdEr7;-Eb#Bkh@z4x8HBuPx4lea((#|6m}#ehP& z&~m!Pi(+mTQK=X}t_xWQFpRza7ikO{LrA#f7V@QpA=nfPS_m-Fq>Cis6;s-5Al8@; zA>d7R)>eV2AlehRNeMU{FsX%0@91E2KB8!Efi{kTIg}|L?m(eZ6iE%r$eR5HP6aAB zzU5e-1EmPl1ej}z=^(r^nIi+R7X@tyn3zB|lCG()@N4m+9L;PFp) zE*WJI3Ie1BtzVc3@_e6Ew2_IeK%0(FRKYZPGA&TT@dzApO2cbW;d3=jLPBYQ%zKMD z9}C)$Fex!}6Sc!ZEs~RGi_I|yTsF4MLjQbG!t8XKe?N9Ro%9@K>|_!R7@w3g6$`ix zi5KB>q52ZdDwYnYmwtVG?zJr@g50+E$oIH0I9W!P!c({K7O zzJC05f9Y5C*s;^o^X0LXOle9*OoNJSnFnYfqzsf5zy_enAiarL^C!s3 zB{>NJ3oSPF^!;S-YjVKmR9gtA6xx&osSy^>aSrp4p__w!OSz+cXJe1&A^+7??zlw4Y$c%}E2U2w?lwjmU!tt22byjH#eS7uo7mFK=1;s)W z<|UXQX>mtmN)y|_dWWo($KGdO{Ywzjn%ExrnKE4xN|M<`nk`^z8hZD^FB?hl*nmUT zWM-&YY>uITg6U0d{@Oq$a-3@t-40|zEhVMXEqjt||GOk^KaBTm5|VNSZ*VR#Bzg&$ z92<%v8Cz?g>F>Qk2mz=>F+l>k2QR>cDJ|K1L{5|HihZtno6?Z_^i91tI)XXSK(_Y< zQp`NnrrP!r_&r!!r{A;MmvW<{X=dfj2G$g!#Qecnx|iE)A}np5%j$A{_BV<~SyVCw z+bTXh2p}iQXa_^?LQPCQoAtro{)XfJyl9!R(@g0?nC>>yn`{tp6D`D;?I|XllaFWx z)PLN39(RuaJ6$W*vivAQAPeEDc$_j~pd-hszpV)zRQms(GxvuK_=Fj=7PJJ~8`pD* z8xlt1gDm&^!aAj0eLd$H(a5c)1~nT!Rxzo1fw2h%4-!o+oYfcHtfcK^;`7O#WGb|C zDfQr_0K1U<_GJ_Fr5<{RmY6o&BU*fCN(Y_u!IwmU_6jW!3n$jDgtVkHs{QG^k-jZ z|L+d|KDG8+6K=anxYz59cdPD9Y6K2v%0uVMq2t@Mn`v zG|}|u?i+y@)1R6a02;VRDS)^ZnaSIM3SC-sUi59xe%jG*GQGs3UqwaIKSrO5>Y>x^ ze^_+7|CFZSjS=4&-_mS*Yd8Lw#msZ|{)dk87NV+Iai0pQ`NdQVHX=#^mE5qBz?(og zWL2C`lw~N5vUF?XV7j={$@ejd`OUVG;!E3-@3tAZe zR}L4SKB29i;r)7QpLUpe+H1)L z#YKeZW?&37)0|1lBYH5aoPAZ_H$?vi-RLdTdbKp0APASvp{0YuB{@@P+2fY7u3M9C zRhiueVaYYwV;~8XgcxhBg3B}4aZA~+AzymIBtnl4Aef2?hO;%L2C@k)&tbrZ)+5BPYW=1x!T$6Bun-Uf00aOsL<2?uP!D8R)nWnt%G_0Zl6um0 zC1`2e8h|a+YI#hOl%!hGlPml*7|H`($N&BaDH;GGD!3y90A&Ck)q(9KH?t!P-{Gqu zZTxlhE)IMQvJA9^zet{+OT7XYKC111RiNA3&qi`cdDl$K^NsAv4a)~FQtkT5Walr&zJuG zw*8Z_uhh`>AJ0DDE6+ar*ypdG`^|@X`+Xco9-upCX+OowqkiIVrb8G1^!B9(KXU2! zIQOU6pL^=xzWv4fLr>l5(XR8;KEM5z+m8HxjQ%;8-1X_IJ(`vGQFOEtf3)+*N?7Q5 zz0?2YswbM16ow*Isc}0IbIVj*(pMFIY;zmAY?P5)*InJHn^%blhT&b7uSvYHR-;iX zZU-)2KUJucf~qp?(1^@rNs1aK^hQVP+&C^~g$^Ay=REgj*B2>i*Q##tip0U%!7^y; zsCR1tvgbZDcooWvo;y{#y6b#{P#t|^1ZwNQK9Ep2^> zVA*YCEjRM;S^v?^6@xrzW5C_e60w6{~r^zNsBb_r$tPMi_P6s^8Wuih$CXYQq` zN9e~zRFfTk<$kZXnO*PdtF`_1XsmB5YDL(av_Ak;K&!tlM>E*`{5aaI@;d1X!c@K{ zV9B9WY)UcR_^v6coQTUPJoz=gnU|%y*>9Xk`v41&!W?3^#Q-`E{WAUxt3T%I(dRYU zA+ceLov*f$u%3V^fmg2TYvCsqjMAs7YeNw0bGsLLeJanK{+^1RkGj+AU+G=^{w@6# z(g-S6V_%`}?ECWfnOLnhTrBt2xgvI0)9XbLP8Yc3XLrn7=i>V4kKBt>GxvEk9zRz< z?`x(3$6R`_!~a*mqj?n!Pz_xmX`{g#57z!97u!Q540rLyf8(nc(}`>nf*t`a-a_$@yo(lGHV zg3sxDa}F~!DD>ZV2&t#0aq2)?$4z6DCtfv{O7LgfC;Gd*rVAW;ukPGOV4)cyy5bEJ zuzbkHwmF&b8GOMpO@hNFO~&*Mk4UgvfRb`;e{pK@bmjEq=b2E+HE_eN0w=2;~6 z+bZeUm1@$R>gd#CbmtU$>VJ8|MKxWB?K`phV<*!LNIX8C@Lelv;{VLu^XHHFe&}Ero&HS)OqUbOXi1O4-kk@7{| zw}5OjUeRlrTH@CguDdaT%&KXDAVvl8FyxhPz*5RQQDj+9MnCsSP! zy*f_5wy(?FvYCi=UB3cc8R&ZR(r1#~xD|*+{-PD}KU(8Cl_RB=y;6m>Nle!7fkuAc zS6`5C!_FZBKYQ0Oq}+>qp<`~u&+ASQi+g&GdDngM^Vl-aqCNEKzWAur1YToOOaBdX zhMB}A+rN(Z4wTCnw7wrdi$mF7yz>nuBhNO$Zq=4Uk->FbEbzzgK~Ve(iaOWJ`^}?? zGwxRKxR|us*GS`epxF<@&DCvr_K+^nxZm_ihVr~bTkR_rFNn&?Yhb^>eLbWdeV31N zH}YA=XJ((2_{nI24rHr{VAo|W{1Ww~xK_>ncN>dzrVkCjN| zk0pHT;DgSC7wT88>{C(&d#(xjXIvlk{ztj^#rGh1P>!&zA=dCuu_wNYngIS)^1*>e zek=I=3UXF-^1r@&U5ijj@mo1g4B|-}{`9o`AVi6MS|b`5kxk z&)7xIYatBPfGGIEyq}w3B^cUevhQCgG_Z?OW>d@njx#Hx8;9Alh!2aXfiX(#Rpplo zElQYGHFu@DfwB%UrVPmKWPmWSUdV|suc#=Ef3?4_J@|`-tUC8u`dGGk7Atms|12za zEd2giS*%Rw)S2waRFOsIvQpTB7_oAJ)e_p%G=IVTfKyx?JW!`i<}%lJ4#p%D3Xe5GY)efGWk zYonT=?7Q;BP`k!hssAny z$s5{I-8XHhE~8|ze<5s9$k#D1(YS57t{zYHNMd`(u>cg78RK>x{W({n z)&kYlWivZgDn{UH#hIXGVN~Buf{3fT=YofIP+rDSXpMW_g0W&8{y8#F@iyw$a!3_$ zDDhqLf3@AHygN5v2K>eDg`Yo*i{;8ETZI05U%d|!^=+kx3d zn{Rd(-wHR>JbHI-7EjwZT_6jF-%> zh_8&5N1r+N$9>o$M_!LNWK#>aG~V|8#~H}c+4RX9)jC{-kUY`FBjLma?)FExD4mri zpY6+^k??qWfzSHjP^V(a@RfM*{q(`;s>VyZ3BIsJnR%d)9fn!zVpY0(`K8fEu5IW2 zXu`^N!;Cm$|2F_u_p$8I|EF2Nf$FU$r@Wmo^;2>7hZVMtvZ8PPqF+CXJ3O$um>42F z*@oe`?HFWTk%M@hss3dG&noTdI^YO$EaXyHjgbKTuVimqzLM`z%@PvGB@gpT&!n?LR+@A1eWW{FMMB zyu+Dw4TfaYXp#%=l;HvA_H-8wfA$4>zoQC>Q#KOBl^3@UGs@~Yh~?qdcRwfM-dCQU zcYk$cJvyq=+RDYOj~U4b56-PR4Z}*Vetqm5_=&5jHLn@e%F~^VdyM=hF+JVtE@Rd4 zPS+=~zl76NdgB1ymkn&SJm@_E7^Gctnj!Ioo=n4@@19AOWFWSq&&bH|)|gsnL^+mj-TAC4u8+lWEFtE0_i|>>^sj^PJq<^b_4fi*;)iVV z;)i(48daHEZT_JZ{}u%3#O?=eb;jF#8$Zys!(oUY0Q!wo)qRX{R{|!t$}D^%`2c&A zZ>fcwAsp4itH((o>dQ1TZgz65Wp-3r17XtI02JE|;i3So?TAaUU^#u2=>OSbu- z>fXYuKtLF;%LRU78wMwV$uJ6B7`)$m-Gvkd&9{ug3wZM2kMYPW=i@zJ_(i-x{v{$DBO3&;ymCKd?eDhO1W9& zZY|Ri?&e3Qzq;BvEv zP|D4BJbd!o5aZ~ZB_huUu9tSfdB6$<-wNIh^K~b?Jr$N4n<`p|_0+g|2VLaqkA2dO z&tymWhqpGIZvE{AFWvq1_@GV};Ryb)IU$i92iAhi$~e{vo)zhFab!FG#|w^eo3GG? zFKL9x)2do3cH(_DU!A5~J38#Zc=?v{xcLfQukv6jZ+W~tJE3in{K1V5E<@=1&N(JwxJ5&Aq!yrR)Kyvk{IzaR@3mnC&5Qg_4fJbRLVV3hdBY=)Jk zev#kO3O5Ha=wXhR$%MnF)P|Gn)cJNH;J-NZG+7lN@nkq43KGkI7^_6PZqfTX-jp)5 zT7Q8LZtr0fY55(y^b&F_S9ninyn?|MPNoLn98N~5`Ib?*ag4hvCzuR*_ajDEl^A%Q zUv%R$eK9nQ86WXv8qDz3e*&ZkgU4?k@t5q14`XoQRp6lGUijhmBSu~5v1?eZ*VQq4 zOq1bd5Ko50N?rJtg*(C+<*o2SZpjn(n<^%i6a=Q?`x{WgGKeJ$*dwDxy$OE)dm}PGB zA2e>~_1-6|7*cF+`$FeD+2*_Md{DhtB;N)^z8V4WzU7VFj{a#xzE+)cx<%!{8m{JB zbkSc%bCPU;g=2PWFjwl=RQwaJ2|K2Kd{8C}uAC%KBB$LGdAXbg&*~S@aA1 zd^MHsQzpufzKfzr*n5+ixtr3gvb_kvw5PY!`OX0%TKa1FdFNC47nLNq(O0+``zg~W z+3r+G6+cYabKUe!@MD7KZ;{cwcz$8k5nmPIh{3b!qi`b|c>ZH}2%${$m<@bDR$5r> z#OwBNZ>fcw*BGqWxqn3&&fA^)Y<)e&==qe}daEk@ptrC18m1=(vHWo~ALsHuJar@` z8NFlZB?}+irgl}o!nuMqzk=QuQB_=w7I|j(9GO49Qo&AFn&9+n_;)@RWl*wmzW%v2 z#lT7!sP8h^){Bl-4D2_$^g(+zh;}Q>mj2?s>B`H|Ui!29x$=Ydzu=*X@IkG*F4$M! zJJ0h6vM3|v!yDJ?i(mFU?8AB-yL&%n?T2}~0N_Hioo!MPs1nw7t%;xJ#rVB19ntB* zTDAARjY^ru@VT+oW381Ikwwje1<-FzD1$RT@7^4h4q6cfXI!zb_P>d93B=dsB}*l= zfyGuD(n;Ecfb$32smoZ;yrO`ZYdi>Y!C(RNe2@NCA4%GXsXflPrm=%=hEza++>uglvq{-CI#Rjxf%bN zdbNJEOzediW2gZq>ZY(p;(SEigVeMzN6%?gWesuFJ&*-RQL?3(()Nll0KOH4^`Jeo zwH$c)cyT1Vd7kD)dT9G@{cm~t%@~rcX&}v-NDuEw3I@ee?!2%aj|)ekINwOZNO4OE zJxNoFp~SE>8iaMSf0nNAVjfs}OwQGEm=Hx8Os{R2v|JOll|u$PY@JizLpSS-IdP@F zKg%R)HWM8bbgOU@+MNkaQj>>5ZNV*El?Qyj4ZSmBT0IRH<6Qc^HKQ+~xELgbgSN`e z7GpZSODc^=UYX2oQ+B;p3Z{ahur}!&E;u$2vItaZt!VzZ8^?CfU*11Au!~7r73jnK zcb$IB7^m({ zxTI=FiD@$Nr`OJK=$nqN0oILuIVNm{fpZ zoEe}*ln#aBF2!V1vMIKmh>bblTDd{6S2Kn7gld)E^U4~677&=x-|F1yE&;WltRKHe zN&N5i`W`}`K>ku3E!1D_^yXaLIkl6DQ$|*boe8+9T%2!11A}_yeSM;a(lHubEvdIp zt%w%rp_wq?A~}Ui@}!=4SiN_8JAPbZ1u^qA){G^n@3YM-DVG)l$wn6q#FjBIV$Etw zp^9_$CgvQzdA8$BA68d!K zo;}wm=&(zglg<+)3m7cHi6B>?crzu86bDU)$xy0C;jE+S!K znj(W#m`;yz>+6zA;HJ@BFg2Z!mP8Bp71z^6 z#aVvpxtjcW{LD_y0oTDt#%37-NIbz03N4q|%*DzaZ$Gkr_zn)7Vd;*^`PBo*kf0*oW$&3B@*pS6x_q-sJ5F-0smQ54+y-P7oNss=kU z=TvxcnYsJ@%EzvlnlT#Ql881QoXocYzqF&f?{R^|G!t#Cv)E8;sfU})mfjz%i=-Q+ z;ij781ond-fIxr2l{<8CC6iDTr6=V^%efaR>h5VvA_H1a_@qS%1!tJRwKH};S0{%C z!ssW3O`@T2Vau4T0O&wEnxym=@wqvr7=3emoLiiuLKI#2AVOl0G2a_XLJ^#3CpmQO zUV4V^KdRX7+fkB5r9_t%=v@dA;v-D7BM4nHiP}5c#K*`>#LFV%N@S3R+z?ujo4jm> zXl%CJJVn-iVt@L`&3E@V{+FWRb80D|RElb$meL|PDGyML{fL_i^ncDEMo)D|SO3~) zqDjc4K$~!qK@%sFwI_>Bh5JZ=YPugj7>&yMD%US?V#QDZcD118*uwmE}Hb} z#W-S+;!GvtO+5;<`|#=;lu4=D&>X7OQz)n*l>w9LwKX9zpoNoN3X<3+68SN(TvKzL ztwtS4btPz9_yfw*ML%&e2N0zOYa$C2_ZA320bwHwucoDQ!T8DF?-pL*Ngy&UD&-FS)dFpf^Z;JiHj&oU_dU`&x|-?E6J8?xtL;*EzWB;dD_-og5*2b-b{}F zJ7?$ml%hQ-pFN^afjw_c3^y_k8yELdkTpouC)5#c25B17|S)9T(7hz{?pT+6UMD2fHbnzBztbFHL zGf4;|NjP)SI*B5bH3I+{58fSfRcX0l+ulGIZb<|o-8MJ{lPxfLDB_cTy=Wk}h$+Yt z5<=W$6p2n+#dCknj`F@_!;6q}f1j1}QoCd@)MYTi zf4w(2c6uK4*obV_fd2)x&rB?=T~`TV6TwpWmMQ4AB@8q~bEY!stxPB#Avr!L?< z%Ii3q`=$Qx*ICbEi;Xru_$;$nSp4I&&ti*}>^$>XXR)#O-)GNai;c}c38_r$BG4Pw zAQ-~Qlo4_f8=KoFr`l6_c&0bN$4jG)Qd+UKl$vl#C7ZH%eQChell#h4cXh(!FwxoV zloHU4>D3@6ilhnGZBDv0*MXfg^z2s45N=?R%r)yhRaTr)s zFG6l?1w#rU5Cjg*zKmrCt7|Df8p+ zNvxoPJ;neBT2oX}lXp;<#)V*QDvf{ZTn!~?TC4<+)Cvqu9(+G!LM zs5(#@GdLZ3n3x_cK$b0@Tzf1g{h%MQAStW`r)J(X8?@P^(7c%FSFw2&=#t<+{{vSM z|NjiFOB%MZT1YTnzHo==Y{t52a1nr^7U%z(=kmYn%dK(bbhP|9KbnKWesvadLbCW$ zFh$HZ3LdIKJw+Tn-OO$d4|P=0u7#43X@#0$paiA){xF?MX(ls=a_)@1HqU3-8PS@| zFt!n00z--`(H5Fq08LFovZ*J|g*V$y?N_cRm=FT8)drR@ESM6ffR9L~r5(NbRJJvu zigB3KMj-?AB&U!yPWl_)ZfQ*$KPQe}cG2Ur=eV-%F-Ajz^P5>rSu%R26`^nL@bgn>KAm{To ztZosFl%Q|UhD6ckyKVEzd=L(rwj@mLdD<6i99Qap`_aU;Hx9V`^3;-_IXHvtC*c?y zv}$f2nY33jn1gW8@XjApy)(rUi%Fs(@bjVZ4*_^z*G^Zrd@l_`W{Q~V zzI#O*wdoeaQZH{APt6@YOKr%PG*#2X_b?= z$(!fpUicv_kP8f|#Z-yHb;C6-NORQ0wS=oQA03Zl(8j3s#O*j41-`))sH30l8>8W?vFG_2&=oBN1IT(e6Kif5vO7&%VpABSx1 zm_G-_-1#_Zt2?wCqSiQJG7%C>S-X$+*l5a@-~mY(C`8tk<>+oU!hdv@rqB6rQTUT6jgk&habfeSPevW$j zJ-}>4oK1;TEhS=NvG-Y#O}5r+jr(@h<*H`q!`F{P<;%Ny*%|xn?tE5{YBmD@dwNrV z%ll>j83z_glH#PgWX(B0j0vN9GbV6q&z!hY%yldEo3n7WB@OVof+aE;plEJd4`7#h zxEJVBS~hWWp14@8MF0P}^XbW>=FDz*>7C{-C;cLUa7PW3Neue#wNy*)D4BcFx$>U8 z0w>VB)%M`bDDjpgO5hmZxd3`HZ4jj!V5M`>`#9?uy#|sof#Q3%Yhbf9)T(W%1Cgc? zXTJKeU!2ub>Y)k40N#;nWX&aBkrm)VU=tB2Qw#lO7_REscX?j$pKD2F)o($ux;0VR zBqu07nuAI3jxoxRzlkDpHpf9queB!v&9Ku46-mtQIeTlxfDqX3AK*5 z-kf%>{{ckK?B5#3lS_!$Yf36f5For6yOY`rRDedsbb1%k6GohTHYF?&0~?7)V&@X2 zt{BrQH>cJ^R^W3PR-YBMo6_~;pYC%{y(oMuAs2&jDH}k5@f~htai=a4fZC_~KUb~% z+iTyq=G&JvEN8T4nw(_vplt{)VcxEK3juWAw$V1k6WzhD$$%0xrbMKzsf9t}uqSC( z(LbM;w*T5*3yJtrz)e$twh~C9Vq6FCia>iy%?8^&Wa6l)k=UGHECj#n38D_Zaz6B=|mJvg@UV}0G<#K0{{d7Lo)*~08n04&!`{( zs&lppTi!r7x3j*bB!r0z=+lHS=-+#gK0RSQ*Ga3K@1}KHn@N`&` zCxMoT9U$P9D?4_;13nP3{5Ibv+k^$Q2LZqrEq(b{1Adl%(IW})LNH<*b{a#VgtBdi z>9nNuKCO_7vF+$Ihl>Ml+@#Y>kS?mw0Rsf^003qHhGqc38p>`#UmVVewzsz1?YgXO zplN?dfauO($+5`M_se(R+HT}10#$_cXdp|naV-6~4F4DHzxA18%+YA*dURZU_tNei z_2ja;`{}WNpZoi_4qeq($;d#Mo{oiiB$z|vLJN3Ok{_gB2?w5b|v1{zpHvU2U zyYBC<>T_&$1;6#??x5_aPkm>(Q2sl1;yxo$_nS0yzdfgS(AIt!jn34|um0nVk}Dv=z8h-6qS!I zO5C=4jzOBq(bFogrh`ZvvuPdm4QFr;<(i=Qs;b;NKu;89GcuaF;Qy5~o*=QxZ$KO&RuA{d#t&I&-AE z?HtO!<(3n5{q2o$dk-xH5Ux=co22D5I`#qkEle^Q37o{H0a(fwrO@TcXH9r)iPzhv zH+=0g81h)trtCIsMkT7{c~?cRHHlL;^G6P+cWy%~k)8FOL$$eYiZVmf>cU29s+k#8 z`=XHLvZe^PO{Y(E&C$%F&CK5n=i&2ZIdrL9`-XdcZ;QXA3p<-ibab?VlWed}$X`70 zztfjPqs#dm(S^zl#uwX$2HiiIdLRT%)<(>mZx>-=JzWXv_UFgFUYF))(%stT{HLRT znf-45gMWXCoxYvnPz&F!O?BWO-)2#;0AFvPo`{K^-;TF);BsS_;p>pRM`q71w>xl#NSVjh+CNeur7uMs>TEf>i-zuoTMaQ9SqGC(1 zM$tj!t*=pHm4i0hqxv2lcIa+;R{!o(I>(KhmN3-igP@!qC3}s&Mjt3!g?Axad9p?N z(THy&!SGy+niQ-zTvcjumTv=F%PCHty0d81pn=AqpNkeoIG{!-jLy%p{C;BwtA?Y;M^6tHSn{I)dlJD zboDR|4Yk&btq9)@SLHRnw5#o1agE+4cQjizIl7_@Rc9FxsgHDbq%2fqAqv?Hi~?o= zZrhcO3SLh|!KxBHI|$kUDA3oU3RAMhx^3F%nu}3%dqiBph2{Qr-m>ZVXjSc@O&D*t z3=TFh_8zSjR(Y9+P(;6G5MvWYwT`#V2yYc3rzBOT=J55poBFm!_|e7qK7%T&xNQL} zZ!eqEZ7LlyzrFaCMb&2J=fxkiiDc!r3RsrQyWSMxcWSLo%t|M%yC=b`>o8mQx@9aj zsG>kEs{)eN-auEZVg}+gD=>9iJGNn?rdVpBtLsMF!%L$Uk5i3-2|yL_q6+#{{VO7;@g$M3DJT-+BN*P>qICTqiBTk%Gl2Rr|-)b zWY}Kb%?mXY_X|5UAaGDl4F%fk_{|<73;#14-MYT6kJ;}ap-}*wBh<=8??N3hs%_UV zA$Y1{S&lEi?;sN2)}Xva83rQws|{|g63ObQPNzB!%Wp=?U)Ycnx;iy}*``oEn5|!I zues_f<{SL{aHL{8Y5{E^Gr*iaB3ni_44?!_B`Kzn{QPpHOZ-g?kqQ&TIJoY0TWQ=p z9x<5+(?x!MI#P_PpdK_e=&C+#5C_AxY5>NwQN2wj`T6fi(QCL{t=iQGd(d9#7Q#u% z42CKmhTW7mOph2GozsqZTl|Q*;Bt^WGLIZ3eH~=j9NkA#S-9~cVF{;B&DBc1okB+c zX_4}q9Nq3qX&3T+z@sOH#^dZYP3#9&7K8Ge9Nj=Xdd5S$mQzom@N(n>)X-sxN^vTu z{H8~@H40jrzGN_odWy%8YgW6AWMp?|3x&TaC@;04R`F=!;>+M<)RcCMs*(qqQV!kR zhTqC#k|^KrhF3og5`)UA`uj~WxIFm>XIi`ri=xiG>?nC^#&A43A*uevvBj`@ljFc{ z%1h=bN(m~B)yLP05>*^E(0C{|(E1_7Mcy6Zzi#|z|M}!}H%t~rRIr3`DmJ962HW)EAZ3f)Fg>wkv0xy73^} zEmjKQZS5(^G`Eac*qDUhoXUZiQeRF~32Yc``0-TWO|R&=Wn`aZdlmC$IWt!O)?raB zjJ@{mf(NVfDr9}j`g;+};+90Demb+R_i|8&Ge)qr{NyEN=0zFBZFKPq#c^h%jMmcM z&n}shU$rert{4hmg>tK`9=F>qPuZMOyE;ccbE4EWu4jTbhB*!SjTO5?B7zXxx4F-+ z#3e2!3mn=yc5U4%wb)KLFH-RElo0xI&39$l2lnk_RP`(6T7YPm4 zs2^L~`{7;e`*tf9CeMiZ-^s2L!Zu{_$9NCVt~p^Odw!uF+R+sMTzJmw&deO$c47-O zPdnX?FmV(nc>Rh?+vv4xd-Pla9sR1(I`0WUo#j-fB7H+b~9sN=<0N38~ZwCo1PzW_(xqYG#;t$ z#8Qn}8`&Zp73*KBI0CsTpTnQ4%#ppEpBr}_WY)cL#2R7oAA5@md`2+8&Pg)f0uUVwmn2P4fR-l<(#I4X{&Aat|0_g4GOimk1@O zh90LD!Tp;d^Yg%#lnU31;T7OUD0cAhTtsPp)?DW*2HDSVTh5&UtHOH1lfcnv*))!* z(XAYYX%mx8{O0BS9k7>MvfNL`g}5o{U#DIS1ZIwcNbBA4H-@&HWCd9DRt9}xu|;<+ z6(GKR`95rm6NP?$*m8s%S%WY4w!aUo54-Vt_|7_fpF3x{{0so&plBqT%VS_0k1~Cn zbxdyUr@{+m$-_Uxz&KzeqnZaUo}DX$*g|>36}*pHd~W*99e%dHp5n2J7k@IM;a^mz*M>o+d?Mst40 zjg2E`BTbmoV6uY135J0k3{PsOPq#+Sj&H93e_ z)cYlyy-rzq^qE3)%l4t8z0bvUm%ydl8&Sgxn;UJr9HZk`30QTSNBzr$%*xQn=giaR zm%|UTCCZHHs*2Uqcv3-bYex%d4u27=ZGEhaOFGnZPffp$NSYEl<;klEo-Zhd|I4`iNo)Wds{kZ=le2r zH>MEB;t2$lR_l4Q!U~|8JN)}75uX&StKIiT&r?Z}#TZombV3v0hFw)nMqVVPTH~H4 zw@X8M7^IVk$zx(8>{yM13(6D_aA4zg$GmQyBwr>c4j2r!Y9BU*r#pM*#PYaxw^{N4 zDVMKv?hIazS6-H{eGx-6D3Z7SE5e`g!|ZI=e?Su`JJa*Mfn9C_`PV|UN(2VUf;E;fdOC?2Nt(-?|M zcksm@tfFXwFT+Kj9sPyaLTdS=V)&9R$QesATI=w1`kb4Q3E&;GgWIYe-`-(yHUafY z)=a+^-~!iFDsraO`MWoncVn=?;MO|@g_q;=c~??bSy{grsd6b6h1c%eLtz!W25zbk z7-8y{HR3`QiPJ6unn38T-R14VlwFFkAV0Cgjg|W~d9QSwUKo@FnKFHB3Iv&2>MH;cgyfbET#sIR_(_}}V>@Ku#a{Pt6jksr>vo76pyO-9)L#lS} zS53NI@xvOF1^odk7`W<|3^xfTMh#K*)5P><+`?#)@8n~`mx!)5x8PW~B? zMbp^(Aq7i?)FV@Jv;VN6E90wgHC1;;81fp>w`e{)v%fcXL=}deH$}?C^hvvxGNhy>1VH@2cf~J+x8|pVTbTqssmRu~NjYf6+HD`Y&Vm z9CwzQF}%S;-pACp>-E0jt4Gz*;QJU&a&s~~p=X22Qh%ze`@N^6z$_@^0z5s{&8pdfNH{a}| z3FFWFVqqH7)uI4m_%<*Zm|MYb*BPWBdvVe1O=caoqplOE>7$3#v^zroHqZX#m~ z0oDAsc>;+gOM)uzoaRcjZy$&C!pj>CZ4;6D*mj4F8L;HXR=a!1XoBvz%@lPwx(m8I z?r^<@;18;{I5_cKKe>L9PUn%Wa49zkmB!n#>3OcIh6*WieK=Hyx=uTK2hv&Yoj6sYhkD zZo|828}yC_oivrK^kPlOb2curZ&}&J%A?5?=>0c!isc?wQ(rMEAi`T;xD*Gl0=zed#gO$8r1fU({mzw#0)HV~WRs5yZ@t|_n{4Sed_bomV$*RAL{P7^lwL#6 zyLR0HkG0iOzsP%Z&-&*#^U%%N==XheN982wWCay(;(mkCc;6kbd5CG6YBICSWb(W7 zZ8Z7Xk8GbgCp=hBk^IGZ7kAQzf=_ctk~h4D_k{k%UelR*j`O}KW;Tc?%b|z zpZ@O!@Mz9Ke7uiY?Ij;816Jqgd0i>C8)bN2aeqC7)L++(keAo5G-J|#I32Fzj?u6U z_+WYTC;X{$b++tTMdbBfK>>l6i-Jczp_XE*aO??gEO_SclYv=H@%zUSfFAWfCzO^9 z*9h@&-uUPPr{^n9mIqk!{2cc`)}t5LMyHRnL?7=JYlQAhY2-Fs^F$j7Dq9)KtcQKa zej?q6|LTe$$BEZ_Bz&*Yw)ox^U{o=h?G+PZ(;UcS^)37g7Y+7$ya_$cT#f5+Mox0| z19}Mp1&F`)oz)Qee1HDv_OgBYqK}g~m)9M|e_$>R0Qy(>H}iFd=%=-QTmVF`l+~vT z3-|BW`BDJD7N0XF1Z7V-PC_S`j*d_oH!JEKms^agrs_WCKY^j$4!%AnCN1I_IA8To zPZYlG)z*$k&gO2th23z9%$)RMYMCX9@b8gTC^fu>D~>O_V_7$b_qa@$flQ`GM-X|s6lw9Nbr|A;|uLH z>)CYCax|ZMDL`7LRG4%qxEx%wn$uJfDIYBwNr^TpUY&!UnMZQ)6B!wRG!15nF*$lB zCfc)ZNu)>9{PO4C$xm2wwDyaRBQP*AmP4{9t%TGdBt7DZKgXXhf5n1di=b05_85$Q zX8~jz`<+qe(#VK?QbK`KONbXCj>(vUW+iE6m)D)udD!Or%><0RjQ4h!RyAAD*`fz7 z8I(05Nuh+*lYh{hpExc^4y{l*&` zY_#Zi``Fm%X!_gOSu;x_uG=XUW)_r#3AoK8%?Xb2X&R@qDA&Dk`|n<;Su4$qMZ+Sh zSww^p?ghCB`_jSVBQP4e{%@0MnTu%k_W6za9ve1#vp$G6N_Z7Vg^60$f>L)P+KD8Y zBhXjaJ^q0P?AJ)uQ*DjNlVp~)5t!0Q#&B^<`^;5(&ljF9S`wRX~CB z11A4246NMzevUhLKQq2RnIUv6OAY{G7!hz)mun;=79Z#(_SJLdcKuIzalT+8LJ`NB zO1^9aM1D5MmIC%kYKZmc&j}KRmZtkl^_~u>?XGWzr>zjnI zKhyN0k_IUjKx3Dy`609ww5lERg4648o)LTC3{W9SOa2|jEAz)z2 zsXlk5}0b#1e;cF6e3l6W;D^YyUzE=MKOiEtLl47o0I6389-?eq`+b?{2sF`SM3_gokih z!C*-8fju=BTXDl=#v#Co!UASK+VbSq|F*?9{k?E<{9|8*qWfX*y%ND~7w}yd-psh+PaZ`>iDwYu5<4lhCL}EgijM52 zvhsQPE*-;cnOkH);x#;JBCMY#K<)jWaQ81o)uDm}IxjoqfCDcKSx*kBu80^c#3= z*yz#lzp=(f8{PgNg_(TK;}nU+d@t!hJO+gAeU8$ss!pP~WbKi$F3Mv{od-fI*3=kC zn8?Tg)l?OC&F*{hcMwcL>lBwPS`0CNg-db*~_$Wm{@!OG1`XdvGZs#zfk9b;~?p zI#;H+*HV;$6!F11Nfb$^ZOtG&%4peju+nlbwpJ26KG<+UmK+#gSE~`iHB-9T5kQ)X za#E5`usva1iw#iJOiP)kt`o1%2;@je(&S@e+px?$lH5xTY}F83x+&bcFIOZ4*vo>k z1jxaS0L2mf_>dd`)y5WAx(iVarqa+LNi>NP0FNdJdQ2zaO^ESVc103FUVE7M^NwDi zqW}&)(_@D4YOaX4Q3dMe0JYcU@c z>`*!&tfr!P!(i9{I&tvQ+)_ONdO(H0sgxq<$VFHVzpk2*;)8+cz+yu}WJ!f9Q9YkQ|go?HZFH zkf3P+l~##zhO@!Wb@N(nm1m5HPd%Hd3;m&hN1oDe%> zau$TNc#_XLn&9AC_~p5X%iC_W433=#HwwBnF}qfxL`a7zj`5ph=#Xxsl(Yi|$P}cL zxTKnH9c4=a1@j?$h9{!FB#;UMMjge1Bt3y8!7v#`II(Uzm*eQe`Oq8%X%UhJrHrt) zb=NG+nBR=il>)>i zaEM6?xQRB9L?FdyU~Rge%lpvW9Im|TXYU1L)3ZpzqX1LeTaq@nVv;=ymuSL05iB?7 z)zH(-JDSe{*O)lzK%h}t38kzxbDpg5ZUJP1;8I%|vubB8q_mW@nB~S;TUBi_`gD`d z1BL5k4rmlfL?tOSYIEY@EyE?gPF`m9e)sGrre!)`Xk6Ycm=#<&7BFH=M7MbfAE-58 zL6JusG`+@R&p$SlV{ZY;m0vaT^m`TBGo7@@;XtIJ<3rB$(kn4VGeagiN#|?N_>WFI zLwYmR;0Q$3UNIp(1vO_yn6^+_3%U+H%&`yu&)=B`!~)`-v((FyHS?A*y`ovB0>`*Y zS=Va`26}eH5^ouXLTXHHO)XSV0#alksag`Jt1=It*~FKz6?tdVplPXtC#K?1iUHJI z)c^_%{3V_Ug|`t&pATtXspfcF$G5IamgAalL;jAfKkr%o(;CnDXNQ<6vt83sPT zW^7S_0MzLcn}SP6I-yb;25Kne7@8=t({u_`HG0>EezzNNG#UJ*;3YveX_W)OmNSX_b~pVcHzQI~1PF9gC^cmi@mHim5T>E|?I7QPfXo%z#LY#IlRYVW zzzlRlq3tHb!dsrT7$gXlTD>GwEeDTaEk(Hvkt$c(#EO`&m(4MQ6cZueu#y=T?HaV* zZX|ZNbdt>|-AI!y9Gg8w?h(Pd*KW#|-Df7ttW|Sdu`isEFjy~7ya?!ZzP)c|H!OO`vn%Ukkp)#)ZQJA7ql8lWg(p)=;=Fl-Wn%Uktp(dNVBr|OT-lcFw z$)w9?olLei?MegajHVa-iks;S5uWhh13#S_80VD_XPE9MT z9Fh{k1nm+Jo@9#x$oN>xMJa(8FGtwW6jwq52P%@;llBy997RYF2^ z()D1iJ>mKByqa=*^CZZsQR$6V-U)-Hr0=Y~6d565Nx1}Rktx!eK6W{OKLBtL5CZ@N z05d}aFaTh0RL&?M0F>w3Zr5-1>*fI5fTeM^FcO@eL;xTCgFL3BEH<&ziSOUR@&N#$ zp);BQ00k%wVhQTe84e)Ak6v?(10C=azJ#9$=DrKR61WKq&=Np+O{-78NnYdX0|oJb zny)Y^12Gz&L#H4hZqtX95rgRUAyjC<=v;@>NfDzM3r&haKn5|5_y8aS07EkXH)jQJ z&=OvR7vJq$`@3wsb$B7?MIjI%B)bLZq=R&}-`%>0tTBBEFK*&Fa~j2fN&UfT|2^~l zcKyBX@-{6jgATEfg#07 z1=G5I(=&284`p1@sa1k#3WlLCr*38c`^q`R+SyIymXTOt+|PnQwT!4tq0`ojtuK0h z3I)8E%=vV=+eU+KE4sjOn;=Vb+Q14*1v*93sSU83o=?3yTf{O-jIYlzxY?Nz=&x)EyZoDxmpt1IP}vo=y^0Pt^rQ6um%w$fc^F7)&(CxU4EicWn5NPp3= zZva0H1-oiMf7~UWU38l_GX!QJwk}Tl?QuVvhNGxa*N&J5tlv}<_**h!rSp29xA$HY z6yMGScl{(>f&e~%iIdUEc1L4&GtqSpP55^FcCV1tw`Y`WMAwzsa)J?=ty?nA&Q9qf zSK1U&F&G8?1A6zCsR>C64j96ARFZl8?DX!1)(L=G5F5t#3Wplf=y#wBaBBL1mTs9% z@7rk;2-NbdI0Tt#)W-rZ%~}B!enZQJ|=cJJM7Xipg}^fm9jrYRPQY zcWLV%b*J=FEIzS*1?vT)>3mKT05ls4ir8nHk%cxPe%!vi;KSxvb0xAQdB1ZHC`Jk>MjDn(D zrlz-0xQI&Zf$5SOp|NsKfnqgZ22E5SfNQ$xE&HwHejw~MJT~0k)PU312!(bQR)K3~ zd%d-@HB3#Kca~T_rP!QSjTKbziSMtb!FbQo%dVWG7vl=mw^uh+(Q#nLy^bx|GQwlL z?N>m|tJ2WT?k;_)O0RR!~7(FBD_)#I0MW8pKK-Y@{k1KBiZ!Md#k?pR+N z1mu`@LuNcXd|}gA9z2+M6^<>a+`ruMl3zzvn5MZB{w^2~pSIjyuR^as?M>hBPwmhA zM`Zs4f7boZ_YHmX&+1R{!=1u^s6UzWY3iVVQ|TA*Yy2<2kn{`{F`>0{m$|2Q+$vYm zf!1h;tMY_5zq?%>tHaiJOsiM+Fe=|;@Tcx;?$pFLV$iNJh#AlCo;^x`e!o>mN8YZt zznIpuYL3&TE(9i{tX)Rcpl@BcK3{F1*_jN`^;eH<*gZ3EkD%9Tp9IL_sMWgs0m;0& zrv<2tm2kBF3k%q1>PFWYoz(u{dW7qw;oVRwts1(bqN_+FU7tRK7q4Gy#ad0jf8SIO zh^u6q#0P^3J{j${)+;gXu>B09S)U%VwJ{f|{oQ)cY&WM>>;&Rzl#QvQZ=4Nlb(pR` zY##a5wMD+?i)rZm{Gs0=y%k((8-7#d6z&#QT&uUw8!1fh%ifTT=9NFa>#^8o|DD=` z?Mn^K9&t~rPPg~`cRoA4Mypgbp|{=n?HOXIy`vrcryO>N{(mz|Y2Go!JOs9C}(RY2s#GUD61==KTYbsfCnz53c`aOel zP(+ZLF~JSZxQv=b!-m3g7+}aM7qAo)+_;)opNCiaEn zma({3zpg;nY~HWKBt=5eRv$myv182q@$43HU%%?iSi?DbO^^kQ*|w?E^(Ja2uJ4D@ z#3)>x%Knryo4*-3Ou$jbB-a?wg^1k5-`u&nL#Ir4%P*LC-ov-Y@GNz;e0ePN?RR5| zaYguo$n@$@iW1y2R?D^ojQA&xS@Y?gy7+CCxA{w@C+Hp?m3lSg_(RsmN^+$&AoJLJ zXPxtRIPZw-4||zcKjGR_*XjQ7@ZYIlh1Ak+Og<4^A&2!W;+rCwYtL(K=vd<{ z8CePm5{6jqD5FsXLx2OX@2)1+%-s6j>{ZxVHuwR>6edd-p+OS)u+}$@?Os3=JDMe1 zG}D`V^(wgfaMnSQ>}WH-9};+n@Z86X%qluGQ%dpuj4Vf zrcE8>8^1A2nZNgY>P>(9+bK-_j^mhgTuL;Zi${tSZ@x?){JjJ=u4l;taQJ-`A99>a zjh`u`lC>)1>N`KhHn!X(Twi2nmEd_mY+?0smvFQ3HuS*PE^qY(FY&L&3#V?i=1c$f z+kAXX1lQ=!6))~SMpzIAZX?%>g5te+n0&OZ%~odvJ8{74=49Xr<>kh@D*GU^Hs@CW z6Id+6-p@9ji|-tOUhAfi4O>m78*?uBU>zy2ITQoW%kc-4mt*1JoAhA0bf=!1J392l zKHE1>Ubfdx)HB7vDTZrZe@0L_tN%?$aV*K5PIPFQn93~mM0J}6FQ`6xvhTC2No`DpiB?wN4l5sgf7J9Kh;Y15QKXHq|0J!8+8*LYJA z8M0IkoBGsvZVrmDHl73$|83*%UQr-#(~r{ZtM%u9J)#Rs4R{w+_`>h>uT`)8LY2J( z7dT8Wg)VS}6MsV~n=27%#{5AZ>~DrcGuOwaRNy>9@+=48VJi^6DU4!P%)HlAVz>xS z^Ok;;Zj0kEu}Z+a#9rQ-%jw+R;v=nPe-#+G%q#z$27Ni+Y~6&DktSFrRv6LXt@k^e z1b3-G*f6fs-&#(-8LO8KPM0pajnKYT@P;wSGlLEM{Q6<*wX{w@S6`j&E;J+Y<#b$q z^DRxG4`(;q8~W$>LeibD zn^a^Qso%-tA0@|E-gTVG9Rcn7*h_-np)GAMeR z&U|_nZSZe>_+1VUPwybyQ^m$#{D$5bZY}({ykD)t$MT-%ER%6y!=`szkKe{R=^Qd! zY0fX7QQdDn5sKaSal9FJh@KbM#B7q31Byzk>3l|9f@_KB9>;Or9`2QGi@ccrZGAS; zf39zdn?o}1XV@c2(Vo0@K8AKZ?s-kaDlCKLCd`AkrRC(~-dj$h3ZDVO>b(?$Tg=5@x{q-Fv2lAR} z<5>VQ8z4NQ(;w%kAAao7UlP8~yFE2Cky&@kgy9Zu&R>fC*snp!)nf2$Stt+u{TpPQe|Fx>IP7sGog1KKz` z)`P!tI2Ooa-p#G&nRi%}5B7upo@G7vL(fja5Av^?R!23jn0Z9Ai*!)Tn=*F9u=75V z?wNPY&bI#2y6WS(N%xLD0>0)pKv6E-2XsNNcIqW#_JnAso==M8xo931 z*0cr1d3hVOR14d+wPZZ5R6B31Ad}Ofo!sTKBE=nS#LX2$(4$?|&q znemJ3P3eK!htW2XYx$I=zH*qaKiuKOqR=5%*Bh_ztsf^zK#q4CGCvpm(pjumnV@>Di@qL3pKrZ4r5bVWAYv?{#|`|HR1VPw;RPVzsimw#!uXrg5=*!N|$?v7dZLQym!GdM1b+$&*#?rB9%t zKiklxjrmup@gjT!xQER*0^oOI%rC<)s)cQRbg#Z~RtV3Uws!E#y!}4oj&Z8hs>s<}j)wji*;!3yj>p+Snpxb2#sQ-lS`;FD(Sk!>o zVcD)m!H`lUE`c+bh&96Xy^0;uW>!9xGa6bWznhfIMXbQc7Eds z1`tPyyDGf?(}Ysw6V4>`&|dH;Kc0zK|C>jlpVh}d`VWJ~-m+PBzaOzef+G2yx@=$e z#n;d>ft_Jl{}yctB+}&0)x28rL+b0`vLm-@lyMcjjO8v_O~j^%vNhEhThMDn^ENoA zahnG@q-k@!$4Ys*J5iMI(m~<4G8_49bd|^QOpY=x;9f*d$=C79RhB7F-!?}XoX!8^ zeIjYl?}mFbQB}ETdaxMD6*T-m_mISN&sm>}h40Y9YMQhQme<;6P=oDZC9oE|JYLU+Y83sh8RMD41Wc zg$!o(QP0eGb}V*=e6~#cg;fb8B8L@^4)V1}OxVCPzPd#jS{~h5^k2UF(mq~ z#4fY#rhQzadifbO?s6Zp_T_>0J2!L-Vi@OEy?>3le~AC&R-W$2<$Gj}s*L|0(lk>; zzbkhyAL#V@dj&0-MVx1H35WA5JUx;)piiv!Eu~j8<)K;i(fhe9*Z{ZZ{K(8pvcqqQ z)49EW0S|iozIX9@CAoj=2TQeD)T+{x9#rAkCyf z4~vfH%=BD;KJp[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
7NAFUBw^b8^R9REXGFv{v_AO<$YLsY$Sfh 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

iFXEb(0x3y|7@$MpEfNz219%h!rN$T#Z-6=z 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

s(%n)95 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

1%io^9Hpj3Xka;( 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

R1FsaWVqr$ajE4x@e*cN< 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%0A-HETE3kDR;Xx7>NPRn_l7 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�u6~hkp~skB^>X-QaB#Ka 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 z zaDX7#piE#yg?r0jNvaSD%Q>(-UNwyoDF4SN}4?^HDQwc(2v090AW z!;qrhjIhcJl3+tCV-*ZmHkKS%HP%U!mIQ5u&QQ`j?!rRM-}h&tZhHoi(K-@08WW8S z8$q&SE)zibetPt`;M;0BlvEkRAX`jcfp($i#s9c!jfrKpugv7@NitDe8{6Ym{ zQ1#Cm50dA+(J`Ynr0tH(9@Y@AR`nOfz1-KM<1VHaj=7zs@Gxnbuok>w6B7-38rKK)m_*JkHl&72#%yFWIBiz=X{j7agg6$5NkA z#4xQopkEs03077_5H0|09IBvlqVbWgCfc30ve8wBRvK{;PtsSN14jmbc%Aw7I2Aia zIH6P*I#E`~9Z^=yon+gjSdKeNi5+(#$|D4jS-~igL^7Bq%(X3rEQnUDx=IdPI!6ne zx+@DGJ6TTH_u+yHn=Vk;ErjupdJ`0L(%Slle*G$Z8J)>v55S{+c-aqg%K^AL1G>dZQ?p{}pGw?$`(vT);^~C(d_2hz|{a;Y#R8L57;p5#7ic z4vyUWmc+WCC{9_B9}-D&iMEU#LQM?|IDsLXLF*p#Lyrmf(CgnA=>LB03%D)@l`$BF zPMFnm$C0rPy&Pvv&O^2gcWr}E&{Xg4UPqeSae!$$?u02j?sk=ERfKA<3?hBUWPs5E z2^0J&LRJhXYO!~3>JYjL20CJz8tz*mvbu<4>eM^FdOx~_sh22Z;u|^#&9T~@GPvj| zMedj+J2K$jnQ3)*sDT}hM7`sGXk~ME09c|x!N;AbZMY+-=(sad?m#A$iMv7rL1slO z{NGFo>XUVnC{)U*h10NgT2dA^tv#P2zM)7RLbMAfE%DMZIL&as&B;C6e;27vGj#8B z{rpN&;~dLJWHF#JbW1Ra`?VLZz5In{m1&a-1v+%PFP?RkxpVg26J1F*|EM@P-^cux zhOd(w6*C3)x1=Gn$Y>%gtQ5hjlm)A=36`vYRW6KL994#94Xvb{4KCqRENlBMt5WE_JoGVf#{L|GRIg}JO63N*7a z>}Q&y6AT^jnXH1SF6flUU5p)1`4rOt;-O>B!#0>~!)%jsGyN?M8{1R8j#0ABuyM$& zoroidO+FIM>A+$!tPoDjf=DtQ*}HVS7lEwa7RS z*M%{CgV*XYvao!8GE zAB-m+%P5n=*@sl;LSpZxHz$nI0(#Z%1a3KNd!3(2GKEh4-B%qus-^a%Mvjr)g&qC1 zSL043mlP>86>_1Vk{#;9?gK}3mMd&WyL|LUnb48w&e1?V@}ped0V$j;;q6SVP3qBj zJPD)S&|K6pB<&rF+ru{5LX_fXdv2r@hj8wdCt8L-SNnGJ|mB*Y?@s~_BzB854o@T@cxIv z&}aYq+hmm3w8So+ZUDlU`;j;E8CGJ976#uWuw|E3l^tWt$^iq*gb6~@idDlEX4Z5X zR-%r=&O*QBd365vd7V&9T4&kbOT!i-H;(U{D>LJc;X2~v7)?|l&*aWra1io4?n1)H zot$J$2Ay{kS&lnJz~c@#vZ+MJ9Z*)s9h7ZxCn(Y8jz${X86Vy5kZN-jwTru?$M)%K z#xBJD!NNrX_i>YNZ`b<8m-o}Xu!xvyvPGz3-P6DSb7VgzZR_jL z2&UASkpJt-;pY6B|A_nN_7-A0BIiVuNq_RK{Cp~{Q3C0`lxO-xLsX2EJ1#Cr=b1}L zQ%LU)-P{3lojY$L3jnHo5Sf27sh#f4kO>ub#@ioe*ykSkBO;MRx{?BW1a$Z5Qf@&t{eoR9zXE!6snk8Z}*zfEDpl z#>G^02z)nO@0b9!*%Z-2wGExD6z&*FI?0`|*17Z4W{N889lS>FHR$nFbV{d3LxJMI zj>I#7958gUoef^vb-3rlNEcEUChmp%T7gNS4_bR~|9m-Kj6 zB)May&L@Lg1T5rK-ojp!WE?t#t2?)-(2{X*QjRhOLWIrpoREq-5*r!7p^-bu>L%N? zfBu!Ev~>h2pH0Hwa)+?vW!AwwCOCn6Y#z#{x_Y9opi!Q_1arG8B{u4tmEX zNu75v+CLN)VTQ}RPo!WScUx-X1$fdBOzE9BGQM4Z`*PdUH=}Jw1nqf3+o3b@l0$;? zycDfc@3AN3jv=3!f}Gw;o5&qt`#YkP(n!Kd?=ahUfZd)Uv>7^~8#}_SlaFCimP44* zJ48g%J0gAFDS?u98_omk-A?`+z=`OgGr@JcDWwK~#Bh@xX{ZYh7^35yFnPxj!w>ua z*(p!UCNW~LpF)l&1!QQEJEZelNM(d!Kgk}GatPuO5CZ@Q0764GFaQ8=bie8qaHVZE zs2#ofw%_{eF$7p*g8Y0F9QB3Pp6>fs z?~S~~>c9djfCEU7Chr+@01?Q;h!b7RX+x45U3C!(jja7%N;HvD_xs3ht64l;8`V^@ zn0$`XX4Wy{v8SO>MYEcKZI1d%_Gf06%y_y7P530ct*z~94{ZQJ+T?c43` zHg3g7LXr&IM%*Z~w&{JAut8jr%Xt^b%m^R_JrLC%aODC_0AieI4U04H>q`ouawuKY8Ep|KfHImrZ0_5UVOO zS^vnypK+>e##3dBi$(e4r%jO^&4t4*Zg;M&d*8leVdJoOY^&R=n;*zF!n-@Khi)w{ zZkzSXn{Ru#ZD?^dDPRZ(W9D(R#I`FTu5KIUJ+Bf#kN*^33VCh@-;a)~72F zH@zwM!ci*l*Dl#pyb79Y$5FEf+8kLver~MVAG5=t{#)3~zg63k%w_(siu*S_sJEH8 z5gI3qgDQ=gq=;Er9;ceBou^^3IPTu9R{%cKwz)9fi)+Vm&;Yc`L|n9Z;|%*)X*KQs z+Q<5@>nNychz)8-w9yfAG(8Gj9k(wUPvfEt7T|E7v<_sj;%WhHkhQzqxQb97Qq1wW zU#H}`aSHzAg8+0ui@!>>?r3+dR#;mHb@xOctr)fu=j6s zBYKq)q{KRXoAe`}_G`e&$djO}Ap z2Pd9)plL}}Xn}NJzbf)IX3IHPWn-CT8~Z1F7+s{kOwJA*Wno8XjRFbTXnm+0~+*(e2r}o~mVOXVcyQpA6EM-?0t5K@{ zWlF8^OJbMQUI1!&Qc8wRZJJPuUO&MnLvOkOTdW9fSUuQ@YB1_I&9GfRrEx@#?zX{6 z50}3j04tF^mc%mmR9U5t)jgfZRXg{VzIxq3rI7-yM!+9a+S*J#bXX}ZL6T)c@S2cQ zRaXTY3OZh`ufM%=8eV>Jm92^;QWs-`WM@pK7WbpE9vc^(&&?_KJXR#UmwNM2DSf$= z=VvrZy!lm1kT?6*df>=@;Cc%)t^p>sSO`Ic;#*ERw=1l*?Lb$51~!$(QyQf$UWR5K z`fuqE5+J?Yr2K8zy3kxD>Q%E&2l8T9LyGX08yjw$nr|z6_r!2rmM_7-;a?Se7rswI zyHzit+Z%V@yn5!%e>W{JZ>8}tPfEG< zGJwe6O9S}A3}~v1#&OFCbD`L8lo1ieBUAky|rqyt!KtZaPg?U{?)GUZ$4>=B zJY^eMAvUDyN+OOQs)>OU>K`*4c^ zn(;pwTHg4*fBe4@c9}65-^fw6<}c-6$@JHzSsK~+6oMw zi8TBy&}?bWY}-71wf5YRhS&j9GAe6T=ZL@$cHVOWGDweHm)fy^@qEXSqt}@-#{K z<*Y|E#6XF`wJAWbv!uF7wNq0PyfIe9Hg+DmC*2 z5u4^av&T)C2aj_#$z!?9(6QF$G|7|AGzVl;^zEROG!dHGE^`%av^m*F+m#-6xf*e> zCMrZFHq9ldn?MpfAEVaj<;5Stz2-K|mR3@Ukw0qFTY_x-76M9}Dq>kCLACxZ2{us+ z*tFn;hXklLKqbWD)0CIZ*%xc=x+73+ggFk{QFE^}$eiR$P1r)jK~SbP%bZc0X%5sT znbT@>%z?=!n`7E+bDC@}Ihzu-adBin>!#WibDAkWK(+Dn9<#+4A~uD4s5UGg>HMBX z2wy4wG_`!@V^huHB&-VbNNt!o1T4~5fKsBDia$+lhe|fZrHW@qygzpFhu!dov95+i zDEk!UQ#cW4@?OiKm7SR0nY``{$9E)tiIewd`?=0H0N8s9Ya|EOb=0tXH0wc<(C1h;!;wC5|3Lq)N z6_!)R7D!VDAS_H7$O3K32%%-lp@rI%)QQFxXH$jAEZH}dpY%o_O*llV?m5GM726Q6Zj=MR@fRh^{ z8e#!cJ}Pn_Msr+<86Gd2ige=?2$&M*5GeGAWKIGmCTt<%B`6D#bb>=aN>2Q3IA4C~ zoQ6Y|2z!r&CV!4|iGlNr)C8xK`6y}F{JKtN20EN3PL<3!k&tEnI6Y_iMC0c!qk)QY zmz)MR5W(${J`u2`juU){UpB^=pQPAA$q6w`>oj)cfGv-Z$Gy5=`d=+YW`HuGTlPu& z9BSn9OOXR$SrW!^(eFU6FDDa_EkvM35E?C$Zh)#J#&HV~YuWRxernB^));kFl}0#D z5zEJ2c4UlH4SZvEm*7(x0~;MGAmf4@d!AB#qxw}I#B8CK2&0e6#&5l09#ENov1QQn=%1AOc@%sOc`t# zHf47rA+W%dj0&u#3=3GM85gZhWn~%DzyOHO0f0&021=t@86eOZ1hC(CvZsGN(;1!k zVz;#%K*mKj9e3l8OjHrT+ZF2brM}PjQ&|Zs5;DI0-I(S)oD50mV|w#+GMJ%rhzaYD zchErPMlAH68?n9kbDmBHQFIB!gw7HsCTt<%KqxA|JQtGYsQmL>1eiwWCEif^#Io*h zvGhF~^Xzw-K;=d(UidlBM}sRmU*ZduMl7<}(#A&6M07;cZ&%g&*^5x=#IhG{h^24H zVi`*^ZahXT92Bzj9(rYK16yREzzY4#&I+T!2Wuj1>;ezM&A)osrmt!5x4R2=S*|j@ zs1hb~f(k5GOpqdzkCL2xmlRyj0ZgNBxLu z9D;2l-?{ePqzsU%+OOl?^4`0aXZ_GBsDzr*E9S_$CVuA94&oL=(y-^6c04Nc6)Eer zo*Aj@N?D($%nS93bjHYUkjx&K1%8I+xclI$4HI?+XkB0rdR-X@m!Owh;bzZ^XJz9*WUMmtPRO}jd-yUH^d8mlwxo}a$`57q#;{AhNX`0c zY*yZh+Fa(p&{se>6kG?o3kO+(Mln9~T9V2iAnYxTKWnJF!1=x0pU=1(?eAf&DXu|C z{vMFd7M2VfV%9XYi@fxgR8;2bFU&VzE2)z04*NW6?Va{4U$&EBvXN^h&8s0eB{~$F zzz@&U)59(Qumjn1?NPo7b^pHVOW}@RG1QF>r75)PmFTYzWY zS;$XQI);HQE{P0}r}1foFV@Un=r&THHH*$rkpb%Ew~ik{&iZRE7Rg;(r>#%fBLP2ffKvVtS_AYw)x%XR!zHPOCuPe`>FL`y{SICUImB$N&N z@;|4{)>C<-Ec||gsAI2g0OaC_|ReI$!;w+nb&JFHJlqxXh4dJCJ+xmun$NscG zN(~~3EPK+Z_{#Wv9?@b+{juIk2vZ8V8$el9mZHy7i37 zund$&g5M0yzqxN9yV8&Q(!Ke-pUHk7_ejtjByI=Iw^bYJTN*#z`Ig=1d(gJsYs=Lw z+pI55Ap|UR)(LSTyikza>oT^B4*N`TFRL#pYE@ZTR3iA!Ky$I=im3Mp3&#UGy+X!rJ_rBbF;b-&A zIV5bZEMV;OVPJE?E3+}z_`v%FJ#IsS`Jm{fY8CapTXSt~+`C~Z9R)2_t6b=~!kEzG zr*na22PxCEY5igKA$TmM1cIZw5$^cAjs*J{Q%LwXHFPpbj zrGJ8s{PCaim+TTC6_6{cNY8MJQ+d5QA$^8ByZw8s~tR2MocTCfOeLK@YWq^Y|lYsXK_sP+{E-sf}3 z(z$V6lB+qlv|L z;`NR5*R)z$Qg!(!tHZEcX=GbVOEh@_*Od))%PhNXngCB|(>C#Id0y4kO@|%t*>Rq# zOOmd}Px-1W|1M{Pf0#aNKf1r1D=hPVcpB!^OQuvfZd?GCmq6!FiyXrU(%<~j3?kg~x-E$#a@bv>+~xc}BJ#=@4B^gUW@YDpn@G^JD^G-X&IQe`H$7pPi81)eDuKnjP(Lv}d z!A$Q0`?Nf7uG{wlOq0(7^e{#Xn8(8gPUq_1>qiofQ9}j*_m(@3JtH}8jF54%0^0yi zGBgR9oSd-BoD~5K)>V0*MW|{_9rNu-9%*N;K)=zqNiN>W2M^ zo6;m*>urw-Y+BG|ljIOtZpt?vQ_9Ci9`v)6giVbqjx1$itDK!2SO0R%u&2^nPp2k-zgpkhSZciKWQB${+35{Zs=dMSs*N4xzjB-Sk6 zUusFk#znc2k;WPimdKGaG%j9f5G=lMiUaEb9PxlJ5q~g#0Duet&CI}EgArSM{=a+I zZF|;jA;Kn!XtJaScW^0Lwy)XMjUxdr8z)3u0HO_MF2ofAfKelW2%D%xK?#U(B3(iN zAPlf=gL8q(?)C@uDkB#+Vb?N4Gdw!Z)Jf_-YXR3-e8=M6IhOUrtx za*2O<{9tg*+o+pH?#++y_j>H_`?|6_Z}Ml;=e6EH@8Z*JE-c5rA3WazjB8|UTW4c4 zAJ1JepCn|u<)tN3gsCc)kv^q%1@Rh4N*`Aec`Q|t2)U?W5SNie#M^$*l9XEc~$eu?iSxHl> z*&M?>+S1v17;_R6qF=1EiEi@rr^$J3b%H9Ij?tTmrY+v$YvVQ|9p5now}k^&gF%gP zu<$Kk$ZPfYe)s546!O$`ts1%}=YCy%GeBM)Tq6x-IQiVTjk-gT4?^nxc6rw)N z@%yC-+G%8K<(297>2Lgx`vlz`e>O)-IaKwJ^#y!SKL=u*MrJQ#Cq5%xt`GIw$}alV$WmCy zhd|g?&VT;faqr!l&Bfi<>H$+WF%?b8NWCs8sp!j}L7D;58+U}H^p}5>B>}_cL{(y; zX3!cgr5Zr8o;K6~?Tg1&8!W2z&pz~GX}W2q9(oMQ^c;F0_a5<0VEYJ$RP|{}Qqrby zXZX8lJL(JU1I`}a;5W!Uc0G+1=n$gb8+A;{ZNvXO@ex&1G)*>|Q4be9he^Y2x9>fC zjP~{>T;A5a>*hnyyF~Wd>%NvAc+L|)`xBgnTeg<o>Lpp=&FIsG{`GrwDq z(%x5I7f5g19rCZ&XGy}pai5^))t(rV<8KVS;$mK!b9sA__zNtadp9Yc>>t(JE$%7E+VnX>`%cQw=V_9e^3r15np|%X+q}t` zj|o(I)xS5-w^5W2!(K&&**{pND}K`(Rdx~HN+p6|YogIjsX@_ehdr6`Sd`y=2YB<* zz@WKLUM$~(L6i3zY83g}-4lIH^PlfmqTzo%<9R%n`wM-^HVc5!LB`$+NEQL@ZmYE7 zia1?XwF`z5oxuBy^%72=2)O)G<^$Oo{qVO>2Y%}@2)f^NX@jJ#R$Esa=vJ8Vl0NMl zjJq8Vdux*`44+z=*p{L7`iCEpm)tk8j_}<*_gz*UW_4-XGIYmhZ!xUrrWG3RJ2Uu^XgTKGJ!M{eL>)Gqejo<0q@GzTlvvvj43+E|W|K3l$s{URX zalcFZWowhR;TEsao-E?{UrARIz`tGmKbjr)R>a+_++4)nEPEM(HPN7L>O4^Y!N~U* zG9IgGNngZ&pP6(Da;?nZ-KML5=$3VrmQS;4W|ev>3>&V298kyeri8=0Bm=|)X4}xf z`fY28-r#+ySuD$qZ9U}6GPOK)Bu1=@N2KMYb#${#%CgIA`R}gVGHY?d$C{w#Zi47Q1cxkkfqete;Kn0hiedIwOe&SSgu(2vb=5Hr;CuyooT{ zk}u3;;u2kJ#7~(9qQ?C=VX(m}sTVAoRrz(0$$wb$ZCYhuq68gqxp5_PtqtdsaZ}^K&U)3rT2*x5{ zpaJ^YQ4g9&?XCCkq`WuIfbv;y=fyuqk&^*EL$Jp>ILy-ZSbWU%TX$U1=9+5=zxA0^ z1C&ZG93dCuHqv3e?{%M_FQ=|V-y$0r+t7~W>(9siy^(n{6W`1~_Khzy&fDvM|1g8j zb|uhAYN|z-g30B5b=_@$OpopV`u{#REtW(rN{d+ z*8;5cNDs@N6?Ekhf%V74)`tzDbjvkQvBxPdO@}ovnHk26xhdp(H!?R;E)o*`Z9e-- zhuzlh?9i+^QO0@|<0N`=nQ&^U=9gc>#=ej*<7I_d1K z2b#rNr0UBpL)3FAE|=FyQRoI7WE3zaJwx3++C6)fVQzqIH-;M_CiO~fRx)~{J@dv{tF^f|k!8BLMeEhw6y>pK+U^{B9sl#YDl^;5 zW#Y9ThH?NP)qd(p)xfkB`mtCfq?!DYR=x>QB&mcO-|#)BKZzv#Nm;~=3%ae1$IkBO z_-(!I(9g))ciB(1m?!ATKwtyeuTH+vC`g&hYv>_qB_|wD)zctH2F3)+Lic-wB0S&u ze#Qb492gC3P6wpS8sIVwnA-@=)w}T$%4I4{+Ok_?|DJVk zy(3ZD7$-*A7k>;vA_#8aW?LG-3BF?|O;I04nFrIc+g#XPjOZGI?(wqDn&i56j^2%x z@`dP2ODh&2<*l{We$aTZc9TM>&tZJJHul zIc7IxTWUni7@cp1rC!Cb%PZYO`6-S+6&+f-Ep6b)(;>6Cpd+zrrmCoaV8O0nxVDQQ zn2|9Ajz(v-#blfG5M*THie}krX?*CT!7w#T&~p~&14CaX*__b;6-PcgZDZkqxfz9? zd@whzlSiL`Im1a04WVYDZntAI}6Q49Ap9gW+I-&%o zJoHz>;I+wlCi_aW6mL~FrIRh(utk=z^^&TzJb1JXN2(Y+RT>@-+6Hk{6Q3|6g9p;s z2%;nLqEZ$U;m@fHj>OQq`h z-JzaPJ$pnmiO*u`9>6ILn&2wU5I08EjYsx8kX2hTAUJM3jBq&(IX>6DOqD83b?K>+ zRKO~fP^1*Xh|?u>nu>bT&T&2^7A+N7p;BUmDIUjD%3PdclFBdy zNQD^6=A|c^u0xfSh$9MN^o^4m2Fce3H9$IiB<<9CyLKs<~PpyH?sF=XtzQmRorPFD!J1gZ!_XH=Xa`kyL;5N&qVQw@uI zr{aaCP&yK-TSL)MC^@EL4P~`g1070Efv75NkZteArdsg)vsF|mo{v@y1G&;Fm8WhD zs{M~mamxlqw&eq4izh0Dk1Ic3D#69zLP^!Agbq__Ph34t+{`u9H*U5ks^ipb2fy5`lS-p6o_*andeF4frP?2=>CmFw zAgWf6+cb+4i}pnWQFVu2k&9D^GIpK&&1xdnY8Ql(Ts+~7TTN~+0>!4?N{R%Uj4;?k zS(HSoZSf{$jh(#$T2l~)$f#jMR`JoO0X%?E9(ztv*{6j)G78K0Y*8gFyQFv(N#`oY zK&v12Y7>*KYu6GKe5z#Yz>LQlB=CUk4bBHLtcg@YoloUF!opreX?kqvgm{-Y8W`9% z28eo#j$Qts+a>V>GjfK2`p3i`pu4APRBIhH7CoXVCa?n-=T=w@4d7woJ&@j0HY#Dy zoIwk#o{Zag7}w7lxE_g#UAQ-iD&=L(QcY}Jtq?PkH-%1OO-prXXfZL73^kKOhAXKR z{0iln3vmhomEhnDHJuZW}k_wrm4+|flleHWMeYPxCGB0rw&ty8chTn8psVV>lDJ7 z4`}fSp{MY(k<@7lp{hjOSp%i%Xu>uZ^}va=l9LH*J-{+o107abm7flAqiG071K8wR zXcEYVc46NpR5+DX4S_bGMkY-Wo7iEIIIR%p2*v|oVIY`VNw9LBST-vgY@-Mdfg5Ry zvl z&WAW6g$M9Oq83=#N=r|6IwD~RO>hUUXos*(g$F9ZP=#{wKrm3_-;K*1$x&_M3U`aN(FrFm&0}6IcO_)Zvtz z!7&&D5?m3ZDhwWoAt3IJz_ydqqU1P^;s=&jN&vB_P*R}d0EXb|3~kfVfm%9F>oA4@ z>i}pVcC++M+-h5}*OdcW9l{*ndJ-iQSo&Kv6Y4$JHPAv_#Ts-TISuMQHDCf;t{7qZG=S>lNgy;$3>z7O$@U)?7HH1fR2DqA>1*(C*bbrpoZnl$w z+QZUDWZ)3Su2NLSfrhY>T2l(k*CdlEK^LwX4fTy%H0@gkVI-{quXo>l&s1*o5;d=? zj7HiJ@BiC^h%IA{c!tMXXc)g>IFyBF zajb`iBNKcYu^wrTZ{i9O&Tjr7F_W>K&>&$Od&$~4%qtmoZR60105pb+XBVQelCiUC z=8I@b<9*X4)+4&fLsoV^vzGv*c#+8_9hVrXq8p#hY^Xn2Hql%e_1?5plN9zK27Wo&2ERqZiqb15F_Bzoy0kF zG~90(3A-I-n;}$QN>hK zjhO*H;XzpPTohi!qG=c%*g0Z`aL+DSD=tAgfMG;DlA+X^JKVXB;-uu9a8!t)h`F_< z`Zh#Uxalak10y*EvBho*cFqWk+{AxaF>>)V_Y%fH=}kr6ayu>_U`Fhwt^E-eyqN`- zco!D6!oo{hGWQS=1ONp9LQ_O0004h=UC9bOUC32-MUrVs-NfN)lr3c1g{>=FHyw z18)@8VIGYv(X!X$0c&8L9rr-!Krb(EbW)=`d}BMPKshRN0O`Qxa^7p`RNkA%hE>(> ztw$i$s@u9pAVsJ>$zyvGHLLh603rqeG&4{%M*zEf_HB3DzkS>G+;Wr2F6p;SH!@Nq zMJg!mExC>Jila1p!QmeD-MOCR!&v8;{Xwn%pdG4$u))MV4_49z|LV-K*+C*D-Ztujw z&cmpy#!|xC+SgtC=pEPqX>E$G9PB)dXgd}eogMSmmeyEF)?X{VOH1gf*jB7-)oi|A zUB}gR-pgqRhxEI14wZWLUAwm*G`x7egZ1^JRmFm#`XFc z4bN4FvaiLy%Bmf|ENrxvt)bSn^H;Q*36nbetfwwP9+u3LaDr_Vc>eJ~ZCDqLFe9Vw zXRQinOB=0Jt!=^%6U%Fc7>A;W?w2f)R1k5hn>OL#?Bo$6a)-($u`=BJt5AMwXXo& z*rxp4y5y**uCt}qeX-lpDOg==VPmBwj$x!ESSml!8CsIlULAsTG@EZ-@ zeyt7SKs4IVj@4Fi>*VVBq3a1FyMw6ZA7j?ecU)Dt|NGtqGj{mNEg6upfeZ6)i5oN8 zTp+}!1DABIK|%~N*rXDz6Nov#kuDhbwCMG;epIsJ;fhsL)6b;1W7B;mFap%t zjxapgX?g@bq#B8zA17CbFo*;L(NIWDD11tSbcMLeP|$!#A}a7}D(Mt9I`-wduM$7kTvQ#_WpLfPD_NlVNu<2K+! z*dr!)MZN8-#TJv+{rtK{f*u|)4Fh4a5bJhW@7Ksm1_`wts`}xI4}m&LiMtY)gts`9 zQ|2)e>hLu|9i$~ysr*%+nwl<`)HI3EQhb9+LhQ9+hN!#4skL_)qjrZyZD$n&c!#Ua zmiU)7VOex*AKGi=h@N(6Lw)yh@E1!Dl=l5_~ zk80fhR{3A$yE2Qtg}~2b%na&Me5!>ebA4mX3f6^--VgmASpL(}Y0(|4U1_B`{_)bk z2X-YjAr5@h~)XNqO-1HCzeF43=ucr4oCM~o|6=TuxBINP*OQ~+sx8Frcgcv z2#e{sbGUYF4k(foN*c}T$SXhAmZM76!vZ>rbIr8=?dt`9>wd9Q+#pm{oE-K8xE1=2 zda0a`dK6^E$5Oflajoc_GxE4rNkWWJN(ha-B}DjHOnB2PdfYIqY@si_ngFQBIHrU| zlQVaiL57ZlD-|jUYDz7-J1xqH2B>ixi=S8+)OWdd9tKNeNE5cUNV$BCP8R<5jZCr? z#j#f%>9CA-F~Zw0em|QJ59?y$3$09~8u;v3&ln)bnhJ=B$5Cq-onempb8v7UKQq(G zpZ$4#p2UW=u2n({dR^^-i_jRNk%45tX2ss%ZXa({AHlPH=Bg63yEwvFTg6P8=@d9HT7>X43lQBmW4aj#qYB)4wNwpKf<*lke(Y1Z>G21KF zk@=Mq<=rdbTkS69+ZyuC=b*>y(V&XSxdTknyL6LZniDoGN6A=m8+SQUBY!H|5&8#b zvW87}#dCmhXb7+Uk({+|NqDI^5tq#9#x~>)jy+$RqF=@ow}lo4nOHSX`@*9T!+c_d z+f3m6gGQu%%*%8LZ8F4C+lyDHzFV1-vzW53U4MRco%79HCQUTg2)l1V$E1ve28dc4 zSU^5^Q*&V-Mu&&|BYYetAmVJpQEdWIp2(qix_Gkh^@OlYj}#)h?7EpIMUA?Pa~hV8cL?S>ubOMp3O#J zGtO&X39+}fAR=KUBDe2{TU}*-w5I37bYxsA&(TGeAGj{P;M0N_oP+raoS!sbm` ziJeaEe4doWt7Av~heLle&q?r~G@ET6UpjG-qAEFtlGIv(v2xJ!FQKIS2K#tJoS( z6}RJMaa!J2i#39!#Q}L@475`mnD;SJKG!>Uphu26QL8!7)27{Nc^!z@pA+R;>@2TV zOIgiV`h)M#&Xs8@st!7(nwH0%Bwo-gVsUWWK2dWk&(3UU)~wp=+O^@|-!pyjC6yah zgRbCEJng9?)XsEj^t5Nx=w~`KeI7dsBaKh0G5X3-`KC|RAw0fHLgzo91@yh<*A6b+ zi(Y?QgXtAbm7;5_5+c^1E_hhlYp;eu=V~t9=6{P-zB0>~f0F#d*YsaAyqZG(2)tTM zXxU4l>#lVuP{_^Pg{*6_UkfyAViZvHLMHv8Mva->b@ z_O1t=eGl@!#-B?rU*n-`8Sa6jXR9kg(_7V56i_vzas*HC`Z^Blb%tMy($t9M3X0Zw z^KW#BHny!Z#hNwyp=m|B(jYoH1GDDn%XCYjD1yx9JL*?Yfx#X;U*P*7N7&w0LU{<;36 zwX^EJCB{%#aD&DFz^=JrBpi34PvB`w2t9VjwD)=grVDR~tXYDH)b&N}PwJIaRrAg4 ztrqGlO5#-c4edwRS&hF;sJW)6*09t3F4Cfxwxr9Cy3k#1K!j8)Ygbp+oXh=uC)$Tz zSJ9H|TG-ZA>(~{w-21A}y!`4Qqg6G#YupV5+0rH5%%xhV5f;?Y=zmRD#kYc;xYm{J z;C?*Yt4TJulS48zn;ozxosI`D=jaml$G%Q+o_?MDLJVEMw}1H0XI8t;Q9DTb{XHsRa?*BB+3VC$ibEo%WG%fc)v?|6Vw0(G z7}>ertsijj(91_|vY^jO{&7Ex(Vx2Am$_XaxNaAzEe25kW-!TPY(ys|f8nZCzxn?y2I>gDtB<=i^iE z%^PhqC7He^Dq#NkJVKF5+@doP`RA@(!dpH0{Qp&Cm<+6(2_;|jT57^GPW+*`q|qnm z(iFfQd*f|3Yhhyb^fl`-DK8$Gw#M+rVk8+N{xMCpPZqB#K#{mxF9sD|taT#6)SKS2 z(H&)_-{6ns6FU#)6?-`%Hr4=>Et=MX0hkK;FXP6K+2YV8Aw^(qa<8>J(N?0bZ~TJw{P7w;!FB?JuvE!| z*O3J`b4@>lSB~JP+p&Ksrrzjpvh(wyt;OX%MEV?f_#zw-sUt$TEWK0b;Gu4Xp6j*{ zy6zE|h!^2W{AX9kA<;X)o!X(?hxq9Ebw&>Jn(lIU$ml&2I`c~lM!WvWW{uq0JpmZ> zod&D;C#VFR#+#RQ1Iq&N%)MLw>&Jq0d;D~!;yCw4Jyh?@_NKqc&0`((w^m-@(KBum z-{O7Tz)1`RSlBPRPLl_Ge{J8y0)>u$sNIu4jyo&i8;iVK3r{V(KC7(lT=Mu)vrgFL zE#U`$7d?7OkQ0I7-J!_2aE<-}AoEY?{L4r7vjN6yRsrjbIk0i*zKyp=g_u<%LEspsNAJ53vOqC@2;FUO}k3tj}B6QT0CjQrp&4RHnrjJOwT2C)W zxp+iAZf-whU(-VqS5P&+-gXZ%csRq4Eq_ZR-?$LWq1`Mx>4QPiBO~~i(Xoq1A;0U( zTZ!dY?dXYaer>Nm^#S=goX6oIugOAy_<$$t%Ap4J``;Yi2^)-DD+eRK4Q;*i1(W!w4nd(=C5S2>;D*Yi)XA@MAEX5D`cCcqg@zP`BxRn4G{X z?BY|JrL%uJ9{^kc4-<*?q+Mb=@U!|2yC(KluioED3Y!Std-HgAdOx^h8B8HpuoT&v z3ke2;eyGw=>+Z-25(E0u7S`Z6a2GU4N*eD*zH-j^C+`>jccpJm?wqOOY&=G!S9WzK zm2bn3iXVlgZH*=K!R(hN*-KBp8mb)(&y9;q7$4frF+3V-w4^ZF0I2Ge#vsg9@1B#g8XAOg-4)j0x@p8j^KELt& ze`YNy{5>qN1Ft1WZP3rp8RloD^B{u*!rM>e9?8a${-$wq=Qi=A=PmH0=OnD8Bj=+k zv5}HHIRGaYAGvLs2O{bDEfPr2){H`Wc7@ZYoRkWruUvj;=lJ94@jcER?itg2Jc;Ml zuum&Z`rN29PXPB8UMAQKE10@cN3uH*xU@}>jt1ZyKP0$?0M4M^XW&w zYSdC)cP?p|vbTwxA5IZ zH$>PINgYq!DSH$eoH#wlsp#bj{eIc`_#E*>uPFRsY<%d3h-_^tf302e4*qJ+V-LP3 z*}38gu|J$Y2z}PpwtT-kYA<%S=s$bOPCTEHYmvz>T$aoYllT0Ge-8pz;e)k(JpIex zlUsr0W%n$e%WYPhueKc8u5siS$-nw{?MawM4E5A=YCoR;BHev)`m`{RbiEW`qs}&_?j}_UviS2`fKu-;&j&DhR1EuBX-jcfXE1L zR-{@Rt&EhjV|;xGVeK$X8s-Q~BYUe}%Cwpd^Z> zHzysn`P4ht^t${gO7w@I(6-%a?`_l!V|fRx%kifOoxbz1~)ubQB-j0lS(egf1ywI!S^%h3#|*K8uj84JJoz0aVHxP)v%@KYfV* z+@Oy=I_|K^%n1WBVl4HyHP#w1BdG0H{nihbhhNNpi1|&&>*TDgOW3mcXje7O=MBxb z>7L`*>US!*)Y+DNfBGgOSQu#JZH?DJ@L>Vb<^~z(9aBbHUtIm>HGgvKtOzyO^-mxUV-Dj*EQF7%9_OHxV)^<=)*e%jm43XRl8 zbBOzu59A)@6wh`b*Lg^ZS&2kbK3j-T#dlWHU`ONbb3T8mIjU)@Y3}sGKCS+82K6~% z&|2tPno#~u&MxF%W|2QbOSLlv0N`ZZH~Q9B=(mMvD;-dZ@=2P2zX7kzXu^>bwY*U6 z3{bh$J(yuph=Mp)`A_?dm0jN^mpkR)g8!a!n~mJ?%W-Mbquk_Z?D`WkvXql)x1tm~ z3-wfh+Z+Dy;4MnCT)NW@RFM!+PyUPLXSdvPBN{B~oVhP`HY_s!rAr zDl>>Ww-l~h?z?-dJ8hU&H1lzlBCx5r_4w>WRLxMAYVuO_`9*-IelM%En+P zXNV)MYGkc^MD1+i=2Hl>v75VTaHS^jLg)wNErL`M`8FaOM(9quxsyZYm0K{FsbJxN zec*4%gW9mrc33f$cW}-P`><_M@EKV&HeW*9 zXu`*l?@Fk0%aauLYXKKUA=8F|w!?~%w%?JYn)!i(EkYU5o9q-+MFdk!T!*xjiuYc*|>DBJm+N0jXKuBxMa$(`V+;%BI z%$dw+wisj4uhaw#pACbSxg$b{3E6ne?;SQDwR%NHK4TtEaTXcj9lT~ctm@4Cp}f|B z|1&PR4N;f9Jx_M$9?b@Avciqqs^6}C^F!EXrZ~LH(^L&gw?G&| zz9xAQ>8d0W<0_p>T=h{TGz0(5`K!X}@oYSRW#-7SYdlTuyuzSENi-e_?tvsZ1ZvQ# ziOPk~4zd*ZEYv!<)F*Ql|HvR~<`17lUx+ANh?C{Y0Afg@9;2$N0*?{LA1Ok!VyNMw zr!?qfxvkwY;Tk!A($eymBs0JtK5^t)IBcv3sN1k?n}g*b)RUJ)Y@-9#c64ysZg#8h z%R!5KxK;uwU0aDdE?^#n2&T!D+$00ykvT*GJrf0z00$bOkQG&#iYDuDEAV@xGo%dY zBM0H*s85APUFn*xs`#pe6&}KprgUks#xPQ#j8lM$BwA#U;0YE@lMG_OuKUfDvrLpl z=9-ZYN+{8dvT<`&lo?RbL@L9O1wbLl1){KaQShHpe3qRk=ZTf zVErl0W_Jp+hid~kr2gI6rByqcdTpF6-qqHh#8ial4*Z#s!ons8mpjDdr+AqSy+lr zd&tUlTnH=-iEw$Z@dg4|XCEp$^?#cTC*9=mN-oXUCAlt?mYIGKzzA1wrcD({Rg4g- zYf_|d^K{~Vvv|eBO1^Bt<93*I)?p7;+o(%`#CRCg_H{FxuK`cfRYW4=A@dbL&q-q} zaT#F<6-cu87zJoEn{ZkQj_r+Qg=R=n>z?)mF$S75$tXyGQJ#saAnT!Gs*8k(BA^{U zgBc!X$-OZ{ zO{&T}DKbl-Cy0>AQ_+v{jQAPK6YHrLtui6JJU_)oC=O9l(#tt$WJu+xc4d!ENU|jb z%R>l0$Z@~4&EVVY3T1U73tFK%- z?2ro>xbUdon*)^?ZPWs77;l?WEPTrbktSkgvZq{QiZNNSBvh1IU{mn#Ut(q%6Bm}M z3R$NrokI|}VYM4X7~5f@R<^@+t94?kr?X7ItF^^Sx{XcfAHC+^$XBCN+^vB+t@^Dq z)=KGG*Jod~TEm`C1Pv=|vfIGIlGes>hk3sgT;n6zVTI!*pQJdXrsjn}Yi*JAVS;BF zCDw+v8w>B?Hdy>5N@fXg7ute|dL3<9`g0#&?XQ*f+NXZI6@*`g zoip?z7#N6ZZL`07DWE%;^(jO98&>-By?)r=lwr@I{m1zs8eu_QwgIHWpfS0fdG?Gc zSG5|1m`!kOoS1si0oyQPnHarx*m2f}kyULA=Q}@irfNq*flz`dN87N_BAwhtl>C@c z7%v4w2~E~YF(BMlh@c3fAPR}-Uk3PhSv7GSPV&{6)X$lRLblQE%Mjun_MEk0fK}UC zxkTr}^U=_~C;SxnfM_xBBW$v&Ydd+D5AiX$U_sM}K>%vE#ZW}V6^p3|X1P|A_)9-- zvg0M2nycbdP3}!noK;pIYL2wsCgkTb>}UMZ#i~eC1vDa}%pM64VV;PUc!3F`Zplu4 zk;*HZc&X|c&U(8tjH+&KxvHO}so~9@Cc;i>rd#2eq&jAbfQe`s67eS_0J4lIAbdu{ zQo?77jtr-*&j%B`5Y(!lc_f3-RN=ZsCN%<ElRY%TW+>Ji9RRo5ZekzsJ>=?b=jxsr?hxKpZa)H7K_cbOeOD(rtm2iD*!|s2bv| z@>0d58jKj9VaAt$BEQP-6;ly$RKL4SRiEQ3f#Y6GJZY}XXone$b@QngtWUtGR22cp z4OQ~51Ql7^6n*rrKj+MWQQ8X`Dbif7*90-0{U!nnQ-XenA{LP$0zj@z4^eTyO|oC2 zmU>~WqyYh+Tt&;x$dA7w;EPRB{E-d1Oc+motc1A^;wH z5`%i`?~=T4oD&gntV`oC&{MrZ7MP2`&qs^VLISJ^WGFT#cb3_jai>*10mF<#{b8 z>o|ze)?EByeN5(91b>E9#E?{qiZpwlF4BHe>(*8#O7vEdf*gQ_GGax91pHMH{HBb& zB9aV>BYTQ2G}fILs&CX4=V~uyrOR^}LR}LoAQpHOK|oi)$iI)$@X9P-K2cF-Pe+B~ zPR)rGWh+dy>X+J^9~|GAy%_|u5=lX?1;hkh$zEn5V&>q#Nak0%o5xG+0oB zYkM7p7)q$XeNj>OPgv-{z~y(L5yG(LlkjJxe5Vm~`-muk zv8sWBDBjA3l9CWWMMMEq(w@sEQV)cL@FW7>6P_Xq&E2M~nK#R4TI@IgOr7dz#1YX~ z7PLIxAP9I2BABVY9Har0fn-oW$tmPN5Q=y-d#5N`xD$sd!YGV`gq|x9T4<$t1VB-T z94@)CAwUX5q={&XbdkDGQG{kN?rItaWZufhlA)jppL2BCgf?D-g2o-+i+kyjFmcr<%6Em4Ovfoa-XSqw#&6ju_m ziV>G&lmH3913~-LLNjrr#?VhcMAS!J{%XO?QUrwr(VvPDv!G(gcpxLT zOi~~jaR+o(kD=mbPt%1sRMe?c*68F-Edmq}_gfiILXf02e2qcEB z0jkU-N)owNJ}19r(OaHG!bR{sMH8CfxwU{aFs-Z}>8!laU_}wXj);InnS9R!T!E4S zhbj*2DW=e)Fr82Zpk)-Eq7qtJLY4~{k_>6yF#uT%w80L)c@~2yD$wj`xr~Wk1R%~@ zMu{dSa!savP<9GaZZ#P_Qv`ER#1*ULS5s7>*~oaZUca!szfdxil?07cR_q+O8wenx zE5@t@H^)VCB6?INYTm@XQP6PHq0n6mUlzZBp!16| z*2SxwMHWttck42GLXIpBc1QO_FEpZ4$Z20nxDZv@OpHEt{29d((Q6(#AdxjK6ldPD6dmJL7K)X_-JUBFS|UPRNTtP- z9RXRmuCv3xAV9IKAmSbDDYeieIr>u-{px3bGnLe_w~-0*42;kUk(DGXB4Ca1F9XnC z4Mj{qT?RlZTI?yh&>VK4ag$S&!`dj3r4AjL>SNlDj*0dW6eNtvXI6?=*=G*HC>qodaEF*`>A z3$lzWj*=zseR3uIEbAi7KZ$~flmQ+^MVdV;6*7!pu3A(zT)8<4J<&2@XSHIM$k7?m zPRA5RT}macLaw36xJ!`srL)+@isNo+Or@cDWy{_w8wi*NBB^IY94wN8ikk|w^*I1f zTE(_joR&5hbQ9??);%x~g}E}J`0LiiQovRIJ2jWLhSJ|gi!D7iFS^I88ShVEtJVbJh}l1lMViJon!@A5~gSd@h(~G zV?{|L!-k#6YEe~mlm;3DQ6<#A=TJnpB+xk1pf&tB3sy(;qlFI@}-MT}|+LhXN!(IYO>?|J~4@EOc>D-0Dj-i-E;dlcl__R%$8dnTP=6Y{>PGb zBqLcTcB3EI@E-jpUw|=AAp!x!1q3kQ(g+X;K!gai3l~hfNYX{bFBTD6E0vwLm#WOV z;(EC`_u-s-$KOnwOR%!PPMA4U>AgC0I~8!Ar%)93w><4><1XC}(O0_t=Gvh;3R-F^ zswzqbt&WnhgLMbi!J8GWP^fVbg)r%1rgt)q)VjAn$A*z+?Y0ad}8b-8K_5k4Chlz~b44TkTcCW;TmNA~bZ8VIh> z=zbWnkiWB~pyi}7&HIW(C=BEp+kZsKvS%VwO})W( zcIp;&7V4K)b>RyI8LANmsB(%)m<178k1jA^^;~0?s$bmssLxts$*W_H-M|u-bec8w zbWwFKgFy6yv9w;8F@-(-;IZsgA3PKu32G=!m3GMHqV%>cO=W$ZuxD*u?D~NH)zeDk zy+i!8&D?FMxna&1>T1>cA)T{#_op3LanQHX%aQarhuX}H)j{_bOcJPkBBfm_3a9|E z2t~$Ady(^SXg0>1diE4uu^nwGU7idsnl**>R-!(?vUE%yJ~8Ji47}rbNk=L*Fgztm4-M)ft8Lwq1Xh*Rz7L^8o`N!i08ZBbT*zN(PH*s&L-EJir$*Z;Q z8QK+DQL86Gh9VKgXAN=qTUMnBBjn+f$XbK0&&=nf)2FBmI@R<~mSf|*eir{yc4HAc zXDZ7)K4spgg@&X$Z6XH$#tEmg9001V349boQ6mt(lAuytRiY~bh{iZWIWk+6*>Lcn zcN`4qo37%otWUiMV|ec9P`4=3P_N>Uu}RNb@}HI}^;Im#mnj%po1U@A#)vK&d6-YQ1@2i6xFVWxPCZ+hKjGlJ=-}Q9z zogJ?V=N56Ro@V(K*v{J5=<3|;X z%z(QQA;g^(mDcN|h7>|=W=LuT1n!IxCY=t?e`mdjIfAYPbjVoQW}4ZQ!KcorXgpGy z&Mv9*4yd*QOWS#pS-Ze_cX&qb6tCL4-$;48^^*s!r99Z0po87Z%Gj--JnM%Kb`Ue& z8qI?a1YozK@~t5}*d3+8ZsO$Z)=(a9J>|h`X%BWLDPXt8c0lBWtdqDFk7{ zM>O})_@t_y;9~#^rfJN*LL6@EZEas2S#{frChd%P9`)>oF0Ydx5xAsn5vjX!^If`H zdrz}Q{QqOJ57DDk(VhDtB?#KkGNhg7(lm5Ov}a~{vz@*x3LRY^P1^qFGgrg$?QcI$ zCf~L%L)|loi=7U&sk&P{4Ot)8*jdn4D|Nlo-rm(V5ExE9bNasG-#_q9&5;?z>=VGB z_?nhxh6Lg$KcTjV4HP!z5Ny=-XHN*t+io_WrcXCTNxMB8#rM-K&nrEq_*}R3w=Cvi z47N4p*4Uc@!hc|LFghTcxIN&S$*)NT*d~W3IlVmOMuYLcp`Y%RG#2VUBCaD){H^QL1A*pk8mc=FI`c?St7<_TSTot<%bfV$pRRVRc{WoHTb^ z&Vm0!+X{*bH~HBZ7S*r%gG4`eIdW~Gr*pFwS90d+O6#C|(+iVOZRI6G}OvdS!@n4hAosUy3LIWAYTJGnd2XSIE7J_x5;|HLCjy1o(*KweHKNb=b7- zRY$q+e&S^FUaY6ykHVtv+LrDI9h+;sC(|alrX)WBAU~g7ZMl=T9bl5~+{+8;50`y$ z>kn@|b%j0inAD{ceP{j8@_&)URj^tH;s5DeiQR}CxuGPRc1azaua2TPLW~Ou*%i9Q z&x-K6tup`sQtDw{&Q~$^5O>uV$x4?utBC%Edi~Houm(Pvbm{64AJ1$8@<% zH?O7zifVdF&3WsOv%8nIC;iZF4LzZiRa-?yjkc0A`?cEVXl3d*TDb;biMc5p+tp<> zZ^J7(!fzTC?BmjWu0vw3i|*F3jher6xjAGvGczIeWats_Q;xn>f9xw7b!hC9V2Y^d zSN5-+*_r*WlhICDSLgY00DOWWN0oq%wQ0+G-P8E5dw#?#2HuNw+xPeT@Q5kOUBX_P zel6})6wp=n@>ZvI))Qz>1r5xR(;xbJvwL1Vc!KpicIdA;Gm@Sw<#m69rUQyw?YSl# z<#Rdlhd-YSVmAldBKMHldwa?#z7;h`i#@%o473U=;9m?w!i+Phe?vIy7kIgjW2~;# zt(QY%46}T`MCzazcYnwUGh>&8d?c^c_4n#dcUWC8BhUZtq6u5C=%M1yPK?;BLacF^ z`zg;K+_r%A1;r61g;2hO zo~8Oaqk%5~*EBlhe460ALvI|-W-pvq1%2&$L`uv@W{$CB!6INW8MS^xxyEC1q=heF zx!w3HXyF_ciA%oGEfU=xcK#LfXg;#{a8k0IBFo|l45~rOUj7hxL;K5TOvHL>chGpIYTY4>g_S;saegn`I^i|F2o4lwdAQXW51obGdhY03TY4ia3z}X? zI-id5#B8P*5qXvz$J>96*rIFW87D;f#IW7`mvQRnK7^eV|Ik|QV!AiOfq^eW0hc-} zhRn`7br6o`R^e%Gi>YRjaLI8zJjwp^)o=*?4!a{;)PD$k%0EZjVV!om-h?t)%>bRb z%gI&^{xfj^cY8mB0SHnjtDL691naPdFTDrq3iEe9UPwQV3!U94Mtza*s(W%z+>1o~ z^g;g%)#m**?I%$di^UB%ub%*c#6gSc@j%Zn?GgDg-gP{7|M!f}%D403jhn*{oVyR3 z4eUK}>`|PF_snO!v44F!3vCU|&=IDfEbq8StdvicuEY!n~vJSpVQh99=_`#I0?_KL`CG z3(6b2P?PUCFPSqD$YF1^xVPhb_zjClPhWMu)|Z^-T?%)*`gb30t-u>$2lkxmbrVPZ zwf>T5ZyO(1_CvGh-kU40rYhGuzJz8t@*QSU>S)sV%wTA_nun`T>2SP7z`sLHIZCSB z*84$m=C7cO2QssrneQv0w?*#*h~)TQuHX)Lto){2!+W<|kKkJln-Jdm^3d;mAG~7; zOd%JqRI&{p5(0xAXbt{x+iqAFK9BZZ?G)qh0s;x7`8T|gb))>9JOAHp7rAp&p3I#l zHBrVhrIRaLdCRt^U@72YUdmg#WF(Y2?n_;M@@Q!63`%YqL`XOiwNn@i+M@PRaNQVb zpoauRgFfS!K!WiXdhVNCv1}%JN2*jp#Ko+cir!`tC`49+C@iV+gAU z9a52@zyEi0DJacg(g^wy0P|HZe?>;AOMBvH-Ta+B^I-1KZdXEGBf7v_DEgAX6t zN;Td)RiF-wP20e&6xv6+2xhJb<^3s8NsnZm{QHY-gNk;JTuh6nkS(}kQ|3TTh)et}QNjCaFkm|r?1 zPDuGaoixF5-_GeZpe$`s?&e9nr#5i$-{)CJH}%QxqA2y1H^CIUfVdr15 zbkaYXb(~tS_Ea6Qaz@Frdc8O_M&%lq1b_WCu+{5}FVz}lF|AxFR$n{(+^_oS&kk*0 z=G6DBl&8mDI*ouGesN{=F@I+91c!N0b`4$6yshB}f1zFO=4+GGIJD|f(3f?8vv)z& z(g2Uo4i>+T`8G9L<{rIw-qO@VpPe5)W-}$XSi#&gd-}LDn zZ*lB|6#Wps?f0DiBOnUr#e#>BuPr>GM{iR=c8_nkHtVeb?8Sx$Y-$q_(a@?b;TJJfD#fbm2!pW50zM{|1 z05a(pXH?CKOxF6~*4#Ananoe+lz4nT^mbwcgR2tquEd9B0bw^|piK_ByR+}X0prmh zU@Pb2@dtHHhkUJ~-ShfQwR^51@6Wy~z&V5?M> z3z8*ZQA8xVf}#rOp_dmYTff`);NhLN9#*T=x2mU^!Re}>kogpW^Y9>vi#%aPot5So z(rXY}%OVC6<4oYRVL)>x%v=u%K36)AHIwhqcj&pux^8R=`6#Lv!zq8G1)KsN#u7>C za(6uMh_>)9wB36DwqE0=?aK!Q?0HJ1Z7Ej91*AZTS@1UaD>mJ86E}cC$p18@3x(vC zY=3yK-v)aUbK6(!{Q=Vx?)_71dGRh+{s0W#rhB_DZbejje)riq2U_@tyfZ|99kQ&; zJD+W>@QH-Uu@B@#^I6VpWIdLbQ~lrXL7%!hSM{Z5J=9WlZ6d^E(B(1@G0TV+$SsjX zNK91J+Wv`+5mVPuQA3?!VGGHmpQYCBcU*v*5tCZ@PnNv z+@d)o5Nk91QF{~id=Y$)?ixzo9C~(_jubnNPP7X=R0p>DxaR0j^`2aVC`sRW4$wpxq@o!TLKN{UJqO)XC; z;JWD>dhTpNpG8YLprMx0^qtevpV87e$8JS>G!HF0xt4~anp4-d+@_CIw=BBU`B+*s z>C|-fln4#DY09}WdV zhl_R;M|VyPm-4plj4cgz4)@?ihwfbvVl$#qYu(Yg(Y0qs-wp9M_4KCFQKo+RmM%Rk z2r+W!Pr>1~;?v#Pr0B)_4jGsFp(#ng<8Qr-5Stl~T6aA+g>#7ocIQsXyr`r5izGp? z3iE78f7$_yS~gVeDBpP`b2|m?ltO$XA+k>cpSzF!5D%7%i&qWmNwVR#UG8RkgSQh#wEenU z9lvZ6rcwUT2pKW~bLemY0=Jp0WFdnbmnp^HYd?FzJ@7rDd3e#HQru?4yZ(ZXbAR?` zuRG$g+%zVW++MX;T8QhO9ET-v%%ogmf{`B?x{S*UbJ(-?Wo*9fihaX7(LVM(*1hAG zO{-r3@j`!z(U}-<39dfIiri))xr}{oXZ+*9uw|S99wSlZHVV;aPW6D^ZsupNb=y`E zaSOBkK*4TF=I_8NKxXh`+c8vn|9H3URKX#4zHu5Bd~N4_Zw9GjG%4_28$DLSZUaqV zD7#8VYl{TixGLn;v(yw?RTVuGCxm^#Ms2u=ot;}3=|7RMTP%4-=T04auBlUs&XjjY zUulBY@JFlFSyDC5I;pAF(aSo(vQSc#Nq@Aw%0);rAypWorueK=Yn(<}VuRhT$cT$& z$av7(5AF9UvX%X}gC%Z6~tZ8tI$@jdB!og>>k*F?{V|} zIprJT;Dgs`-0zIeRP^XNbs9>VdPQIH?nY2C6AGE=Gc%H1ZfOoGKMtiQ@nzl3P`%vD z2vwm}P;XsnIf4EnQgpn6 zpF+lhtXoW*Ph$Y^nh=B&0q@MqHU8e(hpI+;x>|Znn*Z04Do*Xw%D%viU(MK9 z_k6P1!$w!%>!tUE*aik{tBRVVGVP8=uX$9pT`HpvJ*(P1D%x%;r%pXq+7kq)wtc|Y zc1fmX4?RcawFX6Dx0xEi1$Ub=8{opbN}!Xt=*|u%^4uvnn6qMMP5)!*(V2M0j()D& zx%ztYZEzi^J&|T+oE$AfA7VJ8t_FMLt$Ru@O`|QgmMYF@BN#vU1QNGY`z3T3dw8iE{${E z!&XKvL%WNv;ONaVlI^?=I{cgZ{MWGjdP@xd!+Cq?YXesJx=xVpO<6gXwFAtQn zzxigQy`g_Bfi0OprhjC_0+sAH>gfgqFAOx++GuV$L5VgAdAL31ov%=t&M^nCc&q^} z@2oF)z8}zrr-Wr_MVpDgS{US_Yd%9`(3eXTy{SZeg_Cwv+`ZDPKgt8f_hd>YP3I8) zoQl>2=}{vW1UVRr>7DadhR1@U||~)(R>q6?Ixtd z`M-Bo8;m1>!ZTo1L~2+AOCrt zL%(l4$rX!@gA^)CDlm*KSW$@b^xHDpgxP1R@&1!rs>8J=FjZC0f!m`C+Pv{&xnZkK zSRti}q)fPX+JeCaCs_d|McNj{@r@$@%Q~$11VP&$R;XxkvPK&>dZHnGcU3-U$bO%_ z0J^YQ011ZwZ9C#P7o|Z}m9!T%fPCbX0t5f)h zWCnVcZ8PnK)NO}Teb%z|!0jQZwbfy=>~2{VUuL-KZLDUWqf(pE^;us~VT_Hr5-^A_ zEedr~RCXe+p#CTXy-72_4%;R(+i81G-AW~&p26L#yoHJWGhh+^C=je?yrO*ZDZibf zT>T-5>nh;?s6nWO3on5e9>RwhU~D8+Y`DLj^@ZL@wuCwXc37RTKZ{A?W00uFXFQdZ z)5ayx28VQ#g^n;Y!k?=>O0mm2pIE{xYKI5zj;hviEKD(qi8_ zMfqGYMHDKDlBvgA4mMQAgP4CfV?}p~{39cc+<|$7hACR2SVphbV#0S46~%Gl-=dz1 z>lzX|i|3b?#7g(ws2`F1B0kmv!ClI^&CYZX_=Lxbh5~a^Z`;ATaJjC)?iX7@xJ3b@ zzIqqs^P9M{?l06uij@aV(a+s_3!(3k101GBXaxaYg^Mq3zQwYd;uM>G0ds>lxLik3 zs+Pk~U}CRF-LMv1Q52V+{o{Se_d|yx4Sp3flFG`~W|g{R;{z0Gg2}x69=5mw!!``S zqTD`w0DJ}NSUNZO!-n1%??&O5k|wL5L7Ut~82pA~{=RNHD=Loq7JN$F2H@_#y#@I+ zE?#SZ9fXL4YBqiLgE1qiZ;g;xxaO?A%lz{lZBoSfXBcRtxXI0|SZsNr%*rD@LUfVH zA$ccE&1}@|X$fwZ`S_F0*5Arlt7OIG96TTw+@xz1D|_T{)4uUvsF!!MWwEckKd~|& zX1W#tU`r^`djw{JR7WoX8G08rjrV)~QDc>ca{Rk+x8Ql`299C(H60o3@1Y)iv z=~q-QSTJxy!XiqWD2~dWtRk#zNxC$Zfnj5)L%Ty2*DTaidg@8!wLZWI6f{kQ_ z;wx3=PK5}{6T&f2LsVx6+XI;sskJuUY^Y^tM3;D380TU(%o0>h-0(IF(K+BAB|CDhAldG|{MN;)RGK5WC+mKZHAN zW@qXQXJk-k5Ec#Fhik*5MaiV+UQf3=NwNU8TQYLK6Ldkvx@j$|!WOpSmF#PqDZ5&3 zBWZV@D0pZ3SpiWsokfETNMMW*84SRGtS%y8FW}#I7R_- z$V0x@8b&f|ZCK_gGX6V|#B@<2RapagLIUy_xHMf`6*KqeteYWoV;Xm;E7*`g7zhQe zjtVxEK*1zLvymr_Mpi{yoHt(eKiWXV!{NYHh9_=;DnR-|ndYM|;cmX23o!I@mKT5e0v5!Goy(^SG0ue;$3NZ;l zJb2k;L7T!d=U@5FiHPD%OELWL&^%b$wn+hhJG8EntcI%4Av?QOMbMt;=w531*#OLg zL=+~E+k3XGMLTWR{z4+XGb(>2OG)AA8UdGPIQ4CP_wwq`rISY8-PqEERHY89(pq7H^p)sWSB(D(Yf)owI zlSB%%87mHmR!^BkWot7wTkatf&v#K^+)jI}l*u!sUwpn4E8 zkV~w{>u8!nFg88~(DCn`nP(lHJrS`Y2mmUz8JMleB!dtH7_h~pFguFyr|IGffQh~! zCBOQB*mbp0SPT|zCSYp?Mn#V`468cEs*D^KWC|EcW^)?~aZ>$x#k|Dc#P^T+{PrwI z+XSjN79`yTNXzxPo-zkZN~{L#cYvtE@-=qcSv^LqhdXUKWI7YoJ9v)$XBA&XLX&W; z3Zg;ph#sR`w+bRG43A2WBZnl(^G)V#^r4I%1Zn#N<#7)=(nA6R(Siwr(2dAS6==V; zQxO&o*a5-j88f15Y_LoWi$@eokT4-C@gnG0s1+dqO?o1VtNTgYyfy8no>Vq!dwhC( ztUk)$TD6X4&1!|4`VRhK17d|Wg;tcV&{Dps_==u_%M4{mf}Em~M*jG=Ci9G$;j6Wg zN?22hXRK8eXf7ySe>J4Q-kV&!73m!gzirw!wqIAiB~8stzzRiAfkjPp<^hCyQD=(6 zP7EkSLyD`h6Zzfa85zl|wW~p?1Q=*gVrR}IY$-$VK^28uy^^uVd(*Sl`jZ3SLh^Kt zOz(!M5|ADmSE^S?*Q#ein4gbX5W<1gDrx|EMhrRC+N-MzeI;V$ONhLn79%3G)2hCr zEX-1ZEb*6Tm%2w~xgyvnAlNZgQ?lX!or$~1;^R>p7z+^=thQgvep;QkR6yzSEONelhBH%&0|D(=B zpX-#4bXhTPI~!H4D?PX1Hg0>s1(JZI$`%$;VIqV}T$v^!RKEBhnGt3YD-Iz-t5M^P zB>>5-&5~N?;i3~UO4KR{#>&`(!rWR?6?iD#QDX0gop~0reI{XiIIKXB^+G%}T>uCq zCQ-ng4@Q460v5tX;z;>zCbW$e;2IuM8P{550%Kt?#AlRjvB68)?9EcR^qJTw_sY3T#$yq0N-$n>kB2cRGB0Z z=oS=@k}1B0&38)^b$vpePZ@^AP)raa0V(A47HZ9y%LHPW?{a7*Nh>{6%(AQZU>!yFeb4Oaz9D0fY}G9hwZ z_A=*8#S{5i`yUOI>tx&Mr$2m76=uj?M1X{BGh}WR%or4aJw5SP>lYq0i3$~CrOhUu z!t-6mVVF42z(4LQUcsv<*O}H?ALR2`Tl_MVX-pt@+S$8654p~(84>B(WK(n+AbHnH zbNxeSyUVhZ-Uv80Gx6m{#wS&FtBms@1iYPvpxkE|c~2=%2)UGL3WJ1x;(+M`U<~YA zcOSgtFBlmsm@w8Z%gyBGA z%|mK7B(JC(%UH+Z<+XzK=()hA=qJLI?lXntJwXAWG94oj*Xy?x`{q=#D1%A^kp*vY_<6s?16%7q0Q7PTT|0RoSZ@EhJp zCIF$h&9j1|4R@>mu-@=uA|j?+CajNw!UW|jtE30OxI%fVig_OUI$bLM{_-BM1CeyJ z1ltVU)FOy^XHIe)+Z^wN=dVD`aYo?9nX6?uEQK{F3)_qjx!v=ty0V~RM^knfdY@Bb z(7YJmS%sy;sX7uBIWS!qOu!yhT`HK-wzN@_vCKP(B1ib7EY;7~dZ!@h(aK<_hEYq( zh);N%882i;8m@KImK9qyuDlu@F`aMCXuf98nu0T6{j#28ruMqV-xI>lkl3|{PRF3NT~3ih>#>xN<&y`NYmjE@$-OkcG!DO(jsxskVIj6PnKFl0Z%oARMRL65*y;; zwexsX_MHD6DUx-Xy!(Kr#9~UGXkP(UhqW&NQXa=zk>D>LYe=VLn1KIkWz6zT{J4OIB+mq3$!p{IL zv(3t;y|Z-XbyhFRL1Wtp6W*co+F!YEJ)e6{V!u!8=lbL#8vsR!&4fp-Eb!c_)>+@J z(jHLf`?^0+r0oDgA1?#3&Nd^PGmL+!<~V*Q5Mn+dOmsTi{EQDhVI_=OM1-{(*wMwP zgu#Cpvh_Jk5GD0giMhQ0%pddI_>Q<*)BH=M{ti^i`kH{{BDAwg!FJ-eoaJ9RZF3Rn`jU`3K3z*bn)s)y#cK}OWzknwjOqeJ$hxBDt- zJt{*90}%?TLs-T(-tS?ua2b+7gdmlO*8>uDF3M|)@r_7D-^rp&zs2+^O1hz$%GxwY z3Z&R(_}#yeT+Spc#kQe=c+TP~c1i6N_E8ecXVj*quj_)L)g~I&g-O~#0hdrvJ)tI2 z$HXLiM2)$yG6TA_EiaUViMA&Sw3(3Y8Q|U2Z_^x$bp9~{Z%E4jv>XlCLiE;V!miTj ztdJQfrL|`wbyGf@m&p;)G@VAYO=l-v0{>?uLwwj*=#gSCm^a9!`~nH=e^IEx{>J0p z^Mgw4?DLK5eP(2W$^^*7n+e9)mx~|C;eVicP6z|N-!^-*z7*`0ePJUTC6VIeFiPcG0uYUNHveJD;i4M5U>#ep)m6H5B@%Q z&`09nEcWv#%fD+`j7&6#>3|26VA+fa?_O2OuA%Uu!f8~;*^Yg1bNZO_Xc_lEBT}_q5#)Fu! zmYB$~{R?0;x{s&w6Y?n&=qV{`C_U_#@<_3F#UppqOq7ODI2j}H{!PT!8nrV;S8H}+ zNKc)4J?!6zn_Hs9iJn@Ufpn%bM3(6cq^k<;&O}+-X9QMKGg9O_1$HDtO=r(sB10KM zvDY&sI8VHp%u}W529(uw`pgr`X*xhPB0=rH)~r0$H-M9qZ>j3@PI6 zQ;K;zLgCfZwYF!T)uVa4_o^L4un0C2Ch~R)-x+V3 z%T@1L3iF@=)@I+P&a(xbLI%&VmCdk!xEO7Izn|O<@^2gF;-3|~h!@EDwVD5@QFn8& zCvFqqX2i+c#+x1p&pKTljY|~$d>=T#>R{==Wsg&P?dH&U8B=+ikrZpW-g*K*ZAL6= z(cL+DM+Cqs5D)_Z1pqTdMkN3MUu0C#EYQ`sBQ*?c@B1)w#f<<&R*;+!Hv;c&qLwoE z;~k{~Ne5OT|DLCR07hmCXhs0e-~a~}edybX;@3YPu1@GBdv7fG@ZZK+mgmxk@OcIf zZX;;zutO#{Ea1Vt-{!h?bqB+>w|4FqC!}h*d`vp1*0SZmBa5izmJ^S#t1VV0&Pdl* zs^Z!YVXHtjdq1EgBzxMt0Hgo_h(^F_fB^g6-_~!v`mI~vck82`t)zhuF z)2gXyXekIt9tY8O>7A(N$t+6hy%`o=caAkjoTEPNsj6GO(u7^^N^Ki1sW+Fbai&jE zY0%csL6V?|rHSN(QA`Ol12yZNi4tBV8G`$~klejF!7TClTdTNKdI1Axr*w^s^*NB0 zMMFut#^!~l`cbw@gW7QQIIMwdPI2~|6?JlUgLNZ8eMFKvnA#+76*63^T^+Z%)3G%s zN);P^sK%mB*Vn^K=^r<}=JUFPvhB{fqPwdaNBMV2^$RMFVC%Bsnoe?Rj&hQA>yie@ zxCR_}WM43 zKIs_QI-4E+Mr~f;Rp5OqnY`BA8qBk09**Vh7Rn}7<9|*UoI;f=EU&Ia6li)hM>1bLAn|hGRxc+T8tlv#e%~D4V zLN!G{_b>xK@Ut=z!bCc<>!gIdQ;O8L!rO=2F0srvv*=5a(N73Q7QH!lz?|mfxSY3l08fhCQ4k=h_g*5UR_qO60x9!iKtVyC zCZ`sZ5A^UwvOzppPu26ckE1)=2*=wbn|e6q{B`@c`BE6!9VoH|>MYFks8A8AJ2ap- za^%dB^LQ>gAuV{QaRtAkwX61f*AQ3>JdC^QIXb(|4a3Jb57XOXwiP=k=hx8#J4WmL z)4S(+iSKo6TJcdwVS=^Y+Un^;UZNP;IpJ8qlvgvnsCu6uZMVBh&|Z0bJcGdsdH;bC zKoAp0PzyCMFa0p#C5OQPT5r;ef*_P<%9(Q{1-l>oK!ZnPp*xrGM>Y6M;0QU|AH2Tv z^3tX;1G*&4EcAG4E>?ITM}v}x3KI+4y*r@81hg{8BPZQn5&|59Mo66DXV~os1}H~=Zc3M$1GSV2}j2Ahf-kJ)MpN3_@wZS|ltD^z&Y5xoDCQ6@c@sL!;AWmHqlRCGTyz(OqfJdCm8b0dWyqrD?WR5FgU z;~+1hiQWjNUPp#*q{*VA@6cpf{apP`%nOp0sHZTYBiknyWin5l;nj5P|MX;u`bXNT zv$Lsc+S4K7qeQ<1^~#tcnwh8nH1Obm*ds8}M#h8_7U!>9Oj9h{?~il4ai2mrb@lF9 zRKxmc=-dO}|E2-Eki(ofz2cB$IRR>~MbIdI*dp*SXXhk>aS4a5CldEDT7bo$wn5JNN+>1p;!;NRoY3=A}F{t_^EnR3Nl06Hr&J!u|r0mhC1fo-IxTner zlqgcA9rDzJwUgQ2sFJ$YGcqLE6ToQGTO?66PXhFbi(cQEh9OLz0)-yOuziEU$b zH~FKwgAH>B6n(7;Kt#0qnFcPMj$hX{M}Lgr+M@uUe!r%n4a!P9&RF_3@SQ zp)m3=N%uX2^^p6Q2gJ6hmQBuJbh%_t>qY?iSVI)dx~MGVan86&81ES7E} zW=U+p7CoOwV8_lnp>iL{UP&2%^wETHhZ7GICoT2{3pRz@@UVG_Y*nYY7p#PJMB=Wy zS9w&n_D(AdoOGO6sI3I!Z{_2pU5n^ck}`&S~e4fhR$uzdvb$GYf|%2yeCViRGo_LZJ% z7E&+R_42XU$}nm8+lycstGoJD)YYp#OhEbAkk)Fp!lB;w90(gG*su3F}|P)`0pq*K?EDlfX(fUmP|SBb6j zyCNbeBdpGRqUu?6Dg@FIBg`=5JKGb=U722pPfjk`4Ymv1-37{S9em|a{|1-NjZ35e zp=y;XDtV7I0F=$XN|l9>G#-J1@&P-1WwTXds)QE6TtX>OZoQa4Le;NuqUGc5RC_Q` z{h{3m{LoeJVexiOt+6cRt^k|wQOW7VwsOSVd69u~!#EWkpgi_3jy;F|=PP6o*Nu@Su~V%PH`aJdD4(O-^*EES^FF`3vztkYUDvHBeetpsX%w9JWEAwyq&r zNVX-I29y^@GFq~L>cUBgM6S%B9-z7~QN;8rnGh!`?aHAjtMNd3t3bRV>&;Q3B*sx_ zIlMe{P>&QcYv)-Sg0wsXkpd9H3d##xWu&bH*M%puSkDe!o=@U1f7L5ePcAQh&>}D1 zlhr`TD1U4KkuCs~7e-`Ni}tJwJvqYSed*#`A_!BeqysATJkzh7NiS8OZmU9I~1W9wkQYhCO2txNrib!B9- zl9o^FzSrLnFR_elLKSH|$+%`)dGH$2b%ulV-Q=4IF zzCG?_-xxea^fUzhXzv^&#nf6=Fneth`KW8=&;Fdio1*HalXPgK+MaEImnK0$Ha~7Q zVp^zUZX!9$IZLekahc}dt(NQS(LJ9MYfrzQ-#5^U4G^-bxmrY>Ff$XUh&3nE4N+>T zq>YWWan!Xf*NUX^>MwQEXIJeg^Czy~m74TvA2_a93j!(*V5X_d%hpKhwU>FCT8fG} z**R^wIHvDP{(xGKrOM__s8dCx0?gTWm=UxF6E@`zjHB~5{%JO&EUT!HT4q|?Y zw3Rb5G~j-_4(=!3@#e<0@fir8#p5`Lf@LUWnGSOa*DmkFynDDSq)|{mRJ`Ak_VxS& zzH)d+ppO^_Z{m?IKW}(R>Xo)H-fPq7<86!S!?%gP8$Ao)%wPUrF4y+p0_IU~8-k3k z`%k;T9)D34E1$m^Dt-0sE&S|hRCPYv+ezEIQ@GT5i#C$p(yH$7OE5+5eLe9CEA3T!%$PhCIT{;aNP4ZljfVX(~xqyG^+ zFyn4qZ4fh^Xa)*Tk0#r_bv>?o!rF_nf}9`<3a`gNMo+ z^~n`J1PxC8zN7j)CYWJdY&W^|pBvQE0>lfQQf+x@kJGlV>(BX-eX8|Il-13YI`w@@ zYu=qYrzmjg8*MxzUyZsUy9%syl(oSLD#9Nc749tYNhm4Amqb%(d0kx7@&VCuP~cu z)ULOu4f*@;swk8eQ{^Xu`nDt3O0 zDYYYb1$i4=`^*UsBo$95c;S24Bm_OBJOm|cVQbew%0cdcpEL8qRXg?{$kd+uQgw*_ zqP5(_HE)0e0bfA{e>y9GVbGnr{8sWR;F(?vQBy_KGRJd}j`XmvfkDoV6ubmlzJH-y zzPMt)ywNfjGJ!K*8J`hveyy^G?kc_j^09+PHt~{{5^#q_{a7EU6^i%Gp7TdO&qrcM ztIkLe>fO1AWW92Y*e^Zw;~qSU5`+>_Vs5#=fL#Q@h`h6y$v?A3umj@1yK8t#{_8Rt zTi*^m!QFSmCl5V%Yt_%%tF3Xy-9yi~W19+hZ2NlVk?U5R3CzolSeyXY@efXM_k@~% z-o;`zLXaKYF9maI<571XH$>idHd<@w?v5q#F~o13{N3Rl^EJhaV-Ry?tJKS8T`j^^MX;uiYx0!*Cy7G%Q24+JCK< zPOPB83=)zv38Pzy^HFo#v1z=aA^YaC`j>(6V3FdiXK?q-$AJuJmZRNd;Dm&J%vZT!O4;#760hBj2FT<*72PZy!tc=UaTi>CHi_P*M8AC;O4TTAlzfE%&Lfo+_+;lSJ|dqGw6-{%`<$k6ec zxtjfsW)Wyll9pKZVHH?`+#}{T=j5;%k8^{w+kfA?%}qgZK$DKZj zQ%l;Xpru^+)QPPIhG&%IYMuwYz5}HHILkh{q)RX1gI+Ot7|hlVLG0|XS9J1b%Ww3j zdw!)^o~7f}j;iTRo+uP;rCv|p5|Y7V0Q=K%C({~}y z<@GfyoybftzDBGLMwg5(`QH~$cbffJThRS>sDm}}9N5dnla^I|opvtzx_8H8N9IJtZD{jl8 z2)PtOSzobhIItsFT?4Mrf)ozpXL+7N1c+#?9}gyz@L@)s&D>m z;PPJvQOo9y_`$v=YfLq#TkUL5$8qnteCEiD$H~ zZNJm(b^mX1HJ~0>R(pUHcAQcF%_l;iLMz`MG$sOFVXKFY*{xw2 z-N&v)>FJ=`JAD!7?V;VZacXNzZ;DPiF z(=eF=k_hC0cpQ)B{%Uo10p4`$wA!}6O`n;)bkj@ZE|n-g8zkXkNLc3J{MlcGCe+|R zDGMGjY*-XTN^zJDLVT`tJsTdspzkPmM4C`*C`f{!7>WUEupmAl1I#rEP%`Z<{jN2a z+=1$-`8}R#g<2AxI7zK@QY6wiD2P&{{ZX#JFS!C+-weu)nrM4|<)vE%cs$-8><#%D zz7p@=mtJu1PawSot*vnIPoyCw5+e77P*o+C)A_WElnxx;!BFD zI){eo*P+ejH2NQhhR^gry}h1H8z$2X-*DfA_G=F#@Z7l!UT7;!6ohzi=#!?Had=ynRgoOQ(jT0_0U!m-I$6- zZ+|0 z(h3uGOz=PDgYPFxs)f-Xk;GcL1;?mQmNtt))WeqMmTq2?YU3a0Y3I~8Hq;?nCaHP4 zMA#xpT4DA_WQI7rvbK1QOJ7StW70_DAB1+|b%JdE9oTRsQnl9DWr#tVq>#Im%))RSy+MES>F^>M`h#JGGb?IMQ6QI!wT+D=* z`b#$gB!YekV|4a9c)Kiu93%6e5&&|;yJdGT5ds3j6(;+p4JUJZgV6vK%J}#L0^AA#c!YO= zWF>`(B9%1ZBq_h)GU(Wd;-(d!R0?G={sQ7NVhN97Qi_5>UUTuyiDp}O0GVG1P8ACi z201tqt(?z50EFxkEYyjR+sfRLzMqgR7A78RoJfeZl4RwC1Z*dkmjzk2`I)fIYxt^% zyuf!6k>KAIA{-}PHj(;s2u&oPGE9aMs3;y>2XslO1qq%*@}M*cpm0t}gwY%r=^hql zpNjF=W?fBNfuHKmei*1$=704Q_Ks1GpFY>nYKlR3E>RPWB=Te-{eogb3n z*`}~eF->s2_|cV#$hgtUc4Z9#gYCK z4U(cD3CCoGJQ)5h?($E}0{@kh%f&a%vD*rSW$+%)AV-f^axd3OfN5bOs~f5rGT^h* z_N-JbgxQ4&?r4ci{1SBRA4{()t!v38VtL+P?=E2K#h2sd#<_&hxdLIL$;BASoNz;} zf<2A~-6e8K0bcSj0%@_#*B@X1`WS>CIZO>1vT@jT=iJ_R$vMr~#{r3yBj5(~@B+05>Ccg9{O8If~QpT#4Cr?G4u9?Lm zES;1js%eT2FhC{>jsucF zrKp&`37#UI&#zYuOPipho1!ZC63~Pdde!GL+p|@Z_vVx>1vVoq5vyUsxP)Y69N`?O zGp+-brWjHc34oCuoLur~3-onZtbzn*qlq^?!OjlW9l}mUQ<3 zl#MJkITc#T1SSu)0VIn=f;=41f(GgJ*(wA%`RU!cm(vPMezZJr>&`5B&j%Z|CWLV$ zMF2trQUbpyCktzwob-2r%B?R~Ew}WKrTYIQox`$pq}4q5{re5gN9-y)C1sI;FhK|7 z2nvTMgsV?`S`7|2cV+<4{7N}~v&AiA6$L64jkk?fb^{gelG_x)5v6cMnjAO*K;%jT z^Lss1hy;^FG!B1~#cY~vqM_*0Xz9GC%XTzL6RjLo-QD>AImtJKP!MbDQyDDT${2%4 zNYWPYpn1F2oF##Ry!=E39a13x^m=U7ou$#6=x8XYJ+ysHl%}-W)KA=~&||XZ!r{|s z^HdiEuBW4P=#`wzSA8odV`c$lv<$R+QOhpE@qKjeY#o`<(1n!;v##wdjN)1r4rSn= z&@g(SAc(tTXom`ij*=o0cIcgWtPsegKfBk1h3Ss3@$4ge$Bm)LKadr<@m?(PN5$YX z?M6yx^f1DWVG#*eFinFfqOu8rlSv+EDT2}7yaKC4YAMIy-oh04p7q|$zq3|$FTPos z7dNv*cf%*%WtHGg`~LimyvhaKT%T3ROeC>5T|al14%3b{8uO9?zsvjlGo*9#>$ssz=|>_mULTJVlIYK2z8@X zQ2pO2LlE8nniR9Y*R3rrV`^t(tc;zwu@1&3zsmZ4C@R zXfv5-ev$(#xhxR)*}BbgQNxjzw|2dy+VbzL+-Z)t9rGy!OqF28S&lIn03~2@lrTYn zT85wnqmhxK>h5|;25w<4K_9n|H$Bu9oFuera8kElNbqk-dJy*SFHLFNkGnH#i#e=f z#Q?-$Q)uuocqA_2fy7O3pS%T3SRxz_Nb^DKl#BghY)o8nFFncm`_7lq&FVy}=-<95 zyXr?z7(dTFtM zjXz~tOi>6E!`3sTnKFY#ZV#d`A&_x2}$2sRJo!o9g_)W9Xvq^qh5FheNi z7HUj10XeVBa7>F76S{|Rvmqdn*UKwMsijV409VKr#1XK3OV@ms`&|Fae7HmK4&))E0bAj71EYe z=O39Gpvetrax^v1EJPMariqFa4uoWx_Jh#Y(?S(!Lco@_6(*38SHU`&%Q>%@Bmhh8 zYSRMcbE}6XWd3*Wwk~~dw(&Z3n*`t`CY*#7R*VX3aU_yOo)ANcMV607{DL zwgM3ltT0L>VPfY1Q{E&T6dXGe!4DraOgW145-|-467J6xX(j`BrnM?$ORDn^3Xy>c z3Po~A{85~)iPK9dh{s?Oib9ZUV6IYn2KErGVJ!&-VTBbTSZI26gU@Em!fkOaJ2fr`U8cRX}b z@*hiX%F_kZAZ#$vRpiKSPB@NM4(4$r%P-c(Bp`AE1GNx7O9b85vDFDAUw&CD*n2>1 z5-J`hHeLa*2_@9Zd^2KktX)Px$_bj)DJy+3^Saz_}?G?secUbn}6tBlXP74 zo^pWXa0YxNwE3U2)v0#o;ubQ`NiYf%L*1d84#$oV5t!!*(uC9T_aQ)!=pFe{V280v z3pW|FgN>jwLdjcUC8&aqb2x~aXCIjmpoxL)v|3aFk=1X7%>@LcBVwkj7X7VdAS>`Jb=? z0C*4(1ONm8Gekus003`fDUu`bqEIE2U}?Q?`|nnxhT?1k28poT+HISvKZ1tt14=Ur z*#=i?zkh?r1OOvbU^4&!17LlR&}U~XdBmqRT$8n%Pm})sgklCoksMJoS$Gq z)(QjA4guf-AP^Er#7A<0kP8K3AC(^1aTwAHMw%$#9=2k$&nV0NT#P3KijD}(nM%^}cI=TqD* zaQmIzv0Fz+a#R2ZiSSD_5C|JF1yXU234sV{9z{k{T{|cOOSyQP>Z7p+Tw_7dXsLEK zx5jlidSX^q)CkZrawIlAEnf|Ko^$RbgOvh~uYrTz_%3fXA8M9gqMpy0ufaP?kA^`- zdrLjF4K<#*(a!Dd`M!{jiRMaoy2iEvt1S7MxkQohM*?e@9MdF_+z^8lBz8cJ$?_x| zUb|YnURHg(J8P|uydh)Q&OP|GL-tov-8qAW9?}ELv&*?y5ah7SeroOG>C={a=XH5k zbwpWdLvFG(ORsufOh#}~;krT0h=g5K*juvye-i-ode0<UK13hYr2C{Z=K;?T4d;u&AVEdi3Pav098`r#=y0i)2UAp=-n|MY$6 zI>-_k>Z1G4>p%!yQA+i7QshOhkLps0UDWPb28h)tA@=zOV!w>{wY34RhNJkNMZ*V6 zzo1w6i?_kKG``~V)g(q2D0wwLxZ~8Z+G?FaZ|v*h5M81`)9PN&hZm|(C2d^cbxI4| zi8IxXqH8rTn7Ll!*$e1mQv{sAAR_!yy0ik^w z1y)3QYFm-Dnih1e21Z+}i4oJSsxgU#pVJ{eTDq7X9BO~|(5hxqmGcDyK*)GB6zdr* zSS1*e>W+!)-I!7DNaESEv!Rq!eYA?OxtRFq&}(B6`lMTC@BKwZp`Plf^s{GU+8k_@ zhyF`5LP_H^=?NI^ZKzeWUle5Xj!rf24i?Q`3y*b{&Sm*_49_lH+L&c)pUXee#xlCX zntf>%zgC55^ljO!(I)(bK36SNDfX|Dledy?Z~B^qX;pRM$$r6W4eRGC%ih(c>CQVv zDs!r*6Eq6i7CP7$Kad-pYc2eH%b-`ZWBWS@O-LFxFTt_peq#`i!cM|Ah@-+5|6y_= z&233D5$|@HtojD)b!n8;=J~o1Ym!a?Ogb3rb=O#9Q$k#?7}J-T5-?qMwCi?v7VdULB6+_E2kGv0W_a zRa&{giWxyckbxr^@kTdaq>@U!IEl(I*%`%Ki+@Y?_}{WfwJsXy&&p; zVprTR5`?-qjH@MDp_oF12M}}_@Fq7`lZ(Jsc|msq@q(hK%Q@~*1&z*8himyO(9+8?f__S~lXZGJTDJXM z7G`>D7_sU{+9PH*ox3qzo4E)F=FX&22={47yua*M^=CB6)1%f`n_h=ub~T2*leyr~ z7n_c>?Uc~J*^m22L=AM3$*!fu%_Y-_~Xnv>=L6kudu>8 z`S;2Bz03>Tb%*a%;}b61*qq58OrwlX`si1%yR_OC!w0tBzD|GQ#Y$HgJ(#{K=d6NE zaCl6Q@?)Qp4B)O@qwRGF8fz!Z;<9iIXO_}ZppD0OoGcxAztcZLg^~K@Z|ijzgJAy| zhbGtZfUpAotP==sDkP1;TU9Mcvs39ltZS?apM{uWW;(HJu#;leoC49mfkzBdg4?=6 z-utD}__*)=7W@oVoLQr*=ZOse7_{z1#JYnHI7eo<;)M?mv&jitRy$uC3RiKmklACb zn5#&5EQYK9P;cHp7y|-$#@%N=_E|A4hy*2J2$6*D{p$X`^N>Ed_n1(*oadg&5+KQb zZzk{u#@*sa9b;-;H>!DY{L^k?eg{7^@wu{`hm`hq`UsXmy(H_%QY<2PAmb5i2TA4u zu@FbDJ7QJ0JkmS+RBewWKcVA^*h)qpYnJ62(?DNyt~sHMAj-ZYyY(Yq)cgF&b>6)5 zYf+0i;J63sz625h>huUsGq2Ps`085$XSywdrn^j}$3>4a^>eRIL9{o3Hcl7CzW_SX z+(^%YXtEdEU_o)2&KbLqY_{lMP1e9&*A?(h^AmbzB9nFeUWp%d-|EdFpIn=Gq+qPKLD7?CzSlY z&a`GD0}%t3Cgtij7899;*M(Eb$@rRGsn4w!%R+Y3nj2;Jaf5D?6 zxl7aE-4HsliP@slM2c_Dl;J4+(z`|;ItCHO>=!5L)6)84+wGGUkCLM|lfT?dM1(|= z_vFqWejDHAWxLK56TxTsUua;wby?Z;>-h$2o5ivtPut__vCiHvMW`$-fwV)4ti9@vDC9 zwQg>+9q40zuA~q?f1O3$wdeK0bH9ppY6JIAWIhAxXzm6g85-mSpp@o2CVtubW0yu5c2FP(fZJYT3Y2m6tt5rtM6 zillZm|Ag){AWE~NP_Af0+-Jk*9urSs^IF+&5o$%>D1N^2`oOlkr5m7hjn@pzwZh7m zVqqrDxE+h{+*kzZ;`=B;t>j|F)>t+D#lg^6o!-fiP1uG%G8i8yyv;N9RrnuFr-aJ^ zCL-y6;XXny>B*so3uFnlU#Vz) zX|hz_l&mtW{G@MCcdNA9mZu<_qVTN#yY3?unliUqjPd=gHjZl8CS_sCEuavcrPDazA4j(Eccs{Wfap31;ruWk)w zdv~uW$}L^4w?F;zhL$y>W7m$VNmk7$gfUAm28}_vJSMO|G&@qNjm1-HT4zgzVm=@~ zp5)EW8SuHzk23d`KPM2@!tl7+S(rU%-`O1Bb~CKEd^cFaGV&bPFZH@O z&3orp$LFJe+-CiX5LYAqhV0p*3Qu!^$D;Y>Wp6P{@<&?Woy0i7Z}k4RWQI}2Ba=0& z|Fw@9Qsx{^I?+i+7fo>xicodxSUkQx8bN98+}P z7@Z#qlP_L4mXc9aTJ&`Ld*j(d%bGyY=kfbc*Ga4kt!k5h9o{Jme7hj)ZE~m4mx~=s zH5U8+Q>D-QW4q~K-S9y+*u=kkedKy zsc|$xZn;_V^5|U5q_7AiaXfGu59a=IwU;vPYHQ?r6@N}WX7)s<(kVx02$6pj|LMMyS@GT=KXnxSJ%1iN%?6%jxx~Yqd{?-i69fEK*%CSyPNfR+xO%75VPBFF;O@D z&_B8g@QA#Bz&jE%d}qcvVzfLwzi}YD#Lx3)(0OG?lr1#&F{vdF+YFi^4SgP8`VeiO zv)IuaooCM5Q1K&A|BVx3%5v)d@FCYEoc}K$_^_!mVK;W!Pz#~A7V#G)2Y&9QmgPe1 z^BfSKQHW=C@0|_|nxcq?3TpiNt$^9{Bvj7jgp0bU^t11tjm;yXHh@laMJb=vmB?6r z%YjT`f^}>aiaF>yTB@sy{5(QKg?;iyX<&Xuijj>x<|3z3-F<$dXZ{*HBT3zAqwc4# zdhTx=BZyrTk6MbJa!R9tLeUbqRsfb}YLo?iHwD4J*H+@8y>4}vis^M2-1t&XI)jAx zMK!yqzjz6BXZz9?=vjG}&XZ2}61&kD5+Fium~7 zt*(wn>5;gc*aO+p)wHuSJJQdf%}`Ul7rQ;y#fuizhK8S_<66{p^G-K?sdu@pso^x} zZ&Z?qT@;5}es=3*ulU;KpK?n>)KTDW5TJ^8S~__*bGH?@dpn?W}mno8ZFE{z(pfdJ^bOA}kLu-sa`OzP3N7 zjIACJ94{|rlb#Ae3kJk@N?ENgX+{+Oo7=#bZB)!Vc$aVm_r_a=(Mfqv2H?}s9@|B+ z%xzKiQ$S9@zV8bnby4DJEyhZ~BqYAI7Oa80{$qh6({zeUpaMKk3DmCzL|DX-DRGwaVl< zk~l6LZ6(u-t7gI*KCLaPB7-W4Y}F*u!CH{< zjQGUSUfkjku3E;-%q5BR55(1{y*Ab}xhSVrW3^sfpGCD|S)?oWMOI>;?6t3pe2Xc6 z+zR2SUJ%I>BUFl9pGB=|8cdhO)u)~|xbQ>8!z%2deExC+#4IWcQTD376Z^PZcjjA>LNr> zU9w@5m_T`!9a{I5!>f-)XTj{A3{o>CK$E0L4im&kJPm{hmM9A1y22qp?X>YhE`R*> z$BtM&eejFAiQ(U<($Bo~X!yhQis^eWn@(`LS!H3r%3ZjnvXMXkQfIZg_`Ef_KU)+& zZY_kFNvI~QpH*$lOxZYhk4^*%5~>PrXBDg322&-W5~>MoXO*kkRa|19rM24Gn>YZr z2^EDkvrAR&G`m|z*8XOjrtm@~!AMeZ zA#3RoUaVO14YH@3Hr3Iz`t&)do8n;-8mya?NfKPF=EifxE^E7)l_6tOl2yD}V{M<+ z5pry_e%?Hjjn6T<$j6*1qlU#wYr2Se|IJ_%VahOd5|Q zV`wx;SFd`qhb3V&*R$6doFhNVUeOSrKXF@^v{RJF1l|;iNT{*BVCHY7oo62AqI3La zb^YJ7)6$+AbTu(c<4}y}naJGf01j`DL-?dzG&=$F116_ap#K+-d)9@Qrj0vOkW>=L$gGuVdHasGRQ8 zwLU%B%mI8V46QCNSF*!LC1L{Mdwm<1DkVDcUU~L=O}i2#KT>DPQ@t`Y^NSK-tCig! zYCcV1xXa!Xu@vZljgL}PhZ zy=(ydE7!a&?QZ=db4KIH<`AbrkIbLajTrr5daj$IO}$=&%?>u>TfaN{pNIAoyQnp+ z?;bFMC*#(hpw8RhZne2MFB3()DHDE5+}B8$;x=wP$O7WVd#6(RbMK4)Tg^~syaV)H z@@NJahaNy^X%`eHY!X(-J-E0!-nE&CeCHM#sDAyNfJ00hpkESi+ju)fi%Qr*)2ZX6 zMmJGKDZbIKd?>jm3Iv|0fdMMY5)A0=p|=DOH+xVA*>j>%=j)n>`kaqlRRnw7&$*K* zz-e&=TOmyJq=*Frgv>aY9L@!h)g_#80FVfUQ8MG73oDZ$;yE9r+2xL-(9}4o-knDw z$dAzQWiY8Yh)_iM3J4(Zo;FQtSJFBJo8vu@bm37&CG(>I*AnDg`(2l=jhjb zbhmi?&{t$U^0@^Q{xYHj7oI!N8Pgx8nx|nCraQ3_S z=5C`Cz+`r4_1a;IoQeoBk{8f-2?qE*OM*t%MtRq-BG6>rQLI|B6Ugs#0q!cd|(vj2^Mx}!v0-uoB zK-A9!c7IRNHrCO4AjLbLG(f(2xco31yXdx0lD|Yq@i3{LFa4W3DxpXUvuR*F=>lMg9 zrx3=AQUyPxWE-4fLt%hF!)TQBq%<5)v?Ff=zHf5DpxwR(1|B2!$UeX|Qja8@O;Gu? zS{H?5W0$j)dI2s@coQJeAC*ALrVyjYfEAXRhfoSxp}_sUs`kyjJo)RjUg8@~b5kwa z>2~{Le)0$Xf6twYL0xQO<|m8Y1#IXs#k@dOyud$c4B6;wYoF91;1gIs2XqTqEfGDS zPhh5glHd;sLOvaz_S6}wUhXRdM4VV@Itq+6Il62f+9gfJuEFi$lPsciM86sehki^U z5>~}fZI&M@i~@#_@7gqMRYsOalobk8?jiTP4nYnA(Vxn zgtrXK!T3;LLWwHTdQQ}W>*(wy;tbEyd!Tse`4#h!lnb8^^3W8htLKOGlMrYpAy13! zmKP}6Yk)wFk%~5^cwLF~QZNru$1aMttx;cUYGjRtnbKHM9(l4DDNXfr&Iqy~E5m@% z1Mv4ymS?=lQDMG4f<5`WR+*|m$9ZyfZBMpM{bdp#RG=qT`*mL@m&d{UGtZzhMHY%c zMtG2bQ%~T>%Kb8|2^eEq@G9gZ(Vtyi4~YUHBOgJMzc-*i=k7G_gk$noyH+7caqn{q z-_})7+hv6)>I#pqsVi;Y6Tm3)deB(TuytOL4kn+PiHPBF9h*c*h02hQP0NK}mf&M= zqy@Qvr12yrEK*&1e=%f2(5s7+Z4jfC^LnzLY5n-NE@L(LA;qFD$f{*n2GZrD{oAec zXPWkT2J^UbQVP>|QM<4$5VA&+O{=MjVZDSB-ss+J%uqF9n5|lT#z3DPEWb(PCT{5C zu!k}1#uEPztUJtdvv4c!`??q(+O>UK*DQGefazD5<5Q&#F9MeAqHAOB<7>W@2sCQE z%!sJbQaNn(+_)bZupQmW9O!uU(4rFF>Nfdaxvp}zPKqFPQH^8v;Eh^lV=;O~OHr|p zi+_>T2(}vg_eFV_3|`Pe{C{h7z(VAKMQKXMH0s=ws1nmKO_uj@m z6D-k(dBr60K5xi@}r%s+N!uZ}TOW#E|+g46xzRu_-4s`HK$i^fQ zkkXAO1T}3<0_73eg8BOOXZjMLwFsFkqM$i74*gFs^Hq5|6wNJb!5 zh=J)K)Wnf-m`uW0%^+^`6KQD8f5${gpwxF2JXROI*%25Nh6zyMP9-QskfH1ILRf2KRbU>w?xB*IaL0heLGh)A9l zQy{gO6cP_?z$nOSEsIiiuuPfLgpo8Q%pMVqctl7YAR_F)7d{Y|El{uthvETSAoJHapXZha{{>}> zuXRzTZE2R2$T2x(?9d1yiA?*FvVgamk$kl2jpx1COdf1sC*ImS?UU|y7`IJvqDTSJ zqB21|laMKiBIY#K_~hyLF(RQ)3!<3Y>eoRJ0}1$7?6E`jK>$KAP!KX6wN3JS!6+cMx>3>+A&KKn2#x@E3k(s>0p!92;buYg`t?=p zw4Q2Nzh$4kigw(1P;8pqIs)0*-gJvP>aeVerW9zq5Gcupony=-lZ}yN@|zli>7}Wq zW!HjH0c~}prJo!u(#!OeKtall0`g3`k)Q@AW{q_AwpRzs#;_&ONR&hXIZ2dq2uMj7 z;T!Uk}zQp(N#|?Ieox@an8}JA#tq2si%Tk~61;@ay}BmVz|I=DH}-w!}>dNEQ$@ zE+a@V5OBNA^eYBXP#%ji8tv=%EJHkMaqw2%Dn`6VNP>(#%sVV`l)g-sA|rOgtjUQj z|6%MMPnw$OI9dUl6e8k<=wm@;FZX#x)EQBfCVAmbT&<`RUPV zv2Ik1O#i7Q3Zp=gjt5LzZzBkha#x((;~ zmlmDmEfki`<1tOi0BKnqLPyjLzY>67YCm`T-q)tdfBTT#efBLaYiz2~?%m6wnh=Px zOi==e#wAFcZq8LlK>1)74qU%|)N@zjMXw3;ceH5nljq++O_(K;0{k$EKp><^Y6JlZ zjdiBT+-*#WH=)e`AHN_Y1a$3-h04N7V#o*YwN^ zaYI^y>aCnH5f9UJ7$df#h~Xp@AWscG+B+fRDTdb}DR-iz0lJ+sCDTb8~`%izgl#RfmH~b1Oq`ykzGkzju z;OEBD__*S2KTDhY{%CLji_1EytiOCAwQ0ELbcuk0IJ5b{v=zCN8t!y0AZ+NFuJp5D_3@Be>X z>NkFf;}x35WsL)9V7jr>^cY`RNAWccbK3>16QyO7>pZx9-CizwD=xauLTkFiV3DSy zG^mGo^h6+R?8YtkEV0}}kZBea!x&xcXQ#+EiQuTx90^#rADAQdLSN4JTfXBHmQhEr zce36^Lx#IP0WX%jmd+|~LozGZojEL~4C8Sdv5Ke94)}O|?=6Y+(|q~N0WJzd+9u;v zXxeH@njqxvF`Uo)Gn~b&snJZkC`s7=QGTazs9_i`3LW;&XqllkDpzpIL#$E58mN}A zOEp?GP=8#t{K+xr5BoPa5pL-1a0#;TT57H@p|42C;+50ARcIU#QyELM#vYP&{+~dr z12!~Dz1Zq7uo1eWz_3-6`QxSEGl1v32!WF&R2=7t??aZvljL<0m@lDlp!Nu>YY1lg z>J-342LiL@P!QXMa}W?MlrY+vErSEFJ6i*{DqG=WsLzi7>l=cXVcDPgMd~3nb=Y*FCZPzR$ZJ&m; zg>varEjK*d;Q24NAN-Kep@1+h3J;CAjCcbt7aQXX0^2pfO~`TxYu79{b!1}IsNKLR z53oiGYoS^&FA&tVS^jL%wbcY<7a-W`2w+;6Ri!}LqI$KhmI$qClsVfq3R!J6Dq(Fk zN^xy9YMgBv#jLg()y%fkA=+vI(XB=htZG!D+C~YitwtfPtwtrEt)w6+qT5AcrnJ;~ znktN%YN@7bs-~K&sVn!Y_1tQzshVo}zf@E9)oLoHnyRUqYN@7bs-~J!uc@YLs-~K% zsq1RhROLs$YN@7bs@4DcYSn6fHMOc=P2W6g6?+pFv%{P8T+Gu` z4b@alHC9uIpIllRMwwE%qzWJGA~A6gm%raWDO(}jkH`FyYU3I)FMdG&twXWIQR2e+;1&SoQRgowM^4Dmsbbh0KM9)Q#a zZIw5sgE~-J^%+7KS<>p|5oSQZQh+im!g6F|t3+j=f|-}p&E%8Dp8$ve0MU$q5nTc9 z``_-nyMBA!{><&&%$dvGa?Q+{yUlGGmuq9KC2mP$j|TCS z{!J4ao5pIjHBn@WQbRCMJ!rq8M#-ZfrFfYn`YiEn0Q0i~!1* z2&XlGELycRcqECdEwb+Ap;4+P=c$oKyji?$)QdM& zYBhz*Yj3jDDP|j<0hq2W-SrHv1{twah1S7>Dw|fpKx@KhpRVz#G(xyuy4~Qju~yY{ zpHbGP{#>~cym@gZDx|*)vR^+WCoBZ2CURRSL4Lpnl&EA#nGjjyOsuD_vOQX+7okFJ zS!1kPBe1IY6+Deld8=CA?XF4F-P;->)o(>rI7x2Z6-}_pPP-Tt=HK~ zXF5iLz=wh=(HvLSTh;nurqOCq_+*p-^2_%r_Zs zQ+XAb`b;xS*b*GO_0k2UwQ>arPSu;9bE_6tJ>>!5hAgFA=lyU66TV`AhAM%Ix?k3e z+*nQY1YP1^x*dG6V*&{DC8@}pR3Fu(5K07g&LlveEg()R-y#0Xjrcnq#fUT`tO$zy zo8y-Yi>p<@IFYsVR^@eTlW+Q6r#8}7e|UG6jr*)NyHv~FePxS2shRHCvbzs#q+7Q3 zwQS34}f8*jiONOOskrZIqurcoej>JK{Feg zJ=L9uh?t9mivZdTo6rAWGJgBz6x{@RCUl0GZnM=;LptZwOxW}}*@mQ?ib3mHCw3?*mOZN`E|Bx_a9!?aJYZi^*Ox_qzR@5uzPpYT;v&;h& zE2GNVu3NIt4OLSDK>MT$4e*H{CvAJJTjqx}s#gf3GGnKqpxvml<`b%Zge{W2qnR_> z71EnHR#rwdliZ^rA^e}Y;t}jrgFd5RGTNwF8#Hx0+T%$a?91+&znVxfbOMXSs1G5cEu6gPO=U8W4pTYl40Ab<*d+u+LJTo$-LZGx6f2E zF^WA0){87`7QXM}GJ)#NR<_7J$o1BSl8M&?o#6zQUR8QJUDXb51s}k!IALVEz4NV9ao{hxjcZ6?LD59?I$^9F$8?BnUzugxEvgMV`EI+ zw2Nqn-wC})pMjgw-~5LiPjodqbg;D2M{i8-rBR2aT8p?q(zxY4*Lc7yq?2mK?h58N zwPl&6W08c<^7!HQ(a#5&r5k!Q(Uler^hR_easyHEzE?Z>8{gEP`f_za{HAN%z;$kZ z0|8&XC3`w6ek19fy7*S+D&L7*i&4=cqnY5jM<@E2S#-v`!Hvec z-GmBZ$n2bQ%ZaTT`qSS5+-sf2x50~+FmRCn64o(zHryU;E5J|rcpV)*vO41dtal^h zs=9Oj+ZQ?T^aFjVQ8eueIX8)3QNCPY#9jg>{?9C<)&yB^Yf=1tzZE=i|F?|I-CvKx z!EP42ZtC8R_10x^)=-?@@6Bg_vHJ?y$bSGNjZf(O*`1VTV+0We zTvB+4b{Zx2L58?J`=jOKc>P(xn-P~fd{IW(0XICi_9!8uO!=81bPGz7_nmlOZE5^qCZ z`U>K_=yZ$i*KtQsJKSphr1h=?XFtJ%Zqu~+Fl4Z^wJW|UeJK_V*N(al>cg=#bUB>P zHvP|vA4=i!MlOm7_nx=O84=1?Z`$75N$vYy#V&_GHGQ4m804YV`?i0t$Gg_}*6QFN z^QjI(82@$8YOOJ+4{Q6O+w<+si>jt1(h8=xW;bdb=25ydp8sSU3RctabUc0OcMvf6 z5F?dPL*NpKtDb^*SE{8~=I9c@|_U-p{t-FNfG zce@|4F}F(^ET&*rz9ge9503)$xyU~bjyX6nLng7(yZMivH zo|u~^>QiQq4aAkLw9BsXFx2kepUYdeWFnY!T${FV;yc5ze^PY9I8m=zYPdHGt)J^r zZQTUzog0EaLq6P?7((%Has4)tjy6C2E5>6(`|jvY*HM*U!fgRFP9(~i8LIE-%@A_>$IO`YS=b)K*n?ih+}9X9=(h*!`4iph z9o?#)?`j=u{QSSnc~S4=(uZA-Nv9jF?I*r9UYCdYvARhr3f@U;pei?UGa(;0X3(_5 zaLD4Qs8!^zQ4FfO)f>d^j?a7ULw-g0ntlOc9J&*S_+Kazu^2?{LTYl~KXFqPwns;l zm4=U_QVoDl_2fFb>4Z&Dcm_XwcZ~{7ksBfR_<-rm#=W*q)ad^>&7ghJy)&!(4s-*} zAGUbk*L=NZL2^bzTEa3z8kBFX5ptV1a%cv}xqy3i-|gS#r$djW%;My2T|~*Z#)*=X ztcjA$2@0H^jCa~V5bR{KCzE<_Xvx2oLrQLj98j_q;1BjvDkx>jQUm#F_xyXiWNkM~ zhUKH4L?FvytkHG27-Q1uiNe2wO>TAG`d-95y zSkt9`?onT)oaoF|uq8$)`LN6{gvLQwgC>D5JUg%{6~I(!jSX&HQhzP>adJPY4wTH7 z9C9k5c+l-9D+&`&{yUdxJ|~lUg?E!`j17L%nzoqJdZA;ct~$6|+dQVeWE@WJ7fLr< z=-h)UM%Oes4Nu-EcXHWza7&J)jwcvj>baeS&kauP6_r0FjWiVMmt}34e*AaKIv({i z%e1Xq(tgDLr1CJS<*rj>ZOiQ-#rt2LaSzVPNU6i?mn+N6&6}70hl3C0Rn7;C`||Hu z@;Ckmk}RQP@|N(elA__`rF` zPrrz-xp24H8w?&zmJbv~9=;D~oxHo7s-BGO@IP5++QWBkhxW{NdCrlqae&7hRaFa< zu+~;|J9a!c$j&lH` zA8Wo_KUVL&;n-T?QcR_SKs<`Botp$ftOy#ot-FH;ee7CCp>K(Jdn!;K4Rrb|NTpR?!^N zXw6Rz&Q~>rSDq5eN*zVnIk0e9iT>HaU!4tnD|RC=PF5l!cWy}zfwXKD`csKx%OfbM zvJ#<@vnsx&tMa6=$+M`;#Hf#qZC{cm>~3l;X}q`jeC_;)&p1 zTH?t|F)Jy9ue;d)Q~7#aVW;V#MxCOaqteZ| zVibi>|7SJRjnnjf(#)jIa50kh_>vzv&~&PprS@=FFq+?Tk@W#&ASYP>Cg(B?sNC$CdvGwkLz>ZbS2 znucc3%@aUk(v85Jq%|8gJvh>_Jr~fQXQdEIgwE1YTxPOyThSjBH=EqT&HqW}Og!z* z^GP@ds8{-Kux*>6X+_oz$Q++*W=Y8kMau=mcY#^75}Uavj7$7bn>H!NT{x3&1^kAs zvgedMCIgTtXHV>$SoE>znJIv$-0#(ch$TWIX)QiVw!3MZo&33r^wTc6_M5wo*39TI zL422-LN^gHwH6*rtLpIO8OZ5$_(#@yW~W4z9X-#gv=K`&?+f}ckjcjA!^#9ePb%yW()^+m2&!mq523dNPTo| zKg3qG)mB_x>Iw0vdA=rSTbn##$MQAj(P$``eK>(;HfnY`lYbZNGI*sWcK>L+85C^9 zbvdpsw4$5APHw&T5jeLCOT71{knbVE!1@1HxB1Pk?%rxSO(BE1y^<=Js%~xH5BG&T`Td-lIWkhfkt=De7 zPQoh!NefTaRqH>7&+^x2AxgjdY!`pd&;n3D+|^Yp1wf&0uX^!Ii3?EI{nch&FW1uP zvhEP*X=_8&-#H!u(HDJ!dlw7umhy{DTK9WjoOZLZo^7XHcX}~c?w7rZCUb-r$~3=v z>7%Y*sH@A7!9wqAmUgR7mzVIU zmP{-4yjw7IjWN|1X{eq|i}k!(McswR@q^Kw6S!|H!SwA)~4@d6roxi!snz)7>bb0shd+V)>u>INd_@008>3;Hen1>FvQGY>Spz@khTbnjFZ6%Qb*4ws z-HTq@PXvx_J_WF&8gX}}+7N)M2KVy&B1#o2IkGsyNlucV`$vdSL-=sM$W5H_h=R4X zg4mvluipDc4nx3yew3#YCpOsgcPaS}J%Yxr7jZxKlo|RMR5DcA$U-fi|ArITU0zQa zyk;-s3-)0=bln&XdwscN7$1z~RVu?T)P}2vuJp;{n*=-2yZ(EI^LJk~U>Z z4-ymQLO>~!REo4=8bOwpDxg8qQ6dsS(+-)XdGoBrO`_4d)ip;42s{ql-&88XO!S-< zy8`9`GcEz~6b2DJWJ^m+UBykd_5>Z|p2c?tiK5*kR8@540b#mX=n!cNq(C@m`)Qzt zRM_yfCW1XNhSytq%o{u{#kbM>&g5N;r8jExOA@Wn6 z3|e1)trHVBEr1&kC~taGerF4HzP=S3e{ZOaUt@lwJ3;tBb8Cy>Be!$zH6HugqvXu} zFZ#>>cSX$4`wdr3eU%8wy>j9IN!TQSU7mgFNRyuEbQWkYbVN9iZ+7}ABWDSkdz`<^ zd8WO zs%Ght8nkM1;?Fk>eSXQrBu+9wLxq$3e5Ktj)WKE`yIak{CI)+|)-=X93D4Jhy+U0J z-*PL>X-xv2OS{3%4zgNpG*xZku0b3BrBpJuzey!%r1ILfXb!UP_R;3Do=HeI78T@; z+^mztH{2bXczgMzEck@-5?%QzvHW$gqEf`wg61jWUo*-Q;!N*-P52b0N-oN$3<1Hg z{8ZB>J^#FJb8Q)yQX{v}m@_%vaU67TYI*4H?sv(8h1_d4_V{_<<~NxCL6|YRE5kNH z@|Htsc{u5PXAEbkA(yU$8XkAlv-U!L3$!HR&*n@ifx6kg*uGYqZ32;ydtBIwDx3;4 zUY4H$PJCjZeE@XINr@;Mc5mg)eZ8I{6q-);DfQ607w-{)a9>)%L|KsydEDg%%Qq5g zR{=bTYq9P2kW~NV_a5v^oFWosUWrt=b!&Y6B;+;@h07ch5P`UX$ZbLO22zi!ENE!g zF(NF}R?{azb8}uL0vcwk76m(E1sx^afJRQcjjqf+F>luDS{JTqbA&%+p~&pyupJY^ zm^Wz}yFg)*u@D2}M8HyzN*dK8aRI|QFjnw6tcGBk%WzYEKM%Dmw7{YVEwqCGo(ixSXejPo1|D%7dwJe@?_>~#3~RVcK%;+|axfpL%)hKW(5q?vl2L`7jm zn7w(dmdI%A*`lG5mf{52&M|OP>8r5g-P!U>fjKorIpeh%E3;7~!lPk2D&bJ2Yv72^ z+M7HP{r;`Qhy|nvI6V2GRD5Vny>m+hpKwN4Ph&K_At`O*V5A+H& z(p7B4XSZb3aeHUc6a+;@U(3Xnp(mRD$VG?3M$E?B%GIB8-w}h~n|bMkFewc;0^`90w>lgcN-3d2k}79J z3nXvr$u~3UN#B(F*fNkz(<%rDSo(_uI9a5U#AISZpj4ohas`q!43b|3qUOFgVA76N z>xcK2Tc*n8P&pPF$)&1ElA7trL75t&gae|)hJ?3?<3mZZ!K!&PxKxWrg~CF9V@Zi) z8EyP$=W*z=eLWZ@8vC=OaP&Kp>>AOCrPGqIAfgg2Kv5!-EY(n|6ay&PaU4c!X=$Ow z`6Ry^t6^}C<=*MdWy$t9>1o}!zpLMPN{vLfUeiWdiIUOi*M3y2GNO?dY>5C!TX6u~ z3NWMr1Tv}$=SgWrM_&pazn|ILMeY@Yf-2x?Uu|_`Lf<0d;O*Vd zLn1zCORo}*bVpyD_rJ%#!n*_O@NJ8XY8&^oOadd_Cb-Yj;h!mMqud<&&5u}h(Kxw* z)>|vgxr@qrx+_nWfoxAkGioJijC#(WDr$XnAW6WE#NbJ2k6DnSsC1+yse5vzYrA;s zW9p%HFZkNkviT+6&q3x|y`dBaLlKU3BbRYB@@oNGD`J{h0K2@qIt~uOhcuXVh?JX8}^00=Y4FiP`& z#%2NEx=bZzU=?rR{kN6yI;E~c%_m=Fo+M2ykKK~cu2 z%b4j!G&w0e;|y%O*sS!SJW< z8F)A)7V3Xj5+jfqjWO{O;bb>*<>7D=ZJ(*OYD7=_5KF8av4}~l4p(}6vV#CVuCoD; zGy=S8B&wy!L5`->24GqnA$KEID=Ui$(j4CmN}KN+ktXks-T@IA6H=trLVIVYelOhB zw`n}(_Fn@3JDa{&8@unyBlOuC+UTm5(FlsUl_F5d=SHa}O@-VrhO97g1-Q-xnM2LxV&DKI_PSh9KNcwW~uVNXN zM?iD;~CsFY!pb?%{E{+GV7V=$=d+={BYe}t=IR=vl9U_2#Wz7}9_*+0%MC56# zg=?zik*Wm`*)1%iRvG!Is^6%)U1KxdboJ`D9GBN8x6l|UG03~RqfHmVnKDk+gu|nm zhJeRqxh_|^HPA#_iJD)7Ke{xV8J>$MZbHvpGQ7?FuZA?#K5ZkR;u67l{z&?95ovml zx9~SFyriQB4BDSyrF7pQ0`sF$4)0J1XTTMH}zbB?0qP%6mg`9*mElx$e;>rrHdii0Hg z%9Y%2(OsWW4}N>l-)j%czJuO_a1XwNmp3xJM7?wcIytBu2#SeHni6~`N(wg}oxr`7 zh!s8PjDznfzIVOd9;IXd=jF?fVM5|=B-E}!c`$0s(1@%5{mU2OeUELnmn;`_B1EnW z3`=YXPyNnkeBzW`Iu7h>z>@Eejh(;yEraHczlUj@Xo+i3 zK|>UdkKfY9ff@`53ZIprEnr3s3=IJA9j_c8nv*e5qy1b9fGY+L zWHJ#&xnQbF0jM6H<*GVhltK_$>d7Kjw9+&?9d7o$eO0}YD)xg@{tDwoF!wLfc@vkS zP#w!jRE;>7B@|{6P=Y+LPknvRdI6IIlD|soI)5T zDGNYwIC3V{k;@V+ve5FJP}-hP>wZ_H`dnUQkZ{1qNfz-4{rq@Fv1p{eaT4 z7JGGw!dnZyW3|U@f6E&pVJ1SWPb5cTydG!z`QwODmXhO;ePv2In3N=ViBIBsXlAn< z(UWtMmmD-PgWDxVX-Whr%(bxnTa9>XI~4X?Xd?}QR;Gx8GYi@e`dJJ1KUm&s;R~}` z0J5wL$W~d0+dS}^55OfxTfU1SS?dzvJ53~>t*=kWUg+q=Fp|i+6H6xc1B~D}5)Ff- zI6{-2(t$)L;(6$VA&+2!k~SvKt-C4bKXF{l00KSVm@f(|XC`hUELd+@>}rA4x9KWN zR3>|Wge3_`bQ*w7BQjMW4$so1RFysY6=jZG>j+IXoz?0KPTOdrZ41wsRpDS`)BpKb zQn(^If*u@BoXD90iE3>~zKvQqYPFzBlVO-@VMDeH47FAF=w9~U6=9()-po(t%yeD3 zz0hD^i9K-`WLj`Vtuzk*Q!mF4ovwM0|HLtRzcU{Ze}w0nOv8q0N0`i#0H6msKS(VX z6{u=46vr|xG2{?~oSbL!$V-7=;!EZhdie*`p{hi1z0by6tDP@oLI4_AiNag$G%~f9 zOlN2+7+9|FYK@#|W%@>57I@f+kT23ofB2nrsggdH9jmg}y5VXQL2{*7AV^ywb2-n< zpr0V^2XVpAlp5>Q7wRgi>=UJoy}(r2iTE>u2qs={wSq*JsWFL(eCfq1;1cN#u1q%% zg;g;!6fWi2*|W_jioyGd)d8A%WQX8D`P7rh&RNr8sH%n$V3Q!T$0QLPu$y@jPWCkN z_>5I2^T>eQl!~!@O(fP?;#&ND9K#7!$Z56`q5QQ^q+6SMD}$^An(3EXbD;sr(2ml0 z*0Vr6b)SwYGp< zZ7UnDur>K@-CcLK*`j5`|9PPe$lqsZpv3;I5X4L}v>)_%zSjeMs~_Thheg6`&Dak)Ql^{_fG09>A(G#ZXeX>L_QWo%bn{rY{0vFyC zdo52u9t|9M6cgdB6Q{XEThI=$N!#gMY5<61BIP;4z{*t}24UpktrIPFlo%rfoIsAs zM7-CUUI&T%Eh&yaE{PJ62+O+VQ3*8IR7di*(Z;X(NZ2+DnVMx`=VWd74|$pHO$=Z% z;b%RSQ@58IE+x>iXpdwPqZGBGkM#8(H6_qnRRf7}PRHYrCuWLi6pm;oaf{doNV7$O zsw2jebaUT|BX4>WtBudu#9T4gT%*R8a|wm$Ss>Ag(MHl3Qw0R9w1X4oAjG?TkOqlP zjLMau$i%jHn>&77$4<9L^UI!KtT_-IMXGX&q^BwYWCNmWGKp|G(g0ASEtNo+BxmzB)i6K-6$YlgG#!#iij@fM zpx7hWO9O~ly9i0lm!_B@fycrqK%t+Io#ZU@Xci|*UN{@nfXYN#0Cn`KT6@kBt*<23}z;Vpsl#2i%z;CwRM1WA&W z2Iy% zEOtxVI`BCK1I@ve2+*-#XChobg9^3qsrZ&SidG^?$28MPxjlV`W$(yik|^Sd@E2RQ zIi=71GcecT0UzpcD3yt~LC2#DLF9Rrv8C7NGG^GxE52#a1KUeLmNF4JsxRd~&QYa9 zF^)%)z3GvdkU;h#>ZLh;9t5T9%PUD=u8T7`kQ49)h7idLpt49{!2-kRmJ@OcwD78% zS^k(GF7M?QkGTFsKYyuAw?^njdGmfe*4Hr_K@qY4)I?9L4Kb`p!i_}Q)hUl~ppDg- z&p+#7JHk>)Cp>Dlz~+#fqPRq(v0xq~Z9=1NC6~4+2PClLNNJuPWhO~lDxxkJR-{f! z1PWDM@OUmgf(TBbkzucE;h>M=A?q5U9Z3{~W6Mf`Z*8Z=Uyc~3@gO`_iQt3;4k4Um z_MuRoqtB%jU;scEZbj#9b zu?#n)S)mTP3R`3-S+o!O!UQ9jrYjL>KH6HGud)_sX*>&7EnvuM;q0|%G2L1T`bPO% zS|Te9>bzL90D&O!zb2#)w7B$rn3vR(Wnj&1Bk$V>!?p285-!uf6m zhTp1&IjV(Y-U|-ARUYQ67MgTgIMS^GXm8c=l|U3^TaS53dWEFfsx%3lrliFvIcg@R zO2|=(94ZEdVrinPspp|m5N=(I%P4epY|{8G)BXrXy6LExrsZ&ps+6M91iU`^*B)z; zj_>xV0s5g$`caL9rOHacG?KMz<;~gyBaxU&yDRsMA^C+b^^e|+#Lz6{iGBZ1zI3rf z%l-h(N~fVs1hJ}W;TFG%mT)**wWozn8z;dn02Wq_@M=49{UlDSEt2s;amj6F$Rn5B zCm4SZmJ*02!k|w$1GT_GS^$6$5CZ@P05UX1HUI!`WqFk?(4=v3(Vqx;w{y<(ND>y9 zmLw+@1k6k&Y5iCA&|5mbdlJX9%6aKq0^U zfrJJIg5bO903jO4V)QDdfNX4emkFdTy>>-3vb6hNW?0s1-)|(bhT++nqNHJPiX_Tt zxSZsSEepSsV~K@@H@~jdaCjx-N(r1SWJCb?y$FK<0L%c{%mF|?7}xgRd%O0v?OWUW zwsgx&b9!q;+fCdyp(FxEN?Oac6E-Br04K;O5J12Oqb|lSA$O6C3$~Gk4M%E)`hCuA z@wQcDSK4u9y{?W!{4Hm0q{owX|x(58nbj;=X&$R(Noh+w^@KmzC`2Tor)u0P$1yP3$5DDAPJ$O4Zdby4m;jgeAua>u)=foZBI(iTweats~ai>+%!W7jsAxL;! z@zyk~gqSq0*yLIS@u*I-EmbOWhp~=ae#jKUKs?QUJQn+bhPT5OEn{oc@OYxT=f{$t zU9(01Bl2<1%=~4hy#TUousCKhQA`f1mOil@SdpknA=V8ErDlf4&H~c_eM_CCc6G<9 ztyLK07WM%i9<}ufi<3xz>14#ma76m0?TmOfuyK{u&Za^%>}xw&q)FfLf_~n&@31N_ z?Xw+Q*!eH+;1y@c@p35NJ3~`xmkqdav$kdW%ukN<)?Lo)76?`44Lqi%@O|Li%;RRO<)0DZe7Nw`1$o)+we0A zO9nz)yTw+3GTF4P7&@8=bx3KNzAM>Dl9;S|2Ys3itaA=LyDO9~ZJ>hBKBX zGKhbgY@D%BYScP)OX&_F$xo7)^HI1$g^)2ML^>zzwKE>B!sMKL9o z)0kgjzwlpGYe`}k7$w(qe9KNp&hMV#c>67+rY*C>h$kJ*gV_4$(`8nfTut$h^Z-Lt zPynO!M^@>AEQlHRJQZ**>vgme$}+EiE9ZA8S(*PF!>S|nZqvWD3i4YyP`tZ9wlfdj z9SJI<@!_!T!`lq`4|{(Mp9TdDR%F@v{ImY&I}W2~5e3K$?re-Pj3JdJJQ~3mX56eq@vTakXxk?IO*ZFuL9|9oW(Ol zEW9`}*#FVv?z}%(+-XHw5n9anZ+I^u!j-?2F~IW6r8u(e<10y3`DK=}wKFStxwZo*J?)xk5vzrYxk^XSx)$Zs04Fk9PV`4eQWOnwfgkVo9UqHSt z6c$C_x3#Qyo3_oeTd0od8-~l7dDF}U`07Ble@DtUpgpCAf?+GKX%SXlyC&ZUV#v$14bSNW zz&%@M?2&I>#n0AH#6#@s?+^pOHlSh;`Snl+G7rrEny_0ENKs-*<;99DM1^4YCW2TJ zukmu3EM~>XRr=S~QA-~S*`|}#YJ@WcDM@Hr&5_cxd5Yd%#lgZl5Ehk|*14~X{BTB_ zcOG_Ts?@XUh-`xLCHn<%##RxRk4*WBZ)pxR$Z|>pupW8?JZYF%5)jo(yesuIUYkEO zNQcV(#eJRG*R+7-_KthhdHD)}- zqQP7H&nUvj{nyE5{qyYi)_eV}{`CrACCaAc84>~GckN=LyCYee#{Y{mGqV(+9HCO% z|KWI)e&ZM%vtn9=d|y;(peDM`b-Tz07xOazS-w zptO!a!gus`5=lBce5f)4c0@vQO9r!BxW8%?XZ<^Fbzb1+nIW~$dC7QpC4b!2(CWMl z-ENGDT?(RZT{H8GR2slPy+IUhw&iPw8tvJ)VEajT`LFvr+ZuNbhFqeToJLQ-6gnOj zIZvFJLcw+G%AJEqT9b0=CIz+hQO*TdpnX%ez#E{XoNw}*H#qg>vvK$VYo z<#yjZ;=ddfXdNL_kdl9LEM42WpG_?e`Az(1*t<^MAddlfP1+4#y3~nSkZ%D@NDKl{ zt|$4uX?rVSHqR#2ttl~9GrTtPkv`-t{yLHRWk+KmDR1u&(=kK)qS2^ILqu;U3{$!MEtKyr*b{N~9g(18xF93TDX=>uS1g-Rjv)r>rH5aWzoP zazG^jX0aBoU6NCd$biVenpQolpN-#$H`(1ipQ5f9t zytLla7LD$hQgH5=8+WXKnjY_L9MLnJZzp62JK^q1SIPE>k0KLX*~w2cWUm?MrsF0o zOnjaFEs?*CHb<>&&-xDa03XwXGZr&Hxb+nZ{48%G_4LaI5T{yPdy%XN}iI}W@O(aTo&7LWyT}W+ln&|iur)28(Q<*9=yCT-F>+1=-If|8?vaI!${p|RD+TlrCT)nfNy)=|E zFdcNCzq{#22dLFLGDbG>!Rg`Uz%G;VGdk!mvR)xIksVfNVR2g{($Ufg6y-Ka$ zG1+}i^S|1RnOZeWK3o&k#5cl#!yumZd0x3o(GuMMV@Q2NgZhZ@dc-OS-+ zGSE92Z{?^5Do6cJ=|Jm@_`O7LY!FN-^=;l?e*MR&_T?2lOh-&g>(M5bWmpR-JlmVE z9-c80;2d>Tib6{%SVBeEB}K8m((156M~$1`;vLNF*yJ3USBXQH9?z`2`J#+e+Dj^5 z)<}pN<}KfUEd5yb@jT7@){#6!sPO94`t`StuCBWJ6-+}we>)JBM?&2xO&%wIzJj5B ztoPS2OGQ&zdvu!41eiQSR40&BykdX-=|q-UoM7@z412ro=v_~ansI=65cE@jQL`OH z=@2z|p)jG%KTmJA4>yI1()G@7J2_@%Xre7ODcMP0vpa$&`+lF3H>hldEB{NcD9BHq zH3-ZAgF}o^;nD!eFM}@~5X=K?pSR$>GuH1f;AB{XE*(K2uA?`XecritECjYf1^?0` z3worFBka&?OMMz_0Mqr|mXd8!pQ=u)bU~(OZ41lRPm|jIw8zxbNgGzEB?$?4%na|p z)7O}%f2THdk$ZS?>wZ~_*w}e+KPL9%e;Kot7K1LGltf5xSD2hVH!?p2+-(WwQBWX} zpD|SDuDOM)^~Z9y4yY^hAHOWV_H+2w=rcpi1%t%QQ>$7zI=^Uk(;3`-%x9VN86#Eg7M}?T^I*owWBe!G zd_E;!P&tKpTQBUCH0RHtc6aRi8AN8pK_Z5i!D#vV6SfjdGlcE8mS!(l&0P092rTI@ zN!b_d>+YR?TjV-9cvl1mu zO>lp(QOM5f@NRH!-%_LY?lZLohu!)$qIj1*rvLprS2B=5{L37nW)*VjZ3IN=Vg6xO zMny`W*dm-;SycZk>BjpDGYxXyEOX1xsZGc}+PGqfl% z)Pls!D>%)R&^f3sn#Q{cxwbiaCg=s1;;TC$0sk~xTOU*1*m{WjB`D=H^zzXG0BKEKI2TCxo^iK|Lm89Adr|J7;;?t>8)rR*rJE~A*-hBp*SR#*3KsKaCw8)bsNgSC&D*G8W|yF$6}ISDw~j?WUMSEk zu!xyI)qy^QCSysx&0kW84@in zWoL3Koi&1=oE0vhg;YZ%#U=4!o||LC+mVW~l-NoJq>N?AQS8o|w#J53#eaWlT^)!S zsN@4mr)uN+Zop}`A$!Je)Oa#Sh>+%wrgU*HJlcfZ99T4TJtU_-<-o^3B_17659Qhe zc!<~;J2n}?ol6F6k_>q>-}`uPLt46Zfr#C@!9=d^+a}q&zaanFIqWNG2>0Z#Eqa@( zp>lk>ZwXO>7G$s}ViC(&SI9GVyZHFsvuwF)f3OWC)+b;9Q_7Ds>;8$i4es35hOchx zG+e8)!H@=&L1IQdv;KX4AC%v;Fv@P-=+e^-QIl>rP2`vqgN9EAh#6mVz*+JTOm{`i zWl*y_G#D59X7HNPC{6bBsWBv5gCR_SiM%ek(oQ7d-*FL?det#>-84feL^%eDyG?jY z29UQ5xO4`CI$h;nJ+J8UirRgZBgKu?ujqri3_yP8ULW|J81VQrhtB+94R%D0F1vm8 z2iORGy=Rts2CvLg3<25H0eC%wEuAJF4ZYc7a<|q>86v``awg$c*O6%XG?>ywPvlfX z61e|k0!0l;3-V*BpMj!(J*yK4d{NEb9$qe7u0NHDcR>D={F0Cw?fx4D_FvFXQEY{n zy9S9FKS!@&8#n2}s4u$K#Reg#YK9c_HrU+6Dt#sv|zi(Xxz6OYyWpJ3eP@IuxotQ~8B-)fS5KY@_ z*RR1B&Zr!h_!)cY`BtXTCcTuu*;XobmOIdR@&`)R!C03eiSL&C3wW+rZF|oO_d~lv z0C2i*krA2LQvVYJt4%JC$6Md{GvNWFe)fG!Ns=T}dyn8IS$iMfZ z3*6f$`XIh(v)cxakUU8A5$rSMxj;aIikp^;_#GsY?R0|aazvDT9f(^-zV#IIvQ^Et zcF!?~-!3&t=ZVXSFVQ&(*C65j%T%iXwl0~*!u_g9h>9+cm>Q8-wJ6erH&Y7c6f-ps zixAuLt0u&$PsCQ(zqcsM-kvACl1z`eOHxlN4mwD0vEJ!0IAg$@q zP_@bjnsb@z_>wcfeFu6vFB=OjJN$LWG(jKnNTeF)MnePDJy7 zMMWKQ#t0C~TFJ-X$T~cyahdF+9rL@> zOh5wkPC2Xzr|jiG83NRxQx<=Bf@b5-hD2jZj!0b=_J1p%Hut|yEdMm4D!%Rb*|^6o zy5BqejXA9``L<@4NQ9>GFGKA%q`m`_1u54R=*yz00%IcRA;J|sSya3j12M-O;z6d< z^P~WDUWVXH!jbXI#s42NiLPwty`ktFXNdnpoJ+*gJ2C({M<}o-!FeCgdas$5eec;D zjb+I>k!jrl#(!D;718ogx?n^*nJKejhWerlC!><4u*V<(3aV5MfQ7;)(lKP#2@Npl z>qe9dK$J>`B5EE-mt|!shUoJ3FgoV?6@n~omar4cf|p6gBB6a5bE^)2qK3$<%vUgD zMiz#TK{C|-y>J!(3un}r(O2BJnJCl@@AGc-1X0d!@=_PLU}4Clcx2@(M7kEhI2-zD zRqKO~UAJ8BNTG!dw>>i3Uc=dLSRbI;WJsW<;fRh{tNUusmlc`eW3~8l<*Y`HtT2Ub zpgmjI>KlVyVbQWyiP_RFq-!7{D5?bkO_h&TqDf|kZR@IEg7r0(R~t2w8A6cW_X_KF ztIV8-%k19vcAuBC|A&Z%18|!3-fq?TnyR9Q>x#-M3PPZ#BZ6T;5g?;7b{U7#6H9FD zH9qYaM67DNN z(4<)vf(DR~U}d-@KvYExuxZ@z7D(x#KrSUikwEUk`ycKeUgLiY6!I?DY2O8+eZ*zP z@aWh?+ErqI+t@=$G26+ILQz>b{$V96Twyso`?0TNklv@ifcE?}4OlB%g7~BlwvcB0 zXQ&;XE~c74i{1l4g2`*rZx=MJpnz%A{Hs*-HD$sJ-E7Pccl z{^a|dM42HFnv#(Sx5sfc^Uq&ymt7ZH&^(himxrq(Xxei+et=NRdGt1^d==$WTPqUh z@`xBTO;~FLBq9k{Vc@WV2%Gf?E0DX|G8}z1bCqS%L#99_!V%cZXTx=ww@%HryAtMW zwCD8FvT8;j*QzLN&4|dPtZhi+dU3|&2_>n_#t$V!2t{S#^Zy-xY7Yz1^doOw8`@{l zdm_KiaUx*(oMfS{b3jNGFI5XZ2_3xd)n?X_ITG;-5+hkKkXG_;J2T9O=vLZl_Vk3znwHc$-UF-TutMTdS4y>6_zsI zT6GIx93}F2gs5-+Yh+@PEW#G3XPGyp&EN0WZ?~%dNsidg+{Hf%Wf1r=nBnA+QKXXu zDN-pH<16`*coN703lF78s2wFDTvS;+sRt_k(uD;8y#M^%Jegqu*)tH$ssNzpQ->_~ zDh@YSj{sQaqx}0Bop;tmBB2bKhrA=8mxV2c46a_M2^-RHH2ETG=Uy5poEI%RuQe# zEVP<+npa>Nk|AN5g(Fdyd;V64e&6~H%W-4UunF6w^ZuK0C$SWdGGtIxQjR0xJiv{c zgAPot5E!&0j))QgS~!uwE*vH>#!Uf-`PB#4GV;3L9rcO}Ymh+guSPq1meL3)uV!QI z9jV(5Ho9R2Zlw&#+ZA`Ur|QT4u8F^*>D!Dm*PKcL16YzF+{rHJ^WAwP8A9o+7_NDO zE*u3h^air9MFS5(tSpozkx785BxY9^;4J#UI*4-NwU#Pr?|{29HN9L_MO}D%QZn-@ z7}rEWN`_)FZdabfr!r=C(18Mip*av)<)QgI0{&LhuXrfP%x?G6nla+KQ?Yb0CD9@T zk|9QzDo5D#LBx(w#1zOQkK@F%I;vJZoq3BMNX*U<=#KGu8@YS8=xs!bS2K<^Bt+rJ zbY5}<-6Rl8u}#NIAQ;Y&0*!DVA`r79XkR%pPrr^(r&HE=8vlOg4`C5=S2@gv-VxiC|F4+RBhw*;j)1Wij)WK&O~j4H6_7F4=&-in zW6ymF%84cP&h9T9jXfULUI`eZ(pR)UTRPc!<^avy>qb%$csbm4NbVTb0s5;i{?KV%4wo z?ayC5s$m}X&A07(zg|%fBdZ9GOKf-T;u6!4f8pXHyuZ4UOd?LazmgXdyM?k9Z>(|>8J)hb|3!n=oUxl=kH|gQsEgAQKEuUk0VCC%b~raA}l31Z4?<) z?+g@Bnj^k757$v8Ug&#AGrLXdJ}4jBTig5jqiU zZ_#vDA%E11XY(W&XNbLTO%R{34mDI0X`JPU-bTX)qet1O0E1>oIeAK?+3m`(wwfcu ztF-@U)I4^(YbOgt{96=u2(k}jOdWh1lIpUXgHM@r3*A0};$7p7Lo zXxe-Q3%CTzp);&S1)^P#vuVuJ;V0rl-bGi3(?}A86Z-A+vrhETp~x>-d}ghvED!Q=-- z&X9WFfgsQw-|spy;1S;h4%@KI?b&D`m-iUsArhyYz~eWW2OlsI-%+}G(TUwOum$gY zT#zl9xnQ_(a=}^Qqm@jS2_CEM^WZS4rF4Okl?;lWP=aq4NXoa_p_&y>lh#gQMZq=d|E+GJWC~m|r-4wYPAGKP*(LWw)2vIBfA^O{5Xk(iPpM53~AuD%*qU$;A`#anB$L6K4-(WAmP zi>Fs%W?@{fN`8r7sxs=M^cL<{1_rf-l3Kh3>3iizHpKB*?7;hSzcC5mKMJ5npIs-c^&G~B+3ZKG6WFvjs#(6Jh$goy;=xKWQhH<(kiyP zxWYvd#AIrQv!Dnn5D)_Z1OPKbL^c2bUu0L*WdH$^AP!lIxx4M=h%%$NmW;+Pal~mW zu~@kW{f#+BNhNI}tE>0#;P?T6%nTLL0DuA*&#Zg8`*!=b;cZ;s3fVd`IY#8B4t4a8~4kL%xICz?XB9B*I8NF+V`m0McjPZ ziw`~Eh^O_xi4U*Yb@35j3w-WXrmknk+%#?9TkZ;TT-)B;T3k$8fSm<`u~lrsdV75R zU8CNzuI}zFnPwuaZo;naw%5A5w(NWNUyHVbVO_!*a1NBJ0W2KDEbK?S$-=mV!glN_ zlKY=}h04YnYm6dqu3O$rzA*7!?A)JJ*-ek_yLWH64$6#ha-GAsZ3tilY!h;VU;-*) zCH!HWOmLP4D8OIbu@kQ`;Z}m>Y8-OSndVNe#~xo}>)L$mt8ss|zUp7L$#K@woQM;V zzXMcBV&NT#cM=l+;_B~-FPwp%E4n8p*k@-cDm(cdyXiGm1GA@W*UfIbaXA#)0>{x5NO*?*t$JbW} zCy<1I1-azAyEoh1wA`)b=Du!Z@pf~l@$(ERK3?RDtu1fsnJuRDt^AYno~S5m0jyNO zB`22*qzV87Xd!ISv#?cwM&HBV8Dl+@aZcGRxGBoFo9Q9S-}W2V;CIuu`{k(189m$; z$~o#b##6!qsm7k#)bz@-O2s_;D3%Et+NONzYJ`r&=u#(yuN^=p*fJMFzp+V6l3 zp+xMOu!YDhfybdkvV z>gqg%30c2y6mMumzmpKf5+aM#bIY!X6t|!P-8L?@7p5q6rd_hAQkiC}nUs4zH`OyY zFcYOF#JxT4&3yq_LZ#|kS(xcO8AtgF0hmkxjfh7tY@30%tw_WonOye_hx7Bg`3Nz= zo4anAgWlQ=QTT4l#W_*;r>2eWO`ApI!ejsH6`PzpYif@?d%PU`FNy!%w^24JYQQHp zaPv=a0XV$3^Py!%Ws~}7--l-1F+Bx@^Vw^VNj&^5Q@W}Kf# zVKZ&Fk)PdT4Q2ObWJ+&W6Xpt#P^shsm2Tf$CM%31Vq?~e@0BZhVdvv7^|Q17zAC$j zOKNfL+csO)sB+k`|M_?5Wn*V)UuD{{HEej+!*;A?=A6gUV_z&`K5I?AB6JrzvqA}> z;p3~XkGgsvr~CJgFP}sdg^sXo$cZ`E9h#Q&3H0o_HTM^Qsk*!dg|5MAu!7sstSYq` z@Z4FwjmM+BB?c;VHFJD+a)v$oLy~S>9=;SsLnWSp_e~COOc9=rYNget67@{-RBrTYGOkGW;o9G?sLs5-Y?(_}A)d zn(l8V5cm@p;a}Xl0#Ow@N1}b~L6Yw1Hf!n?S5e#k+00nIjT6FnXq!3&LW&#DQj-RQQ^KGH+Js*jc81?$Z=DV8oWtHL@b0 zeIC+Xp#tsgdP5Q!Bx>kL`*{Fe?-PF~2i6`#&WcTKy0`vL>)QXKvt|6KDvS-I>(JpG zWSt}Y<<#SoMlzrqt)sW!=RX6^fghm*Cyy9COWH}~!hlIM9)i1-?({k=o6H865D`9? zD`wm&{VZ%^*_o%=r%p;Osnow|dk-3rTvo^*O78{-{O^c9-&&ELBr}C2j254VS%>Qy z+ddN(Orq}!LQ{jB$Xx0m(=N&^z112$D(lnY&8M|;9n9LU`a+d3S3*F{&qL7Fim1o9 zp}84y1*rLF~};bp@)8lyvccN z{{Zr`Pm>~c@vfID=RU^)<)wsx*SAwVciLNC7}|`I>?d=$MT)($&d8)?xXVhhth&%F z)#ax=YidVT?XUY++VBPhco-ALr9_IM7;{V?L&X+)tl@X)2$6Snxk!qnm1+ZI}DbrFkXUNT(UA-L)1y`}nwg>^_uI%^HIZ;UD&j;!*Mj(|ZjJZEry z5Hu+>1*|TR5Uoy45VzF1Ae&~M-5mJ=^j;YY^S#vvYf|-V{@TmhIM+f#LS^(^R$?A9 z6sPT`n{Ii?`*HovTr__^m#qHwufeeCr@9dn{`0`n>WWePc^+IkEQD@8n)Gau%D&0L zDeuG0QcHi%B8+(-slTrjgVKU?z*KRVxOu>@YNuQg=uCqeL= z_m*ZuWJ$j@wIE;f}y?~=O{_N&HF_DI|mmJh+BEDg1=*yPu*hG8G_ZgTPkDW zF1_MxAy{|B6FyYnRSz~OL3;SwXYS{*-Vd}|5~Il60QIyW>FWC2b3)R4C&A3v0nhQS z+8!#G3ayp=Om+K9^Oh5Hx_QU-kn&xv;XUfPV2LS*Dr?63)W`nDy`D)X9^e_P^_6q# zdbdk7q@~&I@@CQJ;o5jld>&YO`!y9m=kHX;?U!_0_(G1n7kl!q=rn1KTX!(}asHbX z|1zuTX*dwmLIk8*Azk%Q^Y_ckwfl3tYc#cGfc?(?6KIw8OxR!x1Vw6{mhsFrZn^~{r#i#4*xv*t_1Rjw25*& zLK~7@kX7@QnVMk|_l+m%Mf0vyBbB3}Cpneqgh7oo9h6%Gm!}eovVg@OsEGPX4;hR> zfci^(Ck8umk1jbc3e;Ufs4Swr;k^9bz+A2^70W@bB@9B)?^`^6C7lOM>U2&8_fAC= zNo3;R4T#dvIE=kN(`?{vTzX4Oa$W%Sh7F(9ri&cEr0;?HONToO51IIBJH7;z1&-`h zCpx{4Mt}U8zH=dE;1Lx%0-YZZeGSxI`*_{geLU#v`*`EmYS4VU@h{jC+18n$wXog) zHoN!Jt^ug`)BXTZZ8*VcHQhJ)nNlj{!V+eHy^rS8Uipp`RRz1xjzjsIOFE9#bNSun z*R);bJN3%L65zfPOgtPJ$_hJ^a{RwzK;TVWhJQT1e@lYE532q9|J@7*Q+)8>S|BiD_!s(XR~s$aK!L$^w+LBW7=t>6U?C# zbk1|fD+Wy%!7I_uo>Gip^tds#b&Z{Ld^c8i#xy#6(PAH_2M>A~GV!V3Rpl@U`fF+oC5^}Y^wzPtJ zOMz3sSpFrWTtWj>=pik#ir2`q1e2}K+g{P4*YIf3LGQIz-?m*)U}<_+;G(ujYfP~8 zH==sUMK1BWIbvWE)tNkZ7Cs>o=qo)`#Rj{R&|e{A6D;dHf~}^&4ppy&p`PTO55I)m zUldy_wcVLM^SEhP42OQxp`MbRY{mYiKKIb+&*xXzb@sD-C>WqiA5PRzeA2a2^pHwc z!M7e7XM^s!u&L2&{LR?L@9(N(tI%?K9;zI3#*IESL4W$SD1lGF&AfDCdMxN?D#88yZ0XF zW}&4joqAO4_lgJT5(-q{`6TNE00>PK_7%5<3K6{AS`=797O=ys$l;!o373Zm=;E^dm%|446cr`IoUc7^txrXP|OPAJ&Q8 zC1eJDpob~pCJ{~ycjKk7m_)iV_pbTfWQu`FbP9n<(p^zy1SSzM113>0E+*7cYVmL^ zSp~ZImP_YO-iuBx1y3cU9fgO+vb3pXjfhq4I_z{N?hF=)F)v|i(-9Rq0iEc~)frKD zrQ;8M=N<9Pi{35h9Y@DP)(RY)ONr`GJX0a7C@eGv7d=|OEsn+s)erMrc%owI)KcX; zS9af3xl?2g`aI|y*4~*^INjgW;BR_KEB!9z$=}9{iCPxC9ysWd<++z}a-HoUgvUz~6PX0dp%I2Ge_bp$_WLoJt=nrCb%lpDngfyP7@d0W;sjorZm5vJZz$A`= zS@cay!Zl#upH-&8pssxGdilpd`AR#6anYIVJgA2x&n>LC5%y77Fw8O zG9eqnGmT!2JV!%qO|7~x1*D%DNGCGBPvS$Z4B@|qLwzI7C!D5yW1hFc`ejZHWpNA>j^U(eKw!^9nejWi+KM!yxQ|%80bU$~(88J6s zum}n;VzxpzQZg7uY`t?pNDsA;MgPI5)meF zWgQ&?75|qJ%v@z+&RIyc!Q$*-!>|c06>wIS-GQ{LR7`v&WXyX#$&@Oa=H0?3Shc3M zmyXxwW3Tv>*_(jgwz&{^q3ZK2;7rv+S#56jaK7iEZnrqm^N@As^N`#7P`5+lkuV0FRtRPqS@vXb zk;ZRa;n8yBO|N~PA8NUar*`ggssJSNp&3FgcOXgDY#$~5VnadcQ65hOrmQNr@g&&ZmitzKaXb{g_T2buUmf2 zH|B$XDDpSovRiw{LL{=&U#S>00g4c>iz)f`Chs)D`}0zuIpzk=6Md2`Q0`yeb& zf8Ux=N6d-lvgI*v1aJQo`?xmy4$;aP!A~w2C~=nENkGMaGZRYe_M z%4U%e34sB!w!z5JJFePFMR_D?hqv*qZ>dDFi3CzQhidt`cD?b>n^u=Ss$Vca>)LWh-D|P3%^-8(9}c##8~DN6eZT4HvX5;v@717o&ac z<-W;Jd$0ZKYM-m7p!bQcn7oI1<7CV6|L^JMhb1(A2D&#_z@7`47(lo{$i~aeEMcys zU@j6kg>?eoU&Gq^&sj@vhk+4-EuphHjttB>yB6Y{4*>%NjDRy|D~+U>#bh3*k8f=o zrnka5A?(O^R>@LrzYsKx7TJUgtWm#q)GD4ird#$Iw3K9j(6guDs{8a`rq35?hdAKJ zCBn&Eli!Km#%*QTOvXtZqdk>%{O<6euEYcsGR-nLT(lVh#a8B&CeDL%K4%bt*^8AB z`AFky%K>PMCGJetBYgO`;T34;fTx z-ZX}n zx%AWW{Cr=^cjyxPOQ@&`2nhIjlD?#mOC8&&es6XiL+%hGgo3NDuD`RC5uB4pF$#yQ zho7bD*5=*5nyLQRz2g3#Kb%7Jd08C3w}g|`?2-4gk4DUc<7y`%GYnD&91Mf4Vx4}O zEf}+n-~DIntvYKz^#4d9DaJ#NoCzSW*|Gu{=(5njlE=%Ovx_X;;InI&& zT$td^8QIzjV$2aU6|rksEys{qmnOm@_B^!Fy8@376@i%7bdBH4VHlhTy$*WykUwF&fxPCR<+ZbsW6#EXq<>R zCWQ-ndw=!LAAi$(B!wO-=rB-AOL2!P`JVz7e;(eAnw10-B?DbM=24YxVcJN=^Dy(X z3k;qs8{_Oz!BSj8Hnqxjz{QzkbPeGuOy|!CnvM9fy-_PZ-ta$(`?*vY8xl8 zF&42xyGB)GG{7>`h3QxbgJ|Zu%0sz)mByCZe!Wujylp<*Z}R0?(!N4RA-7lKjI*HB zE(Ta3Z3L=v=4}fDJS+ubah_mtU2pBPD6%T4)DnYKSGJ99&fu~}jDZ1Wgpw&lAC zC9SM}UETWqLdJ+%I*EQBPafVjx%=rkvxw33)o49=&_`8cVF_%Ufy@ZN5sR#%7y}U{ z?M=~qW|`iX_6a|2<||yZUsY6vd*k29`(K8hBTg^k(`@tUy0~$|y2dBIjqiqqd`y$y zo@)4MG;x_`H}nR1j6IiaWo=_&&ZUD1Tl8F&F3pGMkxf~-%SIq(3sqS_?s=IXo*8Ec zUY{W_i7xSS4~6_GgoCt)bZ*D7{dvd1`FTS>I+q5{qu&A$VhUsKx=iP-_Gs~*bVP78 z!Sw^W2zRC9=zizjqGj1CyN0-o+1jGnaKx3tB@kO&R>n7y@^lyD4}Db&S7tNX!gfkW z68X&4nw-e3m9@ftKp-H~GGjKs?X=ap=0TXv4D$0gj#dN0HE2mzTT6a*hc|If(K| ziF_KT3<+)1W{na=^PlpC@A6@Ho4a1_jo)c_XDBr0HKq)=^Ww;gn{ca*Ab_$QTb3o7 zA!cxz^NV3T8)9QjZI6)yu|$;+CH^%`%Y*|3Fbm8T+I1H&GYf?amW(e3y(Q+B^V{&^ zaUSxI{Q8LUN~qiY0I(1c1ONm8LNr7+003WP5z>snp`uw-ZBx6Mo0);TLUe3nDF-Hi zciEIyaj0PKH+^a2n7>pFf8WQy0E07iG$R0aZ~)^99sJo#X`lHy;_SUmfA6CO3;utc zy&wCed?VmkZ(!@v4M{y|#SM1|&r;e=Ue*Na?mJ!z6701cav+1ysmqoFNsfZc%SrrE zby+eaG1j%!<&52^+p4G?D2~)5B$Jn?0GR*)ni((}BLMv_ziqp1_PcKTZh6RLT;^?= z8_7oUS==|0Ba_LJY?7vJ5P(2{0xrZw04C>?2p0yD#4nL9i*jG6q_7PQO-*AZ^=4HT zQOmq6t^QrTwO46KlBg2FqUMN2$cR>OV?mk1AgC0%^LY+>=-TQOOgdWXJp-M=Mj})x zg_XF6sm-cdv)OeuTkmRd>#J*Qho5A2x~{jfR9m{Ts->*f^KYsZKuF>dlh-J2cqDMb zRn*5d=yl}{nzz$CrY^CL-Xy$-f0nv6z>6>SRLLM{d{JhHOj+Euejhuf`+6G{z}S8= zK?&MnMHD!LVbcM3U^KicAp)p!P*A}2ZE{r!l@nXJyyoo{3bgmC%`bQpy_)WL!GVJ^ zJoN#AUF1>~o_0oqm7@PazYwxI7|;lVH#G=TiP(uwSXn&OAqFcVgupQn^;nA&Dmc8f z=J%i&FMd4{RSgPk_NfB(m}pZ^Y1G?JQ1o{c9}PiEx=WwVu4ApPZ?7xit)YOdRkGrZ zY8k9(?QsxhMXCTx8u3vSAHGd;bm5BnIy#6bGd#;mUDg1IwyvmA1-bOQ zHC8{3eQoZi({d2pcDgN$Ry%UaXVFS=eoUxRkFWLEnb&rw^qxF zV_d6ISKIAsDEF(!`B80^s#yxU(B3ZWje2aC7yp$|_kHf|Z>L3<=-Ix*5`KeSn(w3N zk#zuWK#{-VJPI#SI4~LorWDC%60W335=yYFqRW_1;32vcxOh0 zwsu`Re!11h$P$E^vhCEI2QgQ4kGb+~i?FDOi)sUE__3X5c6dR7HdtAAUi;g^dlliL z)icbQ+X?#K#mmwEf=DAAI@O4O;9JTZISBKxAWI zyzsM;NR^d5i5-QThO=H-;>rq;#BYRwtfZ}#Xo!`!v+|178^-kqZJ2rUk?Qr?8f^m_ zmOeA8szKPbKyuh5$)7|qv2ME;G`$}6H}l=pyiPY3>ejMe;V|r;j!)4G0cNr;@>LhD ztgmc|$kRJ~*#BZ|T@Zawzj13lm88=>=v4hPWU3g03S<*ekOx*k*F6<%{81wTHEab> zC(Z=@;8ggZO~bncAM6}zO}l=1pV&1=U$zR3)l$jZ-<_E2iub}CIl@^}R@Oav&~nAB zWi6@3*Zi;tGylBivw2t#@r62%^OxHH%4h@|^XtNB5%G5w77#uSj*UgqRHzL<%^`}o z*qWLLimWKcjs+uUt=VqeC8W#w)F@WL!b_pKp0ZgvR{s6bhxAmU3J z-KSQr-_QjYD+eY3$n;#B?tNh3y*Lu8AxorQt#koudJPR8Eo|^(zil zt)zv#j=B;rV;ZvHy2lbBDI(E`21$)q6)~6afSg71iTeVkqD;dj@{MJNn6H%>u#K{0 zjBE&4*$UOTRcBRdF7%S2rEqj=2En6{t|GcMxLy#)tI-kpaBXdGsk5BH&p;egR`4U- z)FSn0PGu!iW35HqlC?I9uEj>Bv?#m_517DhBU3O~byF`4AMXA_60$+JZT_m4Cr;$< z)yfZln2xo^Y81m+(?CL40ZyfLMWABkP*zijDh((b_+wb!FXBYUvZvorjmo3b>Pu4m zia;}xrD&txQ<}RVR)ih3+IY(y0VukL)%mL$DMv6xtP2y3TL3yeLsdHx&W;KaDdZ6I zIy-uZ$D*uRf%tG}LT-{jm1AWXPGv<>W1i`)BzIK`U?7U&2&fIENW|0Ie!vg}^TVza z-*H#V?%)nMKA^!d{&7UwNT2KM7uMCNZ7)MnV~%9(fB_iLsW;i8j4NXvE_C>@ZE)ne z61*qjC z=2shIskL+k_f2Er>LpVV)Gpl6l?P2i>_;w;@>%)?|DK5iNs4WRUUcfn-9KXMteb5c zD@(lY#YJvOl!f<7z`y8@rlJa=Y8-EU+!Z5m3x<qKRB=hCNq)Ii~^zkpN)UoQv!I>t~DoZ$m4z?6r-!TI7jzC~l^+iVy>Z^+w_eI+d#YR0Iqf(Q|l1m&K7u%H@7Du^LJ1ex4}$4Vq#S0ndtT7Fk@U0@mh6V?7NF zHGOo8MayQE;S#%D3A9Fsws6u?=ACM@Y>j1h(xTN2NI@WxFq1RB2Zc21rPCgQ4PIDX z(CDKKB&S2HJSD8T0>;=jqpUnyww44U!_90?K!?m0X}0B<1cQSO@{cOkW39p*w@*~t zaVR6+X2sgIsz1i5zK69n8LIlV9TtD3M^t07-wU=TJ1hSH86+=m#l1hSI`1_t{??EM zFm0)7NX=Rcf+QNm(n-Q_Y#Q_pN}4v8j`bbrftGZ!Y$TF$Wsb%vCX@qHRhc4i@H4E#?8C=X$gS^t;qe>tu(3MTP_2*a<~nDkR|XqDJmL=dI<<+JuCLSwndr4gK*4s~UcXwwxO8ry$W@-&JmCqM{+Y?YG1uDF~>-pRPdQnaL%IRq}1 zD1?=19I;%-p&S3pfM*-703WS=fi9cw(OhxF&V6s5y-Zj3ZGrqTUDlILSc^HgYpx7L z$^tul#Vu2+%yNtM=FR+~9{lJuUFLp}qD{}iiNqmUR?XPY)z z=}GRD=FgP0b><(sdoi8wWt}Hx8HR18bhew>IXg=SfCa-h)^Yd27f8z3vEd!SBP)(H zXJMBfw19)l{^-{@&NgMN%+v;LB!}JCH@yi!yXMZYy#^vIN*9KxofK zb~PUeHPkt`C>a>Y8PnS}C=(hlIu3nwa#0HT*?Qmcl;I^ft|~=kxT^nOjzi@1R^<+I zF8}I#iB!~E_+@=FEs_3}CG)-Aj{ng3PSPS;w2_oJvf^j_iw}@t#mLPN4b{)0 z!+C$g-(An_a9G)AcVab6at7>gT>|RpIh4EZ88DeKET~RgR;jBbtz3-Ru(<-i8 z`PGYRhuTqFUH9;wTkVhWL_<)nFD(BVQ z6sqRR1WP&A>~8)1gkf{fz$HzG3A4C~Wg4zz2;oXEt!f)nnp1&6^(Z7l2MbUr^cu_YV6s^V@@(a zZDl3xGC1I5u8Yi?tbWcXqG9d7v@uDP;K$|O3kggQ1S~7Ce~N%D12Tz4+n!NP0;dSz zG{4rNOIHtm1OiCbDZZ*W?r;vj=+b-oUlkbXA|TpF>UKN0WLreG?9;naV%zOJONKU8PC}NHd6JS&|4Rf@#vU zpmcPgHda; zfX#||=KeH|HyvDZASFWqZeHmwX879_@`dH8k}a8vm9H*}Yyd7w0|Mjel0tNVjIwxz zPV=L(bby{SDu=RLcD0;4%(D?l{dRrZFCqhaC1oXAV_kWDWk#!rrofOOOY!%#U?3uw zP3Ae?sZqn)Uhox(9+IJ%JjtM(VRKe~WeEgcKipP6v;zI7$eMh3Ge}`8Q0RTY1WyzdPf;aFDQnl)ht3g%LwH1jGKpXri;+r2Dp zI>=}EH9~Em;s>1Hm_tAiKY&lWtkejV-SIQC7>R{|&@W~;0b8WYQCuF1oFP9yUC1=8 zQ6|r$aJN10u+H<*xAr6-cghAz5Z23xT~{2`Sbu%caV=QVF$`l~+!+ha7jK}f2U7bZ zpz?_IvQwPKWY|tlSeq?!gS0F~ZNxNyjHqH2uPAoO0o(2BnYtm;Z%6f}JaQ9Rz^XZ} zVdbbug+`xYBMO((?jg|(s`FBeOHLC2xfg_!ucq~^kWZ|nrJ<)OaTx8)fcXLbGIP<5 zW?Ni1>0}$+1HZ0JKHoIs7(E=Yx6bZ6FvL2Q$c~rocMH#>LxVO~fL$_IvrRv>wys4; zC_mkVwPGa>xl?~fPqdMe?n=shrwQ=BvOkg>EZBX|m7@ZsEs<0;a22dV8-7Qbv>REyOc<+!6o=i6}Snjy~X)jp>bBp5| zB|)-@x0mD)HSQ9Gq=>xlc7L2ZtU!lsy)bocK+B)+zGoUeDwBNVTn=HfLeBAd{h8s` zb#gumT_K83QKm=Jr+Cw)EjKh!b3BZ|lMqd+WF{xo(?ebh%(W(s@wu?yH7j9~pUxtB zcniJ*JFmQbaGe8l7fen?{_h9&OcDISFE{;e+VGj_>4NB6tuCC-P@qSX43UGp{bRu0G1HuduXVooQVj zovyEDjrnuvPmJl?huv&$TFRfsZ%bR{PjfLlEIqVwz*{YfvjPrEOyEDxe20oiQDe?NLC3a@oMFse4TaZ70 z&GzA1lp1=Ujz&?DW~uGeOmu3pH0<{F+&gz2({DqlqW+?Mmi_zgedIox23J-4IeqiK z!1Swi&E>ka=ZuiAvCph2SX!$SuGLe?dn;^jSHC^yiizaNf7hxz5_p&XmbXW1O}>hQ ztQO@U+}8hF3&Sz7oX=mt|w;<&LMoSFX8?U5U!1MYYifP4c+u!nH ztq#&&LcljYH+jVQ9_LRb7p~czZ?oLkC zjQ_3p)b!U{>jJA^5b!^-tCSq{iGKeR7wGX~C`ynNYzf*GyyDRnS))jRbSk;{*Sy7SEBAVSL?sj}@=#%a^7UZRd@=JpS_MU#Msk~W1 z)qGWcZPg5$+sPT&na$3ukCl%5E~n_S>>8RhY{{k8WcZ5x%WuZBzhyQ}+d1hhR~H!z zI=+x>by#h?ZC|f%7WlRAPp#t3J&(8Lb1ZYa@#}T;r=qan`{>~@@?uw(*mf#!AdejP z&gECP=g*@&P2YF3=e&8_{e!Ejb&P+u@uKbWoUL`@+h=^W&2t5@d(dr-duQ$Woc8Rp zwQsRNPrE9UR>9*KeC|ooXxwv)G2PW-q^piqZ31OMTmp_V&C}YSDeLifGrFks`*|d< zCs#0dQ|jdr!Ttvjb*`mpo=E$#QX;sl5L1Y6t11z*dsgt7zEM^8bBQT4!xL_3xQ;NKFjEML(|y%!*^<=R{EAF=G7+dcOHI4sO9b(76uH<^=IzijpPn@Gpgvy5W3a=ka`C z??t1wIuOI230kuB!Wn;LT&Dh9Gu(QIH(t_vmQ9G?wGWA2_?9%#Ql0HSh^>^D#2&r1 zTZrC>xbhritBx280mT}Td#c@rw(R-ZppuHm3m*EtGzx;z5)VL>je?cErn0C^N5LjL z`6pe}{rbx5JpHF@5w}S*z6ZEpnm@@0czII2qPGmFQ-$H`ZZw~FTS--mgfhi5kSF`g zSAZe@Gj|5KDE|)nlw<~vhSPMHJ2*s-na`QKjO?@Ue^u7NeccN{zJAlwCK}Tv0UdAf zWcNT`!GC4rIrQTEe5QLCbw;A729sOL-I42ue)QE(8D9P{V<+(yhtT~P*-rq0%ASjg z{;*?fJ7)f9_=->Azda+f^4N3YYQ41&-MRy-?d&_|YooZjVVBPhWA|(4*}J-&!3<~b z4CjU=8V10w{zx;&PuBe5Hs7*1DGFGbjY-XYh!NT!pQOA9ZvWQt9>it3=A++j_%_*# z3o`}d0oeH|(m9@ZB@by)GzG$ZLJj%mPk1p`@bsnZG16`p6UmV-+Ko(=8xNIN^U%fB z)6GtgRR;;0+P8V+?`fnHcjEc88&jv&j2xXYQa`xdidghSxadFl3+qhFGqG!TeY1_+ ze9p7*0N11;JexagJ3j8)pfB^L#yJwM7vxuKN5DIvYqz?1G!U25JIMEPJ_wqFDYi8k zp5a^8$z-dCXY3v09(2$iHk*WNaTh+E_I50k_jiF2_&jf$GZDvKZ`<9b8593qanG)+ znV0$p(>(BY-|Mgb*tPDr-4235yQ}Sr6K^L+`*;2yZ1xwi7w>J6v(?RPR$COAic+sM zkG{i8N{pt0-w}p=s}Ec@QHC3#Wq#Lta*=ept#^aX?7o5*XJukKFZNTww}tNmf~5G; zuBjdGSNV;*X7*OEzTQ^?n;6~#^N8;NKjp@xFJoMW(vEGojHxfIhutP%-S9ZtV6{DN zWd$fBxsB-~9hi5@-@7yZ#hR<1yQe(3J3eYC^Dl>wD_eofv=f1qe0V7GRxguZ8fesJ zjVPnWSBX5wNu@aZ$M=Ij#2Gh&uW;{l&4`?wlj+>k?DqQrxZ`xcs+y zHsifMSzD`Wy`2rg6dQr)UTz!F^lDyNcK>we-`)B~O<#*u#kLcpq}oKiDA;T`HOC}A z``N%!EiATEYu^ZcV18Tn^x!_z9+cMC9C9Mieu8^p3#2~zTfM(NJC#}TgGs>TPN%BRe&2Q1V&rXPBCl_Trbwdd|pUjJ1bC8;^Y~S{a zoxewmCw4{1f5yg!ZbinmP5-aovf-CAEm86dahnKQnQ@{7-Gj@Sa&{^zpaLl)D(YfRJ z_m^D{c`KF{f*9L$(1!~f16UWCbCqXoxz%A-Rh6daQ=?Iu_;nr&GJPY?U*cDqJqw0) z#%d2Y*;lzc@9_%aW*P?b3q%E@a4(OuJ#ahxzFAnW$>v@qZ<9-++9htWts8hJ^VJ^W-Vmjl(|>vK5fD16xN z3*4FEHm@cJ=dGh`GBII`Md9KC?o`roy|`$!bVf8+P*qnge$;LCEQ`+-h>4Y- zHQ;;cjNwn;h=dbXR#qhb0wWkbM@pqlz3^NBO%)$jMqOTiUB3!TDw@%}@@QtNyf5GB?MI=i&$CJj<$a*bXx)Q_KNS7C_k3i&Xood%WFj&!@=K4 zd|3g8Sj7rm2}fF_Q8S}WQI|(mv~C$qBk83ss5&zxZ4M8OyE72$|Y zUuU|%N8yk98_jQ`>HVZmEq4Nc>ZG_oT7jbh2lcg$IyAJr1J>pIQk3*y(YIekf~<%~ ztfr!8iz3JZzGI^%mlcg0!D5aGs^=1TeoqdWJct3Bq|+$@$HGm1b`S}&G90nRcd55L zP;_+vR}i4N?-T!YJYhS`@Ds-*2>~+83S);Q62x-ae!i(ze{COjsuO%(?wGw5=j%eO zEBv!+y0+Wx%v<9oJj_7OiMdZgf~<&6tX;J`bzI)l zx~+<(y8m0OED;mEu#7CMtSn8YT-}#-=lZpb_3Gal{f^h!!E4TE|D$2pYeF=!vf?Wx z3Tbtx9v@8r0%JJW_t!}VR*&(BIfL*Fl8eXPClvY-U7scrxw0x-ff)yv5(Z@l{l|Tn% zu9d>J%Jd&L#f>ZMtd4;r+y+Y#*DsfLZje3?Ef~_vio($9w49oCXL2rdCyS3O!$L2u z#Sp>Z6=Dn(vWk^FA4&uy>bS;K2EeZTBg!Y{k(QMx4Ip%4Q|{WlO^z_pbA7nm2IEs7 z68dd5*7L1D^gaLkxgw|vxX{ZArC^dCZMqVLhga(}!pn-t>}=&lAG%&HR}O;%AuG=q zE2uv>q(2IeI2`kK{VwMx`xXGZ~c-IN-o8JJ}>a)V$#lc#<`RgE(W8WE^O8adQgbM;)Z zLR}(-WruvfbNWA)N_YLcN($+p^?Ye=&1s6E&-&X z$Bpn3bihk4Y%e)4X@F!BX zE>`m)8YMvh4LA`M)x;y_l7OUD)&>Fh%$6Mfl%kz0P@O3rPOeXfeb8j)tgqPLad#&f zqD2H*5j|!M^K)grCdh~^S2S4VO23NH0TMrG-RtWc`EkujSeRawhKrRrb8FaI%xT+_ zqBY|WM8F8tCCL#22?r3=08CVFD!Zkg%rsxDCgN%!5tfzwNjQYgzEZ!R!;TbAP5&qB zbYX=B0SVG06OzgvX+*M4K`#OOIP~oL{FV+n_R)Xi=c8*gh;dJ8;;QGzxE+JLh+1=qD>Z*Lt{0Wh%D$8?}zbf ztRc5kR8Qc?K^l~E8=uB~x^RbI-kD~PeIdW5UdP+vIy1mGfBW?15uN-uXgFV zYm%&@q_RSlvAGg3W40}=Zp3(1E+{jHm0){5Z8QL~;xDi_CVOh6 znZ43h;~<-F=?5^9_V83I8#%S5nT=mo;~<-F=|+RAn?VF3pvkgS_dfG_G~s7sh%76W zoEosXLMvkA!s|+~*`|~RfXtO>o3=KgZlKp)0w0g2LrwNOGjY-b&U23ds-`-ZSU@CL zt|H2hxmcJh0~eMpD4M#9&kg^wT&~nj*ng$Rbwn{S?5wM3c8aDlsNEo!oH^CuL)%7Ki+F;?7y8P`K{=+lGbi;LRfk zhTy@7k(HG^iZU5-p8D-;&i=8;DAxgREx$_iursSJ8_#8ct6Tkk!L@>>OrNHrf@uO+ zSv!YZc)9`zkDi$qv$S;7bS|2xoyu;WjG~vQpnagi4p>&w_2PtMxlb^bE3Y{7{)Zrv z6`fr&t@S8{zvmP>0Dq==tC%AR%7GYTSvk-z(dvN^yW1SsbgQpQrvFWZ<2oNzXaRUy6BG$qaiUmybJo%%MBe51>Wc(!ju)D&6VNm%vNlAIFnvh2;NyAyzHFC$MMLLPJm)1ax!Jm7^Qi{ za&U%8bh9)4-d{e6W_!O$PPER1lcH!wUa@ZcwzoR-yWZ9oa{=^TCg3S6D}N9@1rHZs zJgW`-uoO7yO_3J--+6A?Q&d>}WUs%=Hj-;V`rt7GImIW#^s@%WqXT! zOh8Jlu6!gBKxA3L!gih7=mbd_i{V^l#!94Ky(msme*X1A&u0-;sw6 z11>9*Jq{Jisb&@1C+mnnTV(~Cod6I&hQ~C!%>C*A?PYT6^6x9F$(R%!und=mG9gQ% z$Y+8TDB^b{fl&}B0!FYJ?GWjN3y@Bxaf2Xa|CrjyFA$liIuen`J*0XO84eNQP!%Ep zF*V>o<=+Ziol699=q5f?!V~Rd|ClH8e-otxQV?Psq^5VUwOxZk1QChv5ky)U%_7R7 zl0vzXAA~dkPlj2gKnAZ1)_>%5=2=|l|*w_fUH~dJZyhEZm6i|FasSVf(k}X82nBsdUPX% zNrWq0Yk^9~b!vh*Pe@7vp6sy99ev`6osz^MCm4iIfOR!E(h>2EHo%|+aBf-!#pU*bl%11RB( zbQza!(=z+Iy>t9_5e!^XC_|Zf|FXj;a_<+J=G`{o|0*j)VpB$0DNvN@;PZ>39XkH1 z1R;MX$RWg;lFU*MqfD2vUvZ`fg&Yb}rajY$apG43)CuRLL29BSptXXBs_zjoJe7kl zeHO`~s8Z2r(6HRieoF0!(3B}IA*L}9xGObFQI`{lKxwG9#6;X5Rb&w8s~TGvXK+v} zK|?Qr5D1?ujyK&x1oG7M!}y;j85SuTnhXF1=IoNq-OaF?vfUt1Ju zoKPE3xHH^%GTbP|jSB4+#)H9H&~7N18Q?rd?)Ktif?*3JX-P7&clx-G428>0U0YDljEP5GB+-XeLmn{mxf1=@y+x| zlyOA?{A3Qg?PIzzv+<@BEh+?UKx5mA5LO;NUZAoSh|0|3$gT*mSSy1nmV(OiF$P3q z!p&rt#&71^a(c)$^{Z`$uEL56Bvy!)StOIil;nw=KXm zfJYRYz&P3XWy=a`hanP}D{SJ$i92%u=AMWwSL;WLGhS7kTK>SPG~Yae{q%x?glAbm ze~2LEiV=%k8D`@mP@V;;bL#QvmaLF%vLaWA;ixKI5*h%sqd9;GM8a|8RJejP7uNNQ za{r1fGb);l8ml+ea1&OsWFSy8qzcj?2S_py$rjbe5^yRaRk`5zLp6a<#|t?96j1-{ z-U==-W3j$Zb@Vi4B)SG1=qhp~jA}^ah)C8u+s#g)J>ed{T(WoKVdW4+7Wo^!#*xv& z1*y42Tc-1Zdib}@9rwPYsOr*yJ@_c4{$c`l8Ch}tc%(+2CM;J8W)-Lv%K}Q{Cx#E_ z>&rHLzDzElFd~|Al95Z$QwX*yD5senp6`}!tkcuTP|yn) z$?8n=B&Y8x8QJgn1%;KVhb2-Lrx-UYGIRSd~u9_+=F#U#j#HGRjHO>X$R8nH_Rh=20d)@ba z^T4Lzo|tpSQeK;Tz8cP{tv*lfaF2#zmg&(;J46607@ zl#SJ?83n3p1R_UQ1S?tnq1U-Cxkbk@N3i5B3>{PAvcNU0K-;mE{MHzeLrH_OA`+pW zYj@zk$2sOW(b9M+IB!ffC|uB0B-2zRMF16cQ?V#|{r*4|K>c^`@op*obcZW&kIY!e zd6NZbxsoKLhPZ_ZhgTy{dEgldH0M3vf$|>agh``~jSdhXGo_IexUGU{xYZDHh(G|= z_2p0`USHEU>W#w^d{5^n>>K|C78MX1mlv$FwP|(X6~%FxWyL`V_g>n=r60%}GfX%l zy;dHUS>c<=l*oBUairmCOnvi-HX^4v>;zPKY9vt6w?Z=EW)Hsp_W#KqIZi<*;Bf?A zbX2ak+97h3Dfq`aky}9den}M$>_J2T0Rrq>hyu^>L6s~2)J_HCTrfnN=tkpQRxW!& zu(?8Yj!Fd6<_Ywb#-!D!elZttUcXkz+~JP#v_g7W0snEVn}QQ8R|#en#~91&Rb}fH z|M)sFGi9JWj;yS7S}vBgZdOzTML1F}3F(p01cD$edy-F319CtPa`r17CG3)n8t;Pq zC|o1yC<;Cdk)kQj6ZA;m*F%W)mifXJCC}e{bL0jp_5XYPck|T$25@L0xR#Y)SK<)P z6`>uKXcfyaekv28jAZ8#w{{TjY3T8$C zz`y{H5&r0Cj*m~98~L%^d+%Oe!B+e(ZNc*L^9}4!@aOY`ETCoXHW?%#v2^DRBbBUJ zn|(sqsIcA#K*6V+L@bQ14f+sR!~HPL?23h&HqrA}Yung7zbS&( zRV5;dCaQ{yo>f1gNvf%-prxm(6Lle&LOb2(VjpwS5REHEtt+|!H@GnZxBG1$uijpf zIrcQ{Ez{OLIfa!~RZT_XFysQ7C|$Ju3_&Y8%T=AAgQ6HxgT8`;x&0QxVorCq#-6hp z)2NAoTqLCia!4E;$nHVwt`R_hFmODtQ!!gTOpo^ab)iK#@Xy!@si`7T!~qH1 z62~z_3f`PHBwI;70Fe}JuIssd+k|zg`Y6w*0Q(mSOEf`R!GI5IlE=;fZ}NnC9uX7t z90C(ro*VtdQ)c@GdddJWaZk5c9E_z;aU}erQCW`n&juPTs**(W!1dhA@4??=_n<;G z9eJ1F$*m}-Zd;lIcP6AIvboTQ@5JyPx@=0=?49xNcVnISR#OA8dFYg?=|9+FA4kBr z3|Uh-R<-Xq;tEK_gVCTcO@`E@6dniz&@YlvT%Jg+K;(dyim$*1m1=-3ic4duLNuK% zs21-a(ZHJ=PMEuL2Fz0;KaV#v75@}N9=u4M%fS|wHl9M|D>en^WdL^Yu@2SJ2w{1FZ)(8$vhIeCTys$&c#;fEPC{_k>$eRlCs(W{6kq;3@l z$qWDN!`FnCo9Bf^qewiAwWNszo|b>bC)3(VvjHmN)RGh{A`7Aym;9el~)LBc>(J&cu*7Y)02X93I9oX@+n#>$Cm@IRTLhq#i%q(pvS1FJJna z1(YbLgm#T*1j2)ra7k$p41$vJiQ(-WNyp)*NZvP8wjE1Tl``XPj)PyGStyF>?k8>6?$+1 zOOW=-Jnkd#b^gbH%qHid zgJ_9DwtAX40guESJisHgugY)=5z2V&Xg*5w0O8A&hGa28n!*FQrWktXDa%LoaGo2q zuj+7A5R~yi((pA-qU1nGOg0ze5pSo2f$_*#X|!ZRc&SB&w6zFhJS8^8yyOvRlOjVF zUrkCaElwe51IkN0Pq*Wv|Dq7==~D{0Uan=y3|BQp7J z!K>#S?F$vBJZ6j}%@~YGQi<|fr}#pJ*>DWO_R`YQ$+Sb`ccy@p(giBSIwM_8#z|x) z8pk4%O%}9lLYkHNrSxM5^+LQz+AYOO7Ak98(rZfzVFXDG2O&QkFCaOklh6Dd4c-Q@EVUz`MNi{)SUy~Pb0wcKMMpH zwM|%LWD2XlW=cJRqI>k)X6XCSM??~1<3sCT!UKn2s=gyTEPKJj@0!gq3|vVdB@NL(g3-C|ue(FB0aRch|m79@4t7K4|Hd_$>P0dst;QQ=JqN zB~XqfD2z0!yz=w5&c4Dh21voNfnhkH$Dlb{D%Ur9Zp-(Y+Deb;^F`H<2+>E_nu8Be zu)?MRYo;SWATdQg41l@GFz9rzgbIEwpNJ}Yql`UC*O3dvlEVqSa3858p}J&j7z2=- zEy-GX;kicM($f2KD4;;2ResETiIE##MdVw z*jhSA`qQ6u(n>V7oSg-crO6Z%I*F*-CUO^yIk9=!e3)eB=^-2m_Dt;Zs z#7_q})+5}!#eTZarrST6|5vd}CAKx#2*#S$$yDNoTT$y}EOA8X{+dFb&DpLtVoE&7 zGQ7luSj%%h4mdG5hl{hqEG&{9uXC4F*?OFgDe4W6oE4n77e)jxzW@%r!ns)2m*y1) zNpplNdOq}wEajWT2mIpqyatQFRU#<%HOLXkf z;*$Ax9x{T1u&m~ky8xF>02Q9u?yJtQd&yX;tnke{s^cov*sR~(5_>FhfICGj_zfJI zj;zY=d#HnR`0CJuy02SHR>YxDsNL~SJtt!3={H)u&NV3OdtCyBfrmoKRWu6g5~ZMF z7%ag`t29`}B}XYtj>H5et#{@_cyi6rsVHd`G+J6Z5zM7adNt+bKr7)(J80d7ZMbw} z6Dx9^oN3fyUB_f=X)uq{+bHB_;fM??seBtsEj=RNnWgGkeZr1_~K4LhnO=YWfB;5by$g8@e@ z;V5zoC2diQHg1~-d!k#r@=qa#q_(hN{AdPj6o1hJJv@R~xKCh?YY|e^NbYy0z|X7t z9L<)iS#&GiVocR}b7rXgcq4rOVIx^YsMlsj1C&h!j>FK&rUqIzA>&G;yvOn~+@=H) zv#6Mx(h4U9C*w?-#c;2vlrW=$8j*|$fE?tx(HP-Og^Rx_Px(n8&fF2=b zBledTQgKT|c}B|1X))*w_+fnxCsK}!K0G|}t|{0+9=Y>WhLnV3bbD#7 z+_mvkkP2CnGj`l?FdlVkUBeWQqq~*`%GiI7WMn74F-|A^PRMo^rHop)6$YLR(_(6r~85VJQkY7NZI$WS-~@K;TpFR=3g zfEp1gf{#@fO8Y+k)n50(&feova9)AI3EDm%d<0q zpl8#PXHB}X9-)4eh~c~0Z?G}Sv^Yg#yG=+6XY!DmF-1-`5^S;`NE#H<6!;~vIRI#Y zB-LgqjEv9AadFH#I&k}$e6Eg`s#Cv|g+o3wTju4WB&NIb4-)7$H zecL!SiM#1l(6s5f@iKljBtq2;Xw;Jz6vB@U2G%!gNY(_}+V~QI7meJl&aO@u!4do; z)T~*Tft#gZUUO-9Cx~EN*j6#}C-N{mLn17V@%G{WXFTl0B$N@2b=1%A!AZAMB zfboonq5R#9y$inHClPjMCHXk4c3hU4{t;XwOeT-h)+L#iNH0uXLf_o-2l?9;e6LGM zD9%}3J|nAVCW`%;G%;2*ExIKoQi#o=O>9y*P0Jt4s4VwMj=aEM^O!5;+0nu4({CJ} zd|QWBuj`QNb@b$?J($Xa`b~_rK~0v1lPYvI7K%q26*xMmCmKRh&6=B+0g^lHcs!(L z8U-2Stz#!VW-40y98sB-;AqnEbKSCt!BNN)OE4 z#NG-|`B6#Sd24Q%zfQ7|v3l>;3f1eaq%3QdysR%cuff{oDt8$-QPpvZk5-+#)dpdt zQ2SKce{IDH55jbwL9!Kg$A=Mqj-(IW->SJGWwbjQbwVUrCT%E)P>|q)=jTsWuR}{ z#sd1aa@thC%KGFkl}H9nj8$aKf|s25Lkm!PBH&mnk?2z)-Z!YzT#4Zx<4(XQ8(~0m zk7-3dQr|zol9L>x@_jcwEpFJ2Md@ZwDx?E=ShylO2glOqPxvPtFXW3~D2}>X)I&RC z&C@xv^S!wbxvfyM?#jj4ozpziy#~DO^X}5=Hq}vU>QL+_V_Siu-mSg~4{z38pgb?- zsXLoHOp}f_kkw60;dH#qQYGrQj{VIX!IGYM=GM9VR0x*mw$I=r#@T|WTO5TAMGN7n zq~lzPeG|~i>UoN_tlwUuXTZBqOwOSofp1-_SkNsd@R!etk=v?sY5EBd7Pm40yl82q zn=-=fqzdyLwr+X1#@A-`&U`wD1Y*9@%*sf$o!sC>bVzn*4``G7AYSxg^?5%qF_piwD1wMsiPl8?{Y*yIlg0mLDiVk$LO%()3eiDnOVen^w+|H8P zD!Cf_N8kHq9WlQ!b7N=U40mw&GkAH-{Znnl#|w?W0V5!N6e3qLec;NqR9Kl8IO={Z z_l#a)^uyc*A2%Bin-0;2_quaGvz-&8<*(9^Fe|`xHU-j3Y*NLQg^Z?>&9~?`pdo$X zH7#kCHZf&Th8J^*5EXz~{~owk>;cSDm6?Q=d5L9fO_jB&+ZyrwSW z-A*ExvsP7Xy1?cIW|-smdwU9~okPP0NGq>&#c)LYWow?4C}md6COz{JQM^*}nCpC-qqdgkmd zfghmINy^AU5(XvP5{F04hPrSM^Jk=AjJX<5fg0zE=MtYf2mh%#L@)FKA2|X=pW&SE zm~ZKLHniBpV%6hBR*qa)?>};BwuQZu^#nY!gUBY zcZ*b%>%<%;7L!K$FB+~^SsRKCD!9m7MM3SAlU7^gmMI?HLdnBpG7}=$>5$rEO#7A% zHW6TA9JUmdl1I|Ky`nlMY?E7XG-@8T=KAsZ=qby+_&gu)$Bid$-MlpgPnNymclg^e z!6r^AZbo?;Smpz2ywD!#8{ss?L$H)V7}S74;e*OLpu>mfpfd`$8A`qgUZ_&@Yf{uO zEjpD#k8ub&zg4SndGo{sG)B5o1GMVoDKc$jJGHiwz`ec`1re0MF1i26g$P?8E9i+( zGmCFW{5*GV*TLd`ZRL_f*?`_6@yR)P0U}W44sU(9$B1KVXt<-qHijk`n z&Wqwm%l*s)a&DW8B2~}KJ^)wzYa&Oaz8d#l8*YH@qUFTpNzLbC2_yO=GfdLtlZjk< zrq?@SK$t7UX4M9lx^L9Ak+ADi7a4;V2?~rmOT+vkP=*_`MkLy4fpR+Jl04q#T)W;d z_4 z5O`!7ylcYd7(VJ6RrlH&doOd>840NJxgV4P7b)W;hvMK6r2r0cV!_6=5jFR5@pv># zA=3-wfH33WplcrxZ^8)irQ`GP-~$1FO-D3lDf%WPTFE5|N;aG0HllT-v2rqDnnJY7 zQWE@nl4}68ST6yAXbDq*C`dztCVx`a93xO$F{rUejFds!+$b!DA1!H`y2-3Ni!t-u zt$xPCNbCu6!B4F$fWnC3b0|EJf}&6Z2mujVV<=g|IcD(6ug{P-CsUp7gy>_&uiFqCb6Jehw0{yRv4xj}fUM zKWiIDg-PlU2(}oit})U`M*+A6A(0#q5>Rq1EX|CNO-VG$+?@!NdxZHVh9q9hyh>9W zds|x*ui{YHCZ7VAv+vn{JRkx3?Ts6oU8Z&I+jl~Nag90nAp4_)W&kEEP@qT&51*ou zQIetv@oLLA2_kgXx5kpgmU(GYpCw#T$q6%R`e$Np~Aj?Uidqi0S(_1vpUbXS{p zh)=jkO)1q6eDG>xw108X_9(NLkpq|7aefpEldGe_5)d@VgmB67xfFaQjiTZdB@i^V zP_dAdzO3DZudyn%4(~N3Uzx@dgK> zso>`%tCiQFiviFDO=8czxOM`*jDr%sO`#fRdS{_|74}S)r9V9wDPf#7lxgG-NH|SP z5}pjdkWJW_@su#!DwOeT^}c+fmd{7AM$qkw2`I*__n%}aE7{N;)8Wf!!ldOQ2K#h& zQ4q5!r+cPATFFfcwUV2bY9%%?&Pu6RSF&JPl1&!1Y%-*k)3L5(6OyfDs03YZylcxx zt!5@gUCE{;TFFfewUR0rm2Cc-67D8I?y~*&;!~(*Vl!w^dbE04{!FBTg+Va@*3N9M zdPox-xkkXO&rY!LD@&!o^ofbOqC{ZV5^PybNvsOWSmI=VC=?F}YM zNspzTprkVsJvq@mK@Xv8p{cC;(TOEMgG>ekTh=dU_ssJGg1fD1&sL~8WO(Nrkacgj3cwCzvR z(^ON>P|nP&u6_0jFgelSY zJ1aXM3wR5JM9{x8O_BjdSalt)gIu7QRQ-3+|4sPDr8%o(3C`5q1V`=}UF1K3oZSAL zJS>{dNjdsjh7eqQ#P8|uww=xY#o2OxyoN6OrVPi9e;fySY6A(^`*}Jh*LScpj$f~H z?yVG;yr$-->*|>7eLh9HYV_>tT}0YfXy*WK;wh}SATXh`YbSZ#Ubwzg_#7|(=T%rh zopux0U${Te7Ar%uFgm}YD2Rj8QWY};2ZPx-opg4u^@P-js2c%hKWDC^E!-@6oec$WyDaN?)x&{@X%YbV+!hNX%e*VF33b+24Z`5+{Rcgu8iVb+ z1l4PUPYYgQ;l-QQJ`IxVT`$|~{<~9jo>#%5+^w%%1NCMvg*%~}Ker$hP6OMEURM+D z(zd${Qk%o^xc~T{3cce0PR>qY@p(Tr{($?()@LQX>U*KC=?10$BwRRNB>ZyD;&8Bquq?=dM0zNg3sa`x3$I0E>8k|4rSwA zS0ru;VS2Fip0=mdwDXwX=~wESSmb@ln{{lXCU6t339i-_vjhKNI^uUzKcA~Vz{Ee3 zmBu>BP*m6O3B|UzL}ojr*1hbn{+&*^$B{N=-S+T35i3)K z;aafQrkxgf5rHS5=X;^U0C8!92$>^iH;+$Iy;;u*m z+S<*!b6#fI7{*MOcS>$N&CKrF;+4D*my?xTF7myc7dZb}M88|ue4O(AY!i!`R)ID- zVs8q(qk9(cz_{b5+fsj}%{)x5tOWr|={a}K7uC4E6k_)DseOA#*zxN>sH$(!S2+_x zJm+O;yTGvSazLEpO%}Ef_Zr%4E<%7+($}oNCY1YQgB%0l5fQwUFa^BN^W7L2+yZwj zbNy_U#Bkq-hNbTC+koW_VE(W3Xg;s^BT!zQ48xoWqSfuffj<}zp?_73DLsX!ytwDw zn;hSL50AX>HE2+Ay6&H@*GJ3Yj@vs=NV}k;~>@67m1$wUv3jki-i35K<^%v zhq+Y7;7N1EdU61P*arF) zpQXhjUg$mZ#&$F5!y$SC%=uQS1z589gbsf8NZD-8gYr^!>#1UnV;s!x`h>&%;6`H& z?)A7lmvrM>3w|4L#Q_*mFdjhUP&>)?A`Xf};3$)VL^`J?Csy!un^X=u2tJSe2_dA@6gpGBQ{J9oXC})8{qqYkayu~E^@Ejj@WzBY|y$Ll(cJ1 z9a#PG4*I4X+;wIUvo>|=qcza0iPgv825;l|8ag!Y)|!3P(l4cOc_SA>k$>|RIYUXA z_7>G09i+p*Slqg5Gyz@yLiE47-7^R)8{4>L@Fv&+erItN#LxcR|IM^LvpgK{@~e_RayHHzqyd%`30B zA=gFZF?oIB^nq-5N(Z6nAFmRYwsQHuGAFxN*Ey~agk8ZI;)w(al2Z-0Wr_V;xlM4v zPiV+C>0JF`1lSeZ#QKrlo z=FVNL83%t1$q?m!z3orw9>}qQnM=UI&f4n?h&m|Gcv z#H=d-pDt9TDTz{y`D4I7 zR1}eF8jn`hgdXDQeS7WMy+MgR%t5De(kE~aSOLph`TJgB#{vc4&)?YpwrTMP*CT8kf?e z!bB*L0OVy+hzyYDqi|@Li>3Z-yN?L(we`eWnmnv}ni+(y(s@N^NRaTpd$$w`oB~HU z%{?hb0MAhpp#jhuCOME2ji?jfW2Eg@Hle!jpoqvm2IS*BNRrN?a2Vl$KzBhDkZ4|T zzoVyR`z|V~ltN7uK?-6tFbEn`pvPokNsgc;o0IH(6NiVpAv{XHUkSPDC_c?r#q<9D zkV~;Mc_5cJ_+nR1gK)ynCUH$r;IQ16Y_p=;`_Jd$#OwTHJpG2GYpyV%HQt1FGo?R? z{aGr_n$0Z7nda%TdDf76WGBHkoSpA#3wA;s-{q}^A@fl-ETIlunh>(e?3+f5n!1F7 z{z(yON_<X3PI&mwlV1^G3OD~slXRXAUjXm z;VVta3+l3a^+VnM;w!LUp1eHJ>1WiONr-9DsZ0ORL=W2E9RW*#WlcF*SEcPqoen8FCm*fyo%&S%ACi7!d6#d zLkXJto?z98=i@R%bE=c3;^T9;;jRKWv!?llfV#2?Q&#a<*dA^eMgnC`?pO|oH=7G` zpi>i~l}9ZTObyW2rl+Uq;@VntN(%f3DydByI2HYwB_;k0f`(|=G_+B==_jfwbuFts zx@ct^((Z%q{YZ)?ikhLGDA?A7lU1amWORSn(%aqDnd<4u&>Tod-DlY;_6||UHEyIs zsi4}Znm8BA?>X#dHMK;qL?uK2>_kcuDr@e^8js|4l2?3*NncY-@Xw!Ma}X+uCt7GZ zTIdbcgRTqx(3hX+&k2o9X&WU%BrSUW_uM{brCkMfYYNCJ`SOCWSLgka@*?A#7kWSG zNr#?(1e5s{#~1GN-=N*Lqf^7$8{k`xFXc($+3(n4q%2j|j*|VI^_}$2o(j0{=JT%j z-vFx&oxAr80pXPHM+{I*^V(S2DI}-b-DL}cWli8%Tdb6JXZu4%`F#!1Z#(n!L1!Pe z%mkPeU_->naMrQ4Dh!ou;gc~|H0XTeGcBw`O+D9DY7bU;VfpB*csbYY$+n{Frr(=; z4m&l0f0!kNoxDbaxlr|VqnK7}YIY{Xoy$KXn*TZDcGaP}l<3x!`Eq*)j`!gc9e;b3 zx%Zx6g)yh;m``X+D8#dIAbH=142x4yoGkAJ*Sb^MF+Z^>?UrBLe^kf*>@_j7@Syv2 zH_1VLsAE}Ev|lDZVHfHb&U%hFD(X7?7v`*`QbFsQBw zds?Zt-qUd53Z+sUq5Gy~&9l9hRxusj<`GD6KV=BTN)UbzJ>QkaBaLF z*aIY2tO@anX|_A#Zm-dJFwKj?^guvRMYIfSfO+vqHO9aa1wi#GV2|?Q-<(dCyQ%H} zp6$^+f4KEP4lp>UL`jg4(0?dTT%if@SqegBd(!&b8%YP))l-dkr>vCegn&fW7x}w- z-?uhj!vD6>DM_oW&>g7Y>Rj7`ofOV$R28PBX3Ju%p={~SsR-ihVs*`|a>Zpv5QMTO zL9I3!$x1wQ*>t_V)jW7@b2fkSq$il3&7ctlP6D0@Up6CP?G5`R&r@JjeQ6I$k@^&O zZ~vY`FFpcS0(Ufjn&^WlH4TRWj~@$sByM?{jt3`!SDJ$p*SVNG{bsYn^3%*s*`smp zQ0PqmKddM4|HrO(mwwHg7`?gkhST|049R?fqDiF(=+z+r1uQA`LR%k)&S9L~haalv z;!DnOe`z+io4LWR?i}QFa56N!?rbaGpPOt*2Y~fWxw)2UZEfPWzvZh6?HUZK~$xw;17(UaXuVgxBkTNKR z`h*pkWwBXnqeS})5_-blmUQ3sN7~`r$cBO(0STCBDeBOQwf>tPg-8lWeNai9%o z+^h!je`~{|>dQm=+rFZ*K{buO%e%PuU*YG^17$qtDen>}13??$Fp3`LL@{X;neB>& zh>^WCY^|H;l}@DF{Lw1-DL$Ar*?Oj>SjmU(p&0A3kkBo^S!E=gO#scFWLPiR136Cz z8(*-r1Nhl`lz+RjAr_57cv-b(dSwNq=0XkOcMTHzLp3avU}u!_)F?293E1-H#-`XG z=OB4Lpb4@lJkY>%17dI@BoUcb3`U`q5+o|KmP)W#1%J$6)so_K z?R*4W-Gs0+zh+SO3WUNuF3~McVlX_6fTE;m$8m!rz=>Ix>`HlabKUo-`CO}6llPi$ z7CDqUk7BkptK;4G?e}aq`=YE!e*J3=8-<3dA@4 z0^|qw;r(*6bF^BJ3pVO1qX5Y!Kw9Z2R@I!5eW}n-<9Fs_P!k1V=)qrG>@Io|Hp|y0RSXLI~@51&;7kS-$T!p@H=CN z5e71!_3t-#yF^b{rl2RX62>6mY*G@0{zd%*Oz!Whnp!peRLPI=efnr1H@}1pu?A zNDsuoD%q&a{;@6Qcz|(oQj8>e!jgQ5Q(&lC60?BVK4}eD4>KkZU8vQ zP!c0bewz0UaQy$FUa;Z|#>GZb6EG85oMvn?5`<(_Jv*U40sa#R$u(etg>+y@+u)Ge+#J9_$9RyKp6JGCar1R`mef}DTa~?kX(X+Y zjkon)>x;2_9eZEdu7mLo_U)(9Pqu)6ECot()*7ZkNVQ-<5F%NapzRi^M3Inp)a}t7 zH$BZSu;({df*mQ%0s=%?ZKOH3wE?A@09#0y+^u$LllthSIJ6t#jo#%26B3nKfuv%9 zV|oBU5D)_Z2LLidMKAyWZ*;%v7I4JlESd&V_x-xPBICBe6N3l{8l$X9`$8AG03~h9 z8zh~_|NameIRKfNxS|69XaKF>rT^c#C|95zOpp`)gfAfBcMTnefFSwlGyzJCAZOMm z)Fxc(_C`jCBJ1@XCyBA%{HEJzVVtq1ZK|B($73~ELC41Vjf9u6dGNEhye)! zLIMow6o?4~=OqV_DAK48h;C%Md0zi+MYseIdx*~4n*tW(Qo8f9+tzV)*|uyU%f@qkhkC4Oy7wi|k2`z+5Y;K)8IW}ktmO^4sVz9% zg`xQ`tAg&a-jJ|eEzY~U-`_WIty{*0*3xfDaNhSftasrr?JL*vJGb@yujYGsy1hO9 zirOYBQ3}GO5lXNj8DR(_QJ~6XL5`;3AWLp#~{xM1N_n2cQBh=khapu4!%B+&IvT8;ZsH9R(6*5`!ttvm#pGADIlkZYp zK8yf+X=cKiOjx2UF6+oFy6INQ`T(33zDtZQQ{m?z^9-fga#|{kr1SKESTsr&XRsj9 z(67#SlL&m8)5E~#q6vDjrYOVM83V#9K{eo~#c2l*UIx~Adw$;Bo*{Jr@5d*y80|BL zCogZC1WaprQ#uj!cz%vK0Y@%!R#ncM@Q44ICTi=-(S=pApNY#vah8yi%0&05s%cEb zQTTPwg3W%@r6GwyJ@h~qb6UE&{r^BCn{*KoSp5lr4Du-|n+5r-=_8C|gy88FQ71<|Ad*E9U(?T}dc; z6J-x3`0sMsq34&8&7w8mhyO)yC*VzhY+}+rICpQlQLQ0dFaw!$x4E;G*MF?dIO)*? zi5pd*M zzsQUHdLN+=cXIWiXNL5jOi3lCeg?D1Z|XO%CZFo+$D1@m-{SwQgo&y$Gg@a77w}RF z8J-O`PDdq>bd9Nxk3Z9MbW@9}@)*f4B(@|~HCS@EW9 zou6Is_3Vr!D#W;r>R+K*`6EeJs)4IO?NDRMeL|cAKY6fnCd64pnzoG<=7(WGqI@o8 z8cXOS%%>(ii_@olJoE?WqLU|S#JJVtp?Ziay`}RU1fmG$y&zucCUp5P)|ou|kyNLF z@D@Gnzkc~#R{i4MM$@x}Fy&iZ!}yfPgHM{6pm7g+b8vfw@gvM-mN5#da;c8*1Mf&k;R z{y^fMQy~TACRI4IT%0NeQi*!3DwVL1#SiRLU}!@9e0!%EJ`{>CliqAxq3su%Q?rw6 z^_g``_S%jF*>a& zVqVV8H}C1U;dR%`-MG>rq1$-dG(3ADd;2c#2hk>z`@EFtpmRWA9yJn$M+YKaKc>o6 zIn;LXOknh!^QxWD9d7&8;UC(NUf(ABZC?*ZZQC}!DfhtqIB#4lx_$WB^Y``7>A?%Y z7L{k5aqnmUwy7Y`lg(KdQADy1(xU#jL5+QB)_S-@uT4L?72zL2(UScK^ok;ZX8T-yIzpqtH<&h%P z`G$p*ei`%iA@mzZGfv&@#vzoHZo`YhA?Rgml5G|E9H+bwg7dUiy&~0DqX8(MEE{V8 zLuOa6l_jE%rQkq1JdOVC!^LIgvn9O%b^wq6eYUsI7>}`!k2dLe9W-V>Tbz@&X>2-aV7dg8wwsBk7Xb`WZ+WV*5o>-~-p>+Bi)fUfg=4+^Dm#u!u^@a6{>xg(2l{o#(ohgpQ zRr9*2D{CD;rBHSD_O0tbJIRk;oY#8#;P5WEIxbX6gdmzIZgH2yv|3Rx-Pozy)^$^2 znG8E2U*(I>04oy;kD(uouYll)medHkcwn^g-QvcT+|9A_-72j(EK*lC<|8YZSGQhS z`<4&u5*I{hE#6g+J7+t;JE~-N9Q=Vy4xL=SgVqCA5ziKhervOvjKQ7ube^eek+ExcI; zbfg&$&%ISaq*QZkwm9wcGZ093{mTROna&ocNbHR@xQa!N2~13q5}h8!?w1jhKrU0K z-p=DCrth||28CqzYzLI-V6F8J+MtOw>U{)+SJMDc$RO4AzXY{ z3KmnpCN@#YH5E}^(t_f4ZP?p2e}7Q^jPAsKaoWIcyghTzgsQI72{oFmfU`zX79WA{ zBV=LG0YD&wzMWpj5`enx<#!9mPMk^i%|>>8N9*Z&+;Fg9+43o)DX6u0;O_OvEnU<% zM6CthQ1gKk3r~PM*_Ws+RB!IP`l#D>%lqh@63b2l5-`XPv3`mZhY3+^0kdiDW4SO zNFInYq)kzY7Dz)8aOLFAsrhd`sd_Lai>0D7LC2Dh)Y=Fikv>p<507he-1{sKh(nZ3 z3u|i3I+moSutQ=;Jmf217{=G7H8N5lAIaw?h~~dGa03U2b$|OcAhxo2LY%N{d(yUL zR7=<+7i$=F-K$k;2(3MzwAB>&XIi%4{M_ate}=-M+T3>SSBN_l!l^IcMFeq-77d;z zDwRebf|m>3`RDDT-j;VM%9)h1xq|4Y;A*~lQ_q+8cSM%A-;*Q7O^Bl(M40z(+DA+y z8sgk3Ano+TXK90Q;^}F%)}jeBsgzL5I)IJ;u1`#&V-3+TP%pdxd1wN=rg4>Sr8#Th zr0q6IlV7eSm%2~l>Fb7{t=)1%%(XTTh$G2pd?@F-n6x3z#=$gU zuj@-b3Ji&_)k^ebR%z_p*2j#xAmjCh!(#TzhS2~vE&k zL{KA1Oo)~I-e$I=_&w;MMuD%krC5KgoEWGRFQueF#Dz<-2Al5i0cWK;#-KJqbDVCZ zv*oY#KCeUIq+&6%w-$WYTO8I^bxG5-Li%uUIQS*Z60f?B!jt6FbOlFjxq_pEQDzhY z!DRHs3{?}Cu^y4zwLNjb3k`Ks)4EmEEGRvUVN)n4Y*=yEmSk8PZI5YHUF#-3V?c+b z;sm!69lKywQ@P5RFeQnODnApo9O&>MJ&loTr4vSp!fl2)t%TLOSzb)B^vq!AmsqUK zf2^=XsX$vMl1W=q*yH7yx~I;#D5U;nAGNwX;{5B>?J?6{>-3=5 z+tdzmDIw5%H5uuI5mR8FQ?48Kh9R~dh`{ykX=ANtV0xm$kkuRS@Hl+XT{qhwKo9Kn zimXl!JvM!<##YI>lvfkyYdwjN5zKL0A&%uII+ixqpr^<)Ix>8WOiW1G;bb1>#8^GA zlWX;eep!-3gg7ghPP?K8*pY)t6=86es`!c8NhD=<>&d5FP(xU`#+eJ9y7jH>CJ?9Z)#Is)Uk@ z^}S$?tzXZm#-(Z|bfVL%Ggufee}$vsSl42bt9wB7;qj#^$`oB?tW@i$!7^A-%xrx= zf~X}BN5*SCiG#N<#&bN*R3#}>(y?q*ep%>b>D|+1U8Tw{c~XL1T2DIR5e?oQaW*R9 zTcxWMInv#;i-_gI> zHG7?<2AQ0#z`}o@vGMMFpd!|y4>OO7fFo9GR+FH6YgZI>=WHr%0l+pZA%!Z4qPi^w zzo$4X-1!bAgXzMIL|6m6u6B%tG=mkN_6ogVZCOS;q@)rjU7z2X80?8Yab57VJ$=4O zE!=(L?M3mxI6=0AUj4Bzj0CpT!{$^Kned0HYb;78t9(GZjH2AvfLQnO+cx|+)~eE?dt z+4UXWvv&4;DcG6D^;A|qUIWamggz&nT1E7?ePqXg$By+}HMS|BlFyF8F(J4T*bKfJ z(8048B#9Q?Wo1QGZC?4T?ETNI5?gY+aU^&N_pzwi)WHW z)uKzjl?V|7nDr8oN`z3{X?(KniX;1Hel^I~=^BX(BzL~XOe&)P3PjQ}g}u*5l4VHe zGjKAE?0D%pbE~PBC_9a-P{qFBpcKC8l-8qBWzQXhcSPb4NfI4b7uEaq91C04to2nN zk!~0)@6xjW~$J0RCU}X_2#&aet1fHZmvY=B-avZ)4%yCf}aAOO=J3|KR;J zY7LI2-grvW-4rqI8Am+QDJE*MuLQQ|PO$hXn$-aCL_SiI29U;8nM6rg3j~7!DKkO= z5-t(|v;j_4C>>zxA4-INb*H~JJ8NkEYlG0-IDaXQuKW99&uc8h627x4`C1E@z~L+) z17-3^34x{O^nV*4JBHND88%U1(;%^nn|G@3%%?PHU{&^@5#y=l3=t;?`H!6hb1x zCUjkq((%|g2KPkyCB;YDaC}&F0kFz+9fyM>(vKiGFp$&%_sWY-9zIu9B|?sn`zcnK zBm8ir`7r^{Op$nhg5SVG=@M5O;Ui`@34k@yK61a& zkVgS-P$C@yL}ELV6YzvMa`z}dA|YB-Lve1!Tm$=P0*8eXEUq{uDUkyEHBp4c(xx9X zC7@gzN?0O?^JAohi)%~?N~ExUt(0MLBcY^`AL%&elwfzwl<-DF0A8;R+CRjR8zo?F z#|TX68sZ%iDhX%5s2U+Ge~&FaY)}3 z3gD0>9pNN9r~?0{DFT~eBZEjA`Olu4+Jzm$KO>Q+Ry`qkI>mlQBIkE{Q&l4!=BL+< zZWa-nB)5!oYW(^{RX4P03*(euYta{ts_(#rj&w?%SvS=Gbi(tDziBb?BORKj)~)S- zoiRNlZ&;f87n~R!tfYV8(M9pIm;&QoY&A)dD)!v;6c<)J9pEz~ingtN zM~KAwU>c8lo$QPJ5d`8i65r4njUG&{+D@$O9!w%nb}5MjVDSYPFUGfix%ifFxMn)k zbZ!Yeq)Uip|F>g*z?Bi{N$LzjNB)X{tB@bMLu1|}-X)I3F=1v6aq!u}`1%SnT(EJ$ zQG>mBc3jzuamP3XKLXUzOEVFE<7HT^?f89o3Gtj3)L3=j0QIybe3qmkXIci=OML8T-g~bs7Gx|ytaoyu(Sd8WPe0UJzaoSOXvbe+X zx~ct@i{^)`23UtU`81`W z*)jR)L!@|04x#$E$DCaJG5k%y7N__406-8B0{{d7BSTa`003`fSCx7JNt=PGdm!%q zgYH<3kbVOd0tL#(sA>DZWztDrnIb@#-?qPhM8^gIXlBZY000=k_R?+7+s?_p3ZF!F zngSEQfFO`DW&;BGTj|>xreKj|HZwW2);itWsJ83-#gS#(?{dp!Z68IpT*mRWy_RiU zPLilLHqK5$jW%tZ-ijtRo1R^4SjMJ1J5-3G0v|A93P1o50RWkqIIB1U_j|vz?S1yH zP1|~{CF|X>)@@_Qt#zPW69_0u-rYp9FeWiTG^iNT6$}WixCGvX0WOkokzR}o3}DO! z04K^{=UlE;?bn+&&knhD-QE5`t_kkkZZ6!MTwPoAt!u}<+O;;g8{UP80I)&jaGe&f zJQ42u0|o+;?Yp`fy0?S4?OR7b_Hb|KgSTZ9v^`u6?ps$lxM1(xw;Ha6bJNy#&hhT% zyIRA!^?m#GH@82X)>jR+CEhN}dp7-?&b{I4(atfaT{iCanr>U&?(cZ_^M`FmSKYxy zp7vj$8u}) zf85)9N8{#j!QbH)#kTl|-nox)higLdweg0JG}^%-yS8<_Q#W;(f88Kfi-SMCFCx=n zTy>K(twY=0PWE_j$9}u&6FuR;Qp}Q0J^?^s0D{rG@*uOU>o^2sPxM>&9lp;6tRR|G z&q~O6M|?(2))tI%cOMtXL*HiSR?d**!aZ*0zylG z?G@~e_>lns+}EcwK*>*hG8DbEnVV@)fL0$V_?O4QOnUBmRjrD;3lLZeimz#(Nv&cM z#FKfioF6W*2}68xgu3?y8ArYle254OghNJjz06ZAYp`tDZu&N^sd4&m(0F~uUBmA) z@$RAP0SStwp7x0X?8xw)$Gj-GV>b zcg6N|`+zVfvdpe)efJHP_^dO$EMH@(Xh)p5(~TasVHCH0M@B<=hGPLygdD-aB7Iu`>3}G>4V0`p!gz2@NetcEdU~O121sfFSUPO4j&VK!OH^TI zBP=7#75IX=5;lSl>1jr)j?|??38}qeexdLfw~kIYlU0Pl`4IyI86+sMagKVHifX8c z-=tgF6HcXCE^7pn+~;nAcffc!QRh&OF}jAMDZi8BH9e$8g}9Diqd9K-V~RMS9;;FK#=&UgD&j^8+u-e&`PZopv)1BbnWK|4EJ;qd9n zRjSw^s09^DI;uXW@oznyRg67^!P3cs!zSx0BMDzJloNl+)*g4s>k5Di4D2Fc2f; znx6QeTs+lnsi@jxi1C;VLaX)jUC=y#=6=pP$X0ysR#fMC(<#-2L925HoUwW9*U1-3 z_Xao*>`0Y4N)yyjAWhco{<{@*VbHvOyRM7`{R#-cCseBm1y^q9lJC(r0t_dNCmSRO z<;imZ2_u#$OM*iIv0>X(!woz1425vowVE+_cdB?E2A~dVgNJg%sO318<#Qdn>V*_d zR|O_LN;@?97v@dafNH$~C!d3xTr9yzg>3UNQNWMk7_uCKL9Z(%rY6M}sdh+A3Ka*{ zzO$~zBZM4;Ji;#&XMkMK&=E2iV^NKgsuUHJF+M^(XRq=iH4Z)3e%wH-(E31tE0j1? zcM_mLLoXZ2S|4)-YA_z?b~KW~Jx(MjlR=gCRAA>`)nEH+s}99sO6(}?7(f+jD5{)Z zI2IejgZc7Dp+<7ZFw&Mg&Z%Y9Uei9T&;*wi9m~E`V2DH z+1=f4{eQ>kO@eyYy&A^tJUjsexO;vD zXgyW#Q3))C#A@zA>oGv9Ci96yO*oKm%r%ZK+c)R&5uqLA^dmcV5#E9`2@OFP#y0>p zu_;xk>Z_AB;$VjkWQl;8c6|96tzr~i(?=_=7TpEr?vG+(Jm^x^)nt@WPHEN|5@?!mQ?)zi zpPA0GL!$P=Y;b`GWIB*Cpg9;$1ocqy0@d1tmvKrM@E<8PW8BSG_0IRl_pD$v8slAs z(H4zfa40_yZNYTdUM{yuIq-|$$;O&BP;?wYowSh8uQRiQYr2+W`!G8I+lNn%ZU0ow zmJSSWqg9=M2F=T1XS+~7^SH$C;}eqED4 z^|5*UW4)d_h*&L_4t#PUMW(9~UK zdZ{!+yp7UjBcG@gdi!Vpj`p3_ru570pp!R0nc8)6A}4v2RG-==;3i zhVCis=kc4=wT<=LUH;DP0;n!$rq@<-6G~CFO*jIvG~a6raYK>6&`~I`2LyB6ain}1 zq8-N?6huI$;KmSR7SH@Sw|oYBC%Z}IALKX>Aub{zxAZVgt;#A}p`$!yf6}N!&_`%8 zqdN4>C~P`|rsKCCM$rc!S^rvV{CM#!UzUt~Es+Hx)AgR`rxV)n5^xUatIMQUvW(4N zKwdG{9hK(>o$&A7q1c!5Q6o2b8*y(faeJTQz%jj=iGr~!mg0YLihx(KBzLEgof(l9 zIKI@M>1GZ3mRWQwIS&Z2KH zlbAx`q$bCT`K{#~S)6(hCM=E1X{$ER1`_>_53Tvjp4F#V6JcGZEpk0mDAvs84ZIRo zL4cPB1dvH@VFO6!Mo@H6ciB9FoE^}34);B$+^wxhHt27MxL#C|bWN2l#_BrWKr3Ny zP*o)D{k3|L;+Qs=q?mx>n#vZ6^}?KG;Y4{Nyw%Egi7BelX;@6Ja?{ui@CGKB(=2or zuV^x_5fV5NXU){$A{=cXNLM z?{nX2`Q&J&k}28uG_;O?iZR&}c10!Nye4oQSLZxlUybtjZjXCfqM_X5 zRM7p{7(9%K&tWr4aPM+tF4E@TvygvdrtWH=1C3;4?6RMhGiEYG_QpORP9bDu46e&o zoXc?+9E1mS%=Qn@unYH@#AM=)62_9T+zc!@${q&$uZs4r@ z&aDv0_yB)#vq#DY^(+T>^YfFKq?x%_EdIODZ-&Og*RwNU$Gv$(=d*JS{?RvEbc>17 z5v|781;DQ^F*b8@rb)JBmP5pcyllNE0A;Wt&|==Bq%Q2gyItkfMIqUwzc=`Y+u?lt z@tA#}ho4=#INj}gGWhz&{_{yPY<>SASPXv2x!#R&--=&qihx9OAVWor)ML}SP^MY) z6HBen#*vn`0S_HEUL;(F_MpT@AdpLObg{p3;B zPzp2*W$E>el?q;f>?!ZDWz1ed5P8Tej_8x3(^#s%On=a_U`O`_K$@?*3{$2fDFx1oE8oLR*-w z@wgcfeaV-{%ZdIGph82@_7PIYQaVz4wQ2D~=hmmysdOu2$y<9`kEo=1=kK|+1a4_@ z2@Zvqd}8w1d3H^-U4xgEKO}$CZ|3@cX#}d<=+c~dyFcQz)&3FNuvB?f*|%Try8P+S z+LJO!SL!g6=b1kiH{bouoc&_8w~majm41#&6Y+^G9a(5%1NkXFeTG|e>u+-u;(GGV zF#w?@go=#IB1c(0*MK}#bN+I`M_ZFZ*F1J`MMI`STuj2VioPVYxV%KTK13)Ryv}XM z_t6orVpMr+tWxkOuYsdW_-nVNp?S>oQPz?EZ>d;VfNq!;e%uO7Cp z=QisaesgZAvdbK^%ZTq(JfUL^UptKOx_yUZv1X1kbNDU|Gt|(e3m?StOxfi?`NDwkxmyC=LvZtWEdhtO4`=uF{^~hS1|DSd~ zwiXn@VpA-u&oux2pH;DH%)rKi!|{GxHNLbvTIyf5eb&X;^f&qw`{#;s`I ziua0+M{6d#_!*iV((|yDcVoYAuku4_K1XB@V3IuU7{g&edX9_z2mLU43^2QS4O{7>d_7ZR>#gj28EoLDDEVEE3Y}~!*xGJc*d&8Z0 zd1P$Z%g(7m#fzy_IcPMJ7TduqVf^l1|8kl>VA7S;br0u9|I7K+b4S+8g|;4Dp0u+4 zSjWW$!~5nuN7KR!|JG`9F`xJotNA+%OzHSk>RSrMSlCgn$*~k^s1^$n>&42%gRHr% zSHnxXVq7AaznR~hDx$7YIm==a7N^ET0^Za0pBBY+lIHGDOmHsLO&$}{*{8-!bwupb zpWhA}*B;N$h}`;a$?b#R-)8m4WeP;T$l=XZt$!pB(HSVgTdnN4P179 z@X2jh^O|@4Ul;#us^5@&((Ow=tmkN2wLy}3bn6Yh;!D%;6#idZ_f;wa>3YUNUOUc+;u z#x~M9CPI#}vGFnSR@G7K_@fJ*b9W6_xZlhyIh>`rgbCRL&A4(UCqv6gf8$nJ;n3?T zmW%}wl@rCUv8YefugM|3V(-{+==*(W9{qgYYn|$7?Z7u-g>bTW)7PvbA2d(IuN^TTgnY`nL3pzZB%bwz~EF-=2#2+y82B zPT#G55Wu%HhW|aDzl>ikmY#o?d%!vR!Lrs|3C)l1PM(|`Tug#v>FG>N2-=I|HCwD6 z(>eu2P~mtqgN3k;@VOk|xL(c(;SP(ihEsM+tUG;*2L;~Gh6j%u>c%QD4AA-qev}xB zDV~&EP}N*tUJGN;7=U^q(+z)uK3Xf7h`gl5RCLCf%s&zt3iQwpGgmoi?7C95ud&)} zc(!N7e#PQf#7@etiEJTwq|B=YEZ@Kv+R0y zWJ=gb{IQtPcH3xw__c_bR}#Dl^S)i>ntSV#eo2DcIm*AB0=es|I^x-3&v`^yqtQ5#$?A5-R${h9Kp z?NJhqB@a`e%G6)c{fYV@MlaJyF0G5D1HF+DEg7gbX7`BjU7`u=rSnKMsQa^5p@x^l( z4Oz~lh*BFufY%U8m?7t+l^G;~AUM##LyZFn@Z4WRC7g{Q&hHOph?{FSB(C(-&hV_c z>o#HfU4bg(%iEtJP)nzV8ZzV}6Z_8u_S=`5=oaFD0{twQ--Sa-F~^(NsPgyvL-KIH z%H@ALtA_tMiAfw?VEDwTw(*#jP?sw> z&19HJ`;J+-jO-h|CIAJgt*aNUoSmzj51Aj&@c@W`8KEaYK#)f=48!Xc;C{7ilYhh4 zN#i>IPa83O-Daa|(YOC``C$A}KDF&M0S7L6V(o^$8!izGof#*6a7ADwSTPvqg>NPG4lBMHP|_6h)@;1_^+^ zkXYLj{OLd`fVN^Jz`e-HwZh72fN9`M=o{+VCF933?}D}wr<*`r+sB*=C^VLI?iD+g z3c%B1GUue!VOca6nAWmpKXCoe8s!&xH$uSaSiraog^_8CPY|F&CJ5UiQ*MWTZY(ez zXo*mFEMnZK5ql5mYq9!7LOS6ZI-RuqoO586c@>nZFtZl=f=SPOuE@aicp50Bik8mJ zG=&IP1XR2xiWJiYoD&d^7Qp*g^_Cy})kE%oTRj=}WeP&qSP7JX$xK4jiei6c8gVX6 z5jisGh!TEb%isn)o_qp0E{ul(IP3)?LQS;_vlqoO$A6G@UL}9c{&?!T9TiblETK|^ zxY625AZh;y2mg`8wquJz!}vA^QJ$hYLMxC)Rn{(YSMfEKCnbb4jg8pIv!7GOwGt}%_1Nxe@+{^K3V6$hux_@#_0P<5@IQa{)7Kk!WPtkGT!lv=Cp z|7VqT@7@00P3hogV@t?I6`HwMXxakBYb>ErY9nNjX~?-S1$wzVBO(leD+h4xBQU^J zn$dadI^};AAZ@Bvm=-CNegC-<4_}h9mFUmQY|TD@X>-9V+@o|rz@6A)5NbEs`~j- zNVxd4nHR-ws%n~|c?pIK8Rae8_$XcTUbKM*;TqutZm0xF}TVs(+Zfg0Jp->Q_QA%ONCQcEMSV5Jph+d z;$IKPHGw*a)za#j0u8WUxWnO4K^-Urg#|dmDF|mo0Bdz5n-nXE7gysSJ;(@Xgg-@9~lUa5aO8*Ko}A@To;T03cU@L@tf{9BvtgL zzs%R~_V7mXUTwn=s3j3njpcdYLGVSWzcnT4ui|vrV)XZyc^;+@s7!4UAeul5Ewh#n zxiWWu5*SH!AEQX_r;tGLxNz#4c&Y+cG4B`n27>OP&lxJ!uA z6^O4)ThfI#ucfkZqNG4g2iT0TzDR}A(^NGIyP*WlsIQTlr5f8-g)2%$*sKZ{pjFtc z3RkTA<{PBI@2$X4M#-vsMWGIqRr>;=5S3N>ii&kjbONc#s(nQQVk(fJtnn9A5LJO< zWj4R1vT&lLg!x*?6&uQ|`WK)@*sKaytj*GuZL2~RB{J+*g$qzR?Aln4y0!NITF1%T z&6Hx65Ir)9_HiMkwn18DwV}W0*8HUB{%r#yn9?j@ycN*w6YvO-HxX!`K##iK_gS+$#(^pwa?0fY1{^0Rt9YmPcyY`^ToDvL#M4Fs z6+o;-Cc~Rzq%sA77ZSuSWH|-KWy@Y1c@172kOB zn4yS9sZ7euOLHZPnDf#BpeMp70Dxh0gocMhP#mTh0tsw2k?b{Wrr(f^(a8SZ6S%KP z-q}Z5^f|c);eY%VwFuPGnVH5&p~!^$wS-Ql#UBKfp6XSt^9i1wno>Y{>Y?~*s4?O2 zLHSKp>95`dT%}O2jU*L5LIHdjj!dFeQV%Nzj9JzQk0C$bn4k#kO+3d7RpnRbZEYS` z6g_RZ6*GkyC{#1jvDe1l!Mzr~Fi@kf8zz9>!qKhaaFB8oW13p0%IOb@6s^)DJXTXfDW(*%n2=cs=bWLGR|Bl{>rUdbR&ipZ$JJUy)~ z75^tjZ6RcIENIAq&)~k$S1WEp`av!QCS(8rD_5um<8wZ5?e|N?Y?W$_mXH2*^)_mz zKa?&A6aKdQ*A1x}+iRvPo73IlcM)62jw;;xu>&(E(4^l++{HnA(_-qoKt zg#;;oUj4{9$)f-QI5d`&PfP;Wiqp4gfV_|a2O$$7c(}XNxOlRFlK``LZL?Z4Cewhe z0a|#wnouWswK}Nhn>c}%5a27`)X6(c!+8*p`8oyFf$E5H<_qV~0}%@0zS)9T1Q6SF zFwPtUz3;8Bj@fj-Ap)g}wvJ-B$D4YBhjanhk*EPB`H&&0$Lk&5rfat zkpKV?5CZ@O05VflHUI!$Woy-3pd?OM(Q{JF+=k4p%@TUBMTmgII5bUpFMPr+<+i&Q z*v@Ug|Iz6IfEl4Hq5uE}Fh1Pv+t#)ktaWX5on)oVy?WmM_M+iaU$jJxkwUZl@D* zvdi0LS8HLaV}{*EpMfCsb&eONgJ{mru3eCpRyWGUQkSDlf8fP9!?RQL%$oM@%2s== z!;uYCIDrv?I#RC90AQ};FgA_b$)OClq|EyH*MPg&Yj@Vy8X#dM;q~!K>7m<8#ck`@ zr8?{M^0hWi?O|B~U($+LC9cb?h=2u>9B{WZVb+KS{o7{V5PmkDH5QJhEtKDM1@~%| zKK*zs|0hNi6wP0vse>!}OyEe8rFUV$^n^ta9iD#pFod?gy zAT+yhAq|PLO0rXswRzB@SvywvW3vG#vQbenn<^Q;ZaNm(Vc1z;v3uS*)U9o+z~F9M zYZ`r?-gh<24=u4j{MGXCSSq1DcK*VRpoV>E*Can&s@b}|d`Ms4Nt{#YJSp?_+TvGw zH1<@qr6G5bpDksTPI7vUQD-W_BmWZTjCtO^tow@MOVy%{+A5WMVD+D?USG8^8GFZ{ zgDur|{)}eonxyboa%*j`t2MgpmdsqQ;7Z3Jn0CFlTX@=?i`N3?(%l7r!o}2EsPV0Y zxL)!SG6|+HHK{owdY3Mf;KNLacPLE_12EKpMfqhBKL*uNQK(|@+=$7fRT zRrm1wtXAJx@&FWRB|;)jrPjuaNwuETvY=+Me=7^U%X-u6S}0efF;mHdBzvh-U#9E? zR)*>P<_Upohg+YpHvG6-Rt)OYTUyt@W?0zE6k1S9KHXNM4hn}w-}7GJYiN*fDVmaf8P|qaY1r)_H7$R#@0trN=v@MHD?VHP019 z3nf2{T3x>3;)iZ11qnwh{D*Fwa7)7#CRtrSPMJ!--&38p5g1-YC&(0=V5zX9w2*z- zda`LXZ5q5Kl403a$Znp$pEL7uB_yLBr)Nb5uCX}WUIHs)_Q%9WQA}+ud9kF=mO@v| zR4nb57poUwjQ{842EDj0L#742JmThXE>g@S|S1s9At#$VhGpohPqF4 z%{%I`t3mZ~33bC*N@vRYSL(aAH2}q>(qV5Nx`Ri0>`MNk zCbX_yV^hhGS*_*olfSRA8y{#0%p_A(NU^{8w*9TyNV9zZS6?TrYutFnipKn7thj58 z<_win$!f97*8kyZ;^X&9r;VM0_zn|r(xC>{PKJ%EuM`~ahGf_nVgtyAxJJak4!0RX zG%xKud*kuWoWJzWPieZ}x~~IoBgl?A4N5%mG)(Z5`SC!w#II=vOK)0C-^L< zQr}~?YjT6?*_Z^kb_3#^N=a+D9*95pRx8mo9uND~^-sObC&l8gY*0MeH8*{(Za!O7 zB7N-mg;R<94od!QX7T$a!v;*w3oo5|?D4B66l)wROxoUYcW!%JJ#{q4ltD<^ux`h3 zwhji8CBT{e!Yx|XhFEeDhZ=@|2!4u!A-2`o!Y%5#o;?);Lz7}(2zj=j=pUMqiHY8! z{4s$9HgqsOTP1Ra{KN$CzYzW3v4DyAVI7;8_!t%v6T|-^0vKSmU<2k>f9((J%~&VI zrL%PR@z@ovatg~E{}+dZjhwY_>f4g-znM85vBwnqaIFpaCe7EkPe1?fDNVBolCw|8p{^BZdk60b+v8HUsStY< z?!@>X6p6poHB0+_^9UzPA~DrT&lvcTk|j-BklQ_ZwsXBi(QuuZzy^+p8pJP9a1X)q z42+@87)#jkd%*c{&fNsd1ncFFB!g&yDYzs**}RS8_>G_xn`V*_+9Md0W>*tkfZ`VY zU4V@ZjCYKOZ7a?|khZj%w#!}c_drgpBT~%@*puW7f3Nv}%+Z+fA<7>OpOkMgII|?I zRP?`Oe&T=9yMsI5Hh1lhjnkU#KH%$?CXmEr@Kjscn+?**+8cYNXV)UOQ0V~>-kU^r z3KEnOxv6gV*emzJceBIHE?3NCaGTzxPt9$!Y);?&A8bnHr(Gjj;1KhBSyLgcYa4ux zeU**8g+Xbn$tA&8PyB7qHd}6JJ$-4a{!ILai9&VPp}NcI?3GJrDy$sdos>?JxpSsY zh4+{ANa16)$WeHe5(Ps<#87=b!G(>pbv4zZmm=H66QZ=ISV1DCNr(O)^mo&-Ecsh1 z0O)-Aex&WXylNxbV_47bT2DAF>5O$<@9$t#%88c^L`6;(BxEBBhF1(Av*Y5Wt2qG~ z6%Dja-YGrd%-8(v^84iX-8wQXh~c=Qx`!ipB<>EX3?eM9fX?Y((RJ}(;6nqk98srIY_yiTKre$twpeSLb)oQgiPV$!pw@zJPMYrt;U`b(V4<+j;q4U4rReB zh~-=K9TYa^`4I?yn<$HxW9|*fwBUw&c)eWoM=@mm#TEf?)Hzj73wiMVl3u1<0Gun# zw}=x1<**y_%;EAx&(|EJEE88}WjYCNnTdm^2KlVZUGL@M#_cf7%jV1;xkWlt=wf#4 zb?j5Y;px9$_D@#SA{2B>(mzW6(jMt7jb=5XE+{RYVAUcChP~$eNg9?8;xksE_<9&d`r%2M4I7h-d|y9Ve2I-A**2E96#t;tCxkK zTO9ey_oGYu0-9~Rn#QaY@Ki;W)$N!tJR4?fW}=J8bx}@3_T@%Ox%1-#_h2RCq?@i) z?lEIle4KW+KW4stmGZV2XH>UYuc%e&;yk`veYuK1oqvFu+kmnOgH|dV_T!=TOL<~N zJ7FTs+J?IFhc9~zx*^Fb72Q@c4y#|0-itTRKI0f<*VJr?!Qmc6avehKLSj@C|IVGmX6x)SdRavFC#0+^%t(snOO`$Kj1P zQ=_1#S~44fnUt7vb8q9~4%xW2L9-{S@*oTBZW=KzaK@BZRx&32~^>IhmQMC~4!m)#F7l z{R3;?-FbP6;1#syn>XruP=tsa#cE2T6HO=yhK8bGcqpER4Xh1edK0F9;x)zHIYCh{ z#ENKP8km9#q9_>N80O4>20BKwnNzyAjT1<%91h-DG65TgoW6ffh8pOipLbCC{9U6PRA`I`b14{!RaLml`|?FQ=FnPb&BScTAs&wDUDMoe7&cNNz`%Y z$AF5*6co`Z?@W&nR6V961f|*G5}>&gXJBG?+k%@8UY$tyXgNqqq^`o0`>FclGU|ry zhBN-vL6$!it*OFMjv8G5m>%e^C`<*4a+Je~ zDj!oSo>M_Y9|ToBrcyDOiWKx_&xC9(8+70kL%bp%NZB>mk$YfFi`Ip!Fy+3hKDtEZ z@Jl~?I*kBp49DyY`B$8#YF#;#Lna2r?`O5!eyvr^$i7DAPD8JA>|*TJz&X=fu6jeb zE4e2Ot5)R?D#fNseXw^w?^oI-@4@;GOV*>M&_BbteJ6K+nwSOQ+;IJNWzkBxIbEr1 zo{0cgC=O-Cb_d8jnxp0#02WPEr_!FfX$DR7o5%XhuH1h=L((R;_c5j0yTy+@Btp%6C&KjG|i+QTKSd>rb=RQZ!-y{fS-;d$8itpDLC zD+?Q?e`}7l_)|4=Xx2fUew}$sw)@!M8LH5rA8E`Y_#RSg&#`r+x!|r!rR(3Q|Ndl` zGhTO5x}{jkD&Jl-4)*3PU(xomRiXXPr?XN{)eh9Wmpegxmg)Jq?cDh(w2k?4(3Q-r zDehbK!ksl|wVxKX{Os(jiVh`AUv*t#et!FeFuAE)=MO&On9F=YYr0HxQJSLk zZsa0r$llCveQ%uhT|N)X_Sb_zOG-hDnnfwFqki2bJJIrkK-1zY6>fVz(DyC&irlHC zMAJS3wZH8CeG}Edh~}oNbVqy<3?ycoV$YdA7;D4+?ER^1Z8@}jh~}p6lE|Vr^)Byh zAS^ptse;AfDpPjF0{w8D*JeJ(uUfdvRE~QX71VEdWuz$-GpReQkDj-@nb&|{?ES}& zlzoK6ax81IYEiVgOSf^KTAvqb&S5i{tRY3l;7U`CI|a)|y8P;!O0Xd;;~#~Dh5!I= zypW|#;iNQXN5;vHI-g<#5MdIrppDVYFYE0Gm*39&96Dx|NIWpVR8Di3^;;i+uS#Z_ zn-XusbWL+y6Oi2E42Ra6f+P%6xI1&-*jV+67c&iiS7MF8)k3VP-YHb2l_hY&(^& zELgG=)G?DC2w*Ch>yVRjnBTSOx5r%TEqL=f!2WvYH4PZK-gxq%iEHb}a5BmN%S*_kV%S4O^k18|M!Ug{-CC^lIMjSko z$p!F+xWGN)7V;R&deXKSX*#FL&6=m1knCIL9@W~K@|@#x5wld4E;2d4PA`IiO@U4u zW&>}3mMhtXq{U<<5F1S4Ki;|agHuzg z_7YfW_#}GE@>sW=1dvKkxHR9Y>U z2o&Hi6*9q>44vRh2TAbjHMN+j3jDu$SLvh3ttEsxO?5TBUy?&y6s;W6>EMOi3wvQ< zM+4|7LmS&GhnGBfgNGEhX@Z0Z2h}}V*U`Dmag#GMEIe5WM` zR+Y3~k{+mc4qiU@sAt)#z8gcUh|lQJo5v%TU04dfzYKI%Axt`N@P#Q{a$a zIzWKGguw(aT{yv)K&J8Owjk@<_BAz0X(R#!zuTSF7$B-?galI#;c`}>7AWU|z__}} zj&++0w8(RG;2o|uckY{AW2LBx@lyd8BD!8z(ex3e5(G>o6K(uZ6?8%ezps{EnXSpZ zMLCgQPZVlSB@QAy-6$zIb%6q-tilw?F!zu=imM^NxRB-WW+U9t>D!+HY)c| z_2Uxih6;hPee<6sofv$&hQL$;L!e(w&-qI7Lw76M@9h7&EN|aIxxwK(h0~W@%16Ec z!QG{$z8Pd#?f`2zXYSCT+1V}v*JjG1#CLI_ps;QpsWnjxvYb5$CT#m+JKoBBQ&_=2t4ke^xHyWqsn>f9XDMd zWO~v%y-nSAh4m9pZjxXbJX1Li#<;L=7o}U5K!!Mm**YUx$zubSU0{NAz%D(ef1~vR z@xmPx$C^`CDiuB7Vrz>TE0gcRE8*#TqzfipY_Oq!hXf{>L9JlX727oLeIw^)g}pg{ zT_?{e!T9>i2z{LPyXvzG+iT01cUkb+TE*LWi5}f&l>u@5y64~3jop}O?6E+|V@-|v zaVn=CnC;AUuDMM<*y*bd)BYU4b>YRe3Z1Slivu5DOjt9+M`O=C_6@YW@%o}X%Rpu_ z<1crXr>gg0T`v^?Z0l^t+?Y!DKY*`$Mjj$h440W;VO zCjzH-;=o3@*#@;|kwJl|g1~#w6SU`4Z>Q*3ungWeY(8~c!z0Iy!L93dPFxslWjkaD ztpnk3K*-LaUjm*2Kvg(CJZoX9;D-{w_k*;JujaX==O^iru%}XoAPf=UmmLzpFAy={ zm#dukrO+h)S0j~l@PB`EnkzUG*dnLOk*841W!R)!g5!r+(6}=h+1=Zw6W0)(Z9KRV zJL)b12Hc3fysqwQ<|#JAaY1!@!TvpD_y>1LQ81NC5$Tso!*ip!C@CMgllyV?2g*G@ zO+iYPP7yGdP!r&nE|}m;z)tX`V0QlKz}e}Tq=rc*J;od9^qMN^=6X!fAm!qKam_ML zxP^eOk`x0=+_5d-K#KgQPnGj7O<*`WJ*V`iU6zU^V+2g4V=VYGN;7*qAs?3?3;(Aw zQ}l^C;Zy0MOaiBXUldLRzY@oSUyXCYFB>LfXZ&i`)WOf!JxLquyYs#xBfVuOD5b5r zyxT%qaqo)80d^C>n0muE8*@#O!(b}qr0`2~Qurn2D1m4cv^!)0f@PaqrlULH2GEPf zMlRUzKpR+nddXA6aX@w2QFuyvhg(Y>OPar%Jf1#rx2~>^@brHx+OF+((fv24C&Y>+ zbOcP&g{S|v5DuNAmrc^qAMe-G-D~f7%K=V?8L_*&6T~vwq9^# z4(kvn_`G#~aBg8a+vNWVbf?hrq1@$$=Kb)iuc&Kb$3QfulKKkvY?yj#dB7`|$mDF< zL6A5#FJUMN4FcT4T?)KpeEcL8e2u#EdKR5-b*l>2C_X*K;>>rz_uG-+YcJi*^IiAa z^XkT_YbASd+%-ar3>7ES88I${u(%Hcd{+w>nTK&ITaxJgGRIX(`!Gpx!tokA2-xyz zQ5g)t&1GLF&;c3~8WAMhm<$gX*kd!yDOgABy&JafaRD;iQQIUG2QI4}baN)6J7v&S zIG})2X@Wlr38d>xBX&B;?E$wd09_;3w(Jsfv>!nmMblT(t^e=7anx1J;Cst!n7=2l zPxkY6>OD=M+JZ6cx}*r>T+v}yE^!bJ9T8v#mSh$+l__43-}VnjE6ctSMnPH-(CwJm zG;s*U-HZSb+FA!%fzJe_7?n!9z3}oDP-NKx4y@$GkQxXixp{-51#Ftppx@+s+2RSXa`e9xIh?#$_|;rx$sDlz)H6KFag#b#cX#D*M`Y#+L>3(!myKL50_~hSD|YVlw4&t ztwht9BU7TsfWcjHK#aX_LEjA#deZ`9gdLK*&?H6Mj2K3e91(T|Gzt8-QmOh$;jGT+ zM5_bips|$0euWeaF}*)q8*na0w#&*jO#FumCPNsutwR|*N%jx~ zGdirVQOD=l#c*r*z#&%?f)+G0#A(onKF|f&IL>C5hKkz?2KVY1iNiRqd5+6V5*#hbvUrc|0viC;mc}HCNW>*Hl^OXiO^8D&cXi;!F zc%VR;ZP0u80v_MHTV+pBnHnOSccEOgVUh(En+KA(M5Z_40vQfiW{f)xBWx3c$U`A} zdH|TnAuvJ3k2u4$C8&<*i!b_|;L++#rGy+UBhHva2rOtQyO1^#(|0>$Xdn~%9Uk3t z@>aM*0E93AhxO6@=#d)`wz&ekH)A7cw-wBx7niFBMA#1DMqJQ&1`kgqx(=O8v_aiM2zGyN(DkVALpo4e$|NM#QyD(`XFmWK3+46yME^U3A6ZZvp(s|GVa(8I8U2 z-ERY7`S`=%&UZ$WTDy z=A_$#K{`(X+`HVzO70&p#+aiN|ImhYOX6fy?xv~3NcttVu?zZJbKQ>H^Wl=^78gi0 zw=KYM&vY9KTnpS)-k(-59f8&Pza9$~you@!uhv}&)dy4FBM2j8WvjSx5-p(egxnqt zhdRd#4!zQ!Myba8jj&g!JdLi|>4T{NNj4-}Mqm?;AsjZ4F&j7D4P6IKF;xTeci0vJ zKsQ4;#uhSHjz>&vSq<(5k{y%|sL24)#)N=2_aTNNI?Rxxq5EwN*j*zm1)7$zC*jpV zZteuWT7C`yKbHb_>RwsJap}j28p^}IQ^U?}AP905F7}=m6G89_`c|8}U8QEIWzZ4* z((Fhc`W#6v&Re$9O;py@#1a7yraev`0ugysD(upE28qEgq23U<%^}TAwx{Q}u73@* zd9HuZXSmX241uXjCr9x4(5F$LN!c1yZs#r3^9!lLL-SW^ca2d&q+NkvDtYX}#kj|T z3DgC7Go^s-V1E=+m@q=ieW6pdr4SfOC05;d=nP(nnL&VtxWPT*2J;w5eO5Z)Fge$@ zT+-6k<#QU5^Jgsw=`DU+F6sS$`D7)GwSz~JCJ-ApZWJsxh`|qnICu6DScb&YjIT_M zc1p&i+3^MfLBBb7Xsi2jvfPk3zNl`YZ*qR@Bqvi388?Vv3JMYU;r}97&6+fqZk3vr z%r_AWV-I%h&tbCuA~44>O0p55+racp*FsHGxL`8z^q95TwrDwwI~DRJCpxr^8A=THXL?4DLY= z2f*6PNO z>hIY28#wh4C{np!rf3wI0elEkg((Ih4H6xK1I#Gv#jz}+kFKy;Ze8Ls;=xq5#kpVR zm{=(rz>%EU;CeiRnIGrw0MFuRvEsxRfa!<_Q=1UmL5d-`1GqAL(eCgCd78FnTtRGy zhif0FXS?P(%O}RSSHz#3h-CasB|#h+AdnbcAq}Ta%R?}*%AZafYy`;Y?r6_@zZ*Y| zsV-;3t14aMV2tAD2tX-sM}z_y!}QpZ3;}=;sh-AKe8DaD%B8LFzNQi&4h@tst^_dT zG|Zz4XCQKkYXg^DdIyy}j9k;)QAvxldyZds*Nnw3aD^^p2xx!_0U!*h07Dz@V5O00 z*HKc(8^al4DD+E|;Di6-1q!K(Lg!`aAObH#>`e1ymv)!Oe}G(7&lxcWjw^o>7BH2ZN4B$Tud=6D+Syve@7`iQ zc>bu1&`PCi)mcKgnqI4edDA*5XI#djRQv73nL^1M?>4-7#T)pT>Zf!EWFaK%swC%V z(!{w3LmP2k3~VECAVH;(+H@EG?jwcas!hEyz?A^BGjy4{ZZ3j0a#93+rz!XbQyG-C667kZXh;;C2;N^SW^k829KP9q?{ciR?6RfC=ge=> z7Iw@x0^1G?12cs>ZCO{N3rGe)h zf+EgOJ=X?5kwT$n=M3~ljz-S8gyg$jXbgwiRUu%MA2#h|>AJ2Jpw5{Zr@>UlrDd0~ z-A5Yqh;Bd`0Cy$Gx3;X2$e^vUQT4zC~qST za>_Rfp9y`Fq@8bMJ|h1qeg6MYM1wKTAh>rcZGq6pC{_T4rA|ykch;pTYPz-UD#f+ITV>~n;z?QL~d#C2=>zN_wC%6@&T z!t2vBlnpRVQy(+Bsf=VaF$iOan3j>=g?dLN-E>VV*WR6=hj-3wfv{D|bY0bDjP*9z zy~dL5v#G^u)tdDdy-lOuv9j*BzRF~j{b|`pZ{0O}iMr@&s?|2qj=pY6A4n^h(<7-V z*pQ25jS>jYSrTq@bUma!_qy$!%GY$d>bVN7jP|x&*f(wK^niQ2NN|xIT{x`So|vGS zLa3QZsV-XQ%vK`toV_m|$WOPlSA)XXgJMZ{<`-}$u+Ce)!a0ApXvkSK6f*><+R-za+b8M~Ie3l6O-a2H7B5`j%noPb zbcFNW+SE3;Ppvm*!u#MuU|FAa7}3$zU1q0k>=o)e6`cyZj+%ldVG~_UkqG}+S?@d` z2q`5e&To+2SdMw!`oJ8_RqQAAn&DSu8%fybV#9YM9ZzV?FsCD&=JNc#1!^H-P#>He z6o*f@YCpH%WcKP_IG-j`yQ&+4GjiggbHr|Hxg;hTD-#qGEjm#Aw!=6cUbJ-_`><%u z&yu;##aqqS4)2YmoAdpun{aZ(D5Rh3qn7|)ho8)+B83`Sw>(XEi{PqY9x_o7#5QL9 zdG>@7Co69fj~VFhxv^w?bDGz-36#&jRbwCqev%?MC%ZkfpFVUt`>cJt`r8(rod2mA ze^D*T_=OiXTob}1;~pyCR3l6YktaaBJaC0juL&z$EH~Sn5jdv!W-Klf14y~;Vo(P# zCn3JoxM+Sl=G^YqPJRE>7)~TaN}0LU5Gl{(I6Lx8fU=P#7Y*<4agHnK6=8>qCB~Su z`KRzNEy8%sgJZ^r!*~4m#_HL8-NFy}-yO1e-+e3HL^Lax75uLfmbqApvw09H z$dlMpd?6j=;gdb^y^B2Wg_`NRmo0mjgv4=Q)>m0yTXgF!yF82SX^MB2B=ZQGuS;tB z$c&^-otwc#T5gm8bwG;0JCCj+z2*8E_pJwfRq9h!Zuyn2?sZx4{6_cO1o+Dc#I-JtR<#<*x*)W6lA-XW#HjuDd-xCKLUL4hFy~XR zQic9HZyNptaJ##l)w0tvP#6jDtb_#PIzz~;&Gj!wB)eE_uJw19qH#d63EV8jAX1%)bENr52jF%^5gavGTo{;FKY;f5lG)7Zz@f%xL zI#aO)sFAp=w;dV|Wi{1KRMp0^VFijMo&UIF=h}$-TK*y2dB*Y#HMTnYC!Ixp+*4cdzTtu2-eY+jfy@+*(&x-{tsBTzdJ2*QT=-sjFpg zKN!EbOF>+X)r<}Lf0gY)93NBh2t2J#jj!jmek0p{!<)w-v9RimT;n2;;|zF6Jw{da zO?ykdK>lmq8*5e6=vM+G<~L-1u5NzUhG?{&zimfuuj);v)9V>bu;s2^!sUOAE(!PQ z*ed&%-70*KRo3Kd|6_MavVMo;9v`|(*TYAXsSdvN>5ts+PH{wmApHe#7Ca_htTiSB zG8|7;?utGZn%mV%G;Lx1Ir&%k*7oy|y_aRu6ENOQUqMYd?S1AFwHU}BGx+-q;4&if zDR&qE`A~>xdj-8j@~TrKza77mO^?>A`tx3`@ta!piJHofIe@SO;ga}Q7M5=~SaKvY zm5xV~)wI^J^3@Ob>glmxMsA_sQ`Sk%2;3(5M~0HGzRLhVTNy}9V8_{#(`pV+W7C=a~O5v8}PuB&gA{32<2S1w|te4OzJNNGSlC^zcP-|fews%U}M~x$Dhz98siM8rOTPw@{aNO z-mLIlm|5ZKjhB#q{kN~|?vaaw%?*{|Sb=g$@L#^WKIVt&t##vj^Nw^droz;9ac!t@$Qxk@e|Jv3>1Pu~wmV{gqtgPGD%OCAx z+Uc6Z0T~--@YLOG_W!1*FW*$#n3Ud630qb!`YK^fm18Q3*pu&A=qs_X%gM}|^+Js= zo|BTL&do4RY=X2T|279am|Iu&$@(E+lCbIIMr1&iO&7Ae;Eg!WmwbK)t(fAGisK%2 z7%nlZSobzNb;a3|M{m1L;Kc?C{=!;{&ZEf#X zvp+Mwv5f2IubIMjs`-aaEqhya>FeSz_qUx3%Ke3_C-P3pXZ@z%8q$ou_k((iSQD(T z&Ch9kUu*52pqaImt?G8JP2bh5AyQ2Rb0F!m8K3E=R%27oUA;^#)b)Cr z>YAqi=_KlEEc3PA>HcR|nZ52+Exj`M7wXoMd}tGx5K3olQc_2L-xj#8+nCS^C!=)o?mU|Me;Xb8RgCoKY?XM~ zos#VYnKd_YA{g51@8#K|>sMUo)TVRq zoZf)EyVW^oBu<1D?8V$Wo13CC>2T`D?J@{mm{EFoUFx6BJWaBy-Qt@MCyxNc1gU^} zKBs3RFXimVvile;tfS6W^gN%G?(zA7^`(;iFiQ$_aMzA5ed2So^kSQMj63$rh>HXF z0R}|knW?hB$#LJM*X3?gs*D--y#W}u*?$ZMsWJE17nFgFYx@fZwePg9Yu3*Dze(J8 z+`Dw%Gj;3xEi2Zp%;$UB-rU|pIvs;6VfhsSJ1F-`x=8N-(o4!2qSDI<^ zI4Osn?wsV)>Yr{u%X{_ss&js0&3Oq~`mkqN6I;xbDA_PQ_f$c$Auz`e#P1O`qAZhxUGj(vHoarJ z6v#&1Z)DGJdz{|=T|?*>wyKMnS!1iOblO}M(k!MbKhKd-?r3vO%W8Ccw{^w|w6>e> z^n{N(73H_-t=PKQjlb0khIiuDTupGdGuwtexao=CogN2X&(pr`KeA=>o}M~k#aT*z z#Q*Qk&g{9yzopBaVYdwA>t&W<#pS!M?y!5Y--+$(&|fX%yr`%-ADilh1^7Pc^bm@fyca+J&YdpkxLjJ7nCXJgywylI zy1M@Q#xE9>tYNvY-zK#OU*B;)=TnvTpDmJlRcZB_d`pQRGzm7(=c-}++KpiD$1^Hy zwrXY5jN(gpE;UBl%+=fFw=-Rq==XVKE-6>Dx~%JMg~R`0MTxcala$V%twOPt1%%XA zwd?rxQ&6AWwt{tDPgUE`3#T*B%CLdC(amp{sQIe%WMLxQ*F*N$+tHW*|HFO4V^MNs z4=;16Pe{1MsR?z|S z59?bv2b=Zd)X(wPj6@~jtjSDw&#M0dJf0`_59rE$w!>X@6nCEqI@|ENhQD%rlYb!? zh3ijTda3@iH(9?s50`KJ{v0ja>kbiaWqKB0c3-VJuajN~2U^!i33B7_*^paoj@#?x zM|s!J^;*)?)?Sf+W#bp@CAONSWFEKjrnjfp3@`#g^!KxN|0m_tZ-2@<#Yj!(HQS=9(RrnzoXQGW2%7zw{I8`VX(Kd@5vHI^gW z4R_m(3AcYM#FT zlSZ@m?zZs>Uss`X_vY7GkF;B5;+TSge&&vKR}3@o^v^}tc03uF1@9iuz}5U9J)Tb} z{JkIN*{tNRjJ~K$PU|Lf_t8;e@4cva5#0W@`1az`9rMg@1^jHt7)K0+kH>N0Q}2L3 ze3OS{D2@T~N=t@J>!)4N6;}DG{aDO}gaSNLWt|twc_R>81^>Evk{Us(*{+CqoIVEx z{s9I|HkZ)9+z>sz9%nn9k{JFt;%`5%FFuD1PmtNFc~!%`pJ&&0>y35F`8BiLXwK62 zWo--*CZ#=hedcci-|tiFjvV7f`)k>edQW8ymg_{!w#wgw-ybcZ(6qwd=L|k!TQN)9 zZmT!i9)lO|@^}p$k;mI6KU@E6g)>#=vb^5~Mc9D8J7*B)tha6MrN`pGEAF~B+6dzR z#=ciSd*^?ZW81p=a@Ppn%{r(LuGpP;@9%suVE5x5oBLGP{QEib?YiNP&5qYhN04ET z((iG}JEKtXn&Io$`sQGez_dfoIlt6<*2qBI*)M|3{J3>pFAHZn-%sCzdW-zQS0WBD ztH|?v0e(-eFMCaI8{gkHc^JFG2l9;Y$#!~|-|z-Yhm9DA^fLRyPa{@ym;Jjj#bewv=g$AZ=GJhQBvH z5AM5_I%0BcU&EF!NsX(py8M+*sdLdfOYerRL6=ZI<&c}4D-LB7{jlI>n(-SoS?Eg< zr#<1}k+JK8U%Y-)DIEC1@f5k7nK%^u^!r`D)0B)qlZXFL|HnLKd&5ufr6ed6duH;w zA~sBg)PHiu*e4NRCAq?0V)>%Uh5bGA=i{EZj+s^E{gT7yui#zeqyI0R9Sv=syVzV# z-)>v$PktL;e)KVLRP(LcMO~^tY>jdA45fy=H@;}skUWt1RaM4);z%phiQgNEyXxa! zf7rMvuPue=i2NJF`0O~ZzF$b&kb~SVSp$B5e89$@mCKi%Yle4bsFaJlQ<|HAq0Vod zp7G6JJ6Y6}-zt>B4%l)}iQ7)#ssG$wU_aDey48Le-GTUr7wSw(l__@wFM|)x6=bY$#`;$&}TAx3n z=T)Fi@pg@3#P)5TXM3~5{+u>Yy4r zE{!$ceN=M2rBR-#X)gwu+rGyned)S`wRULSTi3=^>(agVcJ*dIbQkIV&Oy_8{FCm% zEg&m(-zWXf*_p=q(^WMKPbm}beNSL#>v>zJ_G)dr@pWC-o_z`VJbbS?H{NzVJTDxv zZm!y1lQy5YQ3^-t%$uKcNL9B~U+Q(8ekW~C>lMp?~XrO{`z-`diAH=%AQ+q zxNqX{!aj_DQVLCN03>^;`LV_9eJc0TGK^}Y01&mOPr=HRwu zo_Rk=EXm{WCw%rgRoN+Tn;iXx_Lu*zLPOJt&HI-MU*^8^D>|uA)LU?R8kkHDeBS=_ zMO;n#%k6zL;b9Y9b9H#UK2&=GmjSKP_Jw#;OqO-jUb^zIx^23@w#-S7ewi6Qh+d_5 z4&P=AO@A8{^{%lT{@Xwm0+PZO>u@$#{!?4iDXi)sHa2*VK^4uyfZ@1I%c7~4FXDfiZaJCkgKxWEH$I$)zfq{|{gso8!t$86 zkB|EOAXjqe@}QTyc)C}v4~D|zc31JnC3bzWJHzW{uTg>c)$@FRe$ioN{i)?=hnKD9 z_)=aCmsB|N{F75qRg}z|??Y))#GXGredns}`7KA?Mdx31&}-mWIm(eonel*laCj_( zmT*`SSFelr<3`F+UHfGfAZI)!l{LE#v2@tNVo7Jee)cyCPeex;I4ly@uUKUBf|myf z)TFg4`kJ^;lAuq;eFmTIzG20$@{+!0j86;ZugZLvyZN`IK`;4OSn}wu)AZ#`cRovR`&Nls(}$!?sA=jY_$_k<)Z~b(!A3~yy@rkBYZBWFX^Q~lCXEhf-L5{ zmvj5^{!#&+Oue7<=<7*%)AVpTDVq7mu<0#$+Pe;VIKDdoT&|yHNyDG3fCKd2YZfdC zX;-jseAJz573l68$^D!{5Ld---zrH@@Sc6Zh|V>QC5=a~W71PFPqXiL2SJjsZpDH% z3EvbgPp9CdntqN%``;;jcGKVk#+eKwGLW_VB`t5_O=66N`c}&ai`PESv@fPV_59GI z9dcI2v~7DIVojNLx}N)H+;j9=yWQqSlS@MTC5S3mp$4{L@=Yeva{2By4rG z+8yxr;2VpKtYNVvEMNTq?>0FLj<1zvBAli_C6-^0y(NXxW*l~h?$?YrdR9df_vBA) zd0uO>e$>iVzphO|C;y+{y{pqDC1KX1={z`Y)4}j=b-Nu8KbFuEH@)78w%n7ld)bkA z9t(s$%a+48H#)n=#^mF#v}pgjci0$!QvNSn7#*`3e)@Ms+5I%S=O6x`Z+NrG6T4@n z{w%cg>bV4NOR4)kUmKC$eS3psV<;{gn!Ie*rV_(>Xm@JXL@Zt{r z754GNq-b2W(@XJgi?bOI+Gw#>XS=EiQNj3%fOo zD;~D^EF5TLfw3Odm0uNjiHpJ|fZ(~f@ll$$78gFkdQ_sh{t~QQuivu2*C_aa(z>Ty zfBB8fPrc|9(zXn`spp3 zqTT-Vi_yPdp1u=5Dcg!hUN#a3$qdTluQ%b6NpLTYEgt2V@ezx+o@0tfV?H+~u|psC z$?C7F{w%p$YgR8C<%whsr)}o~4VNr(^!u^ZqQ2NhgWkN;C(7tW7c)z8Z)G|BBCo7d zPvbjP*XAGk=2^)3ebqJNPP_lMfr-|}68hF+QQq3yxD+&x-Vi;5>m6)KeYDeXRsA&< zf3f)1)f`?{dU>h%@p%381s-BaPL6jzzoRb+(jNM=$|{B|ywt~%l5pO}Bo@aR=IGrh z?r#O=ID^jqjw^@anPGU>edN4gcFZl=@s%&Qs4@Rb$A3qOkwiEBr=f>Fh32m_*G@V+ z@}6IQJnUallN5vCn2FJogxSlMvLDUUpLm75*lT@Pzx(Vi=8nwyu1h`j+Ge7|B}I?<2I<#H*UPz)#C%k1ASXAj_AuZ5 zt$TXov7Q8h*_YnSjY7Va5`LJxdFF@Gg~S{q-m_9hD) zkr%QmS|vM@Xl3-} zBTxqpUKzCWBu_{lK^hkfpo#gJ33+g%f-|Tb(kf!ECc^tdV~aG)zWegvu;5^MdvtIA z&lR}=nhW#e|1)U|LzJrW$=K?`}M}G`MIULjfWLEc(dEbJFM@Va_=wl9Uyk zmGVFLo8*Zfp}_FS;CT!Oi5ZEZ%dfuus$;;uzQAzeUml0p#=9ani|iW!;=nV49KlHoi4bm4B?#Qlof5^|Pw&XTlgKR-zNJ># zW28{+ct(LF#8Y1)F2R20cntZB+jJq^aNn%aze@Y=7x18}^o%j>mKMGcB{mO2<9|Hl zr^T~bynA0Pd4tPp7w9$Tb(aX*UC$@>K1|{WK*_;uO>*eR6YXF6BX79~p_s&!X^X(& zhvJ^qfYT4^3<637IdlRCvw$h6Kyi&k8wKZ1tsND4iMfaZP>3iIC!Dw2Bbf#QoJKo? zW!9vH*aC|qiK>_aaEK`pxjeyfRAXC)X)Q^XN&?zfbi_EZP#kzhh(G~}yb@@{QUVA8 z##md_F<|0UWhEF2_0=Fz5rYC2ASKowE3iUimBW-~B~B6`?W2L@`#2F)5S}BVL_k@f zlO7`++De4c$rjUwt%#-!$Wb_OjG%|`9uXx1j$w=;cu3E)tSnY-m*1b@`4MD#wA^EE{iUZFG4+_N5S0Y6OPD2qDgq9DW_Y#!_;Lz-qo*@w11;ObDVIY-)Qp5AYA(tDR zK>rbzF>4u$L|nuVg5tw7>4OpCfGApI8B&7~c=LorKNYy8i1KnqIPi?1;P5Q{B|=Io zDFHF>wAM|e9a;K+uwJDQi9kfvfrAkUl?X5nHq@q+P!TmCVZ+vp$Bmc^4}%hOaSUJ( zRU$u#VWSh;Djig591=n!;u@rgIxCQV`q0 zBAN^&C{bY+yQK|vS&YI0Rul!oiN0>p<(&c*jG*H179l7GMU=xhP?{%1YW255*oVNF zh*9`eg?kx60^&p>N(339fHrM~)=@oy00ArC$2AB8S9yv9&j>LPU=mj%KrIkR4AvpQ z1y%uD2qTV%wb@u5P#kzhh=XvnD-ocCf{-YX9iuwJVpEBl1wqhr;_y)Nct(hYkhCZf zl+*$skhKC$Rmcs9HeDTGGQt%+1nFQJL5C<-8oC^++)r=jZ0*GV@WFnL;oXRK;JR?L>fJQ`#J#|q` z(_R9c8gaalXzLwRt-9)MLZTv;1U%kKO4nFBA;+`F-!ryprdS9V?P~|-5fmw&B%(w> zVybrlAel014?11}EENHAVu>wq2mTQhDV`+aM8NT-ikNC^>i2%LiB4;q1{3y!{!nn@J262Pz!$F11<4Ru0W)AMjGFs};}W&M zMi~*N_(o8?ct(iH0gIIqlH3u7Y)`fwo`h;s7leyQ;>8!Yf|AEGiLii%Sc#M&P)K8h zV|_!oj1W{qIA<3QiVq+;frs!AK{63iZ=Be8`I}@&4vo|@CqWf(MB5~>@DL&*SO!EW z7y)^WkO^DQSC#;w%rl&EwJSN2hhPzbGB8fTsKgMVz?#gWiSl;DaEl$lL*pFPL$Lb6 z87QP+QW$}>C?ufJ$$=P=15Rq~Km$i45G;Q1297IOu!c*$oLI<1xJS}rG*&>O*G^uf zu(-iP(DcDF<5oeb#Cws#aLl?HQhDS7gflzUY9BL#gU6Bdl?YQ}a~7r@TnY{JA4W_7 z1gI^&lR2;)!9(!$!7|NE1i6LOAjqHuz@dg)TXFuIG8S3b;2|yjvXHD$dO({|)`cix zk&H#4$XlM&`%;ut2wEb~Pz1|B`UTP6QlEJtAJGNe+GKM=Yhy_GAU1a**Sh$u5qq(qKmI1ou@z+A@^NJ2d1DQ+^#_DX^# z1R}su1}2h8aV~xbjiVUG6JZ<3_O_d z@UPlnk??YkVh~}a7Fz`K3I}2tV0bw=fd~qo7~%>ia@u1Jm}rIZ+qRI_bfmRgkH z8kd2=l!Aei48`IZ4g!d#GDS(S$Z9#YwLxNl7Hhb2Sk4j_Bko|?!9YveWFc9v)gGrb zfM_$c<-lq~!)>6Hzm>emgP}n@+QA)I^BJSaj8TB5HVh-(lyEJFUzz~CnI8q=Q5Uy^?A=A)! zwFgyW)|qhdh`TvJIBnJgF2%F#Ap+I6@!_B*MorIo;$d8u7yh*;o=_4T>yE%8n3f@W7&(1|gzh zqS8wlu~h*f_QxBNz|uhj;3&k@n<7Mr4%(EI8c(!VAS8}yJ#w=um4AB009YkxOrVPP z6bE4UD$QU4X+YEpxPUW{VU`aSRexaVpaCeCTDBZWNK*uy%O%nXfWb2al}chD$apH} z9?=3UL6N|;;)ocSrPdke@R%p94oVDga!g8pfMMd1DZmRJ47e!{2eq-=Cc)<54k;=^ zAVQ?EAoe3tSo&xHOhQf@k64nZ|NkP+vEpK0TX?tnmRXV(h4Zs?YQnYaB@t0U#(DAOV&c z0ikjVpGeB385Kiy-UC;A(ogkRQyMAhbl}xzm{N0xq7Y;OO-nCk1Mn?pk~UiuX#c9q z!M~y7v8REFz|zm?NUL62praB86j+QA(m)0TSygl#Q52TqJqsEXMp*ic@V>2x6cRKx zTIr-nAqT*%kQQJ(x&uOy|68tjB%Nk_qj?^QGwLJjTTI4D41{DTiinsPtk){)S4KFN zETMl7MDY4I6%STrd>o%qR9Y10wIZb?E^sRlj(MoVwQCTYdjx3zt;;kycRE#8^ZoY=_2?H{#Jn}fh z!Yn115E-xoc&5KmjP~cc>ACbN9`b{ZTupvFVG*Gvwe|!ASlGM8uYn$OtIMGOMrYn^ z11>rLRpt5r7L)30rR)7qRf_T&4KbI5-O|DTo>36F1jXb+Tjr(E>%G_lP5JR<8xs1- z?`}J^Eid{%85vdSSW9pHf#%@Nl$)$)xPVc~RuJkbODpfyO18KY(^l}#+;1(TZ)6Pq z7$7qWan=V0&9okQA>{zAF~UNonUZmdXw*vaP{g2s&nSReMk#_qa?PX!E31OmCy}iI z5tiRUM*Y-U9I-ecGYZqz!hx~g<+-hR5)3Jg!GYSCLv7pwtd|<0bkt9bh(MWzf-))D+o1Jwgd+d9 z5E=zE>ltLQnl-fA6O%@{1_H3e3Wqs@)T75jxi|`3=d|BT>~!lGJ3|>=Z?4T5CbXu82r+K#U8s zd*+tWY{3{p8d!G`&nS;!$a$?qbfM3P%rc?TnUX@14Uo)#qxgm`gjldpA~ezN#Gd8e zE&)^{Fw;U}lL$GfFaYkH(0K9a#7c!Dp@DiA_Kd(ZWEs{9CN^W%~q z85L@5B*cM*7om)PLiPmna7l$$0`RXm^}n=jhRCv>TZ!oZWXqB}1;V3%ls(TRP+*U2 zTC$D;nBfq%`j2(5qW1r9Eu(If2u%VS_KdJzMUc~2Ln6I87_R^_abZH`Yq_oRGTMFF zPly8xFG3j=*z9YnAf3ix1*2G{SBmT;KnPiPeSx7!4=f1L0wVT|FnTN)+6$Ewvj)OB zo#i;l^v1(2cs#kKAWRCF+A|CzxsWSI%N!m`nGr(?M+5;JoI3HC#7c!gypoJUm-fJk zA;C~(^wh>VmP;h@x0c?Tp32G}+A@e;3xjwi8HGsgd+Gs1!W0ZJAXPf!pTIY+-cI8y z6sdtFq4+=no>4;986Z2s+++Yxr1tjem<(xt@pP^wj1OZ4IffX>Xa@Gp96tUGM5Ecb2?HTR4 zlmIkABl5*0CU+Pi5u;l}hQ_HQB^3FA1EEns-JYaKXgER;xw1NgyHq1*1ooLRHy?lC zTSl>U01yxm1ONm8GBji`002*AtkNs+W#pzT-16@ZMmMDJfDl|u2nEdB@=ETCOX!kt zBq=Ng_q_l8kRFr)jmW?e0RSk#zZ`97gT@F$baXZXVexbHo9q&iR+wvZjv zfTOBzcE_Wy*1Byk9jH;%r0v`!FRD^y%FcVSkSN;R*`X$^ZEoLZpj_q>k<^pQ%FQki zG9f)Vj|{-^03bsEG&5jEUqC$D$T_T z-Dz^_V0DN9o($n$FRSdZRjY-CWx!o)gOgrO$LF=Qw)NUoCQYY~F+OSs(G+glF>{Qb zsb^htKNnkFVqeGRYbh*iZY*Q_lwnxY>ghK9N|nG_kii)1^#UUdoLEMcWElM2O~t$I z_CAAK+nU<3x_&nI*4jNf-FNnrT>75M?wYDEbgXn6HTMK*Zix{67{&^E2vyomo2rU| zdhfr{TLTr=k^xpwf1vOq(8FAqW0*-4tql9pTE(?{ZD8+lqYoj8=z=TnJ?a-kGu16xc|-m|(RBB#OXb zo!(D^k2;>b`|K6p$WEFO&89i#^}Lf#p*K{}jKb*NO~BpHX|_C^3`tn;B1*+sn9gyQ zcW_z3tEw6ORb#SS!^=UjLlQVUXh8;h4;Tl(kZ`3EVQ2$}03iX4u$M=Z-W&GQoqa_} zMm;-|sGv=5 zDd#Gx>1kJf7=1Beki^o@QUJ3=n2U*}7iW$p^{WRax#gzX>Dbz!V2irWORGDApO-jj zB++UyJv=WPh$$S9RG(4$jRsHWZ+BwyHcTNtzaQzsP57Ev; zG?O976Bdb~#uM+2nRfBj4@ZJ~caY6;rr*rm==3N!JpA*3zR(#Nf}6 zH<(`6MHtc&es&I{oF(WIkkAu~KLB<+zR!YK6>@t1?zZ40pQ$!eVNGj%A}qm$t!FU2 zB${o8Xh;NTFZTfB1NHGqM-aD!5^NRRfUgujNSbBb$*dIOiUE){={Z>7jfryLrzl1R}n$Z#QJL>N7qs zUi&W6vs$f8)N<(}?)>pu1znO0o7bfVP1L4rI>(Mls%?YKJv8u6?H&)>B7SSCyNH zNmy_CX&%3nvUBhk$?ddU!M%QY31$_oi@w^BsrtyF4qPzDCoX{l6!8@>^qQGpQ!rFo z;SnfAVw#aJ%^q`8nh@B*H6a+XslLJ8HefPf%pg`HtFUktQ^zo4ALhbjdMq_tv;(nj zfSOeBpS$w0j5O5F?zx`Jzv-?%8~^+c;-fDGUA^1UQ{7?kYY%p z_F^VX;uHXrjhGbEQ4x;$lGYV(Ckh4JbQZfRdzv$|41#;KBR0=+#G%EId+Y?no}3?3 z-+_n%Bam1edY8ktj7M;(Id$_Q16s)6;=PbW?8Ss39bDSaE2hkdFaRhuA65UsVlX6A z3(NpDbt$ik!R|U(%sgsByb3=`|KtwUV0)jtJ2!EoOt-=1VyR+CE%sSOW}X*|K9|k& z1KWPQ33r!GUxDqG*mV9cE16;Cv-4hIXu=qhiM?sr&_-e4LxYcdkc04P+IK6dY*<=B zJ9M(_#INA%t*)xDnd^{-z~4)F>ceriPRyPhV6VVt@ena24totOrESD7f?21I>EI?K zWDzrc;|09wEHPKjQ>!j8y4y!(oHqkAqg_1-gLZLC&Ssbo`IgM?5zhHRVKOG9u*pO- zjUtMZHRjTo1MN&fze5>-#oxZ|a8;)9g6$caU)6hoRgLL}rc=kIfGum=iFcm*wi7^@ z_e4#j&i&@=_)qfNQ0ZlW{;g}3JuR1Hj@7|pRh3{BKf#I8xyJcCKqD z__!k|F+x}GzWL-2htPHl87jp2Uhr<7C$JFHBZ&Pr^S^Z?n(HXnt+1rfy1jg8AS1 zXn@yX7k@$f9`#uUNL?l;^NHUrb7}jJ*LQE@ZgghgOsc?!)^`x z><$`y)P9&R_^*E^{$S4?RpBBemW{U|r-a^HDl^bvcj9qihy`Np3%w>-pBAqYuGOFZ z!E1{msB_O@vpV!kzgsvM(xQM(VexDfZ@WM7Lf2&PiD*VLis_J(!#4PmKb~WWxaQ>c zVC7dwNHsRK}~M)urm#=@3}fw5@sEYiPJu=9n6}nl(RFvL7heY zD($eW*WnQ!%tni))xgIB1B%^SeUP#72}#LWEWd0D^kZW8{;dwo>I%54S6NZb|E#oA zT~)>Tm>mA4%YKQhA+RDuK95Z=L=NpSPspFgF<);2#K?HV8=Ju%K+KGZ`G`WUGr6ix z@a_}zU=_vus?B}8x9>7>2<+hM_RVRtY`pl*16Q9je9<2DrtnW^m|gw7EZIUQm~b0K z*DoNifOij3SAIfnsY7nk6X_3b&$pYbo(W6V)w7s*IXJpyQpaxR--(Oc)j4c%$!X?A zRrY2;rT?D?^bBgJf20Zq3KcGCw;j@3JG`nbqnM02$QxSR7hf}(&2N1S;3%9c@40V#lIs((|^i z&B2YEFICf3)VK(XW}{MW;W(8~s71;4$A@$ru$kQ+C=NE)9#zZ&=H0k6&DWy{qGrs} zy>|F=~gD3#^S@P`UFRe!VWxKLR6&9k4tcQXg~`^yB$bB zLs%apU}|6Owi}q^Q9T@?4t{m2`I&5gC!)&5#eBB64C#hobV}oi%|I)q}uWgUOXR2g}UToB+nwT7?DkHQXup#kcc4 zMR%pqztLN3iy=dlXNjQ}B@$emEaEsz2(&EG@Z#}^;w&W8vqVsv!UR|-N$A9hoU{80 zh*zU+nmxPKt#t@@QM+JCHUY2wGI$5I}Kd7PrNo|v!yYjI0FxH$G8gttUA@{k!WQ^oK1i)>|#U3G_*rS54O za)dE4u4iDp0Dq(%t}=ilZ|juQeDS^i+K_n7?_eb1urdb;@gnZX@|h_j>}*i$f8NND zWoPqEg8VJge_ZGa)Z&IdebW91Gk;6kqRkv3(K1br4Nm&7h${!Of?eQ_lo!)1=>(`=c9Bs8uHS|4Z}7S~FT2 zSD&V$JA-U@8uV{2o-?JVCxewq^U9^8=C^aI!e5lhN#dHixBI;PRiwsUe!Z=)NquVvKb^6QbBF6EadQ!ABGrl_Q)V$N@&6~mWV!=;9)bnOS*MP)JN<|$ zg*?X+Zg!`Va)Pj60sdof{Tx@0XRhWmlDh?A4V97y7wiDz?8T;FX`A6L4j zJ(J&#tG=86t*v6jk2F>4SB4ebPknC6yaBvWFNc-bD26X>ll39bsuLGftBk|t7@!lJ|RY8-M>E~rM!K)w6@x|H|@!5mpgZQ z?<(z_4^|z0dvv+2@A$RJi_P=B&gqYA2)?oi>wu>#C3h0Ht#z!<5WH*tKl8{-eQPCU z`Xo6IPpu#G|LA;*`Wv$~-zpx$|J7V~;E;kjeiPCzc<)EA^OvrRSF4NZy(?y7nsx8!;#++A`-gW;T9q=b7PO zhl2D!bj4!+I{uHx6}+i^`?agd?v>^eaAh``F?V?$pIc9`xayBi=QOY9&q*sx%luCL zxlbpv$_4COJ5?NpT0`MdV!Y$x+OWZP>3eJ3-|ofPx*%=)s^0OecKwGK%YC~ZpDByL zF+rXdF8>^3^}ZMir-BVo+J6!T#JlQj!#d2NVZ)uisy9M`Rx=0(_ z2OcTMPxoC5a$~klTMwMQZ>w9zRa32zm$X;qm1)>`!+CylA7`>E7~bv1E_V?edfL6J z{8a(G?T&$FnA$5UoOmaT6@9qhe?z3?ySlnwcj*kKkJy_0B`~C}{+JbFM_HIA{;DD~ za!tgZ;{D6ptIE&8rq}##rp?|~goke6;NQ%nHmTv>9}-m;m)bvfdoMNrMYY>HW|dF; z`Igi27hrYX!|%(cbk0NbhwJP&v)NvUc&pFX)?od9gPDY5Fx(=i(kaD$n7`w%e*WMU zF}HUQE!SgJ62NvdgqFGkS5!nAAr zl~nuz8y{d35|z7I@9@;bS=?(+7}FpID}lTGLtWJN{^2?=r|d0|ac3QOpw@->jPU2T z_*1-sBhJsMVR)Qd;xldw)o^4B5njKP$Ot?5P+ zIui@=Zn^xiAb7xiR9A|>`SCBkk0H)r6nouB!0H~| z55tR0zVo7w9}PD77R8;!Thy1^09}+rw8P8A3w&S%OI!8*;&Oyf@V}%H+4y$X_*=29 zow@t(*{*K1zskiOTLSPIWvsr&Jm*8VQ*^V8D+4**k;VvcW<5|cg`X_>({0CQCX7X~ zOixsDA0$O}!UqBGyc=U1ukc(JJ6`#%fd4kRINmzNPdE7=Ok;nhCP8WV5D(r_mx4_w zQ~S{OKwat;eE!OQ!R0hYhK}VjQ5ibC{ZRO#8d|QBr7`caeNY@X_af*|X*eTu!uXaO zuBT4MIGr()AG~hG23zzl?}u;codH=!{@kxG)g|Ou5ApFk{P-l<*YSuya!fzGZ8%H* zALRdre3AUR>NsxabPX-0iH;tXZVzyO;)R##=#*PB@JZgvUGjBncTnz8ci{_;tf9%^ z?XkN@qyEE%@>YxAyuWyhoWTsAy@g|UWNiGm#SK4q{mgjr2gzRdu}}0@f9%%%7Q2A= zvg@Ayc(HaOvA^Yqfp)*|dQU!uJ>xh3SxaNANx1o%@yI<4RKjQ&{K-C~?(qHZB}l-m zL(H7qs=f7ZD7)bXc$~f~>f*5wrZca84{$7SKcFSe;Bw09xWD)}a?R@fz5Q+v{cRY& zck||V-4E-Sd6V!mN}D!X6drGI!Z5NAyVm_0S@7Cjx3U5hiR*ZIoYQqT{E<5Y&z(;D z=4yEUcMj?{^LCFZm5I8})va-4?;xerTjFHExVo(=2LeMR^P7(P4s-?yhC%aut%t*1);D@#%b z!*mzn?NEYvIDg`hnj8au%M$KSkzH8M9@LRFOc|dRgqs){$3FGI=0};r3c7B15L)}Q z{ls0$mGz(bhe$s`6aR+&4AVre6zGbgo*BH(Je*Te^&g$F`ur$w1=^cl#pM@4zUkg$ zdM1W{v14^rA?K>_^H={a$NIfDXGiQ3r(HJ^+HZbaUq|f+zkU`rnSfhTQ zew?UqN@B#$G{eP<`3BzWrQD=D2iZG?XY%vBhAK5xZva?8r@s}$;09dshJM<2;*0*_ z7KL$5>z7~Pyx1L;e(U1DyZjzzfq;*rmRJsBD6GCO6mlDQbZtg*{)F=%9$#)heR~Lb z3+zo!=aSproyl9>PRU7(P8;W=BFc@5?&C=?vR7mqg~8pVO(7>H1ePuLE_9s~!x=X+P&U*JnM(`^J(v>1>qW z%|YXAz6O))6af1>ZAHs3d6_o&bj-he^iJJZZ&ku>9w<50&5K~;)UUxwG>?zk_Vkj} zjs|YlX1#o~g}1wm|74!Yy!yn(fdcSl!!|g7vUP4EJPX@j&?TG3`P&J!&#gQy)4a8- z{(wu?O=a(5ew`15bD;cP&TxyJS1Y+e)$E$PCwz+dptD@%CAz5nrr&Exs7dZo;hPTF z_sTeNps1pCcC!8N$M|(SZQc~)!aHO8gX$?|0PPA?KR4S8?ug_4XWp?3r{tlt@c%8X z3~S%K2dz8 z;Hs~Tyv$L(4HcGxu40AU!Y=EY`8M7~vBe*zQcOl4DOFZu_|BZnvhZNziZ7r)F=Q zbn@WJg{6OgUUFltTtVW&zXSSbMqi!0caNDNlNd$LR+Bi;7q|#=ySsU-8u7cruF3l} zNBnw34)VpbQ1XEx`3fou|IR8-PF6>1Y3}bWERy$xzHej6XAnmj5|o#(_6(Cq9ux3J z=pwPYh`w*Pa>V?@r7VD9zpU!;AhJ`Fo0RY5H=l42|BerPQ%4vkA?UZhlZMD3czlK56zmsqW-Dyd<8{hb_Yjd5kyIv55b4-5k0f{EmgA z5-~k7B$<0-4wwg!c7Ii5s+<3yY~05U-ya`1(9bKvEgFD+Dwtme_s-x(6!Vk<|0KP) zHf8@a`(D$-nw~dk%)Ik+zYeZFO(S-}(e@dv(IWii_}R0U^S+mFJY>JPHmH>jRw94g z>Ek!4RD?YW9+y=)cDr?-pLSnFUYSnolqi)H(1#)?|DcCh=`gq7F}L#GI!PKs5=$21 zqbR~7OwOr6)2O1+rfAc6Dl_q)QFG_`5!^XF?RGAG3Yi?Jp*e%o&9mkT8i8BTp}l7r zTzra-{!`x@@ysmmkfx zp<_OTy+W82_v+c)Yjno#5t|&$owH|X&@(jV1oL=tHC{7dhZ(bxoyYcFOy%mR7$J!- zi;bbPy^T43#N6zEBC zFy&2Y8772t85nhbHqBiXxNbYu`7n9#uE1~GDm72}l_0?M=IeGd_WV|>&jp;sI{3Iy zMu|X+A?GA*3(V4VNv+xI*CX;Dcj?}jEwIk0T2AOrbmG2v2Pey6s=%E8b_eW?Elt&?>Dueuxp{DGh!8yZx1^9PgQm=xJ~)JGx8JBv;jY;jjx0O%6HWv zNo2lJoc00AGWnjEW?7KQHBP>lMN5#8?gyQju0W3)?q?G&X7d= z!DtgeD73_3<(z0G($A!MXms0~as@qv@qtiIV`KgNL}gh-Dr0vKta6T}uR9OAMy;C=aU;U_*d9P!1Wm z#e$HeO=5vgS{UVF{NIhu8=(kjT?E~ChFz?L5Sc@xFs#xrEH-p=k-h%Ko=~_nis$Yv z=yE6Xi;arx{a+V}9HR&*UqN`N;g|mMbitpFW>4lUlTEZwEGqcdfULDpU=SuS0k74@ zI=sViX66JA?_j&&wl{i%E76?jQ=W7~K6QU)#`cZ6#*?qAXhHuD9iM`sE2+i9`sMfn z+1X>Dc>R~{;n9j;WZZVrf54SzG}<*}U4&Z!L_2RrNJ^AKlYtZ}Mlp_Av;VWWy;&cr z2iAjf->ullNv}ajac^Cmwk9U6yi{Pg)}0-sgS?iBIX%3SZ==^CUc@QVS)I{1hsVk$ z1j+)Lmtq#!hk*iEMRXHi6Vj#`(Vi1Cc{S;u!P z`*+PEb)enypBUn$Q0@dsD+mV@Bh5s@$5=AO?e-y>oBF3-SfFP*fDr#-Q=y%riR#R*_06QVe+N>Sx2NW?)7pJ9TB2~+NZjAJdm)d3`ShHNpK z5`pCz!4n&tZ)NuoAam*jo(U|Rjc6zK%!aJgNJ&%?fM|n5fW<)B4+Sf9*6+E8&jaM8 zfD#Fm!)wLCgv7^rWi; zen_I&U>ufT{V+|^+++!@21CaO(1x767E$do9!Kl+N2T=+&zondsp!z?C_DCc1|Xb6 z+Mu|aN=KuS!~ol{0&r{DO0+W#T}RLPH^fQ#AtB%(?T=kLIRd z^k^Dw^O*9zPAIMe7T^U=2}jnXqZlHhRW~$~Uzk(q&#I|8Aq4G7B!v$@b=>X3mV?p< zAk-M7WK&J@94m}Kdkn$G5hiQ(Pn6_}vWNOw5^tE8C|8(hQtOFgdKMtpH#-C)PlR zZ{Mb9mZ3pY>NE_)FK#6Z1tHAhl}bT4A!^~S)osl|d!-jzp@D{!TMTAXZ-ST<#z%Ez z+K%x@Cwa9SPXB=3p28!s55{g_*XK3FLxj^pfER$Hp+o{nmc_P9AVjqJJ}y}H?s8*T zSO$LpVYMQ2;ZvApm|hwgAbBFt4q*+Ve?TJ=tbTW^;^jceFpbfBqQ{hF$^?+8)p*L) zoIx-g8-euYQA4bXihY%De7+R=n@%ajFObCQ&=oQ;f<+Y3kqo3@&6U*QnMNy+6P7`L zh}u15sRH*mBZgO|q)Isj)N-T(n1+CWjc92nSC%>dsBWdgs?ItJdO43J;7l%;GR*KK z5F`Kyc}v&*gL8lrue03$&L4qQgiDl>z__vnb^? z9@Xmz9AWL}=7+XBeISLxFb@M#Q79)PrW)&^faN7vOjUE5x=YC6=;|WS zYKlXqFv2|uaGYRrruN2Z0U0YD7OEQ*)AoSFkDkYg?<(hLLKuR=eR zDh|RG0cKrJ9M;T+ju zRPkg}>a%@862i2R8Cz^7kfXWE6RgDuOU%g3XJZpsmN!PeT$xd0Wrvi;EqN3$0CU#K z6b1;drZ-zL+iOkn7>lGBdd6X_2f%U=f+8WmnDZSBH$s!TG0^1zh+IP|&mdIbMwLf9 zuCvIbsG>mjO*qLU+M0|MvqGbDfJCGoLKUGoiiR2YwQ3HNu#m(g#cSh&mH~4!MMg;a zxQ()4goacF9Z+eBINyhRDmuDVZ%N{r?YCz%XV}ED;u|G@L@lF*FGF2x+38 z0yOIr!haITRnXFK8`?+#A~MLM8YhK_GprJS0Ep8xORy(xcWg~vhPa4nLezi>y&R7k zK+@Pqu?-1x9OJ<-#+heYWnm|ihM<@v8F+{J`iyuW zB-oIZB2z=a2p|yUc9{YIf>939I5Nyj+i|!BVZ(-IrOsH56T;S##}J^^&PR-ZEC2t* z@;9<9TQrW;AmkbzKKifWm?jb036Ky=fErx{a{57{LAaR@wv<>H>?BIK3E3p(I%B1B5JzhyrSrBTyyDnkOkk@^pDfE+IkJ z?eCOOaFCLCU>J=HPdtuNXF{CGBP9^jnj>DZgfJv;d*L0Ce`~BW+@LuObHiw`3QaA{ zO1Tg~N=KSIYp7r%?O-K}yG;e;A0vm|*vPUe)_P3?)Xt2=6C_6oBoxaC<}9D#IiCj@ zvI3!zkk66cIGxoo&DW5Qy`Z;ssUZ_Weq;0kA(DuD8Dbc7R5HFXqa&j?)}ozCU%&s9ExZFL1J!0UX(|wF#|{zgkZh$qFe?D%OnwYF#t8pATTmZ>VbyG zFsu$h=rkIm#5g!3Wr6hZ0PRl=|Vq`vNF(~I*r9ZCWsV3 z+XYlhr-TALf{NhX)h^JNE>J`Tfr=SC1tEcuL?VTxGMt22K=cuk{F#i=%}F%=47aLDzqbd@ATc%uV;F0iLnK51(wl_^xP9N$+13hv@)zsm|~U) zA*_c>g3*qMkQ5S?ush_G%rAkpEq9WV(*I2mQ<*pL2u19YF)Tp0FQlCUB6S~=VYgcu z8!*}ulR!fQfNSJrjZFZ`K{0iE2v1(2UM>g}c)8KlNWu0ea_&t>Z>X5$shdXa|G!_( z-KtX2;H&Dj8QO~c%OLDn%;HEnRN9XEKi3eoPsgu60*+t%M@divxK{F{%TMii)gNRwy(c5hVv1OoU!!mF+RYie5ud zP~IoEjAP(+Ad_rAYd##7eD`fbMOVAy*#T$9pDDwjH)9L0R|XM1cX^K>6d@^_8`~r* zhvNOhg_eUg_uY5>lV1BMhMnu0_r_;zGB4L0EH5g?ost-&7(+3rs76bacXY}lWtw7% zuu9|ez~n7e-;oQ5@poz8p;SVv`V(Ey{VT%o+(Q@~O0AP*$8wsFC`fS`v(huTpOMd# z%+*p*$PE<nvtnA{ zyv$;}15ss`!m8REqJ-rb7P>fj#_7`MDL??dMvllODM_{q%&=OYm`p&8+$ErUDut+# z&jQH3vq{`aK%67CI_V{3JFt~7>l{;@DOy0yr-ji}6a=Cw36&Cbd8C0-AT;MgY694% zF|C}poj)h=K+c1IZm*lj2Ru_a>fyDNbC`t`%O9DPl8H07u;h~lZt@p|{q4!i&TK!If__fjy48j~^t$a)f zXsb*gacUSvM~q}=?*bATz#z;77ULzxDgiVo;Ko8II4T^5r~~Ok61+LuI0Wmjh>UtH zWC9^!m`H@433R>ElD-vO(4<{dmU#CbydYPn4Yzwy3fqj3h@2FS$r_LijuI$nkZiy$`RhK+8Lq<3oR_fHdSu<9XbgN2`*WYk39J_xqIm3zJ?|ETA1cxLa({&{Assae%=6wJxK&y41|IR!#NBI2M~&K zC=(JQ9L$A#MRlzI7(u@oyK8tNB-wwhr(3U?A7~n!gsE#WfgBbSGvlCqEGdUYYG00=m-vmr^eTrRN0 zJG8-j1NWKObn)hUR4}|Rr&oj$4F^Nmtvr|TAjLtV!Y}tt@$5$p#zCM*@so5+(SJ`( zy&-lo?z_T_J8@F)j(DfMSTr3O?+d^jc?fYB%V6BDyi9833rDXP+&0-;i9}}(Nz3B| zlC;En*Gw|;2lM)4;ynAJ_qDXFb*JZR+9E(;NO+q?6)Y`1;43?Ve1FN z=aeT`pQc~RPzd(o)={9_kZWT|N-A_G+};%mihjL?-|D+)XnNIRJnsT9M_ihMkmgNN zK&P#SJFqf)OT?T~v15CZB9KnEuRm|j)+BCMJ;vet8eg!+A-FU_Ea@ZEGkCoq!fh9} zvI9=YwFMER)K5H;LgRP`UaW;yDoH6xL*M?)9HM0up#_;CiOidTu?8weCbpcxAY)P} zk4BOLoK0Z<`eq`LZwzQPC0QcBj`3bQfCOU`0?Q*DQm~|Ihr;B-6t(~a@RDS4gpQ#D zDo7~`>HZA$cey5^X`Tkd-Vef;tMozpA}SoxTM$49Mh4DofQVwPL}&-xq8IH&+y6dTEi?kTf`+D;)xPy%kg#H@|K1n2A z43;FEB_v)Ynq8a#c4=rTXC9WseJd5-LJNdz`~S98Osq$ zrCaEIzZkj(p3Df698TST|A>wa0MQJX4FLcnK;#dj`}e$=?RQc@OwTUZ2?e|oe)75O z0)tpWW6paMBzRnTv%$>RPIlUn&312-xU$|i+*(VLH4K=3Mly`_qN-P5M-PNlt< zt-D*cN!PTjJCX%!AQ)i+qyh*80Rvj)psGMYR$v7qfQ|Nr_+tPR@c=>yN{=8#!Ug-~ z_UoQr+5v$5NxP>$_g>*9?zuPJzjdqY8DG`n-`9(r+uc}VU}%)y-tITLew(-3czzv{ zxFX&e_y6wh!5dYsbk6XiLwjNO^}viO_>H~a)R}G}-gId-iO0Ra6(1I73WnmIeKyh` zMncy*R4C`|dLF^8V%P&s}>5zRFMcKpXh%&0p|&G?G?Xg9IHqy zs`6aqlPSwsH!9l1d+vCLiG)|2_l-x|^=P_#*KWKwUf3PL=QG^0w&<&8%eWe^5zM$X zjYAD#qLO>!9vkyMzu#;z?-pOs`+-z(c728F0Hg3aUtI9qe{Ec*TA^@CX=)!bUK5F(=$HTlmpD-Fa&=Cs7W4K z>RygFU=@A{ZHwGO6kGd|SQ*@rTN558I)oFC?oJNiTy3E#!{mg7fUv%Hwh&AAfcJeL zGFw?k>myKfC}T~+qDPlbhCEmjDaU6NZZ=G|Z+rVZ-$_vli$=&W@L{5X!}{|s{B8&* zks`oEIs%-eE5J#1BcxpdoMk`Hza#9!IKTKNw_uE3e23LIs!BM#u;ug3I|?XY@JJvq zKvKe2Dx}C9$2=Zrh*RG+Pe@|Qe{yTaBt#c^!f?XR$4KAY3|;BByoGYp44tZPhUBdf zk3%_L$o4$%dM7KX9ey}HKV-aqbq@kHGYkcNq_O=YjIb#~fZ8*XMv z^1qVADdmYo^pnXCCFAkmqpmZ#nz&{dv+N;TfcVAZS=cM-+HX) zV?>Vi`K7~KXPXz@ox|*tin3ABf!#3q=40W-&Ax7N@gBk^c;WZ4{G-5Ef)UH!yzuT2 zGF@;B6YAe@Zy1VK+;uq<%C*El&RrgEbemJr2`Dy7#YZ>kh6YJEd*FqvrE21S9}`@> zuGjEumK7v619xK;ei)5Ju5UD1tZW*PFKgW!HYTpgSQw8$gZoUUR`JS7#!u0qcIGA6 zPFiIx^94LHZ2pkx{bXYRVn&E-JV)~deaD^+(To}aetiw%FRnlwKsMLJL9hFg?mUsv zl@B(Q)sN2D*_eyA@LyQVoPRSf9T9MVzo2q|#_ttRCJ(Orst?%%{p!dKgl#;J@*%RM z;wLJviwwuL^O3~PhgRRPF>S$pegr0!)yQ|fD^F)G%IMB(n91?(g>c~Du5d@=aO4xM z@4L<91o2cnFJS}---Xudr2b;Lf_70vhhM|@sSW!NYy)@w3&X*akH!HFf*~t-@)J7- zo%-ZjS=4~`kp=ytaxU$(iLg*~z~y<}vm;XXYm8p#E#HwE&8>~Tz2JLKRf^Uq>};H% z@@f0ltpU|dt4xKOo<3UMlptV+%R&m}Y5qWNcf18di+FI~6UN38U6(gq@t*#^_RdSQ zMw)f4yKiLsZFJGIk-LE2%?IQ3HPZJfI~>=O&%f?`-!&PRyWRe_ifibtJ$Z5GE;f2g zeO7V=l~bfUz(zwK<-|)X3*R5LAs@T_efJu7+|2&-Z+=jMpQ9`ylxd){YD_-unddPb zj_eOJ`3q1ipFBy(?`ZKH9H_T!*xmbo)t1NXyQ>Pebw&0`M#OArQFHxlq{!sg@Trr) z)oCU;sQjR3<@MLSI{9RATu!=?o{2Iv(Xx+6H&%zP zv4wtj%er|<=Z(_E+_xFjx7S^%w$M97M|JjKYE|{iwX0uAMUQ9qJRD;p_8FdpnN&|d zeH1B0!&m4%_sXBQ^+jYK_cvMOs{ZuH=U8Hp7kx=8L%^4G7ODKwUhh@aDwsuyu9>0rjLJ1)(}4;%ROR7HYh_7d zm`x|NI!gMCihR4}M%niDbP(MLkS^v{)OwEU>dFMnEH2v2yh-2hlpUy@DT5Ogm#@0# z&N?B{YzbgB%Q{>#smh{)d6-f9j%5}55x=v(3Rg;>x8}9`%yqt3wX2bJi4XHOB>#5V zjtTz!q5JSBc_$y9WrfvG&`q}n@hX1eGwF$YVd*YM9wi6DkNXA-Ytc*By|KFIiWRZU(Rz?+i`RKdXLzhSi)DQ(qX}nSv-+H#-D7&k z?M!(`-4teLPrL9Cl193#{vYyO{dS-DKW|8rO|a+lQK}bAraEy3CoPswWZ4`H>Q6&J zJm~UgoSsErFC!tE`J|(3ZBW0`DqI@x-V3BaxgyWDf3khT^Rsmn{VemEk7M@q;mXLh zah)ojKp$1P*=3Zb9R9HOIaYmJ)2gq>xT~cv?K{|aKMX`^OiD!;01BCRvrf(x$p-jc zRgr&sRZV4AlqU-EeIT*38PZy<=gR`tNxI_VC)Io*t-6<67|RM5n=3=3vsxGta~Nnv zIIf7EYy4v`1Vh)vtqx{^J`Z0^qSTlIIJ{B7Nd$9(&RM=z$!`Yw0JSTg^&d8gvB06p zy9t?LkTz)637zH)5Vy@K<#!G2XczIgSa)CzAD(Pvn5n7xL#xo#aL!HY0Ed@ALN_1F z1#Lhe3D@~7MhNy~K4_SzyPPQsSGf-0srMld%-cz-SR7x8?tP>>WDPz>Yi$p;_EP`x zw$*BVgX^GQOP+wW2_WQNO7&c&m~@!3RKin%Uh-=ynU&4x(i)r#)pRsO;nLt$;FPEt zec4uKU5#ds63jX8JWwio@=7j!Py1NqUGd~%)W%Ymu;J@zfQM|ur%#v=K5#R%IJ1YC z5&D@bCFhw*-Hh{0vz)66&!@JvW!eF377V$zrxof^d;D{Yr5%kocjE2yxgGLye(x6zgA zFaa8~S9@q5G;Wf;Za7)wOs#n!Ud=h%xaOSoh)R|iStXwRd_6v_QYUdI3PHjbmldn} z;bV`qPL5L!vtL`zH2KXDuSieHX+4L})8@O`e%<9PeEj}@-@8Fr+d^Oy9r?a6S(pk@ z3(qqOmV1J^{zKT?Gm+Befmmx1MuB-Qt$hr|8CV~p{(JI(cQ$(glqs{&H z=)3bu6PJLjA^mCz_AvWnqRVj66~*e=d@gLT^+`Ub?LKa=70)jVYC&pXuDeb2%nZQ3q+!XO7kXQ|fG$oYFV938sk9)+#&q#+U>)(Rh(M2zmrS!g=o-#N58$TbV=k`Z+nI+IT zk2UFP5MIH4OnjSV;1;YKcnteroj;R)_e1h1f9|AVGiLHsx$8sJEw*XE``wns=~tfg zI7Xj0Cc|I;FZPI2B&0`j-k%}FNok}2>$h&QXVmdR)k&+O%tUPWpRjQAbdKn+<;weo zwPO>Y!aM1R{Q6^uOGCWq25p!jixDg+(*H-hs_oUeHU;Z99oH{j^@TTG^~1`f<_9jy z?yOdX3|I_^1-TephR>^vx!U^oKi7QwlIHFG=g60`D)24O8bMj$q?Xqc@BVU+1nfye zWQ{)7f4fF*-jdAmZc@W5z@oZo1wRjg$*zOIA6W?7Jj zZd9D};d625k4lpaa|t=2W<2O3qoB`5;~29FZf@x)KVl!_UW3vS|NOX9p~qqG=+oPt zY5~DhS`&5pBsEiW6MogwV=0Tc5rk#-=*pw){WSm6mp@Mm1L7v`r;`NXl9knoQ=ZeC z=-IG~EI8JhHAh+fj$3~0zhZv=2>`n7;QblAtH_-(X}_8S21K8VHu>JgNx^!k17))M za>jHM@Il&hv8em$;WSppPgwbhuG6{BXUkm~nXS?ak2bl@E(y0Hu}==ssx2g4M6v5-}?V1;2`SPJsoAZhy6sWnXtb|19zQ z)!McvT2~W|8qtjT@SN4kb3`9#VbHzUU~0i1CJI$WrxjMl9<2LHs=*)_s+Seiv5AgR ztEEHo$#5eX%kI&tbnxTbbGKf{)i5fAtk>NnFa2h^qii?N^u*TQ-gMP>#OXv6<~|)@ zQh&2XRR{-|m1vZp6S_?!IeuQ_e+!vjA=?C9UDanaIVQV?CVFKte2o#~B^e@m@k8Z8W%9-8Ru92@PVp~kp74%;!FE(}4EReFvEU%1otZ;bbyD9ZPA!Y7HO8;hYzHy%uKE*zk?3rwW)=m<3v_(G+L>hHp`r{wzf(5EWIp$+j#># zTQaLYTGGB)&_|ovh-q2hA{L7HTW+DpPioEMB5>$?8WgEJ9YWPexdJswWFl%2N-wDaU zcH)D4SN5lKo3V3!{=bYk`?@{dwH2bvFLDOmq}gk84~3dG35+ z*vFaP&U|akvNqyC>r1J>$ zP0GAeIb|a{!CbZR&n<@r+e~yp*G9zwp0`?&CjK*>J@@!1Ef8Is=zUnf#Vpb#($sU6 z484;?U%6pI+@U$EGOjVuW(>ZNH_vf(^^|^DUQ1(XqCabN>4-G+VTY3;m@ehg^l$y7 zzU`N_j9UxQIF(QIlU_ZR1&-&$VR^K*G3%@nPet<&>tn(iJ9SLDqnt z&K$JVmrmU|@)MoM40v?)b^Y4EuC-fHr~WN@Uenb*eG3rDoC$M_euLMR)^R%M)BT%v z3>z06!l#>s(c+wJ{84{2m8GdL(F>}k9tpT9^hbX=!%C@4AWXhYR?57TMiz8W<*uwg zOiUENZd`_sE=Nv!Lg?dfkx5$DlYAXxh~%{5`k+U@?M>B)LYwI1cRhi~afV1e`MYt3 z$nfXk`9{t>5qA3M|6_j_{Y*@<1QTtaqv*k>6OE?u`{=D1lF<;QzMT<~vfs9NkpKV! zf(`+MiA1JI;r^2#5RP$Shra%DS>~F3P0M!qS8f(p)B3WteL`pW)R2lt z0Ss%Ya}Y?d(j=LFQaO8cQ3V*PS%9H!OE25`AG%xFSTW~IW(GtRAt;u}#)Cl)fd2%_ zr?gfEPbk|LGraA{f;tivCdxoE*h!Ft8E}aM#>fx=3y_3(p;+&2V~G4uKQ0AnTD0{o zZyKc|OdO@3Yr>ol6bOWsImVumaeVecDQjr})Qs3<$@CS}zn~TFHMzDp=ZM z0ZvJ8M)3;xz;jFwh*UC|MggTK*rS?bs-;cM_wWouQ2ZES-t!7{0^tErwifsp1UqRD z*4r?}@0W{k-7|q|qFc=ZJX_z@XveMsM7G)=gq>z67NtNu(ZVvL1Do5Bb#y^*cvwLc zf-BJ7bUb-uaE2h5=xK8m`hp|?CDpd7I4I|73&rjP=>b}$T}xy@nu0*0GtFu|l<)wy zUeENAAPzL`*JO+!<3N+N7iX;HC%_<@=%I2vjCN7YHji708Yu>LpyoWCv<%V#bQF8_ znsvD-mk4~Q(J~VWKu1-YOAAu41m^-N>oX%`qW4@3MLdH&(ML)rtqhJD1Og~2HmWrc z`2-w-2-58)8cCtCJc0Iop{3$jb!)N0|k|->>@#Umf2-QUV zm;q?pt$rC6YNe~dgYXYx{*hDW6E+3V&_MHn**8a|lMsbZDM>zxk-~Vr{9P}Md9cq; zyFbcf&%o-(SB5{#vdhqDeFhV$5)dHwK*x-45=uM5UPoy!Y!%b|OUupO+c$PuuhZ7q zYy=R>P^V}HLB?08v0o>wG__VC2QCjzG9KA#X|jc$yH?%NG$Aar+84a>%u)7Ww~5 z@}+>4ZjX`$oMo^Dgpx@e#xRRO%Jq>~N@6P9dvhRNO|7>YbBhfC9A$8?eZe#qItFFG zQ+F5y?*L>m+Tk$P!g?#w{tQ^?x>J9>%JODRhZN5&*_+}RsMMJd@jO(Gv=Rp+JPps0 z^jS%^NOMhMyV*hnAS;7A%o57>Le!8Omv!wq*rOwg>PPwG3foFKCW!<%3N9h z?jK*>>h51LZ?b;!(}ooqLaULp4zd6U<9UFJPk3RPOzu}f-zBmZfUFFNVGv+bCdcv* zh^db);SuvN<%b-*HEm5VNV;9gzF%pw{qpGv4+fyZ)HE)qJ`0``?`WF9Lq%v1GH(f( zH=Y5w!_F6t-3H7xgET+bd*AJp`d5qM?-4uRm?Wmsi@mu{}S-L53$R@h=x7k>?2#-?D z3}&_j;H+bI&uIyM4$yo|J3b|~MgwFGGIr-JKeGm(b~Y`3x2fA@I?HmPsO$nwDL5M7 z0Ii0#M1laalYm5++B4z&sS-NBmr0p&qzl021R8*H2s#0|l9Ou`=08j%^}d!K@KPF< zW5ZIs4Q%{AF$i)g!q1KxAcN;>=GyguhzTM9)0EU6*UKTkmH-9FfacWQHKHV_6vZQ8 zH=|~Fu&GZ3hv%#gdjk0)iT~q(9Bse{PTR$}~9?%1P)o{>RQBJCSZwCejhmD!Gkkt1Kvg(3oR+g~DkuG*TeI+m1mI5Qy}c zp|p&lF`gkVl4wCR$VUdyvD`w?z9bbe1q77uwCR3%q+Db%$nu3!wXE;v1|k~WK~57C zW)VOQ28TBZWqX9K6disXFKcW2QX%3C-!KN^fls7M1e7p9g5We{9s`2dCtT>Bvds7kfJ{nM;jjqPo(*YE>womiRb zDudSm5tKQ?~r4(M82&o~L|FYf(Yf3nXkWh;z6l67JV3?~g zpVGoVsZ$%QvV@#rp2DPtc+NPy6A_@@|D^>#m)|dtm#2POZ3)>cRYWk1Ks3+dav1PF zvAzSGRS-ZV&qiu8t}cOxiJ!SATH<5NYwv68C@XwSApowTN~CjI1!X(@)YugNUE=wW zVGE(#qg>ly^@KfQc5S9em z)%heLN+!C@oPZ?2SpJC9P6Z`NfP?3Le+6h!irhMjz8{omvPgY|_Sph1AW%eYD{!z}+jg&A< z$Q3D8Wv~qY8&&r#r+)+W?0<&r*j$bUp4F{DO#qK*_RtxCquA0YXc+s>@Ig|p!qk1w zBR9T;l;@L8%d_KCmG`+(>EHP)ZZ(v_E?@N+voz6@Gi*y82ZmyGuTPh z#G;fsLY+R`xERa2DOY&bM3%1A?gUx_s|_*AIM?xw-6D*-hLWM@>nevzwPHh>5QoI4tDXg~l+$+sA?6ckMCwP%* z_hHl*PrltI>7CQ50^UjiX!f-FA}^GHCk!5AA`%3|3oKi;7f#EQJ_N+HHY1Lu^qy!_Z^ct#C zaMmZxpkU_N2rQ4ceYf9q8sS72O7=vibSQ`-olw_O4PO%6mSF5hNfIsCg)wA53*2Mq@Bvkes)D{se0TlMyZ>m;OR;&d;GLHHc%q0mF zGAPrnFA-s8;n3D83KN}UR^a)92fO|QSAeKfY8c}wbO-cc&hrJvivh^QgzHP%35M6n zRC!)f=mwa)qC!QX*X;<;J0>B|TdSz0Fl9IdwOUG!#WYKl_6H2ZM1m>s=yUD%6V6)h zs`51X8q?glN;HL2FTR)^KXLB^MdU^JUSQ?-^2|Asf4md1+)9I`iU zqqJc@0<3Z{tZ>jtwMc6maec?k_DV;h@ zsF2AL=`v^{T?b911G-7Ua7moT5{=L&=2i?y84|=BVJqYl-D{D>ur*3vNoG7TmP23Np>~k_KTadK5n2WU;sE7;0TDA zFBL(E@`w2c@gUOg51N5??Mt8O()M(&uBW!DXxjE|`pKU4m3uYnDuq49ex9qS*AhwK z#*K}bO){-$k%APzNY#X{+oVNWmOnYRkq|sx;EIKCUQ`z>q&*5M@P~1 zbX|LPJF1Ou*P?GL(CtMkdd2FZY^gHURYBL=>Dso|)nC1=w)k$9_Ahm=TXggWU7~wU zRJM}xI{;NU1;efQwNLE3cQ+1V?6+<>KdTJudNwhw6>4<8x@WgHfvZQ=rn_sZ)AcvD zr4D{gc)cN;7>UqB``@!iY~HOzrjYQhU^~6Tw(8wf_14$y)i3L%A2s*Z6eXo@(65s) z@eh?pA2_7zg3Gg4JtK#@#lhF6VxgEkrJz}5*4oup55*}TQ zpQ^{E>Cv=LQPidC)0(vk@9!_=r~;(ym$gix$|vB7AgJXzG6I@II!OAe9jR;nG=k%| zA1swkS@OWV6PHI~i*{58+5jdQiWn=f5|ww=8N9mwR^XNl@y3f*xpv)P?MzE#fEScf zPW3Iu*8yPCqZ?ow!I+>C?2g~-#8ak+4B6t7Xp**HO@AOY!uRboXE?fv8ZvtEOI6q_ z|Mh73+0v+KYjX7KK`$yCS_0Y!(6Hky-JIKTS?m-Pa<;mpU|A;f02si@7G`o6%v93$ z>p&AwFepk3KS1MP6k;@LJrdxYBf4fA32}6zys>V0)%%HF<=y}N5?F_89hf;f>6-6Y zzP{*6np?1NcL?+qtF#(N2%X2gqZ-bF zCQeIe8{eL(LHSL-cElrB@vLHJvGMP?CrOx;io+)jIpt;L+CRpGD)(?8 z5(dhi%)^m&a6uiwgZayN#>SPGUyR8DUS&F7w$yC-FnD+bOydYOlfM0p+J5Oe^)n|O z%H(N*j-SZGT%`w-#%N$x>j>H4dVP1KQLQIPd`P-Q+K#+(V3vFGCB~Ma4P#7VFXcIO z@FL$8^6oeC;v01M;Q`v&bbMX!C*C4`*X&tL466E#Wg9&#N~E$>ijn+Ryq0lO(x4uZeM>jDi#9RyaX{jZP{WpS!{Re;SPbfB!0yaAaFN%kdKon=F5`wpX56qSjN2B=>L$|R zIuN(6Ckmb{?TI>RlnAYwx?fY)eRM=6_f4Z>faF=~R$HdpzOvcXt44gH(w=GRYGTo} z)HHqC#4isMpe3!WcyHAMPdjIT|G%YusxG6FYTdE)OFC(*YT~-}JxwGv{Y--v(?OCB zOVdkHX8$}&-FIz8>(k1ye!RASm=}p;TGT2z)2__`ZkseM@Kbn3i@V^S%ajd z;G#+5JYyVK+i0n%g75yv$sxeTcryB!%i zU>n-1?dGZJRQ07?n&#&q&+e)^mz@$%TDJ0?s_Cv})1ueZ|5rCJS51^xYYEw%?W*Yq zU6rGs2EnoI<9UnjeCok;Q3us8Fn?Y(?oCi&$p0_%*5zv#?N%|gnmfAugYNF2*+u&q zDoVyLbg6w!#JtJa5rvOG=%VzuBbOO5uZ~MY%~sE!)s)l8ag-w6UHV+(`Z}FG!hX$7 z#}u!l@-@pnr||_=ojJgm+jR=sT7r*!ASZJeAtxj2_C}~5# z2f54pd+)nMHAvTL-Qm0)HvIMBvFU7f$^+K%`tb_G@c>j}I?vH#m}7DYyI`?4x5tmE_g2X7ymV#zD)J>u94^30TRu=9^5qb zZRzOG1O#AIYwdTjwgF<&JGb&e`U7b%*7#Hp@w=$#(5BIOe{KJO`&r}@#b1-F`d0T4 z{Ey%&l?Q5j#j*a{6*u(Yl2j|mSd+kRg4}%cQ;{WO$_3;TmOYtvHpw?I=-HPkNe^Ko}Kxdzb>ZPm6_ zr><4lb?sbr)?8Dy&(dSmJK9{Mw??;aTS=8})7B)?7ESr1bVdBz>{ef!g2}t;Yr|%7 z9Ii*)XeJRcXEr?|ygH>1+n0ZGe0D?`>Qq zG#*+zrI(`KD!yQ|x2x=6OISJMPCk%_x-rCEECa@NtEPQzNG^)UQnRexWlb*UpP7EW z!R{YJMahbD<-M2746x6q_5KnVQPzJ+3MFy2LW#F3u5`P6T4d&$A{O6Q$vzpXCy8a0Y)O- zJgfW*=dpfb_n26*&XKOG0?Br0uFVg{7tn#AJkeC%;_}%Lp6mzinsBw5={cHYAM6;JndJri~J#+&xFymb_( zBn;#;;n=@Io`I@|3Au2~(7@bq#^nUKj~{fFb1xo8!@{;Gc* zahFd3BZbV!pIkR0lse8oFJDnZT2=j;&!6W(K!CqtfXH!a{TmH2slzhwr_TgTzKq2m zhF)G=4>3Zf*{UPU&VWMGqu%S2b;$WOqx|^J34DnjdXazS zJ7(ZXS%ZasNV!p&_n`O3UFc1@{1s;qv$reAIec$*qHW`FLfszgp>yY9u}P<`{=$W` z-k8Voe;14BFnxc{1u$p5Y<0J@JNeFvp`);gJN`rLAN<`v_$xoQt*cFU0r6^1TTJ&alUGzkA^4t=dL!hY2I34=Mqb)uZ$ z^1bV0;B71zpzb`53!Qh13$yETqdHf`#K z_irgt*RH{P0Ezx<;wO#)Pat`%^~eu)F?mW~Cq9qt-PK*OSvIdh%b}t~)!0q`&K9(} zfL%rTLD|}_@Fxz5$x+F%Y+^t5w*ihhL=ATOQABCWIQV3S^74(Dp43V}v?uV)%`17HvF*?Q`4|c=Z;-sF!R?0AnwwL2wm-jnvSL#zZ%+h&Amc72L zaEaJny4Aib-SN!_T)f}uewnj)fj>Phur2ZjlmuSu;fJ`HIp9oRme! zXD&ayQ+%=W>z?=C_YCPpoBAusirTM%4=DJlcuR3-}dzq+Rcq% z->}zDTiCkG_kZR|(tA&w9ISw1QCD5E|E!(cBu~1w7x2i&bANlc_vxUgMY&hKZPfU+ z+ywUa!-L~N~|JGJ+ z_3_^G_f0+OT=l|5nxsiDO2PWu4zs;JKhss5NyS|&W4(#Z<)?D#P(Bi52joww>aBRLZ?Bb{y zHSA#CHu_)F=H0>V^3tELmF|!C?pk9dLeAvg_aFZRdUIQ7*ESDIQ&g zO>H9FV2t@~ig+mK793wEE?hUGjvhnfUzb)@RkfjAA061msa7k@`}N)r;#a}G8DT_x z?ID{R`+ChEZ0w(fZj|OasX50x!CO5#EI9}p4X^?#YynUId+&OhcHQsYPo?9o>r7F) zmeCoEL}miK_U{Z57<_!qF93TGNzPWrMunIaoPM~17Y$B)zP9S7js9NPQTY$A>UB|( zb89}Zy;!h0_rL(WL*$2K6E^*QVb}7#4XB=YFmNsKWJu@U5i0a(B<4;e+yvv~hl9zoTAGP{HBaecG>@(<|Vhgj}LaGyV2`|u#va# z>gc}zb36qwe3w&C6J1Wo@T0vCZfx-8{+}PvDbw4%)We-Q!SzSnN_|&Q7OpMgaFoCE z#}d5(D@@@d@iJn3YXiBljvp$+=)PE~DQaRV>u5PE{h%k~ZK$r(g~vO7y9~Eak?m4C z0&-$kKjVfSWM1%m0e!XTtqQ_s?u&IN)Y!-Gm0=`#bw?g`Z#*iWKKeihr|;(M`58d2 z{BzUr+t52Lu3qu>HY?Y4F2`C-=KYG_ekcq(pP#PjqK@1rPRaD!vh`+-|t)rxe} zB@&x`!&wZ|ZmAZL%_?4HKu;csWlfQ4kf2SMP@D4rCvwX4r zuF$=seoBe-W=E_3dOxC9EW@~$Pwjmdq}az#j$wG@8gRR89hH_QuO_8g_VlBIdede- zrlZEubmAr5Cp9NYJoT!HMAr4_)U-XiB~8_^bZYAUjwVr?X;1m6s%>rQHkG5NNr|Ve z)u=RT%DVA;k0@csrjx#=7BjdHqou8X;YF|M5-AS(`HqfHHaJCJ>fKwHQAxZ{n|ND# z@XYvTQTx?tr$qG8Te>9i$FGuM*z!>ZMc^)jl>goOM?LblBq6+zm&T<}&Ah3rQ;ogI zk0z&2sfkI|q!Z%w+LFXl)6=VZ@Ar~U-Mffiex?jNxRh@c?b&1SM))`l^=8sCCVq;y znx2;Pqv?N=zN3bNgWIo87Nye9~4FmYScb2f@rpd#=;ZfjRQGxHjoZKa8 zMsafd{H=89Fdmu+d)o6wwiG9wn7U74pO)Vr2#Gs>a|{+AQt!yoT6#ZR#Mky(;@=MG zdXqCe05c-Pk`azysm`HWyj>=(b6HBkj$#$pzxK z=APo$U+CnHp?p#|6TkdK)OYgLs@-vq-WDBhKmrkJw}HFud;>%1)+u({BxB8xP@Wn? zY>CJB^Rv3beJ}c!A*`>QVaNVPdbX9kOrG6#>iKM!$)4-|)3xlJx@)mZpUK0H%`fZ) zd%GTn!yX;KTZRI$t~yq>95U=d;;jFN?3%}Aj;G|`B|*^Z%|4*2o?tTmX4~%ff&#*M<5^f(`rXDLhkzUvF%_0Jf=bJt9i_I^p zxqN`Ij}IMB#j>aS;za&jGhqb!jh{p>emw1nZk2-NY))QiC*lSlWjmy{gG`_iV@E|u zXNRh)@lPF9MCxl?>^Kao8W$|)$;yq(7Du9H<5I;>T!svsC9E{)Kgw$H=!F} zC}xojh;8@YVXrF5q>;MnkKAvhMf&J18=E^~&??s$X0e1;Yit?nTOTh$@T{O0-PN`T zh=|<+=guCdvt3ef=UM7JvvOn?#5c0P@(=AHhAxsca7;@8j2?EaBw~yp7 ze22okcjyjtZ|b$L8@U8dxcm9#yRHZSn$;BEe_Mg_<5~}4gXspAJn193W0x9~XPJe=PW9%No;vB2amcp;e+n9O)n5)VlZ z#g=34YSQEJvp`0jI&T25ZE0t5Stl;s2Z?XGc&Nv(HFHyxSDGX#CC-&B8tKj!7j}+8 zk#C$E^&DhcFU&ZhCvZqN;NXeOJ4%2&N}l2XL}1#Ws+@q^1xD^%J=KlqUSSWqhoL8M znKR}v9`He)27c!)H+t%w#u1DP0pm?z@fxsp_7cG`b>V?M=6Hkse#tsJ($N+tQVnip z+j)3%u3n9`VULW%X)Y`Y=M8smXq6Lqq??d{OlF;=Q;fLbiGHY zvTW&PQJ7=zmARh>4P9YT*R%9H&0HgHG}q>zZvGn;_#t2JtB%&BRMfR_exVNE%4cq?iH7Rz$QY8 zPgrKhFR&ihSS0moFUJ@bOmkhSx-!Xjn*WK~ja}^c+Yz)VBNy(|af|;06*J(x!umOW zqO+F*%6bz#m$MEAFijipp!wK%yAJ-6uj9XNLq2X5;JvD*qq| zXK&>u8Va17{>4FaP`D^hQ^u!&9y>JaLwNh_7^A^ll9Lwz%L28m=yGpyI)hvTWTp-r zBpvl{L>4H|3Df@`hAcVC3{ttw%r$=i^Z4C#3ykX(B{|{jE3Upcp*DdAh#xRBbd!HB z759GH6KWe-UE|H>K1lNdyzV-s=Ls1U$HgaKTuGI0F(2GVe>@1AUe4~~nC;q0z*CUC z?R#2vW!;x1B=c8Z{=Zc82$=mlHCGWO>1m zsZGW3H{`Jqp_um>&}H(V<^D-#05V#nWcZwsB+n?YPfnrT5Et@1Va%I;_*p5N5vaxo zgwo#_+3WfJPd4d|^NWL<9=gcHs%muJ3p>il!5dm^^EccdDbkc`fVN@rm$g}34i@$$j} zz#1ulhcH;!pmrIlAxd!+Ifqaye9ZfHGmfdOd*Qq|h`W?&kfCX?26#D9WM^uChYWC( z=A;5?fK`ePO9&2euvrF#JafI>k_=$At#hSPvYZ0|ky%xSS4bEP7iV#s6Ac;^SQvp& zNJ!VnZX9QM#%mG9m~%?omI@5T#03r+iiw;OInM+_W)$Tv3B)7{DTI{~Bp?Ffh{&9w zeO@@kUBYK@>q`a<9t?nig28ZqwB5bwfB}NR!LWkS6fluRvbJXiHJD~4N^rvP2y!7d zM}yM1sr%)@r_2OxnKMe~fDB_Cl2K)mtr$jexfL+r1VfQw0Yideubd_%VbZe?=b0J{ zp>;W8VO0Pi0>TsAkvUq0Cxh7w=f#|{OFl{^$WYN(;|b&e3Ar4N8bI;bq*#UoHH?bD z3m9Y!dF6sEgJ^S#!#u)6bxc4b5zy3 zm{G{^jpcjDxC~Up?8d|qI2qQwl{2#AF~KuJ<(bNAIkyt1umYqUp*5GALN5Cu^e|3Q zEid7WS@Aj<{^FFo1|eSm^v(+L3IqQMSJ$q#sjp9GSreA(bn4OGVL(_xW1ug|aTh>d zBVNE%1Qf0{rvX14HzSA5c8YJ0f8D_;%hhV)p zGq&%Q8M20u77nW%MRZV&-ryY%N-Msk9me2xNeyV7M!%Wz!%@$YTZp zkzrDYG+KrUb~r-kkpL33i480ulQHz9JJ~`purP9_^Vl=aq~GR=WgN;GFu!*SZ8=Da z3=8Z$m_GfXD1i+^z5eN)B*C0f!tB#>d?FoNc+sj~opDz{Px3rJox5C(yzfh2i~G3H6b z!0ZZX#7H=L3aDHX^;Cl;Ek*U>c{zgp z6H1x$Q}KcgF3t|&1qKkt;mV~Tnh?BjMYRPiz$gdj%Fe)Yh`>VtXU(C3HUcz)AfY1e zqRs-5Sc<_5aQ5tc7Pkuq(vf-e1biC^edcCL00=}mM$<7oi<4vHo0po|1|iR!QjiIj zSpY}?h{%wa91$w1^MoWMDV{E%IT-rNQdt;iAmT2|Ddb2nIiphpD8ZMQG(3^w2JtUW zj+LKYWNK3)^O=$$ywedfLIM(&hq#h)a*%F5EX8Pw#0xnQTwgrXDvV@{L1Sp>XbjUd zsWl_Wdx~bldFP6-G|8D3P$%7PFN!h5+1dIbsJ|Eeg{MhM_kz&O3xnf+DTc zHwrsN6q=+Y4j#2eX5;C%}7m@-+EoiV)NT7@xD1=#SWK0W?tqXW3K!or^r)aQ%PQ;BLqLL9xem303{hK8(aUz1boYPy->eKf#W@P{S-}80_^caDbwe zR{Ra7rFR#O3 z|Hj{ubNz>j$!hO`pN|(vx9fL5Ozb^2`l$$_~)^iH;dW*uV+GX)MvCKKhz!sohc z&>1TASy2IZoDdkLVax%A%t>6EjDTt=R3ZTep5Zbo1<2Ke=N=X}CR(Ee;4TO&i2rM@ zVSp$NPHLUDDUx8xl;$yu{*nM$x$vx-(Xo`kyHA?|LXU!Er1OxFCz(Hz>T zQ46E|aeyfI$P3C7)-fTbScK8Y;GEJy#ia5~;rnH7>0fuB3CZ!oLtX|1tFY5p8XFS= z&?;I-B#$n9m!}ECUFJgnRqJ!Y?5oi$$C!9YkiEzAgBv&?V+2ypg7_6^;i{lF&SUwD z9-Aah$B(jSNgT0Xq=x&Mco+x@69xR*vkH#Z1g;g^R#pmc|K63Q7j%*0j^D1&pgd)@ zbV6(ac6lHI*Uru{gd!vbZX=~Aj-!dz$Mu7Ppa=y`UaFuINg$L^(yR9nK!~`dDJW+S zdytOiUMNnfQ?SSJeStyor~p$fo$y*gEq8|jIOz%!Cln3zPB@>z5b8pOPW6IyG@n>_ z6(Fhw6G}dSQg(#JGwWEw7}ZQN97zBSf>b~Fz0mMce46Ev5G;ZU3)R*Myn>vRN~hDr zNLt7fHbFq%06BQIP(4t+hfqJ8*~~=FNC?3PN$gN5twRWdH6B&2X-M1};}K4O&-OmW z@MuHU?n1)$xqc$dHHyxjit&NtFpJ?1N0nX*3X0wZP1u91VP3=#fCX4HEI>{O>kZHt z00#@9&=_%`9AtklT~>tI9#4ufiG)(khS2D^no+DnDk^0JyRdzTpQ1a45fldqJAN?_ z4*|p2K&bsov0ry?>H>4D>MIC>v0q4s;lE{LPvd7x)76Sz{6;f(S6@gFkNv&hLV{lj zhp~cC>}URd?M_9>uxI{>@Rdxt^KVxH!($!4Rr_%SSy1@Bys~pykeX#YA}z#oo-tAh z0&(NcpSd)oJS)#o{m~NrwU0|60N#>t1>G8(I1tiC1GFAl1XDa@BsIaRM!rxWMbmkq z__5?(<_CauQAwZ-XtN4JN)oii7o+r&R6A)Z08$-~S?-qUbPk z+0`PqKzjE|WEprMbz|orPQE^FG-|s^%}-eb4|ju5k{l6 z8b-K)0%2fByoMMCOH0R|l zs7N_2ol^xqL4Xv{ptJ@WAf{SHGDOEbbDF6$dZGGqUAjjtk@@r??2u`?kYM_Ai(Xbx zoj@u`$Iy_1(y$0AhayLAb`*XiCRIr2jRM{*`X?e-(w{-nV+`Po3IT-11L*4p?onl4 z(=bQ;mE_;NhmvYTgbTki%pEpmpBaX+ouL@}8f>v2dxrFo7r%-!Kx$(@jt@nk>($Y} zTokFu0_k@A2pjAt=3&1<4PzrjF!u1|M3r;uDmw}(cl_(`(0(kaU(0jBZuq(7fO7bI^4=g7GGrvio2(>qQs-vWgrw3bEE9a7Y_Lhg;%o_eh-TadK$Sm5ik2B+i<=aQw!|=19VDhIh2fnp|NFp88_RJ zOn8t;ByFGy>9nE34>21Y1fy9dp_s3bUpy9ws5bnKLF8jr1DAa5oqMMRQm!15D&ZnR zKrNb3k>!k`LaxJjiVMZ0U@Dp4h&p%hPQnAG-0>*J1(O*2Flw=%!-o3}YZxCfhOrid z*W_*N)>r>4e*TyymsI1T9Y3+m7(>|a%)@@j8pfB5VeI{%fFvCDdXxN}`8HIUz?pXZ zC>w(;%-*&TsiaH@gz^co8Y${AYfNww%czuc4l6PTi!+lw(@K@^?Ab5D7L;#4c4zyL zQ2u|sAf7HS>P>r0qO$BG>?~(r-gR&N%(3t6FJ#R|Rbn7%*puN|&b}J!9QZ=wQk78; z6GES)d&F7NmqqJw?(D16$${uy$~b@DzhvwM{VZoMly%=dNi%&eY?p=bNSgK}fflo` z#<~Zda5z+@Z-SlXahL4V-tK{`UCAcsC->ZC`&z6!;FxZ5>VyEm5D)|a1pq=cR3`uc zZ*@@VEAVButV@_L-KXB&ndu^D11dmK{EC;%rpw*C=-m-BzgP*7es#b9(c=Pukr}X> z000Fr{E=86pJBXH*4#-hJIz_};P=tJ-KXh;@EZma-3hcVs39gt48XzK`mz_&fO_`c z9s*<3?4BMIbwFB~JV{Bgz%t5C^pVu^GUtt?Xw_9m;2_bdvDz{sa&b#yNRj}63;@m0 z02G@M_1<^4w{7j#f4lO}mPeB1G1>FT`w_e`q{h5$4Ngfgi*kH~34%h5h)V@bCcqIc z0etxY7)0OStqHJIrkd-k&i%G#cDclQ)~>Fs=gcK}$}P2;N3n89QPh44nxZ|E)5}p$ z($Lh?C}~Wz23aVA#nJngR!|x~Y`J~i;BCC~#kX`jv!PwHWF)>tr1*w0Lrac^D!{**AtvO(By(j zS(b8&oqWB8jzUB|&@4nXyatY>YL=8qup6v5?1o9esXL`1wiz)pg^9a4DlL14!%8y5A|5~;~THIj&4zy8yd%`-ztsj#U$;Sz}qVGWD&ps(azA8B3yEuZ7&Nl zg|cY_+g^8)r3?9bGv2zrs6Ko=Ezb7WSlTJbVh2JO$8fA&S>%h~+dDI5P)NxGs!2sqk-Z$cQ%a;i1g_qf^Ob$iz<#LgI#V25gN?PuogZbuzJ zV}VZ=xQ9NuunVK?7ms7OJ@wh`PK3X}ZZ7=f!)~STQC}UoWrwbqvct}>vctu^0NP-8 zs&97N4WaGz!MgIgm=~-1LcWgYySJfQR@GP5T0$wRO&Zs|PVH70GLWNKJ>KjH1pO;J zaMJCHg?j^UCo7-t=fWqtj`PsXvP10S3Ks_6o%*dX$|3peu%Aq;nku@=sr}r{MfcAt zT=?Yhr`DeYl}TBzK*mPfLpU8OOp8E{N7q|2$UHPodb!$TZ2tl$VOS%op# zjKLkmki%su5=2m2yxPo0RbjVn*`JlWTRO@MvDbQax(`mRhsKX-kLRdM?W(%-lUKdH z;#Q__60^Av^ulWwAACHugMDBWf8nsxb#cl@@AVW{)-BE@GKT`+%vTX|y&SZX-u>{uG7 z37Cxu2}yURk}h&QHAk0b5=)A&%XIFND9P5*pUkn20z2^j%El--A#<`9TBSR|{dY?o z!DeLHL}qfx>v>QJkD@FmX2fx%=Ar1R&7zjQiH|1@ERrK$Yk$*;cdM_hD-Yj)T>cFyO_!v%cc{4J=km5+I+!{#%4YUI6byQkv zMt}?KeIH69^k>8?sDpedHU2(Z%-9^=GPgQ;Gt)&Jv&Tg5<*x^K5^tDBam$%fcuhF_tj;g-B z`=2uGQb{{={sJuW8Hj~Kb7Bp#CMGmB2`RSjTHpq2$QHgN@|H@vEH6LT#Y|0YWYr|0 z$efaxXM_cI?EQF&fx?!qj~u)&aNA=CS1UA)OM4S0=8~;QI`q1ZiY+UwoA>pGDSxha z8nQMug@rS1S8nU>b^2>BFALrbZTa9WH>ZFhG)!p_u`0v}d_YUBM@zl|5P0n*FMaKy z3=jC;q0zj7qC_E;BF+cd06$rc*~qO&s=sro|2-gsKff~4EcOnF^Yh+&i|il`fg^E{ zvuM#5D`Q313o@#Zp2QW)HknJ#P5X`GK+xjkznug>H|)9P8$R-|d}|}3FSZfqv0dR~ zBwXx_3_har%%$aF4UDZRu&V#B^pZR9Jh0&#-fN)UyDat&V|1wWUdpJL1$OfLR8r?) zE4stmE^*I>Le=y8L;q00?SmKgCx=QlJ0CC7KG>gkv3|Vs^!uHUzOkmw6ZLKi^&1J38;02TK)cUHS9EIBB}{MV!sdotnEg;p!QZWX&&^wO>;y<8 z%Xi^x$G$%&-q8%pCiz;&{Nrecap1s z>#3iv_g}VTt*Ya-J@dSX`>m@QvqfsonIkojmGjo=<7qjy+oxa4E?6kv~=?`e4BB6)4fj2)TLKi z!A7U_JOBnPhMh0YZ1x}|0rV||xzRt*x-EY4wm=OrEL3FQR?gEdT{XR46=jY#mT`$n z=D^BsRdswd72^unYj&xhUBE{9W-|bq>Eu@i(qY&Z|N0aJy+x z@L5%Z^}fuv|D_=hf{P*DGq*-yAMzU!QyNug29;1F1rot8N?t@gLL)u$T5e`Y=%iah&z8it^h1G z=&THYfC%6ePLF34Yy?&0{rYu(eZ@2yYR%vwoFtF`4_sb+u6MXgq=8Fobbs@9+wm8O z!I{?CYu!SIB%eZG3?4~K0Kw+AUW_j1t)xZFr&$Kxa`pd>7hL1eS5u(2CcOAe^!4p4 zr8U;Gw&|1Hce{6}ytZoQJ8)Lh-P+HMQ|ZDswI7^{xy6C_6ahQv>I%Xg+BTC*u5%nO zmOtM1&FlSY~pZESQWWBM94x#_qT#aKOfVp@R(k>VJJD-3*u0an3 zAlRYY5_IVe^7LE~pS)Zwe8Tz0S2Sl-t+ZENR|Zq-ce9TOvJTFPl4^>MQLi4@&2^XI zJtH4%D3>j|TrDersiZB{USIQZVfVQX&qr!i)mqcnt7$qltx9OtQk4&|@6#PEuBlrk zx3pb7m2T7a!0y_4wojrfV%n{`vT$WB*jDV?s~L8Ovr}?2o1S4W8y(kO2iSh~NQ z&X~~xiLf`$3Rx!>bjI)+!q!8$18wivK4aR2YR*+^dVw)=x>c@b2h(9N86yvnoAZs) z?$R6~+5wt+T&;0wI|iDi>LsOE<-9Y~SUct}4ds&O=5l-0m)lHlFd6n|twva2K;VXGi+{~mI#7N(IPq&pO|pF6i|zq*g>gE|NHLcJ`N%IZM;b0)f0s{JZI zGcIF49vFG&J<(iV5>PFXgDr~Y&?Q(1orW>jDw~o-rCp1!X;8c7YK{Lv$g#{FHZCDovlUl z4y|$f)W0Mj5xy~&UevEhj6HMe(3{1r^7*$#>KDjj^Sc`=SEJK_E>#WlF2dlR_(-3F@QF=qtG(8ZZ`2dWCVm*(&K2Ory| z?eWeTgm2c3`>5};eeo|+^3)8yFHVZe(K-?1>5t*w8#E<)|8(q zl1!<$BoEMu0jy;*4AMUhkSw+IZ_a^@{id+SYG|0Z!0s#{p)ebeh} z=m*dIuWGTY-Tk#|fN!@B?K|7*6Ttnm|AVqOlMjpfxYQZ1??_2e>V8kLZ%%gt+25 z+^+l^xW;;mSMS_C8k^|db@S@4UA6dT z>;iX*(rg>y#FvwvyTM)+WjS7W0c80VGjI%_Mc2Dy*JEhqeK}T+Mc7Zjt3v( zxc&0ZCw(@|D`I=nOfmEe)1FS=4|`*pRkh!3EvF820{WzdQmBx*iREEAc`3BC*65PpmN4PJAXZr2C%2e2t zZ|=q519n0)58HPNknt;(FQ95-?d*`>L3cO%o{RY{=Jz;@iTZbJ!SWtGz}B`*%x&`H z+l=MRDBry|@4J2)^gs%&CvWR6Vs08=V%~{gF()%FxS1K%WWHMNW&ls;{${l4AE+hf zw@fNASyNGo`3ll!oRo@`pIkr4=XA!mq+^VG95bc2d=e)|rccFBdd;X)V;!;YImFdG zPIh4r9sh-#S#qg5zZ-+bl6V-*uTcT*@3Iv^IOfZg@~12R^3eJ8X8lzCF>yvor+!`l zBByZ;Oa{Mv%(keT`d+9sN~%+*-?L*wer$j0DC3VAa!TMnf_YyFIB&BToIZK%H3o$D zjEw46ml9rc^T;oEt6Ew$EWK`XU3~hRJV_fY?DvAkTj-&as(L|nPue7Pqx19M#|)#O zRqD6>Qs28renU(u}l50pUc<7q+(O_`+GKRA0DUh0p?XY`svul;Jzrn zeuqQG-`ITgtjvGRSQhr~9`hGQz3^Mj|GD*x+t>2uj9Ma(wIA>+ccW|$!dhUfheMxm z{wcmI-i?uVyQuQpFhO29-5hlNH1_;Moejj@L~qx3?Y@sJ4IbtX z$WHKXPb(-NUEGwRHl4(~9Uj8A8Txd)8Fb$lmFO_}?dI^1CL3$sKfUeC<-qDqz+HQn zwT*OOd$}Sg6THd_o9e~5M{1wjCzU)wrReKnaD9W$xrg9S)zUUrRn^GbbkO?xIK_?y zn-*32-|4SRd4(ZQo9lape|q)zDi+DiH6C#ZI%waH2^Tn-G?uWD4GoY1KU?>U;T>(2 zu}0@#A0=iQn4{?&e`kX&;lCH%pnGqS<1k<}Mm@X+jO62G=pwVis0;yg^^G~?TI|l=c>cUbzaKekbYyV#Z z7unXu1-pxOne56?q<;ks5Mw94l174+5L{}zQDi6u^4IV=qH{St*r#%gnyl` zPIo@L*cI6q^r-dyV2;q6+5OJAzQ6>|?~Qe7SFpt71lh~Kt)cq8>M6=g)RUUgeLCwGH*?Tk$+1%GL!&dzLdI)my_8uq1$Mvr zYJX=(>T0Mck?0H6+{924?L3n^viJPq5<6R1|4+poswvKpsigVsVd^>A!NV9>RTYlk_IK1#|(5JD` zrKIDb)>w+4l=z&q^~}evp);SN;lNErXck!Ma?n)t+7tUJqhV3eZ1Yi1Q&MSK_WJYD z$`(b7z@W=_BjD1}(okO0M41J4x%nuXamLSKrL$?HORCYsQC`T1BWTqry^W%g8v5m+ z>F2iT#x8=gJM+4ENxji&O|i^9-cTi(1$M9b94*+%Zt>b>n{uO<<)=721Q{_eM?-l- zj+oYpi>5Plbkt~UaD_0FUtofo8$EJHn42;Frn%ny z0gLM=`*QT8FkS&J2N@Cc@1Sj)(&=Js2mIyGQNBs|a4BCPy|>OX3+!j};p5&(+uToq z@3cIr3i6HMrT9r(X3!w~V;tJ%F(YX~bI-(buT!s1nclk$`~u*z?iQXB=!!3BM*k-w z`fU|`?9aZ3Ei)4a86(&sIvlu|!s7gf-rg6grYpA>#L`1Ln*XPJOc#o+D{Fjpt*_d8 z413(o^p3RW>9rTSW?*oBshgQzcB0k?*v;c$UW&mUk2oR^XIw=w?e?EjrVkf2DaV0b zTIBx}Ini&AHv56p^BZmj zr?{SjuHZT_ZC0^&_* zXO}!giafaV^8q5gF8jhyIqV5EkK-H8=J*4Sb#|~DY%)g_W^74k$ng#vB28rX->~na z_i~J97%Day!VZV0I4=~oK9pWX2aALp`S3Ry<2&7J@SY&6-DW0b4E`LCP?29YIS$}9 zy=-#)K#i`;;D_PZt>={E8(wkrY06&?_au%0X+W009hN_Pb4FA8?M()^hY)c6@+%;B z0nl^F-}v+QJpDw2U7-uC==-?B1%d1**hXQK!vaY;yg+&^k3WP38H~%gNHA7aHvE)D z_qQf`ndwY&xgGc(?-t|=(MYj$){O_DaE+5ca%o>45u!DfG6oVv_iQ`l<-}8l!uv7R zfWmZ-N%uu2a#0SP$B`2_($H4MlUb|9m+ODwWRhaMFBwHndy0WJ28S=0J`un4vR%F^ z_V_x=36D`KfPjf9@2W_BMCW62X?Of^nb~&rzV>I2*-3|azFvC!)PgcBq8dqPV(8r7 zH8E`f4z$p7ca-!Yp5yTW3-TY=zp%U`q2aKjaKG*6ms`lGliOcz!j|w%=j@@T-o1tdcN6> z*$gdY^jUZLX={25BA3VirOhu2?12A;`Yx?&QkSwH%SWWj#P|hp1->5u?`)6!_btsm z6-EuQMM3B_GG2cEm&ZOMJ~ApP!jgC5Me!Z8n`nqyS&ok#FlEpm`tb7{Jm#GQA0BU) zUP|!>pUffL8(x2pi7}~BDs1sTpuZb$JU6Gg`(JxWzs)^VWsml#n{DBXc6NWlHIl)_k^RK<`#OCZj`OVk4WlunWW~O$tlB=V? z_-=Wda|!!q%~G>wOx!<6tJVxf2EB0s6x&8@1GPat$WoOy1zR?SH27V;%*C(fvCE#l z%^e~f=_9`;@;b;D$Ux9pzwN^Lizm)@Y{Lo0c7w{;kz972|GU*mQ-NKpvSY9ibj>e+ za;P)jQ}sE$N9#^Y&pnhPr0dUK7%#!;}1`O zdHyjv);Le+#NYf<9NYN(-OE6C_S0^^A+ulTyXS9p_7AnjdYE%C4zn-<{M%=*cmJ%x0(y2A_w?Q&`})rTbPo937FKRHO4uC? z9%rzT(={f68*I43hacVmLt^R}?taY06xjG=UYv|ezDd?0v=q*ah>%(NT_7!841jX9 zaHX}fO?aVMRxW$)QGaw$nKvQ5zS;N8>wm6?y1^{5xst$@fNds-Ua@MFfOk84GZSQyDTF8EykvYqwt9 zw&$u(4DWhbZ;#ltfA~9IyJT;L=Omf@|2&T)UH}RU?A-DNpUdDqv*!SDpp0`j&~|LZ z3B`6ai7OD3!?V$ny+x%!e60r9sSeMZO%G`v3LLEt?6O@|9e3`g;SD|k7v6a2nPzxp z)XCwOtKYO}c*}9TSc#?*W*FKiWX;P3yH z5z@;_@zNK+G=HIVns>1tTBjhMlo4mLJE|Uxawv6fd{_ulE)A*~*eO3r1>pkAiU=s# z#@N(t8l1FjK~ai#h<&g$rX-oc{4A52pvg^kWd8-wksU%9Nh(@Xj?^ZD6PdIqPG}`r zjp7Hb2L|emw_4oxt4kVM2$4>b?*#Z#_5Tm68&R@{UGim)A~KXfwxCi%M{rI8w8n2{ zJH=@5Ti{jNqQ{oJP$sHsRk!NX;%$?)a9u0YwFTwa77qF~cgcjN)>dvrYU!cwlGaUk(V1?ZWw827j?YFl>hi zc4yHIK|F~yL3j>uBgi(H%a7Jd^ z3F)(e-IjeQ&-!K-?S%nsyaKx``wN$Kg>!cfE#$yz)h@zNCrmEseQd9cOgd(0TJOzx z>;-G`I6^>A+$^ecLH!l(n6eLGt3$a7a+CTz^Rf2x4vY8 z_q!o718{-ui1CZ}`u4M+-gvG!G9Q6A8p9mvSb<#xx>UcwI<#fm7J@4RWo8pj05WUV zg2B8oSq9v08Vakq3ku`p8}*L|3Md_n_zdi5n%f=l7i@kj@Ym?JWPx4nex}sNj1`xH zyqz+mlTgeR*5at#5NI1n2*jj%Hi+2>2R4CYBXnw1 z6rLuSBb47m%^|M><#^9tdM1eAfj>Xm`s$d-~LVn0Mn%ggAtX!iZv5+V`@j16q<>ZutM)!>1B?T9xQ3Qh zR24S`44V->WMCRHC6|L(=x6ez_+1&+fh+tGgn^wI_=_vhKIjLF#)gYFRio{NuxDFI zV_#vMrt!4LUb#ztkjeYvzuiMRn2ATn)45}%NsL7o6OehjmiVAkmJe-6-sWBL1`pN!5Sc(TC^?2MgO zigVOstVAk{+fZ7fmM8UP%zzI2x1H4FjA!8gvO#KOZU`W8$P0~G3a%wMgL>13@t*x< z(_B=I1xi9g*%M?%fHAJ39ayjWy+}q$uN4mewyUB!x_Ih>mMl!{P__<^_F*!idbepn z5JnKr2ml33X(B{r8x55gqkk>zM2flX>!zgs@btRlp~bq~eSXDWT)Esy`S;EIigRDU z#i5xXGQ^ae0G(__e+MJ_lxS%siYJ9Hw0$-|XQ<`fZ&O23RKrXZFTvOBh=`q>c*WvgwBNszK| z$Ge|@p50|-T#=E@n39>#d)*F zsnl})pTt;E(tlGN`AvE?9mN#T{0rUr5-UV*@~hY_y{xfz$#tp;#*cj%1yDm-yid&R`eVSP3J?;h6eE3Q0lN+_jBO zl?jc92?T6ehDJe21RfitKQy`U2DIaQ##Rv!5K!t-SrG`W2tbsIOBy(m0%R8Iy{%q5 z5{d&kpm0l%Av5(!nm1Br9OC}iP7}&)#S4gmh@_B`#qm~>7t`d!Gt-XjO$kI<8+1+) zwh_6Ba76-TXN92-kR>Nl?`ieeojn%8?w1{MY`bVf#XPpZ8i2Wr?dkUlmmWsH4Pf8` zyD|Umg#3#e#xJ(@=JLArF-$CywgI6|QWkg1rhpV_>a(#@tufvG9&Rtt!$8aIj;5a- z{Gfk!#aai##m)f7!~MbCZAHoCJiBpR<_CiZcHM)}x)oxKl~X5eX}C<hjC^640b~0NVAYYl*j;jARX_-c! z%DVOE3;5R57Z1cI&TnA*-h|8D2(E|7myS~$!6ON9NDBc$CTQC;$xnmLr&&ezo8g7M z>L1xth*jxpb5-4?Vlu|CucgMWt})hMVG;E!=+v62=bSW_fLCYul|hahroOrlR*iQ} z->oa^$NoR-4fs)V!o;I5Ya9OMFrcVpUxV@)E3#M*L%`1P_vCI-hU5}sCPMB;ag|Z0 zE!&aVhgaTZV3lewhgyi{WDY8*5nAID3L!L;p}<67(|92Jmx*g>C+=euuhPk^R7)f= zhjK`$5rT*ll>y;lrsMjkmyr-w=hYw$GPZnE2 z*bQ9DC%ECLGHWQEbQ`w}Nw!0+L5(d(JUWQEm*{4N5{`h zDeO-C3$_$k+L25Uw~ir{f>UZ*U`brqz{s#N^l*f)b%wLFk=xY0{G<`*-YjJysC;}PEhyxstyyPl>0q!Q?i*VkXZFXT(-6{oEXx$^4=GGAbF;OGEMIDrO8 z6DEQPt*RX@+hK)e7~%=IVtzr^coKWQV&wr)EP-8ue?3MV{#;Q+0gT~=1R0k`I0OXt zT7~R{muFVw=Gy>kn=XY;n@uMW;OY%DGyQy*k4?_r1#P)iZqIUnUpifyy(lkp!|49NdAWN`ONKYOZvXui0hugBzyOk^ zxL^#HNi=1&a14jO0sA3Kn6vkj^uN?Jt66dhQm`ZNFB}R;J5)iGflA0}8=98PT8T9f z!FXZzgk4H|2A(90{|a}~C|Sz90$VdD<_pF{L&mlaXbBvMDh-5iB2mH0QiLqSBQMIe z=wqMU#3$xSZ(mu5Q}H+%p75=RwNw&}6KH2~#Ta5xTNB$!MNkOx72GSGmrb`?$V<6* zB646iZ3`@&nl0A09w)zTQ)9_xa)FnvnOUo}*144;5!W0bq%Bhgh2%CilbQexS?n3p zluO#rdHGWmqNGnF=$||unB$4{%nu+Y0Mb% z9ZxTFlORX}FSaHUvgO2Zvlz%38FCcv3}!Z>!n6V6h(df>iO@wJbDrp9IGC6JwKzv3 z+{y`sU8RCpN(@hR-3MRc=H3PP(oAprlnHpy&mIdJ54T$0Wd9a#Me3J+@frJ11DapG zl6d2`X2o>5(env=&qq)bfkRuQKRYAE-DY^B>wG4K)1;Ua-vaCz)I{LP*7}%mP!Elc zdGPSxb!{nl*?1YZX2%OE(RbU3{bqOuw?=4~MQtG+O+>aK=LQY#WeKh0`>*J;d1z6($_!x6SnRHq3s9BtbY2qK%}(&LaJV8}}Fh)<04 zV@tw$O`l4<+Oda;T`T4EfJ&uLNZkzcbqxN)tZHaXDY7CdAW37TjAsqf3WmuI@pmL*$Tu`{>j2jZfOMr)GHfPjp zhILtspo|JFh0wMoB3R36p#aoPisX56m05xfRvqP=;bX19e{f1s=Cs;oGAB}00%R@5 zDh*Lcmc(axqw}L={yMmAOg=9w)$ulxv2uQl}kD z8gWH9N3sM1DeZ7As8|Q3)kIc+S3Yk%5Ssz@tigX6K|0!%lC!eR>z3nHdn7Goz%))J zdCy$z0jSRmFQ3*WjUA96!(|FnODlkBfyA*U2C&4NB|9Sg;&=kIW>LX}NFfo)a9Syd zA{IBZVTt)Os1GcFi5u`_S-hbZJX5x`I87N-vP=NjvRPZ{>;+`P7&x>dOTY^@Ac*o0 z?6|-cKz`V`wfu8;HiMApX;l+buPDzy} zp3__8(4C27@U422(+zO%1aSb#+x&ToYG~7Aaavk+0aNKfG30DgEJSH9U=9uHeQGEw z)n@4&Uix-6ElJCQNg5XtI*ce(R1O4b5pF{bC&9vxJ+tpRe2_}b@E~ZcL;~St#%UEy z0Z?|bMb_YyQ;TGX>;P}pn@;l~?^CwgOsy?|amGu@eTx2-IehP@IMk8PK+@Rf^|b8-$Rt8(SZ16Q)<6GCTi@ zX*R443Ln_mTD3)dyh3{?i4q`>^}5-Qh`0bPElSCx5M-5^7-nQhAU0#rc7&7wPLz+t zRj)=x$-IIVJoJ|9s0I;|b58zgy^2T(N0i7kL^U$YC3*-vb6YdF5OJ-vlZh~-OkT)w zwPR~Y0+}UpDWb^F_ki3G5CZ@J03$O5MgRa$Wk1z?0h7iQP`d-$&50$__D~A8qT9+f zQFm92ORwc9Gl~TMdyfAAh>QT$&;Xpk0bezKulCm6Zxbdc+CLNN#83PI3cTy)0S!b6 z6i}t0+Ncio1dp((eZ3PY*4EzptYY03Pvf8ym@yivF*T0(f~o4F@y5q7MIpMf#u_J> zz$a8h!1#MWiU0s+2CQZZ!2h9h|88EUYMYyDn^j^gr%4puj@oOGQ9*)%h=Imk0{C(A zV%P;}7lXZnA%^uAkjwr6h(`#$?6=3&?JDj(G;VJUsw(31^4V*SGj`WFRBm@WeY?H# z;~aSwE`k3H-Nr$^{dG6n!6|Re8|KEm|GK-?@9KK*UdEH{Wgpjhjd0s|?@zq%!WC5J zAWkZ@5pv@bN<%0ON(FobEMN@{zJecX9Yd+UB)_ahH?kNV}fnXbxQ_1DxheRVdXa%$IwuOg*e0bOwHh2ldH)KhX@8Zs+10Y($a28Fd*>S@?5zX8)2)ipGqv={GHDx9gHehcWZB9 z=59@KO=)fH;cA;Jy;+yv1IzsHe6DJu_ve3vM^yyQ94?k*Kr7EN6KJGXR_zh9DKf3= zUB|yR%*HlYc|;-fbMYB%$!J!zLbHITSUprmgD^)YHmW{Bt|?j!HL<2j^t-WB4;SRNlRLWEI85NBH*LAE#7vk) zdH>U;Wli;0wF;h=so7|3Yl#1bO&?llpn!Zj@XoV7YfA=JJvs994)A3zJiJ3_^LA}H zv>)E%+}CBC8)bWBU4&VVQBbwLL<`CsWa-1%l^K@)6o<^-fA?b8^m!tMQ$#{47qUV?5nd=4fCQ9bm*(0uc2z{YCIemLLHP z_L3cBa@8y|Q4UTjoOt@IV_!7g=(?qJP>vQv#b*t}nvt925 z(TG~Wv0B`Nu?icsv`V_3NF-|%*cm;6Uqd}ri($op7Gbe_vpx#TavrRQ`qr8La1)XA z?uXH<>O4^!NO_A=AQdiF^CVAs#Ak9`pzqL;evFc7StpP0H}NOc_}ZD6|5QH7l2yKY zI3CV;K?zwNUw`NKxY~pA14S)hIWBHsgCr~9b#*{ua5 z3h$QNy1j1))e-+u%V-pr85?2`9HL_db?lf+54sX7;3}$^dg85%CV`5r6}O_s-TU8n z$)2f~d$YHhNa87G#G74VI#8)}@dA{v$;mQmqIP>3Xx>7mnUbsXz=nJBZqWCt;=b?j z(42S6d)urLNHPOi?Sdp%vM^8j46|6&-Phw9Wv#?yECGdFb#tVUc=lFwGVlXLtzwe( zs2a5&$LYY{W9#CW%UjM)mI9+jEL>$vB2fB|UbwHBu&t5d(&w~5M@f@)fGb^@4R^G* ze=+ZGtNOrA!V@pZ+}_^5k$K*b54BLhQOv+VtOyt!3DJML;d!J8OO~w5)I}otIchE& zo;!E@fO^3^Mjn6%C;D-yeH53<3_83f9ZEfClm6cJe&aDnu9XHllp@ z4)EP~D1Q8CC9Zc7wSj|InbM*)cX1%Ww4~OP4-7(C?-rKHk_h%^{fZ!WZQKlf@IT=> zn6vd7)A!yiROEjvamkIUZIa7u25u{=jEU3ggun^x)9%&OIvHlt*qH-Kb_hU4@6#TMs-QFK(0NO`G@4eZ1Pg4c>JIOxCXm)9YuB-?=I|6kHcg z&OzQI`SQcItGewtSJ+iA`TD}e6;tSQ_}FKxfYlx~ocdj?d^1+DGW4=P^5dt!{9L}p z!Rx%-Fv{OW{+WR~P((b3$7t-Z8MC8o=K8w{*$Mtm}-&u3oM z<5xlq(#j0C-M+s+3G*}j?LRy}HsnO&%63)^CpaCgLLo~+WjHnJyPfQ(pL%3fx96jA4eY+vFZ&nm0s~K2+l}C-KLa{8u`~vBw2KM8%E_bpmT#Izp#h92Y z;JdrCj|%?R8bsVw(fWD?ij%**$)Wn;4yRZfB~6Zh-@L1HPBiK>@YE;NdW+7}0u#)w zL5uLn^!f-Tr211S+K7~(xyo$l`kR5m2IM@&YU>p{U9$ot;X&Q9wen&B*VyHQ4r(Rk z={RenpkRVcW|6G7>6u0>IV;ebh&%<=s_IN0rsWakYFP&iuFkPVfX#^Gf-y%2dnL=} zYCFAaW@PF+o?~1x9KOj3nyoZ_Txn)UlfVF%%<62ci^xE3JwhygsdmW%_Cj)!Ca&5t zxpK85KpYJN1xzw^LezC9y)_$+JGYV92?eyf!OnwU)jN6bJAkPr~*15KBJK4aX!*6bH7C)sycC=8q{ zU)5I@nF2@5z($N&mq@nXz`8J2@O#pMD7Moj%rjcsI!0A+w`c%d9Sj=udDHv5ehm^s zmiADM>mQcD)412-kdnu)RvR5>RoQ`r_3ZbI=$+fHY5aF^@)-`QH*R{4tm&77SW{PA?p@Lx}9X#bu%4KvTIS1Ic*1dABnG`O5J0QdF z&8;j9Y-C0grutw68JgkbN?!*~pfHVx4%x|3POp;1w07>V%Qqh?@C+1+$pW%ri8LY<*9nwT))4Hj!!G3j|D@M#Tdwxx0&cR(S@s)$eAK*FKq#U!aQ7z9s^EJ4 z+R`vFd<(UKR$&44VOIKC$+R?&!qpdsSvxzBHV>=Qr1HpN2OQB>EzJ8Zbm{nGlJ z-J5Et&p^|a%rUlWDGfG0tPr6SGe%%pW}Ma$R8VKvo0D^9BTL7`r**`xQnF?X(Xd!d z&N#UWQa{bH`{5IsGzspR*6eMTFbLb3f$Kzmzx}jCY^eFp*n-R!>U=%c{u>+(87pIJ z<$M*Uc4P)@^WEj)Au;fi8AneOD}h61@J35r&eYPF*ccU7{v_&#N5sHEX3lohU3VQZ zFl!s5{)v^qr8@ZasO9WI-FD<71|%}&=%cU?%rb-aB<^yFrJcXVh~=oYunf#T8v0hM zhT!daRASxwp*$O-JEqQx;T@wsyUv{v=^p1?TxK_Y_`~eOxqh!B232iuwA>F)d7sZL zbS8>M1^hQ$TpA1-DxFQUxlagnNRPp`VSJj~oNy8MXl)0&XMe*TMA*sVkmCMjC^_- zPheX!Z{uIKUba}QL&Tb~a0laIJTvF7qX3o)%YlJ}x$9Mx z^RhgBU50XX82EgFBBi#?%z5&1v<8lr+7q-+;A^+UvTFcDx6_iR12wujk5{r-UjtwmG#4EPyJ2kNAsq#;S6c2AU!XwAh4QU3LTR}M?L~HW6$2y*`5jqKk z)=0f#g`M7CA1P6<*vD?E6{0v0cdkca!zwHSp0{=7n@5_=+lf_KEEhFJ+1E@!($?!L zMh>o8do0hQs&xWwxA6reo$3Et5^J~SDC@?Z(b#Hf0N@Te7*LHFUDGc|6_1y`ppW(# zarEx}Ky};r>dQuDeZ$Z?0qxOt_{0Ew-6Q9VX#q*j^%Hh#8eF44>$@*o%!lPMl%Xx9f`_&1{V%OJW?~QHjIYSjHHSOggODb(cy|=smgg6w?izJ0BaFe zHh2{lh$GR}1Vg?ABu49DiXo0jj2(DSd=v}-v=im71k`{;SoQf3cd(%26B(nrzRf5) z0oKs+WvH8YP-`2PFI{~o+>VT980YgoG(ywB)Lh&$lS27&!U6($d>==F)SZAiaxh9Z zR;xYG0lL=|m@5-B7D$E7O*Cftp-ez1Ag~!DL2u^^#p56&GeE#FG7afLC?@rU#6K10 z5<--hGafVL0T2cWB(@-zZ|WAwIYFWe@J6iD=QL-#(s__XVxwv@?YqiwGi6lKU zZju(Iu>umkc8wwljRGEWbu5KqN@LE!w4O_-fjYxhl`jEKOVMOPWPnH;pT}^Rnfih7 z--29902~Uq1r}%cDH#jNV3UM80VcN|&r$#2oTG~4;sd-o0c5KM{4Ghv96A9ksRjHk zMMo7r0qit2k2YnTMp*4RJr$B_EPzJnHPxjo?pCb3J`;kG?o$&693Ec z5{_S#&gx3#qjwJ$2z3G_O9WwKX?B>JqGB(`@2M0U;M2xvJ*t(IlR^Q31_7BvY1UHi zyk2pnVC6TxVsT4DogaA?8=?|bXH!0;66l%2NH`;RZj?4Jh+G1@44E{kT4c0Dq3Q&R zr^*V6c1R$B#$+f~8Zi)BM^Jx849B8XmH|_#I+W76z=af`yhLLqqbLsGfaU-KGSNXo zWCFBx0)mP1X<*N#gp{~BdQn2Z{P$pM3@I*PKf~7_7w*sA=fYDSCOeD%eD1b2p5g~?#7|y61a404x@Nx_U9H#0`O2+Yx_sfYx zglHs|aS5VeC{9-rB};LnDxHAAR1iU81mrauBe^BWcML!r^S@`~=HPG$0|FLObsgnV zi6KIPH4#RW>g|a86@CC7ViTxpk~HZm8jFwcjto2t$g)UDuFOzSGKmK{V@y>_a1iz# z*MwUHm@anIZ`w)Qe=kNoJb9DGzQ?D8Mo~pWwZL?zPNfh`; z=O;*a+bh59IJEDXYOtiX3AdvQ6dHO7lQKtC(A?6g!u5>sqwzddgb)h9Q;idvJ>v)WNz{-US^G)wARD%M;N6`Z7c0hLLJlTa)wQO=ZvyScDY zyB&&mr+(NLU(EG9>FNaiQUi`!O<2}XyU6+*e+|+riY33hHlhl30!%F)tTXJ=9LuOV zztB>Q6cjQAvu(ud7GT&+DIQfZw3vttd>I_B<#HPSx*=MhY5>GUc|)DpJNM8{wc05y zAoUEjhN%q>#e!1NRtIrGJU|pv3ffvH%m}_cCJq>N0#zApG~Q7>v=QTGX^~4wNo9gA z)k#sSE0h;d2nk4J)WG46#efAyog79SPXP^#I-GiuAx+KWB_2SH)kj#sTNuy*LPg7g z$Q70WkBmC}Y{n%~b0C6ICsvC`T?`WyQ3<6p9;_A;WApP5J0xQVC9Ka-SRI%iRO2UF zLxwX=F;9(#!j@)(6-5I)WrPP2%`*rX4G?u&%9N=bkR)TQt^qg#!kvK1P=xpxPD$zU zL~Er&LYM|4=d9AcCstQ%CWpUA701OAcpEHF<2mmX=F6TvqXC32`x1itvP?AIEyks)T&N=SvaKj?kXNf!5eXi_~&;*fD4pk@31b_Vqg)sTf;EK=07=<3}sX|uqk;p{@KN1;HXgwFa_WEb^(uxwjuer;T*r?vbACpR8S279^l)Adw}lZ0W zbnm~w>w|Ygd!2XaOa7kuDE{7?96j@wvZmBfJ5TI1gt$NQ2_=|!MVx~N5y=( z#^mZG@$iM6JMY%+ZJhW13VUw{zBQd7s8t+c8IbflH)+R9U||nSV3rNefj@?W#-i`0 zg5Gy(hyHI38=qpAItHG?=E4I<^ZmH($zv#)d--(C2Cre9*S78|B72PSJnAE}=*M7EtgN8yGMrSpVJS_wB7ZS z=i^o{<2L8lR=sn{p|QFq_+H^O=C#N2p)(&w0{e>;#vN7r85~BvTuvX@vyDYb#&&&x zU_vo~c2nWToDHr26(2-h{fmz6L35~4->4$5#{hm15CZ@J03uUGKmY)5WpkFBz{$db zV)v$hccXVuLPk`9LVy*r9Dl}K-4&N+W=l2SL;UwZcm@DwX3UHX09XO1d+yqM*YTuQ z2TOp&KOn8f44wf3^;_vw5nDpWNCa(kIi+n%y6%!TvXb`qCSzHnovd*sS!sNDW-7Kb z{H{r9GdaH2#Empqy!g;Xu^4fjm(w;7IEx}D@DSzz03iV@ngTd|IBffUzxM6h`?75< zS()9JE!}KntqI8>YXAaaj_qcN+X9>p3J?jvL04>epm_uY3QN4TCMr*(AVK%yD`c=9TwogkQ`?cAPw%_b} z>G=w1biRY}{;ibW+9IDVB&_Ytb{6fub{o6l8*6vIv!#uAm(g9g>18LBLea-P^aT%O z{3b(|HCE{E_ApKt{HYjDw#2QrZvDNI%?8-s@>?zq8{e+3;=K5M&hIf4I(Mh+ zfF3Ym`_B2eVXk5+h5NO5 z(CJ{Fup!YbPWY%(>O9NEVs?$C5KKKnqHK4vAHrD?CF$ z|H`%?Uc9@zafWSO!^_CE%G8x$&Xw)hbde+hhq;bmU3p@ehv;z|7i6wFYdj-a+Z+)1 zEt5IjXW73e?s_q^%Rk%Rd>QlK+f_g1un&WU;sI>0vLfQc$~FrI@93RAYVk7BTGmUg zvu|5{#x@ZZ80FAC2G=5Jr~L{!9wMEs6tC}%NbTLtwT` zJ9Cn~f&e;wn_l;Ga)CS-KF&T*V^s9!`RL8SFDZmciY}*pU)5Nk>)Dolh|=4)mef~=XeOn4l#w}*-DnXSYVpofPEG|! zh^}A)FSzeb^YGon8KdPJop2C-13U%A9n{>v!@Uim2H0}RAB!?3CgQL}i92g7#ho?o zuE8(KDbhnFijXlVrJ`fkLUFcy@`~YMVSMsTA<5^3)95&3v6!ah@TuOMi!fy=HV23A z$tP3CIoxNUNebkFV9te^R(fxY`;!%7uEQ9|c_kf2+&Jz|TRY6#@M_RVbnZT8qN|rF zW#mIc&WmY^qheiAEbxzPMJA=4J8`#w7vD$jUO3(EyD8q3rRq(fX>8i*ClQbwO231O zW#do4e>uYKc34WJ-L#-`$;9x;ra5#b*VYYG(zRYGHLN#8f-T$-+>XjY>0vQ~!q1 zp$?49O+}iZDN{i-&x`xXxD;D94L~wKGhLZ%vN_G*?9gR)coh0Ml=661ymxrF@P*Y_ ztrtPl364jyVXtSf6n0j#wj3h+6~$hpzuwj3Eb2LHSi98^sz#7IL2na z8Wbm|-1rGc9iATjK!H83uCw>(fDF6SVfut0n|`WeyRCwdAFda6)~Pz|bDA}Oo%K~| zXckr!pAzBP6m3OJZ^2lM{ExUgpUdtMBR}8H4fxOYpdYv|UoCV_XlxaZrVH`1aj&il z`;a(i?;VaH7B$+gy><mvA(F^=G5XftztW*S_YD;C043 zZ#~eh@OYKT8RClZ=g~o%;-L(sO(F(}G$(H7?$^{OaCQKweEWR5HM+1VG|jZu>X|a+ zAP3+De}NN|3_*q@oyhzjw#;EN8*+9Z*FRqU=Z0hGe>#QNHm)#u-1P4-i^kV48>2e2 zCT``uqeXt7cce`W%1L_9=9;_i`py3_=GT5r+D;?HxA{Inr3g7Vh2Z;kU-wh#rxb}vreT^B5?MQN zEt99UWqsWmK__e`?@pB}e&DTSh*ILr;&;2HC+ zYm4jLzlNJ-U)YuY8ceHh;lY*;TQ>X}^hj$w3J$f(ec}a@&8Fr9ipg4saS88*_+nbW z-o{vcqwCjQwYz54tt9<{+tcH-gi(&+&Thn*R`afzHz$gJ+&+e756?}VVQo$B zl+5qj1@v~5bjpvsHeoE}$Je#2JJp|$TPZgXTEy7lv#wI{?c|C5GFF^Zc#eAc=~rdo z+(_rcx6cHlQ{vN1qNMB>r zT&9d5zsnO-W9UcU)Hh~>$^5bz`&19N@|RsPILd$?PHX9G)tY2p3;je_XUnWF=V;vR z)sraEq2Z|c&6UyJiwi~G})jKgld zy4cB~d>-WV=&tm5BF;>|uNwuOMY8Qsnxl;*B5!3uM16Ljh>u0E=>FE)7unZ~Zkjm9 z|1LTmixnDD3L?{KLZ%xs#*6S72MhLCypGO5Q6$5gg5Y*V^YwpNN8aQ0Rew>Qk>Ml? zox^8~xJ07#N(=?lmke!4m?6SWlL<38zWilRrp8T!>1+@fh&&>xmsx3Z2$=z~ zZ#=s%^q=^53H7fn5Z{mGZT?Ef;;WES$j!rjj$PC8H99u}#>ms=7pt7_T}x)VONig+ zD?XGxaieCiUG>$@+7q|8zWH0uL4T6tzUdBLB$jg(Gt9QQCOpsQ$FNUoUcsW|JGspF z^R5x;quZ;zZeMjdLUpltnDHIMiEprznF;hznn8+#OMa7Hc9x5}zGV2|@VlBj%{m2_ z@jhkXG?KZRclUY&-IVfYu%-mZx9bmg7&cMBxm>jrRpyu*VyA4{cYdwXhKV78kw>B| z1zLby9B+AUX$P8i+j#O@X=cR-JkSE-;m6)J2KX5nd*+*P=b37DGTuM}$R5)nac)lI ze7v2e(6WN&6hq%``s5bP?AO*me&!izxyv(oskEaTP4Lb%B^Ocd&S@yjDH#giISL2o zVJv*4DVj|OUK&i|W&X17Ga|S-v#a!Wok3?=XoRtu-+gnw(_3ik8onDh!!&TIm2y zPwTKGB81U1%>m*v%H{v+h#9+Is776gzmdn7Od4aytE4uDsyE-?PCqBNjWUT@cE7mt zzLQDgw8nQS?CD-Spn~ym#Tkt$MBbAICzx0BIhf%uMm?{Vj|sVgWD)O zdBM3pQ$rk>Lcp6OBC}o+mAw{ZJk3bUn#PPw;hFI%+*6a@U~=O01{@e)(y$qmDV&S` z*ZI1L`Fd~D;7Q$bknF}k+dVRcu)H}1ccGNdWex=DZ2n8k0Zfcap>|}9t;P3VGH$eJ zWEskIl}H?K`=^S-C|FVVJC89pBf2{Sx999~CU-l>owswn zmR8Ca_#);vL{J!uGYPlC9^n-1La3eTXlI@>>r4N_AEh=z8p4!FH1Mg-J*5tDD%hso zAYR|k&LIYiDIX0?F8ul%$1geGl#>A;^z1BIhHKA74$r zn;S{O=?9(hn6@A4?cvIlzf^TT#y2@-tCK0Qr@D5eyMV`gllu1ynOmf{XTO&(5we3n z+_Zsa*Zdb1`ttCw>ImaBK*BQ!j+ZxhitqbXP2F#Ycb;s%>P>uOt7`sCKp%CB_auMj zd`44}RW!17xJ%)QH&JViU z4#wTX)D6E@zRDS0Ht+f(G>x-F*`A#BX>k(>$7Jeoqjet$4d%zkSrXKtXZQJnf!_-kwpL&I(pm2G>P49-L73D9%GPEDbZZ$#j; zjZa}n;vU@h8Fhea-}bfpY}HSn)IslSi`NU3p| z3Pv-kr_W@b8LO!+hNPPoMeJhN_Jnb9{?zK|)hCPgHd|KUTbHjY>!P=j_^OmWnK2WO z%cdF+PSmz1>E4@GSj%Jk7?UX=Ct~9K6SEK)BWHjo=(EOCyup;-StK_DyD~5CEG7g$cI5pJ`x}0zd}ld1jmY+gy`AzD4E(2$-+mp=2ckSEe$~JfO&ajl z&dsVQh#_R{teaB2{f&k<@3mDwoBzEG*7{fV?Dek4HTX}Awa!*TCYYKpy``R;{z|SY z26Qf|DZLd{j85UZsvAyIGn?kPIg8g$xoIG*+YiiujUe`vl2s232hnAP<^9q=U@4L@ zNy+$5bwh+1L&E~jp|NpPkM20q+9f11L+to8wk1PE#Bwq94M$txqQ)B6DOHV3D+-It0PPa%krf~z>pW6v7chO z+nV2nvUoAYe94T*Vc~W{qBB%NNp;4hkh!HpTcZ@ESby@2SF!?4i(jWTFWIiQ%Lh%Y z^v5hKrZ>URzt(w`c^>EW2^ON0pLbW7ZjWVnc|xTIoOj;D5Ui5F2w4ZKMMr{u8?$V= zvo&<|oZRU>Z=W`C&`al)%}^tv9XGJv%`5gL(jY_#2P}^v-2K zZRxU6=hzicN+U&T^7u|PmOF*>yMO`I=jjs1|8pX#YaZ5KHULvVtiN^w%cp(^voS5q zlC9vj&$W7*;G0DYClQs5Z7SLc&Nt2LGB9(uR&2$MXu^MY>KqN+uA@ z=`x!5A(}JUapah`ojI2iQgdNo+Y`0&nbU<8rqF+XFaZR+=xJ#hnAi7l0SCE^As{YU zed~rzW^4IR5?H4cuDr3GhKY0@-bPWD1uKhrS4Rvi2AYE89<;Cm6vC3FH?wQt2Te5V%PJteh0E?UeaCfZhX_wrMk6yzFhm(w+FU<)3&rsawUf?_rU`*g~M+ z@qxJKU+%uiJ%7q!-fuzn5 zJ_O}{Yp?V+A|+Gkzq=4He-38t`z(Zu0gRs$%ZB9ma}K)N8D+quSlNa!40jpnhFteD z?m|+GH>(v}N^Af%^%u3*-I`U0>(-xj|Fv)9eapxuWyEa?(s4lJD=Wb>azf3LT1o*@ zCR*OQkDG;*GDK2Z5EQU{pOiMatcJ62XNV=GGB)1Mob|RqPQTS zoKPXmicGQ)0kYbfLikL<<@(oM(?q(4X<)Lmx+05rxxOC0IFeg}*35aO?8~$}`K9JL z3TZ@Sp~Z-XO>33kE2<6$5i`&b;Ey?=;QwejyLkXi8NnUEoF1&j`poMT#rChObHTX& zabO<-&NaZfw_O(PGeFLI2GG5hFg&RP#4->$Go`4Uo{&yY;7!H`q`o9;Lgx9DbPi5P zT(hC=nXS_TP07@4nG7Lua!Loxb*+X2gk4W5mq`+3ITL7?5h=I|UYc$Pj;69hko#sF zG7|-yVr<71X$yzh3c)E$70g!x_tv*M0*zc|QfQTvdI@eljm-E|Jlml|cywme_33FU z+BWBTpsXGW`i~xF&x$`s?D_^^_xA_pd;mdz5K8@i7-L2Hp&d{ZVm|Z0?(G?#Xi91r zI8-y34vyz|>esrpX8n7jiTEjW`k$-QehU3hh%h||6A2_L)UKwSxRNoG1%xJX2y@~J zPEN`v2kS>^m^wm4>y(Nx35f{ukjOQey{)%h!m&rIF3c%~fuSP>2X1X26yrc_ zMpw7^Ajr&YhLs`6yfg%cFdHHGph)h`0es)`484_T499Pz3^Ph0hEXF?&Ua-)I%KDDtsaG9^4co9pOtS@xutt|=-AZ8$Y;^2`$bc+BI z>LvjF3!wGyz&y@&+gRmA=ZH6oB#JQDDP+i7-XHh+C+Tzm(oOo)e#6RqQ|QZv5?NLx z%*P2&{=fID`h&Ix3&=gUrjBM-4g7{`pL;{)e|Z-##k^l-d-pj#12k1Z6eu$%YBtkS z1u~jwd+NzfDw&2Me>FlxbQi^Ykb{n64-k18C+zG=LThA%-PD0L>I=Xe&SifZ-?@7-fS20EV|=n@cW( zKpFdM}F(<($ce!AWQ}VAVQ-8T7`?Y|5Ia@9A63O zDTG?K(fkaMd)xgSbkSh7AKS*6ax}!cM8yCaIM4@R`0Q;*h&U;Q#A!%W+{MNloFDkq zc&5dd3`E}mA2oW>EnQjqAHXgaU07raMR-V7op>RE6HdTTF9z9J&H&aqq+zWov5a6R zkZ3HJ06-8B0{{d7GE_A;003`wv+7sCQa2;j%Lv(Du9i zP68uI<|OxP|NR&p8337?v!VllMu6+z+CHZHxAmUL0-(PUV#okU(PU=;WIk0c)}#_; zjkY#4m5`|}_aDQUZJ{jDQ3PA_6@i5fPH;0wQre@Dcg*Xin38yA^{C z8(VcBv+q~k?^V`w%N2cW`Sy5qm2 zz03xDx|^^xRxfSz4lF*vx58Uv)q1s+SLb3t%Eqp}EUruhyA17W-`Cf^yitFCwE`}% zSlh83+^y~PXZPyW^sBMLzO;?5%0*>BMebe{8-7(e+)PwM(7D z?7(L^CFPvZbbcS`&>09v42;X#sO|SwHb`wy(I~vOu|blEOf$-&($J)f_olqRQlpL4 zA%~3FHbY7t+d3Zz&$K5kI&#%dQhpR4Xv&oP+0u2v+b{r#6# z)>VD*98^7pfIdU%AhPgg0r5i2Uo&oAx3a=z-@ZN?nwnp3#lE9!ObVqZaUfI_JVcB_ zk`%UQQG1^tj0u-&Rgzk?tx;P2Kdu!ALTg-f(!b>1j1BBkHBX3ZR2g9rlZa()rD3_% zSW(7pFh2b#wM=zg99RADIlT+t9pTg~kpV(PAS4pUBdW`VAWLD)8PY8-$)zc98;aAY zWNAI72u{WsNP3(M(od;(Q-&H&CB_|l*X z(ex)t7yMhH=x(X=Sb0{??*#jh%gWRq16WV_oH>f8fD)D&=&2ltkF~FWH=-7XUn9ki z23J}RU&RNJ^R`u{5_-w+VdWEXw`a11_H3*0_Tjp=@P{**8ymcpkRb(aM-!X~M>aYpU`!A%|D~Ihm<&w2d z>)c&qVRd?C?*428G33ZU7LC@odKbSwbWrX02npZ}zuE=PNb|4!5*HJ^;w}bW^&+3E zU_-5}30rYyfAGUb#Hn_|c$gGuv`Z#Q;1<8m|TY!i^Dm6|KKk;#O$%sR(28D6Le{+HJxF`IYF%lcb>=|TqN zRWZ(tdOxaIK94Tj>VZ40gADo_vevD5cE)V9wMHy$8qfAiD&46s(c+((b*?J%*YM>q z+VxK@LR%c&__C54v;|O)3|WS`LD8`$XpuuhYg9Qa9~3?ZH9~7;1RvJwXU=c}al^1T zW#X4_s>yfQ?$k%a+hlre>#QKkn50!5+CRKs^K9C(b~fQ~NJGlg;yEq@*V&g0nd zne$_-jR%z_(H)n8P<;y}A5rTmfoN-+1mLy@Z@xEe)#uC{Ji8MtK$2Ewh?$IxdgEtN zWpZIovMjko$k6HVrl8$D6DhVTE->MZ6u9s!ebtLeL)t)?)YY`;__Vc0R{2CtH4I_o z@bi`q{HE;d8F)XnoUsxet(;NSUtmwQhRYm*S)rxJH z-}^Rc&^jwcc8_+#!_t1(jMiLE3oBzM(@-3AG-uBtZ#pWPJyl^&<_QxZ zN(_=j{t$c`^FTzH1hhWk25!o_ioeKX^LF{h0}zIa?A3eVg^D-E_tMWVKN{)wvY!SQ zjc3Wtb>jjZV(<6HTe9&+Mj>)A^I`*;NMw)p4qK{JnGAcSq+jCsf8p3{1GiteThhdqa^p+B&b@P@-t zwbjwHaucVgpPIn*#muPrP!3FD7glj==mi)@texQ=S)V26D3O=6VgEvsmkEJS3-Vsa zFbw-~opVaBd>Q_=OMZMk;|f2uH}ktrJzsu3{ru0nvh|{5*S*E8OYdby+|pCf;f7I( zWlWqzlVqr2UybOJW<_6HTcY%Pu*IN|p1kqycTX-ty>>$;fWyKOMna_B>SVj&AYuEuOxf348aHiBo5T2wxHNo>u2qXFt@%C9$6-+)D*~$~ z4he-$jTAmFp|*|=73UilFFmHHmiSfGdh5d8tFHb0pN0`t-||2XD>JXlu!HC9O`Y{C zknFY@0KPq#$}eM5zF&!1g?YAgorBtjol_c%=#3}Y4LCG(9G(N`BZWz1&qb-R)vIY$ zLnT1PD>F{bft%`3E{?C~blkr3D*Ty&JA?YA`&Oh+Mz!IDgJ68+aHoCS>MSoRM2>9+ z3%HbT1LMsxN;LCRrX^W|VtU9E@^)?jL~x zXy*a<^8k#yuR!==W{6N%g&E4-Q|`MkS-EDKwG=aJ$^r(%;szPLp?;M+ucVDT3nZMN z#e3=7g^O|m<7*G-MrJ`UIVPLH#0p_~`_}4ju@i>mW8QDvO{6|)e@~nU3*!+_u8cEz z;yhg0^>9_To#@b|(H&X1VeHQf9}s_8f-nvzS7w*49~kK^CP*OGQ`483J?L@X7e`Z;Bb+Nti-R>2bC4&YMF;|vzIV1h&S(n+%@AmY_Ei@I&R=$`6-;`F#4qvGV6>OFL-b#{&#rav=3=vO1N+4;=P7aa8ZT;-3oZuimR? z`I(RwcOIP2{FO+4bsoX=v&o%CrA^YtBJxD=0~EhMG!+%=wg+OL&OLr;@4t@JPX+CV z0V$^pGokDWwx*dgg-on_7Zg0F%1`%gIHdeGTYP!i`v8#NB53|nw-jyt+VrL@Gk^Xe zy?lHRYW11(pTfD973|BS@qUBXZh4zt3Y)Bk|D~4#7sJd1&#V=?zZz{bJWco+_p>H7 z50o54G<7zaEIW`&$>sQ4{{rWQ7FUo6(WQgDX!aOBe4mgLkGo^qe0!r^Wig>;v|~{( zaxmpZScF{!0cCH;ibAp$C#8Yvj@!83$6bZBYg^clt^tslLsWI4S!8vnDx%rV?fhRm z;dTF72ab|Qc^e|QH0S)T+KX$)5Z}#u+6T6Q|Aq)!imh0lAU-@ZcY3}ZZ{N}L6(x#g ze%AflMgAXXey8YA(qW(m~+-7>~_>2I%X-bsQ;DvkQceq1wtNM_h`D)y4| z(Kz*JS3Wt5swQ1HojeGb>=Ebv8oLX+u?Z;Leg;;a`Gr31 zp(UGr-9j8x;kLtF-^=sU$YZu2+w%7N(xTsTe0qUfVPA1{A|Cq1Kw52Q)xhs)&{oj6 zGXwP#LQA8bKQb?7D!37N$|-t@?C(43Z$9Le@x*;1d*GYBU6(%|Qid_h-DTfyV7O%c z6T1CJ@+^Ea5sXM)wj3|*rhrioftm9=Wo64=lSNb)CCuBap>0t)!zjm6GQ)+5`txmv zl(sacL9B`CrGHO8H9KvmTxf-MO2r@D z&a;xLz5D|8io*Sp^Su;ymsIEdNmX8cG{5&*RrAz--IJXcDvOjNKapm* z1g$rld?yJ9Age00%WRTznPaMiR7vw^aVA+sdX}z9_h;tBRPh(uO|0IV1aa@k?bOb; zp`FEEc~Pd;1I0i_6 z^*>e?jyn6{7I+{)(5Ki<<_S-e%l(-<(F=#VKT5fg zmweZB8gm<0e7n&UN#m9>6;8cB(yXW4v5%6rJugkfn6~O!w)iRQp&2Ep6t!;Lcov;0GOiBGrSp=={NP2xFr;yb*4ZXY0m!-Xyus^ZI0K{+4 z@o5V!wAI2a90xD$jDeIMQRz5*j{CsM5M3!Vv7)(m0V@G=OPP==csYxo_8#Xi2w5+=;u?v%F?{Fu`p_We%|HMHRS2D%(AXdm$VUgma9`Q7b#kY^M7uh_zEB6;WB$l(mIzMbjps zN}CQPMy_O!U0ZrzMyVjR;WMlQEiKX{q=}U_0ab}yimo)OD9e)`9&1uI*Irjx2b1rf z(Yq%zRY8g`>+;-kik|B|M$=YyQcU6R-NC!`sqdNPN@Z$U0d=zWLpgH^0)F&@ zS1dT@T_#JSf83{+imeP8kSGa8eV2gv7bIz+=@HQbCS|gc!M1v)kuAx6J-;}f)#b4a z=lV4h5AkDL8x{s8vt7deKSQ+E504x=+-)I_wmxol3QM>Se{~$QYFoM$t~;X` z^Hd@LW&jI-xdnPbyM`ph4hBniaU(Yk*FQi|6f20tIvHZ{lmp2E5C9-7o9JVK!yY~oSkF9`NfA+jKD3BBkrnc!xjy(C}+3%%9%oSl-F482AX zEwZ5^SWFNh{|wJ5y(4opA{7*savj3E8ewK&vw|ogP7X7_`JPH3(}So~!!y)rTdaCB z{R-q1C(YlPd*af}fhnusG{Z*78G!MgV#p>3&>0TKolzQ1;~)&Qo|0z@t2J#@vj+2OlgvxVsN2Q@ZL#2vv>woxy`X1*! zk|l&H_bJuQTHe$1MF=wx+&qxzb{tZ49S0Pl$HAX=!|PNOp$DRKJ*bcigNN$Vk#unY zWZZNSdNimf6QM?BQPNu$lOQHhhHgri7#@0=cOQ9Fw;{Qi`)=aweSbmPmw|{(orB{Z zzZ1yx>S^79&PM?{1_&};4kS4{2NR$j1B!Q)Swi&NDsn;(NauR+A{PTls?b14Ec6U% z2)ap&tDt0KCu?oFbVm*~h<@e#+XW?V+c&D69*=EEZ{|^7H*E8r5>*UDX}TN`{dcB7 zK$528V3OD2D1%N8;GUq8wBvXt?l^8QlRj*>pvheZOy}c3iM$+)q;?0<#vKcplA#q5 zN!g+?$2CD}sw(;rBgDp<;QMi)g_+*Q<^C+$s^6ZPlGwyQY{GqlY6VPS0s%0g8^3UyiokU-A=tbtaR4 zD>G1kg*w%K(xYTZk?tshM~a%RkZarY^-LNWz4nWKfLFr~)~=Y`Y4&o>M7cE+^^{$zbeD(HoUb~hFuw=XekZ*IaI~h zXnB(X2Cp~}QFN`?CTl~SOOsG&W?(_qp<(5a>5(Q^@RlH=QDz{;n>kZB6{v_4_#LCd z28tPwH-tD@b|#^ioq1|;5>2e?X|t-b9x56p`%HF`VUm;;ab>!wN<@*@kE_9WR zRfa$TE!b0P$E{jxxRQ*7$ z_huzWrgoysTVu+vY z6a73417hPn&~D`&O85%s17ov0^4q`e{e5NHGY~3o-tvY!VF=CuQ_>RVo(Ek2iVEq7 zFmdEEkJUhp`g&9q%^WobG|2x&(B9sh_%e&*$XH=5gvolB8e7^#I}Fk^_1zxzCnK*O^CVQD!iv9PaA8JK+=jh$byP zh&jtrIh~n?wNXHY+0zQWyjtMbriW?IG&PC;ygwH}z#nQq9gUczV6la=xh#uQBlq~N z|Cy{S4^l|4+>0HS#nOs_x|AuEYP`&BK)Wr}u4>APqA*>p9tjXZHfl@5G^}aQU9#Ik z&coyQ4av&9u@ts>qc{1jbw6pm`@aOci^hPcLD`xC7bY+$PTJPaWX)xLzNCeQ1b1SS z6kSzTTNO)COC+dKnMQ+%gVj@41e>FM5K(n9#Naar9e8ByHjC?txwXwGZNR3il{Jwx zR#ApipjoC%y{hXMigwb!0Hl{=eSmQQ}s=0%HbjfjZ z*NRVj{(CnAz4Te)>p}e?ayMsKY^)`$qxq6b{myTFt&PfsJ?Yh3SoI5|^^+5~2Rde(|u)Ppfpvn%m(06pt) zguze_x1L~BwBv{>>^P0TKhHhz9%s!pJ}OB#-kpP$gTC<&;7j$De(E6QBFnGzqn3kKk{~xmhj)xO>>V&s$-0;M0$5am)nWxekW*{wt z_M*N2`BB(sWq?T2pd3)kCB0B#>4}bm9;ORYhR|5iOfRS&R37$bLoLLdT?x(f#)(0M zG5|p6<3KO0SV=%q<6zvXy`V@59uR4S)C21?vu~Fl}%aC*mX!uk1ksyzH3w8C+>;7w*-5c_{oKllU_OI?e$l=Er^sN3c!t|Jd@;$>g4q6swz!@SOSwg&=bXo*`WZKm&dp zQFAFO5QG0bEPiE-_(x*btfMO}%BHl911?Bq8IdJHMO#lMO<0REsVc+9s;lpbtiuP* z;e`gG9cBu-ELo-5PVP}}`Rn`dON#VK%Yd1tB}-tNQNL7JJtEMX50mD0N?q(II^1ON z$pJ~sw--50pR`-}eUh7=PfgM|PuXU$L=f~~7bdKvZYh}{NOc^LX?2bRWt!Y9oBGH; zS}^}hP|>;!s%Sb6cnIt`K;(8D2!eJT|6g`XN%~tQ+4cqzUk0G~5n&$($dzo!$3L!N zIt)o6xBWsuy4C=|5D)_Z1pqQbMKAyWZ)J0pTfm9O6Eq(n`}-rkaE%fugb8Q`c;n)l zd#k#;Iu-I3VB5(||DNN&0HQMkMKb_rZ~zet-}NuXHP&Fi;c1cJx1n#iV#WY}m0FeLy84|OiAOODy+xFh~+xEM=ZFgq3GTCg*uFWh< z-MX@o0|sN3n~glG6$3HBOuzxbP6jap7-s{DAjpF#MZ!P;0VlwNBS}5P&Vvz7ClCR{ z16*{9ypK2%Zu@{b&nVFeN|3%!AovBsz&AJ4TJW^HUEJ0LO?L)-a@xDqo}1s_Y&qWR zt@*>X;LlrIYm0lkJ3FQ=V#EOmz^lD=tKKAGSlBOXcQ&0CcjHM<*Y$^ctuD7MIv2Hl z-q!Qit+u?WqI-xnRyRtoixs=gfpebiSCF zg@2qJ(7(F2?q7RyH{9a4*E+E2M0_UluQlM(LYHaaP_AD3?e^_@ZAE)zqs(lZ7$r~98UOli*+>2cGPN~TlRZB^H$t{-MG-KmU`ESsA=!Sf1HX3 z5?62IV<@eMTismS`*Idw#~f1kb&F9!JrN#~FFsa84dq`B8s8UiX~Zx08-^9s&=cij zuj_N%a~VA~`!82acYQN{hho4>XG?r?$TE&|H^q-`HT9s9-2h1gyY6#7sIEX zLF+2wD|EQdE#6GY>k|9uFof4^t@g}X?Rlam%EG*Oltd@nO}uy0S{Gk!Fneh1g=Emi zebOWgYV3exy`Z-<)08P#)K zh?u8KF2O~&8%%~vBk_T6wOl$XyvfL$3nC~wz$S1x$>4Q)8>%?%Oy^$ z4VA#jyWXl{Ebeyopk_xUq^2xacnX=z#Kh4>xW~TVSw6u{uu>52 zC4YudJBlQ!9kILKK$kJ|Cp=m4mL%4UUl|?CmThUbNc2;pT%_e~MmJmqeo+jc%Z$8@ z9I0i$p158~BEW)(bk>T!@Kq_&`Deg8GDH7ecf-UtzcD%oFeNSq>W6AkN%@J zo5X}L8+`@y4>Od$!ARP&vw0FsEs^|K>t6g@eQQ6vE)@4R@Wj%|+PD{11<+H$U4P>+ zG2&UwpHNS&Zsp`=37Ys*VBj)1`qqQ1t}Zw3&mZlzuI;jJrzhO@nSbxJeKB_Y?`mIa zSl{;i`l)pAv%LsZR}euPBGevS=urjN?hK;p&CU@-P;tdE8C*n?Br~DqY^j6xHZC5b z>REbbZoLkQs<_X!=9?<^v~IXkBq4Btky4u%4gHPT#@>v=)%Dx{iNsQIG-~h0kYZHX zjlB=U3&3t_>i=+~D9KU~H?G5XG9ZxRuG6S0Gu+3-g_2RhECDn1UOh3jTqzh*=~-j1 zVPUs#ezDE3T*8fPQ~dUh6gI7AWt|rRCk2X8A-KzQ6N2D6rK(Az`K04FZv)?GCja73 zMjGD*-Bi`*Ax1rzs3fgm)lT0i0aDT|p=7V5r1a)zatLAu^MpPIygGWaJ!Z86YsGgv z#rMImyOx#@=D%|e*{b<1vbA%em_`(U3BUH_7zyq?y{(p=aR2I_CBru3%7%MqA1g~y zowde|L_7nSgP&eI`A_f6yOYy(XJ=~J6o*gm&gJyR*tu1GmVTw*xE!pzM}5+K+;M3) zu}&x0WiV1faQ@gFpeg*Md6G*o-d+EywqWPRoqxmpoP+0i`7p5epj5m}zeGPNq;<>H z&#v(#%SKn?OdE5Dy(_$mxXLpo_x<7uBZtg9`?(3}PH|&6t6*?&^|)W5&%mUiG{$ie z&$N91i@n7h;4=K64@x>Jq2k^T%F~d0q_}xMHQMFq zU3G;J@^k+$W^sEmdPs?uU)E>5%yC|qcPMJ&HTDUvE@S=*lSlyRv3Jr)X2eO~nu+0o z&3RLjn-`ZlXUNz3G4T|8nS$)yIBXS048cy*#ok{c zMYf)lR)nplW6*3|*fJCM*w!R-f9l)YO?%eU*}Pfn$x(P+t^LTqNNX`&#kAwnQa?5> z8KsrsLvUt@B4r*rVd*&TDH2x_+Q{{1ojc(@RezfM$iYtC_B@b0DDO$ubE)w+NjOsf z&uQ-=Nwl1$j$GQfgNHsJDq{CWm(QMxWt^B_rm<3JaRG3x1xqu7Ol?}_uDm8AKUeOf zkBFL=@(>qJXZrRb>eOAZ0uo&1&6m=5A>CYpCTtEi*|z3f8lf{{glKJC|3j+~d4qBD z6qjW>341 z!^ZC2wcE?P`yZ0et<%Pj=-3-qf>xpo5L_tYNZIo{d8)h|2}uGL6yOK>WBEJ7jlf4n zw@Gf~B&-=8hGb~5?&nu$Q^dUTeo{W$=e`XHpi?!_?{aQw+ezSp=A~|Z~m6^T2 zt&5oz0sZ1K@ZAo`nZXN9_fv(HJ3Xh^wq>5_PHt!}s(YMp7t@^w2VkiDiLX;*R*JDF z0R?}~Z$$>E)zQT)e>b%>gYuh)9V664#PXqKDxLTYOq4pmS9~ncD=-@4_6l5eeFBZB zwvO?m{XF2}ku`!+Tzx(zGI!J4%VDIq1B!~Gfbz|H-D3oBd^d!eTC)oE z1-9rb*cdY57O`D zfDe1Z)bE>uS`dW+qKX)4znPCi9nfq%(1R=;f@~7dY4aNK!6pxTNQU+rmT#mis9@V^&^pYbB4N8=hKy6R=BQLmhPT=T0 zWplY~HL%<4Vomc=HE#Z#jca+3)BIK&JKO(g&9z@{4|jKu!VA zJ@6AMO=2==sViP6-b0Rf1BI>8_S>}iT2UV4ywa}p!u6IxIV^7~RpnCN>R%TDr24OZ zoxb}ue+|o5_W^DUzWaA-3_w}wUNW?vewnRNls^IiP4A4i_qQ3$BWjM@+BNFTkDLuW zTNC3NwQA2mi1YoLdTgvebnRat%FY-)d4LLV8M5INN%4O%v1j{A*KbO@Uk4BM`KY?; zu2S3Ai*m3+oppo$RMpACbD)KTsyj6nbq>7(370l7nHLa6HTxl(A_|LdF;VcbYOK@-r z!&T=QWarILp`SxBU$1Rd?{hYWmq!ghWTT%^F^n;?3?;m#ErxmUksDsewUc?Tvuf(+ zK{h@cBYvZ5#1<1~Z(opNo6g~&(SgiKhcoZh^J@(#{`)7CP}^f5(O}a_m9s^OyL05d z@hykPVZi%tAoYf(X$E@m=gU~w4R)mzIcuS5i-F@pvSGoMj15=)hKq&hHE=A!!6liA zQmC%k{cMek)}Z?N6~S)hz1byQl?gu^ZitFeWY8u5Z;KmpK%jUVi{Cjv8EVWeOGmwZ2v8K$0sxKv0ipTGqTJDY1T z11yE{7wACo9e9V`^z1Dll%UzDy&dj#zoT`Y=||lD39i!*4<+P#3l0i0g3}@WGtos*EoR_wZ03 zKFCh)p3-Z}v|6rxSN7bRG4VC%xx4u9*7rAD)wy=;KWz!l^YN3mmn3@cc++W{7A*Sh zE>gP|6_`;~eH!Qeu}q%u(a$fempT{uBTk^~oM|`P&2e$#HoQ@CdU^dVcc1&(NaA}N zES-1ggN>m!OFs^nJ*H2{XRAWMfG?}o$OC5PM$l~!Vs=1I44B@gf@I(`!B9TyBSg&>X@Ca*zTbDw1(W${vMR5xnosKle#bCRJds)EH*ZFn!Js+_@i4sk94N)abF z9t;H{0NJQuQw3F-6)aU!$8g3FWh7n;3^9}EAkQcV6P#dvq{6blHh5tH3z#+FA$wWg z+bl@Mj4WTlssVM7avav0Of;tzvl05g=DKV&rxkP#`MJ%^GD8^IASA-I6VoU-zwudnlsfQ(mlJi*F$(g%A_ z5vz6P-^h$xv5bf0MtQfujIN>m%+}~e;}SGsa1D$?Y(`CDQtW~nDXuve`P>rBBb+bu z=79Yp+FLcyXtW&!uyF{r5L_vvS3))f1rk;G_fzF{@HXH~B-L6bQViFP2ULBWfx|>X zn1OJrVW2CdHQ@bcbfkzVR2mFXV%QvVDyZ0!;>Msr2H=1+YFd&)DsyoOGqn{(3Q5OLfuoJF@&NH=M6j*$1ojMGnd6000l7Pz+Z%gtYB?`(ALTEUDN^C zVhqI-Q^HAzZ&P96Skh}!{8}oh4fw!rMm7;@rI9RwT1rGeoyK%=dS4!_xDdy%U4n}% zTIc}I3@!%TAo2;W>>U+DZ0zMS^C69O!0E;{n8PCAF8l<|90dd(%@B}?@YM4RQepUt zk&s3SDC7IbKc=_3C7vJWo_zvBGvbkfMD9V35Hh?lm{htnZa{~ z*AO!ViwGHlb$PVk^V;rhTXcp*?XRwEt?sSw?re7MYua1O>R(2E8K0Hzxp6X-GJ-Dr z55+j?2)tq>H59}oIw}_y;#5PO4dgiau0YU{1>SN07nG4>IQ>KNqrBsgtwjDW=HuN? zD+z>+1;$RnMH#cq=5GIlb;bR)i+oUYv&_#Y$|K%YwLk;pIA4E#h#oe|$nPsY$HOQ-O51ep6gb7lhz{k=+d;WyniuwmZy(rfA-ii;&^VuO6`S|k27wN0`>Rf zV3JCTTz3S*0!oWivP5A;_^{YteC63V?Gx{}(@~Xy&EG&f0(8nrC=>}}k8l-WALEvY z>dHWbf;OOtLMaG5a;{TO8R%EY$NxHG{s4nOe80Fy*BK{EoO)+J{PS_n8(eRS8n-he zzijGYI1K5PgX{ft%3N6dmt+tRl#69oBmE?GZ`GC3#|s+(yg)Fot^7iaGdluGlC78E!`0S|R2v2Q*q(dgo;HM0Z%R)9tC8I;dY_E{@ zI(DOiA4v-xNKb5DUaeD?dKS6T>mz~5JuUknKw?xA7f9P@M1^LgNd90 zU!&~ROsq2eadu>HOq&~i#wab#or;FO-s}a5%m%a?Xo1s~$a~9;3!|}KgpBvX(45t0k+Mwor z@HIzQJcX{q#;I-feH#60*1pQZ_U%&p|2>-bzTz2iCE&2~$^F5$pgroxWL_a7v=$l* zn1_vz1v}Jh@kg!b^^G5bE84j563)om?$otx``izEY)TE+ z36h7_ujWoLIeAvk-0oYOBD*_#i&be~YuTv8f2`wGw@%uJe6qv6{soZm+~cx+Y0KLc zSC_Kx+}(90QhWO_?8LXHtFY}8zVCAzBW*OIze3>pQegnHkwJ|DQVQXyLjt86pYUW} zH=S6tkVVyM2_ojm>P|&2QZIXm=0obKUGA;?_CL37hRb;9Rr~QCEL*!oOHjSqxMIhZ z44c7m8~?K6)m|+3=d966Jp%`Eft$H9+&UjKgz3IV$ox{KkWYQq0d~mE)1u^ldHcKN z|2H^@_Q$KOFXzeqINhA|U*2l2kAT+o+jgv?+$(shjhSz_#NjH=b#}lzV(S4*%yNGJ zUzG#@X=c3fX+fSVSQ75oG0hIJ!=4@4$?{MDG@pm*Q=1a*OGk`|Ap;Tdeh3E6j(JRk zA;PHGN9Y>uuUU}}*dfLYfyuqRHdRCl!pQc7r`S~#MK14~HB}vv|GJ#8r%Ea*bVRp+ zRGkfs_qKBc+N(4{^J$AV=PxivFmGN>W@a4Yi8Z|4RJ-_R)EoWMyXY>4^KL_eQ~#262J9weV>10&&7Rbpirn zHTh|eB^dzXkQ<-t)aztOKNXVB#&Xd3zbUTw68P1c2;RRXuI+F*naM$aTQ&(qhml8F zhrw;{6f4QDxUD*Ob-|TiBd!5-gksI-7!Y@RvK@u+{xvy7x3JhgB6kG*{MOa)+agI? zDKH>Ad08BbB&-Y`EcY44u<*^#&Q7Fc~SkQ$pL_^aZ7M;1#@<|qK2m+ zWFZM`Upl5F3M~%?B@hfpM35X~t(4Zk3A7V7E6=!(#nKL_y+1d9!z*5$E1xdee_IEIN`?<-2S44>BhYXV5CZ@O05UWLHUI!$Wi!!Vpow9V z;w?GfJxMpX7}6FnLBN5`B>2X?&t=fA8v!At5z1p00wLrD_OyE1>~d2g+g+qNdS=m0GSymq9XuqHt*(hz1}yO z|F&!`Tg!3#XXHdCa&g+}w%!naWXSe>0urMT>`MY%oZ+Hy7eu=651a68CHYeX>H&j`atyE^RD%7%5*|o8it*UK3Xl*R3W*SYWlKNzP zeM@iNpj{^^I?{laM|Rh)DQwg0sg-qmwN^Ij>_^=hyyJ|YU9gSMv#YZ5Iz#M3|J$uP z)zOyhQFbdHHAs!XV=()fqY!DL&?yC0J2?_COq-PUnoBouPlC(c)4szu3P$HOy6Wq8 z>Q{B`C)L=iR!{d|fep)-dYf{fj~GsIORVVzLV^&EE!xnPC%WP52&aYFr?WbxUDVl9 zRC?Uoq3~_od^F(lSh(2el*%Bi(Ftm$)?HWh!0#T}1DZzvk-ZXSN8A~9|sI{yZ8Cw@+Ta9_S&roz&XR)lucOQ&Zdt zznH%-<_q!Et%46p%Tr`JbUZyzqf1HEW7Aa??F4tBuaQ;#KJ`Qzzo9biGsaIOAOp^u z@8)?xxvcb9~6Z4h$Yw*q>dv;AQy_A3nEqbqU-U37N}ozBJp)w4q4szOeh- zNq_b}T{oEq79RLFX8!7FtZ?5I4G7APQvCKy99-VEpmXfD445}+H@71U?v|cvmLp&T zzv0aCfy*OreYUAg0UdcSE;$$OsZ8h1)|4S5Vzq(;iW^Nsy%g z-d*>4uZb18auK7NjgI(g(mJ)=d8yzkD$!Y(VANF8VC_~A{2=5??inlzq7vxRP;;%# z!89pssFMAr3tcl)&-Uw}6EPG?$I8>!)YLiwf~?V;@! zc89S!AT-PG9q)60KDc>s&V@kEIv#@;TW}VYvW$Ze%UlwAjHjjyauWQi?7!qa z7CkM(U7IwW&R5Q?QDoA;9&>YS^){>aG{e6FZMZ@Q*^P7+RzBrcc6c?)4D8L>&AM*( z3!QHw0xgfbjW`S=GkNhkm$hw8Rq$M{jqK82_V-%AtTU3RW{AsA*s37+L`1Q4BioK4fjU&op}m!@O1%qmhWI52{qdKRP_`KTcRD=jVLFlN^99d?XRcHI?7Jd zcjDX?*4$T@fA2BWGTyxmz;_gNsrgPBs`|$O4(0EXlKT1P*<>s9wh+z`SE~ZifH#&{ zT z>zi>a8&k;Bq&|9E=In=>4Jku99F-2P7*}?2Oc)Eajv0r^+UZ==6)Sh2Pq=XT(@WL^ zu=S>GxcMHbSS>dHz}|5ESfu3R*1H;Yq0{x9S}xYkAt1XoH%efx$umlHtF1@1L8lCD zK8w7kEvsD;S7yiL4J{iEy>i#uz<+L}N7K`WZ@|NNn%wfQkr4^->rCh~!^gyjkuOxY zr5G;ABSe$lXg8Ku`%hN|HcOFePouW1x2}v`2dcB?C<7i_9=;VuDQ&y$p(|lTnI44} zTfbemN3x?G<{k$XTW+=5twm${d6S(QrXI-^TMK&fbK%D&_P7{wKeD#D9S>%l8&2*SSjl9B?_0Xc%Ylv3L@J$(0O19OEA;dDUvnwSWCTBmM@$-fA9%^ER2X zBXy-*93DWvoWsCW1_=}xK-o~`(YdQfF1dXl1Rix)o9C`NwKu(L=>2)iZD8`f40Few zE%1Za;|t(HlHi!Cavr-~1L+xx4SO}74pP0R@e;KyL&mbj0PqFrBwLwThg z(ID1^>0?Rj*10KW{a2@X+mBi3LFZvkhqzdeizM$N_n*tekIs)9;p5XbA=}>r$Bmm1 zehiMq%^$sgWP??wv<_t;V3_@v-nGFGa=zkvi*L_SQ65f%1ZOkFz>@Wu+=ZfgG~WGq z4*2zR_`5EhcCqm)`Rq7j+z--uL=A1Re;!jSzEph)!XAM?Mjk7`G=!77( zhzXlTw*CH&Fh!&ZyF_NNTI8IwMM?@=M40eJWC^=Oj!#;p6RKqns3K%uY?ztMqE`+^szz zjB#;LeoiU6$}gYF=T>%PRljbzsaX1*+HEYGE=^Ab?rGy=(0g4QfV5BJ{r^4Dcj{6# zX`{YPRh}ERxHg`kt7+2I^s|v#^al+crj8|Bm;6hVOu1mU&IvR5(|Q9fs>?O~^S+Ss zi`q75#XI!VOV%t<5a#VLwd)m={O86f)R=Xo|KZ5l;-uHv0( z>8|I~qSn*@R*_h#rLC!h;`Il!itRy;3emFz-%&Cxd5d0v$)U8`2CRQgwllZ&Y_eGy zNG|`mFke;i5ViL8_XpeBL92`OV^mb5Uu}`v*KN$$jFVAX`g1N#d#4p$_Edan=viv{ zvzl_csj_NZqJOY!t$kt69$~lUHV%vHXnUP+&uKi%`0O9`Haa`6$%MNXc5JMvtZB2E z_fGFXWxLf+X$j^L9oLIgcc*P^&C}8APpxtmP1ZHK*SogtEM06sz~ zw206f+WIyB9s;|ezhWJdwxlQjqNS(n2i6w}c7ZTfs)4_DbnUZg+tb(VU|iQ6X>4Rd z_W}OI;GU_6U~-zf?7HmRwkmRtoo_IJZ~Jez0KA@0*c8#RHtX##_}0C{zOYp}?sz9u z?=kP`dFQFt_gPhyU4i&5r`=@T!#WjH8-e*10XrD#8nB(DZKuPqbDA&CA1`|H(LZUT z(#4{A(rwN`eqaA{{9oRw&{mre?hp5B`v%y_^)cbvg%|$F6;$-dlZY$#scm3+!N1&N z9|bkjy9?eQc*R34Tn_7AkBY0x;0pbMb|cu<<)3Nw>3tf@HrQ#2p7ZK|O*D54w`@5jN{P6;)jaN2)Zlq3h4Baj_k%t%6x4-Kt&NWp_H^ zT@F3^qkn~rV4dujTT}}Mci`1q&2T$29e_c&`Q&|ddVhC6PxH6866F^7>1V;OG+)Ts z`SSk!%w}uWw{3EA7@O8Z$LldYi(O~o-l=uIhyu<)=c!R_Jce{J>L1FOS^BMO{$($Nn6fe|omv;O=Xoaf<~`c6Euh zH6OV!8iQ_IRSj$py}o5tw&T9FLu{wi`(;;bRWKF&U`iM|F6b3Oe8P>O?Z-1|Y&Pn0 z_YCAKc=tJDZSHDtdHu}y)bf4a7%NIue68wx-Od32oJD)J>{C?DU#&usoy9ouRYsw7 zw)Pb8$IMn$e5$o$}`}6Mb<>$Xq4b)+>>##sF{6hTdd$&|Aemxw3|@ z$C91_^GE)bjb5;pPVAN>KD6mrtnty$|~T?#tVI8>>l;D zfAm*YA>gz9l-cA&>lR(cPF!LJxurUAx;J5mpovx|QZ~2Px@$kJ({RP`) z(;Adq`D(O{E$UBfQ61~lMS721UCA`^35SH_DCF2SF&}$v-VIMt!+X3aBDCk+{4xfA zFvDL*^}*)7vpmHvN6b70|9C&lm%Fm*Gx3oB+kf#Q*}P#-?j;-~6nkdzdKR{dwcldrL!Y;ixVyzmF>5`Ew3m0 zjWl2R7)^?=PEA|m={#9$%#|_Lko(354Ihq*5|4_wIV$q66~w{ijb6Lh*9af(x5lse z3x*NNA71glXy<(g5nUJtxW2N8{r&irhdV0_D=*g@EUxHmd*IabCSz#(51D6H@wGk) zHSl-3WRC-F!OV;Qowbr4xV^xtkyG>|JrB6N)AU=wZzR8=SxeNLP!ue>C=A|1etvFX zhmFmdoDbNy6X<{EPhbyIa6EI3JnXrZKK8twA3Y~QhY!!ALifXXrvqTx!|@3(_Zk1sK(l%Ek<3F%5H`xaPy3&- zlZ^8&Yj#PSjfwN(pV!xd9`@ax+TXT%U%zd%pB*2`Cz!#b{kL4O`4eoy8Sm$kazWo=AUnEwv{|ozh_?Eee(?jGk{gc1B z8?AGlZS6*nqn~j8!r$$vXcJ^a?pEc|eU^g{eWxtaGoY|Iv#wYk4P z`40@dr)L+u%iqvlChwNN&$UQ&H7N6u6}NkVNkLD-LFT}J>&=WG&!Td#&8euWT0JK3 z9M`$j`uS$JlzYqA>LmD^s_CGyrReshubC~OL_gZPUbq0~-XJwn@glc0g zc?Hq-qjR4t-gRq++xq->eP;^LU5t)@v_pR7KbPIWd1H{qVM=apq<&CoNh5g*qAQFh z2L%kZjgth%ikM-dqfUsI$v|&%S-v!y}Y(D zjUr#~14wNwd4GbqCgjf~lCqZ|a$Kwhmh%6Czpi^2i(f-hZuV0@ZVAlH-Cumt=Lfix zMZ!Bh;=*E>aQO^4Vmb2|Kckc-$Nb8$_te6b9l!3&4?zrM^4SnmWL<{rrvTmPzK zA=Iuua!0pSRS3qC|5~qy>po087Av-&cHeV!WAP;O1I7(4kKT%nEWq#dfQ4GKRYhSZ z=fnKtsej8~4!v2!ukw*@W{N)raYwzq%;0}G)kWEDosds;&o#TdhZFdc43B7vEoILi zay;vITLKpxCBnnYWB+h2d~a1n&ui1>ELW$U8#L&;)P6qDl6h)B{f(&8qcv(hmcMULZD>Q> zv^)Qk8rGn7Yl=EvZSb2l@+S={xo~&<+yK3Q} zm)4{@>y6i?xX!t6`n7jG7Hv$AW~QMsygqTU<#SonYwsw&Vtbco&8I>0)|Xjn{+tVG zQ?BVLbL{73t>>M3v^;%(ZZuPqP6LsWRyLMRpQq=!4{AD5?_zj7mMgX-Io=GKvyZ+P z+wj!$4bt;5-=W7Hhwt8$)Pr-(MPw$=?-j4^0Ejhfq#k7=e zc9)v^fr;#=T{`#D&BJw>-vh&Q400KHrNu48*!7rK@gL}53p_8L_x{x9`;XMgLAiFf zRsZHK4|ZRmIcB$$``X%_@JZ!cuJ(`Igz!oX&2M?>;a<{3#gVxjyY)EL`5(Pt@yJv1 zUEPydr%EH)a?FZ6f=6pTywaah$2@y<*PLI2q`5P}j@PbrP_B(J^e_!r`a3h*F|96p z`*HC!X>57SRv$3wqjIP47_tk3tM@++6O~xovQ*BgGwUbiORPXIqn{Vw40nC{%-QIlV%d`qZpXUfyWd0LD#!Y|*su|-X@7qR>ZXg%dy z#uq0##DO=-b6<>}m+aAjKQ77NQ@3RRU4hQOsNcVT)-7`(o%#E%?|BMWHgsO(Y_^|| zj!8k4z_ez;9}m6WR9RcfAdM8~Hl29fvZV?U`CFq?TOH^(l1~m{%FxgcXO9SG>Tww5 zFlw@-!xBSV!caR!oDoUQXop}`m^$TK-f%lpuKKl|d_v61dfNH&MWvf9B0oN1ath;H zhIl(F>==0kdri5K+t?e_&izD9ABQJ((LT&pVQ0%LZ)b%MBM)h`DK}EEW8|LFPL#W8 zz*`Y|kwTs3%y%&5TlagMMoB8|Z28VxONWs=vA2{NnR_$@bM(zIlwSgfi>^`ljB-|y z-17c^mj@%2JO4t>PX*gBVPwnHw^Km$(Y?`ZRC(*Fqm|Cg zz$bTWm_{3y$8DA*6pk{TNa2*08}E)S5_MHMCtkeXoC8y`rMGJgKAjmhv5S50dc|t7 zuU%huBMUo3LWM&jU!`_Xm@#shebRZtQrqaGg~ctO-CxRy^sU=};hjhyrGF_r-G83d zfxh0eDnwZgy1JKK{;1}Z^1H=vk*Se4?R+3@;}>|TJZGP1SyuVdaW!hPS>94!vltnY zQZ?Dn|NZVJk6coJXo~ZyYV4oLNC@8!dz9Z^fBfBcJ=slt>|P4FtNHuzGQ!W6y zvAzAF4{RKvHl|FL*xV9EU6ptuQi<6jQI{`)$OGVSY*<1wpEe6Ju1}0^nL!?7?sdxI zGE;`9+^)|ECJU}l_04eCUcaf&=CyH!-gS1Y*zP^Glq-(Boxq@$$CJfA?6hC_FqcPf z-ONE{RJYd_gLMqZ(dAKkxY6Rli7FytqZ!Kw@~TXfSlE)V+lJUPa!`5G1#}<8Y?ej( z=1$nbYsVJ0ig2^Ehc;qkOO0QO7$OpRw+(&`kM^GoeAyYZE4}Cf4<2-rJI=D6(mnXb zjWhfWAK?QRg9DK&6BS#}KA4xI`Di@Y|9;koEtao-rJ85f!6)C_tZUZUX?f8-Wo6s_ zaSmsclxN~_%a-sr{>)>CGOIfoUH8@uJjdnW37-!$Nt3T5=)iK;s7|OXN4)&yv;1~i z`1Ql#O8l7Gw|;m!VtQOZSymzDJPLe@iMKp1JAEc=o>-&H<92hz&pnb(elnOIODeu7 z@6gzGW>9bcd8F**`~F38hDe>q)6kZo+ZZJTs9SCY5$>0lE9nn#QVf4wPWU2ULKKdg zdAH*(<}WaN4@cpopKI1!wOd!^>}=JZ;zb#l3 z0T;`N2kj#}`Hje*CjRrfHcGm7O;wKZt4W&MI5O7PRe)2a$Z#<^xE>(EXS&% z%Vt5~n(!Xv1p)VW;?<_s;&xNxOeg?vApC2yYX2;`w^k}xF8Kp5b66(Jdq|lz^KU2L z$rwNwu)n2;K6(V^rwHQ4&#Uoy-ee#ZZyfMKp+3d~5Z*fvhv+Yi0SSf)))6FN#b6c6 zDUAnaRxrvp5F}Z`P`C0DzsCyv07|r=L?13I0B{x=ee5F) z%Nqxc#&;G>ff7-)#n4O@MG>og0gB+10wg1xp@ks>y$U)1{f9;%jxCmWLIHF<9`d)M zbzzv$whc*7ARn}jHm|&On);?9&6HZ=`&cd?3_fhK4f)PvH*N|@L!yIM2&y}VS&oX z4v-nY#ku+21908s+K*n+@X)(Ryf%8kH)$0kQN z>dCI>V8DkCThK}*$S)kuQ6-03hz8|cDg}v}BM_6%Kg;JnsNDw>-u6770v4#x2ze<67{Uq+g#ak^!SM#%X1r!N z5{bX4NWLsIR0@kA21YFoIE}Ir;p5hfbq!3jcr zBcsLbRy}?CXJ&sEWqB+QZz5@xEU~-^!!q6}w3<@Ag&}Nph;ER^V#v)6jf6bcq9+1u z15N;WGCeDnYXqkn%mn4qF^y7Kt;ZbTu(w!+BHrDA;RlAYk~K6dfHaiEoB$D7$4ap= zkixswviI-0$=geI92j;>gfPX zI06O1R!RgUu}XHZ&?C4W`s88t-1qJTBs`F9m58iX8VpgQ)*NywsG-t{jY|g@WSQG^ zH-O~_mZh5DF+?*R#{nos6jaI)Aqu8ql!_gA4R_&aPM`^@c~DF!g);V_TG)qoMR-Wy395P6MX)hTtME!s6oD~^T;ZS+7;X`{mv@thP9O@GUmMa^EJ`3( zSgvA-NwxAx!!`2Ieii^>A8?!L{Q(mWOs;|}LT3u{Uy z=?M24ARRbm1(yOzomxqhkz&cNRy!AAoKLtv5o@VMC8Pjyl8seLZ`z?KV>l017%7oB z8zEd+X~={G9Rg(qI7cj^5)jZyOH)GSxWX{3U@OGZ2*j$$g%BKoBtTOIiIQV9CKxB9 z&h8b$5RJA~Vnp`~C`evQAkqMdz(NIm59QlSBuw`>2m&~nl2JhbmVcWBy#i%CXow(C z;s_Ww3AG;_uxwx=tjaP8a#I$+!-C#{GC({W7<5V*Ipvv9XW~+cfC?I&HptGr*pP}K zNC#0+gh3*ZMYNqVZv;k-3fR#8S<`O^%kj6ryHUZ10iYpOND6YnkyaquQNF@ghNd2i^f#pIf zhi1(sPL_G(L7@biI1$tol$dxNXa!2?k-{;pG#IU9L2a0`IPxbs%KuIXdJ4)+JPtfz zB_WPTj2w6n;|R=XCCUK_COAo6MIcB4pbJF$@{>!)iq0UE<3bR))j-A6UJnu0I=Dj( z24H!Bf-nWcA`Qfl5UiDY0t3#ZE!ZfPCY16Otb*kO3W1{v76qeYW3bu{9jtqxfEt2* zSwiX-YkL362m=a;q*vla1WrQ{Q9`yr(lch$O<@{@E%yn~`%p$2P>x7QB~*;4q=97v zD7wU|;&90JO3x5^ZGvFZfQ!H@1*L}Ph1@FNU<7!Ju#8#RP!RF%JrVRAl$r*KBLhUj zBFc~-gu0s`B>kzcy+V|iGv2>4f`Ef!>6ADqt)~RXywX}Vk#%Ir_rQ9ULL~xVd4Piw z2ue=Ip@tfi(kj9R1Z=pPF}Trl;b9QQ{|-tZ06EFAD)t9EtYbn=rGhGiLqlj$T!j>Q zWrJV{fFn>&K_H_Ug};spf1W`O&WKlPM%6~rumlaD84~em1QsZzVTHSl4FXvd!a`O6 z1n7v!O&}9N&<~zq5rRgih;tZt3I2pgq3~7{`wAEeF_pi9vV<}~1RRK=N;VmV08wp$ z)&V`<05u~6$8!k0u0qgA1_vfwB>}ZVATwBn02NpSWFm|^9>gYZb)fg5j1UJPX)AG{ zgo2PLlpUiws1NZH232trQl^JB6K!8}NTW(ppuBVy|IiuIf$&NotRoq`HM3vOe2|H=rl z6yO0XaWO*es2pP-hi7!dzOiI5OxF-i+VuXE5uzzT1XbbyG0ZzPklYx6rwXq*mc&3f zv7Z*be`N%C3NV3{IN+)#4;aX>6F3etv~Jm~!>Bfwx{DU~=e zNYhBGodyRA={1%>BlH^2N&<5C?~I^@p{4*LfeI0WRx%J0kP=qQ5JL04JUU~)Q54;j z5#TUb8YPYd-D7Ebm?Z0gSz%b7O1uFxZHd-`2#^>7c|-yz6W^%#PAumS@WL{f?LOkpIP5jr=N#xICm0;d3P@FXIQp^yh8P(neSvPhya5=x*3 z8TpkN6ra`xa7ZH%M1#jT$RQFM;zH?A-l8#*Q51)8Kyv^A8RQ@cB0*#%E_(HcAP|5~@}x>QBk|rhu@KT4$z>dZsBleXSG^KL z5D35$h@oHv5H(^Z*ZiHUX0LC${a7o632>>3zM5D8#ern_q%B%@D3bRKMCo0+i z<{IzzAI?s?cTxT52`LMKqY5U4K}ah?5(v#wx4KN9~RZ!~jUZgM_b94qOuQotp1)ORLNgjer155&9 z6&6z+a|)*PTt*E5AI?I(1UW5UlOdQi;3UvY!NJYc1jvO1AfcdJz;T8fTGs8yGKZ4s zfShCsl?TKbr7e^aX32;ITD(i*Ovn zfl4v}<~pWF65}CGagk9wKT%j9Ujc9e!j8_+-4XCRg2BUN*P)3FB9MdWB6D1QCGqCc zU(h6hdCmgcj&h133BY5X0cF5+r!4Y6ES>rV>YI08=jyh=^8y2o&e+<70Wrd4QA{+R zN+mK$%i~IO2Z^0pp;BKpmZhtaVS8fvT9?GL@47EyGAlAzUy5Nr#8HcL!0> z9Ox|Z>`IKnT7$R{5)d;nBz2b2rcVU02g8dLq<|i?K(nJXmfY^=4D}_a8-g(&DG5YM zq)&#epW&UJvvl+F!JufOtasY#phOrm)Ij}pKUkf@z{Uw5W8S|qf*65#B5|MqC=f?+ z0%gXkC^70P2+CTC_W&ybq^=|$3>-L>O6LI7SRrQs?~sP#EEEA4=b84929gL+xFC6n zK~Pf3Fg)|dVKfwBAr34$6K23alwc<#Xj~~gI4rRD=xHHdQJ54+;F21^oQfcsU}y+8 zjJ%dpG9;yF9&{GCd$2N~n<)(wVAaA3G93XUhd^8|xy9-C3zqvl4>}9MJ+EM3ukhNA zkq~mFVq0PJ76$|w3M(Qe_tAsS0%?y!+~EXHTdYA7Z7?1V?xghqDQZn3GIGB?cq}mX z=*2bO0;Gmf!nDly7ch77sxcV~G#vWt3>*7QxuhRwfv-n7FR+Yj3{X07MJ;qG!F4SI zgJuQZlbvr~f5>Y-2nCWJovg1Ctg>28Eo@L2V8xoQoR%|$1(C1&6~U0O^yn-V^&{)1 z+U=AU5O;Fgz6S?j>Cst<>7zzX8IT91M{pyDlm;!zV1z|ng0F}n zujC*Ff*zf;i&1T~-s3!F5ldz%k%CExWl^rvNf(Ou?;b1`7CQ2uuo+;~dbJ_OF9%<*c9+ zq01AA1GR4~aS;VjTH}#ZG0vENp756@Je2p86(A^@SVnT`%W??T}nj)uO;eiXq@wE|x|B44NUrUBL%O z@>V&V4p2}~q#$(xAs|9pW1N>`X0*a^pMY~?V*8T}b3Y$SS~7)5UlbUym{cC(hC~(0 zA^`;v%)}1Jl#5yK-b5wABg52ElGI{w9|XsFj8e>m9HdlZLF`GSK;m?Zf`aX)&I&Ay zC~<~W(A0)^0)nMl2qlLS_60oCH)qxDFZPA(z#h{S1%Og7vC?`tAS)qL)KJQp$7v}b z#ED2eMA-m=rTKd1Z6;9>0DcB4T?$SV4BIe}m*o+Yzt}?mf84$#$}<@4@?28US$p9` z7=^tV;Q&|-wjv6UTNn-JIG~J@R~|lkflf_RpVzDUf9(i1ZKE7rS{c@7j)F%}MKqA$ zi5__j!3EB|^OqsW5Q)aTFFI=p{`_xg(scBnpEw?jJ)K1h9!}q^aU?|qph{qX1X^YU zgvlv>B7LQQo%aQE{<^wRZ|h&D^rod}frCdeh2{=KA;Y`Z8k&)~1~ z=je93FaYBa5Ci}O075fVFaQ8=WUP``;OUUeI*@nnKl|=%Oc10>fB{e$LK2Tfx4mzn zyFV|aNCA+2JOBQS9uxq~$biuS04RWmP94?NNyohRt7e+~UT+p$@F&l7?+Kiv^`Hq| zHVJGzsc6IJNGfUC^b=TFyWOFLWT5V4KP;qR<;&shNDs@)%mb{b<+9f_)`(SB#|p3y zwX8Z~foY7)i_d8?$p8Q|05mfIcMewD|M$DQZFRqEyV7NAM{AL~ES$!)aveuDmQvgo zR%N32kpKjQ*9mCwqGAZBNFja!eE*JY|b{R*0y=owPfpCOIu%EW!9{!YQr=^5Qw34QVQB-XdX4K zi#2w&)hqVeR<@49vhT(=mdzQBbyr>1s<)-Y5U`y{94&O$ks4dr09RwX2vKrZUe0|@ z=iPe!`m5J5udQowb-pV<+|J5$=1TRVzOklnZKKmu)G2D3^=%p;UH_VYr(WTAw6L@) zBHD!NMv0CHVmz7BF-7nMOWwhFT^$}%=xEY5ur%x5Z4o;5wiuPOwz-XFyLR*^9k9y` zOAg1Nl4WHBx8BB^hNMB$q-fNO9@hpvWGkg+S+@D5ATC%g5Lhx~r#JMbEq~z$9(ssL z8uq=FlX~D2Oi=8kJw~Zr^cY|*h8D#{?iXeO;o3K)NLL--l~i)0JT&SZ7>D)k(HP;< zUXB}-Fr49>OmGImZJ~uXyyn@P^E})=MkV*oLz1E!n!?kbOl`0fcB}}}jWm3B^^p!{+Bu6`M$@ytl&db!-0P6z;XM;VyO5oxV6}8sATOC{Xa;~$m zt=V3`mGd;OS73?SS)ENky6VO{k%*8ZNoKb$ZH_U=0U23exE&GlOpOjs)jhyVO{Av* z)^e}Uy@BY;(eX9`q09;_iCMNWF;OMmdc%%&!l2)jS3i$QQM#lxtv5R+-w{{q-emTi*QKB zJp<7?RfM#5acv^?g!hlKL*xy77r;%kBjKC9b^gC%g%_Gl1+UPcjT|1M&4F%PP z5WWe=+k?5bCz|lw_otQK)^BUCJX~ocm^tnpzT5_V(xx%T^H{fZ7(lQBygl&REAvqE zP=nuJToh(*l45&!jR|riN~rpnSS+@4$!@g zr9b81=g{duv5|!*S>0W>?FZc`Ie+5kgv7f&vCse0!QlvRG~XGhg9`0|;LLH=R>!oQ zWWbO$E;5#q+kSVlso-}6>PwHx8_$2$!GdAFDbS?--7Jp3ti|!+TEo&PZh@2V^Fnn^ zSkEgCehjjm%xqkSKX5zTQLZyWI?Xdoc@wth1MA?>1ZSH3o_QUJx49xbH@7+6dOBH& zw}$_X{I?32Ek7Sz2ZSfQ)8O}F>{hv7yy!tvSeATQAR#xP2Y~9^>&$_l53z%NFI%JU zdD+3Ho3c(~Y=VMqw$8b{8So^r++(9GZdZKpb8mKNDLmBR_d4xKWHQ0NU)z-nU34_I zJQm%fQgp>=rTM@+_<2ITvEidlbtccb$&m_frsTD0yIH>8k62rKYkwN2H|^l&3HHW? zkI4f<)mG$_3~4ejVa~e|;0))hQ{xr$fp+lognMJcM@4{DCvJw#LQLv(lMv^;6u1!r zzCt(t?K7u#@biT8M0(q73`*HjnB~A`N$6zFWa-|LrQDN3-wn1~Fb;l+(69;Ho;lE< zOlPDjTf~+87kQs~@N0xS4M%29L*Nz{5 z>h*yHq(*B!+M%~;k|vkxZG#5rl7!9?x%$ITg5fS%`~2S>{5+xF*znONp@QSYPLn%_ zc}y$YWGw+M9KZO#tL__ngA8aLyF;9HpG5ma? z9oRh4-roMoE7a+pO&A32TLQN#4DEcuLz@( z!#6RV+#ZCVmZe!!)c(@5j~BiYnD%=aW{8YbJYx=+g?skeE}@)Le72n{3n0*NG9&vL zSsoe(E;XG!B`rnEAFS)f3lVtQS(`rwfixC_Kn4q^swMU4hkCkLm742{-qM<bctFF>cY|B zcx^>8I(B9&)@uslqqD$3pR!+Jjtex^IUe*D1XZPxr)T{?X>jNGneD2|ctPKVS8xu~ zQ`;r5g*Cn5A#jQ8Q@CT2H^thUc{h*$@h}s<7a(_;22gzmdIRfOmvMq=f2adTxsbSO z_?ww4@7%;_0a`Ups)ja`non8Kq*U}H{YzShUiPCG-P7!T^hvJWm7g!sm8-w8s(n-~;jH1WD87nii+B(R~j6~;IX z$B&d4=XD?Q4RL1@g;oSR7l7LXRVxpXQaDcI6j`^3E6;K+91h_MF%X@^RB8r$p&uKQ zGw;x;OL^|M*44*jUpQgW5!L&h;MKgLE-I@(o~&us-n6sB2ayiZt&vYM7-H3OFcDZ? zSe32ijrP<YDO2260Jn0v6Oms&RETM$R}OpWk!1ar$;o;xln68~tgYOP)|7Ly z98u;I6TiwPh^Z3GM3Qik&VgHmS8!^SLZ**%N~z$d@dO?hRv2p_AmikVyLrd4xspW- zKU~DobS5KxR7g(7#P|Rf5^(ddB1pRyVdicq2Vn-?)~S;iLnh{!GmigQ+K5?40Zp`o zf58eTaTaJ*ZMabXI}!Wbru!}i&fo31?W1xK)vzLQyN*Y`Wrb4mj|(4r&9;O28kh?O zv`wj9*Rxxc`j^ifgqRyjdtz<7unbVdv~p0X@=P4Ld5;EtAB;(cwy2 zK6OXf=?hDD+yFp8zrUDV7lwWfE@P))@UHD>%Ix$(os!u-MYtZXVcF_$tf&DywC`$cajkKAkoc7w*k%Dxx#?4NyW?!A3jyP}BZS#Oi}`Fu$qDguAhrUoi> z^UJvvq?pXIYzN4kD+wcOoOwW3Rc)yT$MCdFNvl8AyO&@Y%XL!rm06e5H0NtOx&IR3 zWLEJGc^A-nv)t}D`ONPZtANH%uBNTZ)~X;h7JVbWL8iYubr@(N4!Z!9L-m zY7e`w<_rESrWrrnbBU_*@V3i-*bt{gFLMm&W0^xk0=p{6)(+A;m*bMls(fC*`n#{4 ziX6@rX1#Tp-|U_@tDU_l@@$9k9!)PhV{nS|745PfG;k%G$ynAyLLx0_b7EP z^hcEUvZQyarme>f=ypMC7MWa30R)nuStdG!}><$f0o8sh_68Fk7tE$xzA3gYBf3^M$(IuDX_ejg@&$P6V2d}y8 zOL6)roMvgb#l=~UJKV1_bhE~-n#g7LUbT8vX=DoVcEwJt85<9taoH=Q7c1H@%nC!Y zE0$m{lU1`CnGHMx1u*8GF4=5VE}`76r)+kUcBjzuUDx=juNf2jj{)d>W%B8?&J2F= zUd!Z9O$I!3OtLyQ%qrKeTj~S*pbG8W#s{ zA@2&uPUgm=nOVlb8h1heJ+u9CikK~nl-r69YXpdcS(K((N;hpuZ_6j<))Hmv+Vz_{ zos74}ZqQW>(XBjT>>u%n@F$qLt}KYq9HLBRZKDB{!+Zy90zEE~r%3A*may!jG;=F3 z#~XRocZ!`w)uVoNb#yP)cK5F-qOt7Ieym2M;If`|?)O4A563lv0H2M_-jLZ3C@^w) z_G#&gs(Fsd@h&B&iX0Wm&GM2bpC4aO$qv~ST_PBJx7w!dvOjpa8k3vagA3;V|JA3E zsf{svp_sti9PGu&;E|F2bLf8|nlK*D0SE=HNDj=c*mmsJaLEh=7s3m{Q_7iYc|Zk? zl=SgBWI9>ZkWR0N><2fCfPO=|gf}cFoO^A)ONiSpcB)*0%q5*c;!S`rc(%3%4jf{> zIy(k^WSVzHSqFps%E`L5?GKmhi|ioi=8FrABca2Md2%v}ZQ3Z**Y=1l!<@A+Ucb|2 zK0P1pm0l8;csZ#|4blXjuT?URWV(*SjOE*ANGf45a?1L+UWOU8R$|IOq2xX#gE&56 z8bOzLjl9Ig1n+noV?SPyiF%PFZ<+h}3!}=yFuVlgaWlukJR`pnc7qPahzdV=En~En z%b<+3i?fHryR0|caxK^~+trC>&)c;f1-qs4UmWTLCo5|4AN1Gl*e|cJC7xSL$_5w< z5f!S+o4E!86=qrnx7~R-R?@zC!SnS8-j>f&&pb%599|=v^HS+KK{&>eH)cNnW}SuS z$C%{i-o8coRq`h66kbfmEXpEKZmkWA{ovY(ObkV+^oLMZ$H+*=VjIRSf-I|Aa$t!8 zJeaAB+1ABm+2?sGi;9a{8Y^4tn_3Mk6?Lk%m8%94xTC7t&nIWkW`>X&;U-?q2gbbe!sF(;m*6c6|k>U^Zoxd^LJV_I*Ox?NK=;9)b47{dUa|V zHd=JE+*wZVJ35MPMWamoz?o)VzM}u_N^@0{uWy?l1?>gK*jg>yd)_2pD$C6JgZ1UQ z$<>N#f3JltENic5x8fr7iNCK^4pC%e-@iJ39&F>-vuFwzdy~XRNGX zzB8)mKJ5H*@fgete^TZG!sw3;fFmhZD>+m5+P&?X8+XTWYD0%y>{rdR)poV`huhmb zuM6`Js3=Rny%ou=)r#SAk2IfQz4bH2|MvU#tr%#}U90i3H6`>i#`{&~Oyr=gv2w(%;d`Me?)|rt_WWP(*X7-&t2pp# zd&3hf*?-gp_O-ks`2UL^Qr^Fst#PhxUAyw#`A&Y{UF4_po2gab5?wCsMSpwJ`=(RZ zxTX|8A|M0Kue0ucZA-0+b}@;!c*Xxb+%z_8qI*O)NxJH0IK>{PB+<1Fsuy6L~@RYA(InyhuL z!){em&BCe7Aw{15c;vT=v(8M3S#*)Cnugm-FoUecx?nl&hV$ZH98#6pcfLYaM=tdBcU< zr|++Of4dxS?b*L=rh59bc6|>Nl`D3=O>-?KNj|=Yq{~Uke0_jI*Qs=a|ERHdm*DTB zq6byV-~H_QZ{E43;aY25F>eK)bhAX~ZRL)Q$1mtPULnT1o8%9;y=nQ}FQu?O%c(lw z;w!bQj>&V#{z%ODFwJ?-8zbDcX0)r0s;OVuic8@!(=1@GJ=Irk&FIVCUv`I~qU5`} z%3fFL46aYf^!JuYin{q*Q)m!nVwm}>6>h3Ab9-y}>|?4ber_|>Q#_eBcw0msyHAdP zE|1HkgnPJ09{VrY`MxL4#{3jjZtIv;d}7e|nU=p8uMav5{A5$-KQuXzy`H$6;$51s znfjTv%!Xr|!;ookDI$K;y~3}cf#(NTEnuU}b>URc;@BODCE<+3MtAO-`~~MxKEL-^ ztly^@*j9mJ+cVfDmtI})6UQ<1?t!8=&YzrK9QT)-kKgzYJRa@dv$@v`-k)O^6wA{4 z9T%bl-BJ&@h6oR5qjq(-4HHVGrp6NhT*pYVa z`6tGyp8eT%FwfFjZ|^1iAB?^zmJ#asC|{vh>YzS#R!C~+p?uD5V$~vB4D$A+RDb^J zWm2D#+WS%M9}qMAYK4vM&33hG#&muOIztya&2s#mUOp zf#IR|VO=YJ=Eslpdn9#c;y4ROomBSQ-Iy;j`p$-aU$xhPWS`(kyv2681kKDjOl$XC zt-%FDzr2g!DwTzNCI2rPpN+C3#hs09FU{S3?RNH|`Bf+`mJ-p=l(G2r=NYZNPSK1) z?+oXHWg;NJ8TLX6AAYjtO*bB!zE~B)lN-dEeVCKj4_{=w3~!HZyu)#Mm(28A0Y7bW zXw49EN;vYS?FE)n|Z1GE~{5tmX z{y6TsW80vc)Oj5!Fzxz1rm|T{(yBLW3mbc9rNb=WP_I69i zi+`@T^w@~M@oxHoH{Yt;HhN_{?e@X&XV+c*lVk5hbbkY1>uUbeuXo>LcjwI8ZPs6% zGa2 zCC$)sitN3=`8RS+?CoB?<=1^1l5gQW`Ca&fBStZ?yx39}jg*6j7&Jok_7ASLzuqT^ zb{DOz0LPJ|xFej?bvO8dcV>S(-1g1Y;q1q`lbRX0dQ4mys_Ty35JVadtCVo-F4+mF z9oUa9dFP|y*~>bfm`&o7D7E3|FSH|7qU$?i@J9uMq@h1$j08b=wLTl??bh@azhXU} zh_6>a{C3(z^5ap>)>Wncl@;iMBe$2~-ChJ8Vg8^YRdO<~s>6N%Ik+0i%WF5XY@D0l z8G=0+jaT35yyl#lJf$v|j3f>Jd_Rkqd}aSwRm1cFniFd9cc&d{w_tFdERE zpZH%qin$CTcCnh^_o0u~Gnyq7&}B8lV~%};=S@;>3ZAuTJCkSl=8q;;GbL~F#^483 zffGM%oxZUY4^}UbYH0lYA%2J5?HV=XHFbjd{L8Z>W%7A~x%Y_yZLq)1W|Ypu%10*; zE4QD*9?{^zc~jRpY+GUH&0D@sa+BfhgHyokIpYB(cH<9cQ^se$|{8}2H>L2`*-}uWVvWDHNawG%p-}rZ*_gNRwA^QBO z*A4j_T}WdxS8syqbYQu>;Cq+F&Q>ERG_=Xok>h*;XHtI2*?1J z9Jzo5a3C9I7@!7@#RO7VT47X%fEB%1uD+(m{O+*3^1W)&-5v?W9M=wGg4==_1mGNS ztc@CuT~zh`z1`IENg`5IMhFfGS^_GZ>&_^F1B4Pbh(e-=Vy>@8I~D@(W>t>c^SLt znF$}TafPDPkfXxl5eQdUu<+-Xm8vEso~Dle!iv!!aKZvZ3oANp&GhD#n_0O3TC->` zj@M;di-EkASqOGtbY5Ss?VKPJ6VDUF81vwTt{2B9Sr5{{q&WhQH9hgs7+wLCG-{2s zeQIU^>ggdfpYGF5BItB&TKYX&R4b^uQPb8=SCgVkY0&NHqsC27HPoe`YSXu^gdNj0 zs#`u?s*zkhy3{p|J|#h_XOy0Sr=Py1h%?%$+0tv=cuiY+HOhv3`I3N7_BTae>)fkF zsH1Mxt=)>AJM+Hz(*|{0Y7HHhzI!2Q15Tri|(N<|*L7khh^_hv3ntKk*BE@S8g- z^NxCITv@*%s~DcRJBz^ct2JBIm@iw=J#^qi*(txJGQk9btO%zmTQrt_GlJ2ie{d0B zw-5LJbVk8@Oz*z`Tdd<_nt+M}`Vbb4qvp(rv^(=%BjW?$Bk?y>L8u@DScZkqY%Xg27e{px`S?J83ag}1R~iPe8|jE{bvXa zSP__2ATa69Fc?9gh=qZ}6$T_`FbJ5jAh09C1R7Ns@EF1%>dz@m41f>Z#MWBL!!tW+ zT%>{E76yhR7zCVEAW+7_z;OtJNRD9;a#VxBKMR;lqko%?k<$jASe?(&D*_xdQcqc? z-l+UV{GE}qp)^82Dx{QRq3cd;0g%%$JGXR$8SFupSS>wTUf|?&tn_cY%B0HtL-iHj z%c&j3|M(-NXo!n$ySj0NBVuu2QHP=kDTyI)5a)Bsy-X zVF48xe*^cN31v&|09%0DJVZL-W`@Ek0~uRMz)A-rCu$g~^`554t?f4*z2^b)Qox9W z<#bdrIU<2HXyL|KKAgxg1;y`WO1u5yQ)G~p?hh+eWEMt4cFb*+`*bq2U zTY(%S;yFKFpi|vId@xRplk2kEfH(Z!>kue|vJ4`)tq&no$C2U`$Ijpqzx~8}Z}$We ztyN;t)z72!Y7LwqHXu7|Y-~9UEezDTFp}D3|CQG3OqCrvMO~vt|4y+lGuz?1q6TFh z5(1i}Bqr1j6#%%=m9Qs9V(g7_Eulb%H%`Y;aa&UYP-C`OG}0ifmLkvY(5HQVuO{(R z|E1qfWFge;fwCCD04#M%5<8HHx{VuG4Tr>cXw=#?N}8Q_nmu^NsvGQ|l-rQ9o7u(z znKTjz>XK2|#)S?jV2C@2m$axq(UhF{*|T_*T@g0Zvqw9+5^NHVv;i!DLu~{CM2GaN z6PsI*{cSXTZi)`_&0kN{S@;4Fm@2ImoYE-6!O+M62onHx1#Xa^EjdXu``r?i&g(2s z`R5sSd<$@626zG_9K+I5j@>LSG-_EjwEmq z#^yR@p)@eVP$hE0G6)BeujeRb@}2uVr}o9WfdGUR3rL*WMoCsD80y1NQi9MWfgKW4 zEq7&t0-C@6MK*gk^M~+x3%*9Wy3~G8k1)^iwEs z2pl4;9zhe-37EJks`3ENZj{iGx24%mR#fE16BJ$>MRs*Jo|K}#@|S_s=|9hCh527fRG(GT~T36q9I@lpg2THBX*~N9e6+H(AU)^h=@)wgrEY1 zxD?%TsS{8F+u7?6{lZ@4A-j!Q_2If2JbL&~rVa@dj&T48DTWFomcj@Oq)Wqe>4YbQ zfDt_8vk_vS00@~7TLoi)r6IgSY=v3_8k?4c<sPyE3AI!58HQ)Ei1;+SzjVws3w1hhGU9AOx-%a#D)Md0^m6hliO8EC^6 zijC`Vj8T}{SI2B^v1Bge3|I1SAnCmXhKigahJjM361czyr^U zZv5evV_eu43!6EBYe=kP98+WyU_WRT0?cq9+ZwsSv+UYK0GrvAbjsVhQ*3MrB5_s_ zCBRxk+FO;QtxF&O@=4c?{eS;HA3#o-Rl}^Zdw0GSu$&sKSkT}_tyAyS@E@M7d#~tU z4=#>t-dE=Ihin_nXN`Y$kt_D-?urJkDG5{{+t_MDp*jHO23BI-XKi*HoOny1*wpQA z;E+(;5nBZqE}^W91#O0KsXZt-&TFRuw}pGssJvK}-P-Z9PwH zkI>&6R2c@t@0|{t+m>9{c55K)#XLO}kC z&iOM{&%p06A!@@+;-rP!OKTWz2+oPjNr=Q5mg75NaW&Ys$iXZ@T^goC ztrG!=h*Gg(nZ#zyC(vJ7;B8Rbk(pH1!;AnUk#ow%rNt$&CB`FY9gC~^>o<0y3AWu7 zod)#pDk^lFTR?H8qQN#M6T;XgLq>rV6ytS90t^TQTdUckVI2fgF;+7s1a3=&pbjY%f=V2=4uKZT*T32uQ{))Z0a(bS7!#x(KYe@GYy4x`Pa6GYB9mKrzmP-p}g4e3@HiYGVrYdYK!0^vEo-K6ESA zbm>?GEF&-og11033xh@&5O`K+!$-5Ahm|};E5GYh( zz(ERwqiaCo^s}?J>SfPFCS8rs=dqq6@XFLHt8K6MrVz7QVACyEo7#WD(yH12oc=qA zVco`APOo?d=@}Zj-*SIhZ05JC+!yeU^h;TEK>768XT}n8J;QT)z&l*;Olq3GeB}WK zY>wb<*xT_0;GwXG=M4}Pup$w#4C6Bh38-DKzm6y;_~|1<#F`WEXVZ^v^xyw)Ank#m zQdkutY-a(-Q%0=uTlWM}itB6|)ytoHLUTEC`lzJr@%Au&ae;Aa`?swDQzUy=s5j{L z0#e|hha)I;Rv{hY&I&rg05w}|-n{rt{H*p*bm1jE{o7H~7 zTje*rSJ_=!z4J3H>B5%b94|XAa0c1}oJBK28iN+hY88P&7J5%K&0Php-`TYZ*e(LWHqoh}> z(Tg-crH26I7Y?w;UFI1vk%>KHpDcTEY*$nngd%inbR`sSPG^kVA#v16Hbb#;TO$*S zC8OoE3Non$jV)uw8r4I8JD~dV%sE466Ty^;fxv_nT)z+y0{{d7GDB52003`wv+7^K zVzxO=(iHD~_RbnNEzlT_F2F`wEZ%}!Iq&e!lqyBElBCUR{r4UJ01z1(Bbop(fC7(3 zf39}2^~=G@q&m$Y6JGFIJRM~x0Q(Hj zL_`pzAZl?wLVQbr5a2HaTi`Mx_#hw!IN$ETyOF-lcir80#3wrHT4>ALZnwL3%B^4F zux%EfUEA8S?Q0=zE^gs&-E_l8FX{?+_`BYpYWQ}A60TkK&?OT9g$HeT5?>SsqA%;( zo4bqa&h5MD4ezeHoBUO}@9o1?i)$h2q-|qozt_Gz{eam5TlU(8yGCnfIMH*btvTw(TX5CcnPj;#FJUVSmX z*{_d$kD2^hZM)CSt6s+CI{u2I>1w=pwqZM}KBk;AMiaEcEOH=Dlz|TUrmwa#ui^_e^ak<^Dz{FA-1=>41WS~`a_pgVlO%&6V+@cpq zFb#=2GRqH`YbBPW40p!CGiJ?W3n>efCv(&|LWpMK;u({{LW0Z`m1wIZjsrWYgF@C} z#C{gm=#g9)#S$EP8ObLad-b`iE|V^AK=Wr9c2@af=2#9xM`JbsP399JQac(PZn(mQ z>l+`guY4+Zxw?t{=!1Ef!q`TZ=jOI?;lfI|Ug6v^ySd`p=M78GKHSUQIJd;vZiV1@ zV&4l-3vuk`exzj8|Cst@e6Qsn*?8<*2mPL2z!w(9;p3c7(q}`>J);W)c=paEIrMps z&u--{BN3RQ9vbk0zL}<@yy@~JiC&o%y3t=~)U0#KN1bvuoY-T2%+)UImpr_j%I;O~ zXX0~q2n^^Kfcf%ob!M(Gj6dg}#h=QnL%Ac4U*i9V ze-AA&Z}+Y)JFl_~>PhtpQ!+g<`vT~nZ2fIlrF`*0!4d+!as50oXsOqa6C1?J{fKIO zGG)$pf%HV5b03d0nP0I{j^q;YQN9cW9a@A(<)2a#OM|4XlIHb{f*Yzkz#t6bnRQ&u zjUVi7N(r z$`_yD51`9KqOZq&{OYX@!uR*2ky0FVsWeh0j|nD1iHIeV30k3GVXPsn{_gcO7MJz* zSU%8Gnyf-c4fG=5&KVpavhnBzgm2PU}M0p=Ek+d_j!ATXLb;X(g`VY@ zD$Bz0xTVL9L#ev%BJFTTFC{+;c!e(zC7~O7`TBx0orWpF<79+@yXVSop~(#hKJoI) zQr6M=NYj|f7c^5v-@Dka?@oTTchakU_xW9$*R2%aT2Ge3G;%yx`wfMmz8HP_RdY%T z7FrGsGt!QXe%pV)Jrr-Z{T6Ni#oK?scH4UKqZqgC_v=BicH4CEA3S7#1+Cn+>M7~2 z+lzz?2np2%=u=;zlOlN1X!@gW^*G*WwPr}oACj8yB41`s;55EKELl5n4Sj%w=g#iR zyW}X01!nVE>zyNQ4#L_n&MKAd->3gcmy#)kj5LD<8$FlcH|^GsZ}8r<4?o?5@uolc zL@}|;Zq~1_52WNW6fO!mB)oV*h!3z4I|5MT+4<(2DQsCq_3SH;k zwri5UdHm2&Vlmp+a`lE)ZoPrYt^62hb+OX6Z&bKj`jYg<@e6EPM!qV>mzIT{`rN{= z(IdqoYjJ(Ag-c1@g?Xc3HlUpL6>WS6dxz|Pr0PbcqhJ->cZ*-YVUM)3_O0 zHm0O_pG-PTeO7a^+_y+wi8!4l=%MWw{Bo`DV(I^`xSSuu6MXV@aQ;r;8^ICD-MKGr z(y?B0eSzH1YhxOS`%Su-MDnfhN2yEWnzHfE=z*6SQL*TS+HaW{u9|Eibtx@;jzfY+ zsdf&}(YBDP4^(m4IDR)(TrsqIDsMDESJbv4d)9U|zNTV40S%5br?lA$O2$~@301Ex z3rnVzz_QBtTh#p_)BDH50m6(B(`b(73*wJ48mx>u0dBYsFqc=L2awGzfsQvlOZT2U z^hQJta&^Gs`-wDmBf`xn#Qf;J`a;elr#2ojMCL*BE9-H(>eMD}W1nMu2<{Sc6BW}1 zwBwk)q%i1NT5Zyn7tHf%HtA(&+-cjpoCfTIK(9}~ONw{yfuqE5ruQNKK{#F(HYA3X zVy?DLU<3%m_tEZBDJj*t>1bJcf^h0)bZnvZ7rD8RVzM#~&bGI7(rM_#~f<{+T(?eF*XD4fV zE(kwPL&9}y8~@kW^S<@Jf8lGE{Ip|{0vV<$s+Q!Vn8_N`!FXeoAAS*Q z$*+)wMkQiUNV(j^c90#rvR4v1Vx=dV*(W8c<6h7a)V}q(88`2?by9K%YL(0e2p_&WYOCj z#`X_L;IVh5svYU+A-WMDyO>%*i#e#NC=&CsI%m22!@k}rLQOqVV*`HnuD|j#pHWRL z--nRHuZ-qE;G;v&qu}TrEpumR`2jti{DnWZ8yITvFDdFms=98Nk9rwh4U%onJ0Ema zL#tK7?bCD?9I4JGb9Q!XDS}3ikUJq)9_Z!M#CLir_9n86`yZZMf1Hr<%iho@qgYF+RBAADasDfJd>YP9VeS|@y3zy#Ayfskz(i>V7S=qy~R4QHi#%&)0r zD^H`$1A$6^XK@%6HxTmk(5g5}O^(yGmsyEko<|<$lvi>nEc=_ZG5dS=nVYABpG0Aa zQ!W6*YU!tkmIE?RGY~kihLq9rnU*7(kt$v0^GUPJx=2T6U5DABfObkdm(A%MI_+Jx zTu^@P%-ZNFOFuo(WUV7o=mF`IF0l9NH$~eBnYchqnzA3U@AIXP%hI+_XCi7yK1F4C z9-c@qstr)9D9ZO1xi>#eoU$=6h;v85Xs0-DEFbOMrFtXbw~=dI90=U@=We38B|ViA zCq}Q=@uBqiu}U^&e4rVmdQVQNpdU2$MXTy4<*<3$ex}QBig-+7fME?ff1a944;KS3 zKi|#ouIKk|`c+d_2QKfp*fC%zUNoL{Hqc$Y_d|@d`r}Z{%o`vFC2o23or9z1)k+VQ ziGh#J#cvDXRqPp2rgw5)rYV|?w*sUSsz&IK57v7Qk`w&j-8!?f+sK`&f`wml^VF?4h>qW!nab07r zn51~v!>i@AjrmnURmif0oyx+VG+uIT9R6V7XKrh(X{c9bztn1e_S(XNVvoA^t z7jA5zwQQE{hy&IBGnW5|%U;ARZhtn*e?(=oqMNlpnPoqs+3tvF$&W#sFHNvSJo@Nt zO_(jBc3)JtOId8$8yJ!nAvt7b$Ycu#)STnn{Dp?WyXsXD zH#;@e%&anfT>UC_i-C;<7vDF8*d4L4*6~p_M9b}zKA6#g+du=eG|?wrpZkX>Lfz1< z6%~Gdf0WI1KvN!?(s{sXe$}|tmi@l@P|Cn8wKsJRTz>Tb=e_=hNnz&R=DS794^FMD zraAZ4Edg_DL5n>X(U+)!H-(3|f(y)8EEOp&_T6pqcPF0{1)|+L!mUx6ffO zUCHJ7*r3+f(tKL(L*_Zv-lgB3n-PRz*&vz2lT?^6$cZ{3SW`)xc)xvW^{h#&mpY z4*21ESL}*-D@q961^t+o0%^unC*#j<$68hOvqLad$32L74fOnv8PhB`v}+oL6`t&I zt!fF=qOiXVUCU4_{D3y^4IpFQ%qzTX@|~gy1HF9O_^!`{-bAg~U(d*URw%^W;yT;$ z!R{+m>(;B=xN$ewETh7NoBYX=l3SprB-~oswL?)#yXalG_8H z;s0LWZ_WY=G#Krp11zqETE48xnB)3Tu3X)7Ss@pSzjQdyC3H$fpgzdQ?9b#L07^ysHQ!mM8R()n~HwNDziOdcC@?!(?@66Gh;=sS=bQ9<>9}JJ;yQudYkAa&5`1`Y4@11f6 zOJb!G(Lrh{WwXktv@D+TQ$EAZ2zufo^uZZYCd_B^5Y|5Tle}M}T5nf)62AIm0 zh3FfY(jMrRsIOt}9ds*44^)eM=y}s5(Apv4`K%7K2!cLK5^qwpI5&Z%E)rpm1UByr zFWLq*7MDhy7Y_S-IIN-Hs?U~^=!MT3Dl!n%ovnc)d97J5$iv!?86n=8p@8{GsTi@U zq1x$uk^@vLm&pMmB+@v3w^jBMT0N6D8|%(W+C?E%^;+xo+PW5fHuNBJMU%1+>CNas z6{5Xal{gc=TQz37^7MJfz7InnH_++x+necgvI)Yfo?>pV^r6FA+=z!w*q%-&9I0;4 z#c1LCiMBrfv@b7li<=}*!ipJ8(^c9v6CNHo^n?t=R~_G?OLD3S{=lnnr-%do+~E)W zT$_F`59YLXr*=7|t}>YtQVIhLpnr$v6`p_?N7HFB3LQ$IUDHT$sUHnCPyKa)h<$7v z9l5sXOX)Mv3-BH3{ptkrI+IL;K?;sUtvW=4QPOT?ql%VWhZl?5I5XPW@5;WI7XIgE z=X0yQEp_hBmFc)AxBY6hu5;i2fS;(hUpHlys za)_~-&}U>|54Ji93Klt3$us(&mv!v)^_eUkcJ8hH>4yGjay~10fF7%0o(8xv{;V7w zk+7CkBh@u&o7D~ZzWI+j6^S)Iz4845MO#Vx&$}N&@U*t)MygB=0!8+%@45xjfPOTy zf7G**^-oq6Rm@toA#N2gBT?EaI?F2W{}h!G6GVJg2A-9To_YO-Vqbbt4|E$x$JD>| zdm3kJ2YT;E^lZyWOJ6`|rkqXx)4*Y*pM!pPT9Fc0;|S-Gm}rvA*k2!PX$nIYj0UOJ z7movX3P(qKk?HzVLR4m;3(R`xF4-ps;oLvDAQb;XKq?A4S2lIJEtBVb(uDKy=~iuwIacB*NoDx5P0VQv_{= zwT0q3<%iAgN7SA;eu0fMZ|K_T>{@m0JiE!+WNww`YhL83v0!VF?_Vth2Z2&RfU+8B zK%0KJ$PjMh<}4p>mLXJX!OE3mUuApg&|#?)X$80qg%mZjh{p^?M~XR0a;mn?X0BEP z!$#gYeu1GgZ|FMNhF<#n@+=gtu6o+r*vSJ3FVH~VKzx3`xAnxY{lKB2B%2ahg)%rU zxImf{BS2|lbt|dRIZIJHo1yi%-e`DFvCi6S_16g63-m$ghF+!rdIm)vIX^Ne?;Hl_ zy+h)Boyc0un^s>9pXK_thrR9Aj@Fchir@i|bw@d7q||8$CTJ8%rk{t*JGvVMR24@s zS8E@2x6tr(5VXi*B$^)vloY}!NylJ`8cR?At)5S!u?FVh)+Y|52hv}l&%vntvM%Ex z8A~Kc!i;!C0b^u{Xn({bTPSrq+ZHT;=Rlv|6|Gy}ZKF!3m^4a9cQ`RWD1-I0ETZaU4q}sZOo3^35^Z7s9MiT9Gd+a{PHBg*GsNald)2D|`cIF@Ye?xHcWp zN-?Yhx=pI1PD8tjZssUxj3Hlsg)k1{0d%{ua2Np%8V21?OhmgiCOYZGNQ{A=9it;{ z9eP}kXh37rfRVwBVPc;E^Sm`au+o(keRV5c12P#f8JKGJpnjhRi5d>rw#u3-P+|-8 zS@@sjF5e4|Nl(7Xfk&9uuF2N5V4kR4M#cn{xXd+WD0}}Zc z*=CmjbD%?G7zos0YPfOO2<*uasRL`q#zl%iFK8iCORrgf_F}>hG=+_s#Dc=n`Odoo z(1B9XS3<&}wy{LCqzTxGkK?yE6UYS3WNN52$o!5D*(ekU3r$Qa*maxufiTcZ#4iCs zaOn7-AP5`D#;L`ALBa=Ar{4ONMs9-wqPoijz)`G)w2c))i*6+jsAu=F)@@(HfFl3t4zgJl~q_vM@EClVQcA*{Ed>_DS{&znNh6o{Lr$Rswk zeqpL}xwL1+UE6`p=^w?hD_=ah${Is6<1`XT62>5@KoHp9g=48VFQp`Bw4?SHwpB0p z>T=WS*B9(dSaUlz<^gEPL8n&+&;}FK%e56NP}dN0Y-!EFr<h5=%g6vT=I%ShPEwHdM<1|&cMn3GPjqP?0LM8GAm1(J}}Nykha2y-k@ zaR!@RvQY^k|4Fc{+g5xnK-gA$Gv;}1KZ!WmKt2#sbYXEz3DODFa40mbB(o@Ecw{8# zZHAmZHf1q*=z-)H#cdK{r6LuwW8Q$I)Da?p5f{RUhJ4L>-CTPhNNix9lrwdMX$Te2 zK|l-Rf@nwQoDe#0vg39_wSsDMthoyTSpb_M)C!75xUn4);iHujBD+Hh21vNsY|Soi z!Y1PadJy0BaR0PtN&zI6eY7n=EJG?Fl}zib!)O926-R0rv^2Q*1_41k-5f49a?E?=T2k0mw1B;Vjm`bSt{$m#+YLK!?AJZPq(3)yz#y*g5#{9Ndj) zg6Ph|nau>A^PR^sM@|EYc^fG5{e7XXZ^o#eD11m_la|q^pKx2tLhM}Mn)TB0TIU902G|qf+Uyp zuQi_}f+JvBBty(gbDT0Zj(0$*I&Sif7+|R!^4r#E>w7`FD{aaDD|VVXJ}V)00VOaF z$*xo5g5_ionjP4r2mwO!E`a&!8G$!@cz3Cq0iJrR=Jr(muZc|jWREyh0Enf}48lNn z-v`7#Uwpb^Y-8}YXGWki0+s*-vGs#-jj4czQy_6&Lasl$@1y3cmHO~I z|7p%C{{5$!P3KDiD@JORcKo(m?NlzjU7k_&>QZj4h>P06cIVcedlb zhQmTLVdagV8?rz2iGzI@3idyV>>&2Q5>=LC{@+)5WNebaWQ}1xTK6q%KyHGKy@MJ2 z|1(2^PieJ+IGVP=bvA|osR@n5aSEWKag&g4#d=BS%rNt1YTJSK`#Uev#5Q768wJ(y zSrAc5;kfyZ2x2sWtUmyRwI(AVJ!!a6>(o{T(KBEfEIWefM$^K^R>RD3YEeNB_}x}c zbwVAw!372HXMpeARKZ|5aE3y9NgOT14ti>*pbj=OX~kTtFic6Q5^M!mo~^^$*xOcC zQ=8`nZ5#}%z#zT?OZt7k&nLu*J?r;-lUxm-ErrR{|9UU#BG!D)ji3iIde5TT(dJKl zj-WBXAx?#Zy4*CSe8eyUfD=K&Xb{o-&(fGaW0xtjd5+Ma7s_U%hkYt!b0ub`g|dpV zEflu6eB98WahFJ5x-u+Zck$5aw9|ODkCrIiLsgXlg~7FE60)L;$CUo{UEF zYY(C^Mz5mcN$BC5$AtT|H;GzrAnHI0L8^SvCAPDg(UwX=S1ds=Np)OH2PtkCrL?sd z67Cn%%XaKKISRO0xAP!qQ|E|4EuwMDIV4e=E)9RVr29PHnpd;fv7+Mbp2MS%bD&4R za^=|@NKgXW7ECA-C%SV35plB_V>%j}n0R*d%J4TW2o9(X6l(+tjEcq^tZS>OEUnbm zwd0_Uvb6p)PN%=T{np!8^JdC21Kwz1`W6V&6R&~TB+ zd#CQZ_t^?p=ph8d9jbrM(S$Zu*t49dA{wb3U8-fLran9H7y=GX1co#Qgmv7}uLIzG zXi3bNJ*aT9tkjzG`cUHN1>zS3C_D7^9L=T@rU5nuvzCc}meB(V7|uqxtOzU~8`Am) z6dQV2_dwa&f2S@N6zv}flna{qdv7wysq$Vkf!;zxj^ehr?`e_&)ZoE(*8ij8=hG$# zjY$SBT34ZEzsYC_#orzty}46lGqJ}u??OqS7l>aIq2JKPx)I6)$;s3>l-9i{V>C(B z7P9{rT?@U6D1a3dyf9Py38Zeq80R1lCw#&D-ez$Ec$+&T|>CBZm(k*FQk*tuVX^Meq?%`Cu3dec zb=AQqpE=6+QR^C)Zpz`SUh2}^oXv5|UrmjORtRDnHxzUmnnQEwq)UIM8k6??M@=Jm z-dh>bq1g$TvMga?1_v;tjIItc-@KP$)&Fz&wlp=m^j{wXxQ3h%My{}3$G?D|fZ0(; z!LVg;We7#E*mIT57IgqgY_NhLHzwgZE>&G_$E@XT$qbN!lFISUMJT&%`X(I!d%(Tk z+z4|CY3t}QTYAIkB=-xUUBO$qmO zGv=&ug9jIXc05bj)6naYvMa|2_vHGY zrs0Zbne>5gC#O*u+}q0!ZVZL=j0JWqkSg)iX59j8ZP9Ve%192iq6mR^khE;oOxISS z>)=W!XA#M%Rj{k$YVKFVPHVucqpYm9X*5smWpbK~+}SmhHP@&VKi=uWj!Cg(3nn>S zktD%fm7Al8xoT5!0FXD>f&D&%m8y+rM8zAz}&%h4z5ak<>z2HhLljI*Sx(K z&AB>{oCUWmW*A_Ll7-*KSL3Yb*lOy4zEJ!8{q)cdb{88d9WcdWJ7YsXY%-)}1|^ZD z6uV2F0e7H|)0{o#R1?=c>3$2#^=amKmD!>y87lmPg4_L`Nj4Eb# z7F>i7?Etimh3!@3YEG~!`B!~@Voe;_?wL98?3m+lv~Cmv3tTtW2^%+IaCE=WJ0X9H z->B+(fC4+|)bh54%1J^}<=X%S*drMF7U6mU$YI3|RdorrU&fG(gxSPkiVo06PV;UzY%L5)3@_Y~JjN0=U>q1|nCoiyU!G(G3 z_REnHbz8M(wm6#xBB>ggF~e~>@}oB`u$dA#;2Ygy2un-=F;pcx?j631i+q(`#Mj)1 zk(#9I>Sfowa*hW9uTs4ytDLmeI}Bi3>FX^t3+zSMx4q1<;U&j572l=w1U~vO)I7XL zk6U2gX>AzW!h%lMS~wZvkxV6L6f-gO8~U2tx{h5Jy9=kM`>YtTW}cPH04>To!NrFD zz`hY=5)k1fS117xj$rWJ{y@JqwfDHJm;s>6p~C0Ft734~F& zBUJ=I2-PK_V~crj6jyzC z@S;XQz);P)!ptRy42d^{I{63yAoA&LB?mC+U8@}G)jB`>a&8fgNudJ=mt@f-JiA1lMVRPLuu8FqB;umyrf%z!%W?Q}qP4!q zufA?(uEq%CF=0RXmwjo5m9ri1dLIi@%BiWfv`rdL6Ju>RSsktY^Byq4j*};|RMye1 z-YiK+FOp!Ez2`U)+~|pswytKz%l-8FkriCA$}47;rIWxZsHGdNRdqOZ7)2x~s17;z zHhYn`pjrUYHC;2~(O#7$AZyENEAHHC{CWOO!ODLjk30VxsUPY!^d7y;hy1vnQs60M zpS2SGT{9PJoS3U7v+a2$4T4Un-O;48d|`No6R{0^ABs{IZWw*C+J#DG(&w)?p<_QUo9_+Qcnkx`8(JCbeyaCkcJmc#55xS8FIwzp0CP&X%Z}T~8H)$rT zv%`1hFQ=Z7OVGQaeBKJ!JwYW?|B1;9c9 zb5Gn__!rRwMZvt;zaqgAOS!L~kC4#s7Ey|ZW47qv0A ztvp<_-pc^}DsEnS!D^Nou+^d^ZmqD!c5{oz6H6%J6v>P6U*}=_}k#yn%5l6Xc6aEi!#`!M$)MxQ3B8)N@V7Bo_dvwzH^HEmVrRGZcF z^4ksi)!Xc~T^f7C?d_V@h4lkeRFz-rR*PC|nKD&L6TJL8@20lnc8C5IU%a_${k-f= zDa|Z+JiIokM2&Wbbh4z>vAN8gopt2C?z<;6cEBq0r`5GqwjUGGZKvR=acYyf_D=CZ zO3hHkWN?yD#aII2VWGJcQzX9qC?d-2h64KyNt9OHhhx`5NbU5@jd*NZXANw&|BH_WQ z#2I{HYDLL%?hotVZrv&%R$XsTgaG^YmU=b4y$uC>%v<{H%c!;2wRUQg{CB-~tGxJl z=*3iYO|xqqzd>8gwceZh`P6afM+5|5RIBWFtG7dR5}iAEf&780@2mVOH~ifyy7Vb? z9v{6w&HvMU*7-}bHOeYGg#CAP^?)PL_q`82Y&9R$*UL}O4>boF5 zX}ci$co7cgWNBIoHLkp`9H-Q-W;}+Uyo(~3EQk+n>B~dbTi>KGt`9J+4RWyDotOmKXUU6PtYg}`Y`Fuuj^kuvzhI# zmeY<|7gK$BfIhOA{j_8=xOLdF-LqfKJM(=U`gJth+V^h0*=YW{q3db%s1aE6dCntQ zHP%-#Fiyn{urb@O{(@zTULLxIi*19=|8wTcIhUsE4tr79jGHapH+2&>whufQjUhI% zt`@on+upN$(g^1C&2DwQO(;d}s-#K|qQc>EQSKJSZ{8T`E}G$0J6Ttit^hB*W20G{ z;)^O?-ZL}peB9lMp`zr)yUt#l?S|A(7ybSc7*W@MObRihtdJ1?s{K5|*q-wK+}Q%v zI5$~pKX#bwOt!K(^ht{Rwb1HPneG%H5$o@x`+H}5^Z4&nQIb=ucpAjjGP7L;ylr{W?#Vw4Z)9bsdo8Yk* z2}``#ik0r)RsSk^9G}&DAgtA=DA-m2aJ`ugglAb$to=;0yI4d=T>|I>Q+|offjUT2VVc-7{O=e7A))QTrwEXKZ|e zeboKwx$!}zNx#LfePC9C82<(B+Ansg`~Ajs-hR}zP}-mq--nDZ#$|+cl#D;mE4pJB zofV3jx?z0OZHm<|lFAUzN)GvsuYyMU*X`OEQTrdtXyeuG8rPcWY9>&IgOhaWE;}1F z`=iDaxLJFRF44QuRX9+M3G1xci|+%w0{o?qchZBAOPTF((T#+x=Ftst?UArQe)QE- zH6Qi_MV&-j^q1RcsG}i;#+!?E_;9OrUBmvj9O6^_FK7gJzfL=U%iD^q8!NBvx?7`F z_BZ?q6fVH$iHSC zweEzj0cpQLZpJ;`gWjJdA!nN2Z!v>U*H()2_pWuCYoqT%-W>Bn7lY5nCZ4tO`z+iy zmLQhwyKj**Ajz3;5!+oL+yCux1Fc;(&ibj=m->%q-dDHw{qaA$*7$bo0KT(Uv(emN zJGt3i^L}vZ&sgv8!^AV{=5{q_Ycml%Ul@X3S5OE1pvrf*J| zYTKFyn4aYo9P!_Vb@^EO((rEZ9`IYiA9N*l@LvTR-p%p;bRPCg=bPQ%DtQ#UypP`) z-V^ObCL-aplss%8D9y>V4}GF#y&yT-VOw5XR{+97yT(b+Y26LK^Jj+5b=3c^=4Z0! zhMIJ(oyU~Q$71K}Rxt8!kfl_&&dG)-cgRk6>CP`h_IFA8upp_P#HqzTM?#xx`>Oso zAw6lrU^RGY|3dh7W6KldyxV#{H&>L8)Anomhio@ZH#lDAYt3?MQGct8HU`ixT70PM zQqmqzOeCJ?IIAYafYq|bd*|ddGLhFsWY!#wpA3W_jNxsg`k(PWJf5~9z+_cDqGihE}Anx|ieLHR$NvGhp;K1Oj5y)2GjQ}UtXJ*Q`; z`gJ==SA5)6EBE*2f6vpAZ^hRayT^&#jivtgx6eF&^f7Q$^Gdp^iePVN)M}f@Ky1kR zS_kbPkmVLwL1e}PpV zw{du8<>6y?nn3tP-`jhqqnmtqj=xiRmP$UU#X(K{jm#Kvz^!%jr+z15xf15~g0E)D z&W`jy@OZ=1yBfct{D)>OVa!2KuzkTXaGP;7b4EK%Y@XzJ(7C;7eIflV>~Cs2XKpKY zV!Wm9#GI7q#BvVRIgcFf1b}c@yVW3V(dTSh{C|mP5+Lt}{`^Jj-?Bqt@&4X&9axj=< zrvuyXu8OP~^UGB3r*nSOr*l;&-Bb~0WsZ`rdcJ6fkFo|#f}ecUwx^e~W;Swbr&~X5 zVeu|%|1(c?9(m%%VFef(h1%x%%&GH>^e=2EK@Zv6(eA#uepmBbZMv0q-2kJ$o6Vl+ zcXd7^&TI0#pX3%FtFO8Kd3)NY$RDGY6Fz2(vU97i`LKSy=ZPmeMD(w6FrXM6a(1Zv zmB;e+>d5#MJJ#N0{?r?E;?6v46|aAHEBX4RkNSOg zul`o`Z^AxC{$+3BtkC!r|L33XM%tW}HOyv_;~#MU4c%R6XD=F4;ZKwOQLY=tcj!VR zmCt$;RyhNk$Q^%=HU183lV5V0H|#oQAZMZmkH?2xPiHbESMukQxX~Ey@#m9?ixCJlIVm;N>6e}H^fJBNPDX6L`qZ~JYtws!6%SMuEyU;|@sZx4k& zL9ocWxyZ}IX1I}0(5$F!t&&woTJS%+G~$%|l}{b3?;r4`RQQ4+O&jcbkFWaGa|_uB zGt+U_t?ndYa_Gq!MZv_4tbTxQK7qD_dh*^fW<0Pgn1@;!=%8!6V05xI)|Yo(RVGx)pWe!l8#;`!OyeC_5!-0cqA!3gAl!!ppI74(qB3 zD>p|iGSiO9Z#@)(9d1F|0py;{LS4k30IZ0dzmQ>$aXq`LAsj z&k7szJ1-GuN1c8lQzGn1+IBaWApyaYB=*1Bj&?=)UE9&c_|U4;OsJ))rqQN))oBi* zQEBLHBRX_?3ItuX&n7aVl7FsGO{AaF(GA>>ChS9`TG6N5RJ&@@78i7%3eQJ(&8eoF zs+uyUqKf?b-(bg~kCdkvW^1QrOIq7cD(Os0EuTZDlpDe&i`+#&Yo(^Csyo^yUH5*8 zI~KlM(T#M{R1|dN*B(j1j_n-`u)w2pi`y5qr$IXo~v1LTarqqL*UPp{=Y^3anS~H|2tnZ zw5y+3TJrL)vLRKbJGCv>28_y=}QuNBm_GgpVAl3Z9Mn|9XooG z1O`Zb={Ur0$ganDyZ#>~N&GE#^fLcs8LRwekkPj*XIrO~?vc;c%|m-Z;#t3z`L`Sj8wUPG(~Zj>-y;`yoT9&X_khpv18O&EJLHSj zoagSSm3sNXcf^ObcVIEd=duk~N&kC>9b4h3-&e2=_!WV5uLBJMzvFn6wi9_JIqi*hBuE)U&0;r z@xx0T6roauW9Kfjy#?4EK$?j=j=H`-B67OgUQ zhlL^K3Kb`Fg&C8nEmv**hwn}=6i_Djw$F-Z?vf7EL22o4^q;5txRXoWx#c;glX-tH zd7HzOm#&u|8@6R|*5Ayyu?{OO_~V=Ae#Ct|a?V`+_k7eRc!IPHe3vJnzwaM36Q`W= zy#aTAczaD^BZ_Z1bpA5Vb^0S`?%OXb*SI5hPyGIA;=*&L{@*#c36Kyyw8$M?o=9pi ziI(ri>?9}%%6SM@K`rH!Q|}WWP6zUICb($E+swV`=Mx_9`3p(6$EB9!twd~bC23wv z`8u9)&UO0YE#})k`S9>}M4dC7#QIat$M+ZFq>FRdQzPCMNZ||V! zy8AEfXZ0W9HO3usuw{Hm(*CwU^@c{K)&|?cA!kJ4E4C_`%<}#2m_KLeNY3A3I7vF+ zd;Z5Jok|3`4SmC>94Dzql{x1a054bO1HeNk?uk3+Fc0=vQ0W|E7y%{YP(cN39gXKZ zcm!5vjq47-qMz+}xPi~NpLiKCB_qg-!2qc4)LZ5jicj}gYE1P0jy*f7rqZhK zXeWs>d=+kdX#5bN@bwh#Eufq{VGwRW{ihOW6q49bJ5>O-jjjZrNO?kTodx8@_( zMy*Wz|Fnl?|GI9*!hNk(6NB7U3!Hx!V_%{eBfVx#o_vYoGQZ!cyK-F8=fgFMSkv^^ z6s0t+{QfGO{C99QYVbD~9529e`M}M6KQ8!esq*GFVH1hj(IE71q{T#Ps6CPh5`i*0 zJaiS`Ol3bV9hD^b%J>yXA(f2z3{v710Yb+t#xSQe${@NT8HaQOa4u|Q`~I1Lc|GYi zeM_6h`;6ccbOJ3wSxG?+taLi#gk4%2TAWDSK&%UfLIkF91bd5OB^KgPfs+xWr(Tv) z&;zFmOl+G{qsCAn-C$0R0SY7*3qJ5i6SmcvG*STkEl3iF3&Ki*gupa*i%%RW{6Fef zBcVNf5D6U{1KZKo`JkZ)9rOrITLD3fUY2Q&tE}&XuRtK9XKJu92%oUclmw7bv*?uK zm>`yHjUaVtRK>QA<7tmo(V|Jy(mzy3IH4@U#<53*abN>oFiHRycZ?c{kXu>2MQ%36 zp^sb#z)(V#dV5)fjqFfTL6kBmLJs4Wx--;-V5d{t8Fwn}=2ij+zy)Id^$dOVzykP<16PEhv{sS_Hn&}sN)z!7_(p0~30om} zu!_ql><>^#&NgnM5ekGxLT^UhfwOVLv4~;nx^3A~LD%KvmTm@Wpk_-YbYXA=Iffl{!d}6fzR=iu5FvzR3K*10*n?6BAk-M7 zWGhbk9K$G2!m+>+4DN--pqE?~1VIP`*eyLp|AdVzSleM@LsdB-XWIa`?`J|7SGZMo zGK;=(84+j>j-~Ms6EnsL8wC3dClUt}>NpxUfZ^7pR)z#Ij78Av6B)q}LV$J&gn@)% zV;B`D2HFC*-MSM>^h0)TWD7ETd|0rG%b>(^kOP6B^TrG^!l<-%=TY6@mg~rMV_*&# zmzav0-D5YGF^L% zkqaXr(RR&>KR&2_jHvs_OK7aegZ=44;<1|4u)fJU%Lid{2mpG+z6I*(;U7IV$^P6)d zzxa&!8KozAL}x0F^FDCV1dS~P4kH3$ps`fcm8~SlkSn!2sU7{h!-jwk(zN|rB)@`Z zc_?K>350VkPNXg)?j0OvJ7Wqn1r7)$r_yY@S;opCR>RkBgB7LR}AQ-AxR8j+alMNoB(%hq)f(S zLLe-Rfk%L+a^PAalZ-$$_JNSigRVzQjm%1*B?~}^pB6J_)RW?1A-8njI^+Y4Mi@h7 zoYurqd&Njti4=~|DO?RPfJ}AKaGR1Rc3>d^tUFQhA1t2%g&lCI(+da_h%t&%+p^Fy zHfJypIIDD!Um~!m0Lp&<3OJxETv&+3fVP#G#?aWA5W-e&JCQiL?!TY|?pMxI_BOMf z193`>4m!p&N)DZII2pRo0d5hdIu`b{i!cwy@>?C>-6+{oU$Raw4 zUWEnG1E3&!p&BI5v*%QL?Ri@9B?3OR$S5<8-dy^OFe4=((Gt|?m2;W8Fe_r4UH?=A zYLtJH05e={;Nps%GMxUu_I<&>;55kLHrkZyL@|U3oN-d}0NnxUUki+iXTMYQ(I7`? zkCp?WN2mSR2mn@-ZT-zd22z8qN^;BsF&l<`bo&LYdwzVRy~NNj0Z{E#lESt}j9dzV zV-7MD!Yqr(VZGA@O*{H!3$HI^6&AERh(CshIDl-h6Gh0C7En+$cl$KzQ>J6!}JAdKn zv*nQzYYL;+ULweYtw?kcVK{F#by!C}+Y-1Ekm=qF`n&r&@cl2TiyXg^p1-gQ=o{%) z`%CJm_%Td?6ebZ+P#F^$o8SgJj3c%hde2A60dW5x*(2Icg~yRp62P~W=4_6$SRot= zbyp~o)Po(v_nnr1Wk_fg+ByR^1SLkC#WUf7Z5oBaj*lcPWa$f)^zSqiR}j(h(+t(kB$o2;c$&k!21s zMcCngK5nGxh6F69aF$Uq8yH67fIvR=kz)v1fc1nV3|hM2nQ1E;8QOj@O7s!+(2CDX zl*~v*Brt}C7+63g z1PX?_;f?s_}PMW0<9o!p&4B(6k0R*-J=Mz4m8f8LKRmV}>rjmS!3x#Zpq zGfQb1U<({~7~x9U&~elztb1{_40E;p_n`4JnRv(UQ6LZ9Y>5Y8$ehDfK*r}gCI3- zxDTaCLx{ZGrv3Bhxy#{Vyn+@`n|Flz4bC>UafKyXiB--c6{Aa1>dpQ>@>W-;+C?cW zJ>+Y%RB);l>d>t$C}Te&d)uW8hVOw+Ysyj+iq8#C(tgIDb{+In_@b16;bu~U(pEaA zBvc8kf-;}jF~03BmZ`YV3vSZI4@x;WF9Zaf2n}ruh}Ln({B1DMjVX`=U_@<-RE8b& z;3(zbw{8}3VQhh6#9`2Uud$!XkcEP_EpBqkt8rPu{2{uO64S&|j8e)SJ(|8m@;MX^ zFkzusC~cbvxR%-|khsJPGHs-b)sA)yh4}~hOLYN0tXtA$?_l0t&ggZaMKJZYd>^bp zg#T%M#-i*DUd+48WqPtO`|#zQF$OPwsLm6-Ak4b}d8n|$0vu#YW1))C1&fGK64993 z$TD#l_yhJG{y7^k{GyKWmFNE^8wj6WhBxL!fE;#53s~1;p-!Ee`=BzFwi1)|QQ1BW zd<${;!3+J!?uF)}@Vv`V$ASw*ajQ#i8*C#G2HQ>90Cs@b$bSedat6MEJBhjq$pt)l zm*9-^Mr_j*OPQh(Wgr4UEye+x;z&xFC=7f9X`s`y2mqh5a53*Pr!&RZcHqlcVI$z|peNgOPVxhEw&Xe`&WFSG{OfPs`Z2M-BW%0LPlDZ*9=oQOCm zgmfYRhErQwY%$&WwZThokAKR8r&-2VMz^C^(+mb3kxC9ErVgPh1k`o48Op{CQvgUD zB+WD3mNlfK3jhu%e_Ajmfk|0`!QN%5f=Oesj<5F8jBQri;gM?&iqcF8?N zy#+b=o$s=wLZ9I0J6CgVU;s&rsGa>f$W`d8xh z-ocj;4O21CrtUs^66lFG?mn{TUFMSjR8TCm@g86RV%#!2g;JOxhXwtBNdZwyLhx=u zRWUeBF~=TR9yc*iOdsS9%O9#Ua43?%SIw_LB*16L+#}hHt1sL!{n0Bw(*3`}uf@++ z!R*vNtB(KpRhVNQ|Ft;QDnl|=Ya>_KRk1TA_Zh$r-&-`UQI}!vdbtApv^(1OM}zy* z|FFaAVtQoL%NRH2XGmFro2q$Eo_4g?uA%>HM9?&`LFnel?>>Zn2vIg2+jqUCZEyS0 zT%yH((9CbEE3)~<=3CMBerl-Buf@5OM-v8J79Z$JfF0YwIY>tU2PB0`<%Nc{t>oYf zS=?t0-r5q~S8=!%VFAJJ=yfh7eE9AcfS1ESP!<9^zF?Jz!+Jv%Bt!@!dg@ZI*n&hp zv%72}h@vNGL0Gy}u)~);{28WKqQK$#0u1<@58^I~4ioUh^PxcKi52dKU!pf?LG;Kh zNM0GUi8Dqa(Sf9i-o!hWWBzZ7FMMd>-yC-M1n3EhX+1#Z9WZb_lc4^A1&B}`RyYPS z3e%k{kc30q5^8YYd?V;AL-9U7b`rh(qh&{} zb(T?wM401%Z}Z<_E8JSvDM0CkRRqH7ge44eBNXXFm~J&uqiX)bp2*HeN0`Mre)!1$ z5%n+%3t(M`#El&71oYr-bq|{ZWpOgeUcTpW?QHzww__=F(_Tw%oMR!EzKcCZzYStD z0k)0`r;M|#j!;FmlEERimD0nNd>L&w_-dT+{)7m-2nWsuar_FWD8x_>0hhR-EqGUp z1{-Wd_x#g2B@(a&zU*skj;}8QA~PmC#F$cs;Gj}m>W7abbc7@k7F4pwGG`G}Jbr!` z?qhX0g#CHcsG{|fe;2-3ZoFH-XZ+Jp*EW(+=#uJ*BUm5Nny!VG zS>*}xoXu@|y~B15zSjC+wsL>#ri-BOVBdjt^P~+xh*4X#n1?YyI*a6$AT7txz}p4h z0SjWO;^xnMt+2qqYa%BO^Gmk?C%FWk38&|CRdi1!^&`a;u9o~-SCweFSfT`Q*rrJra>`;hu_|Ezf zobh!l*tHQa@d@*nmAUnyZG~^63g`vu?2MSqCpB(t!uZ-Yxr0XN5j2_eSm+h&lF!f@ zhce-OZ7o>QL!}@@FQbC!fm)Ega269Wvh>7sNpWTXfDjM_00jUuLq;S30AFRU(iL=7 zsHAFOe7k%0yQz&pR)r)$sAS-^jZ}QzSB7qZab}q$VYL$X-#z^R7?~oQ82~_p12<16 z{dm-Y58dQq@4v633Vrg=)$f}gXhC5)_XcE6Xt-?6fOnwQoi;#Ygpk_MCNg7m zut53cbs=Q`lvW1z1PoSNdCCA~KtWcd%EgZ#M2|{Ca~??__i>2;01*QsngFmbDCa+a zH=OhR-{0LgGi5HB%QLraGcvMm*-Ms;CAlq)xm&V;C`KX>G*CdIAOS@v0tvxUBtaAc zAOwN<1?lh~Z6#Ik1G{Br1yD9OP&I%<5X_^WkinRFF#-e{ZOxzi2$Q#9I|c$NCpI(OO?>u;Ueob`fl0(}q5yZG%+ z6oF(>^gn&Miqj`5N^Y%dvuRfGC3~3_POt8WCjDJ zpVDHq!Phs{Xkx+Ix;2Nlo&!4wd($aH(0fyt1dXWM0zG0-ux&je?=j5YweNte#-$+5dnC{UvV9jTcACh6(^2Q;&aop?RL6uhcc zy8Xo4rJNVpy?L?%pg!V+*zeFnV(5*(1^G2Rd&9by+og#BZpLmuF+%Kd6J2LPcU*+p zM>U~_eYC2z_I!7=m#cRxaL##)GojwKtz6nb;WhT_x9rRdMnaJbV7IDIJeP-x zpeRC&3klT~xkJrcHw|0M1^21TMLtiB7p+V6GkHPTTP9yRon!1-ai>N}JENS?u8(V` zE|meDH!jtUT-DJ-SDgYqBWV&RZ=M~S>PN2Y=OHw0u~tz-(^*Z;w^nNuB`o_#3ukUC zaktc8F^zEMtv7K+_(?;G=l1BY7)`Dgy{(DaW%spCv)J5B&WxSb>{318Jl}htqQJ2Y z`ndiin;j8>S{?gW=$(^09q4KZ<&TJS5)OsP->f5;5S@xBA=h?5MelYKAH;ZlS z%+I`RTg4Nu+j7Fd28;?S8}cfcj{bdk0Yy1r% zG`6r1BKE3Pb>eMLHGOW^vemU0S!zF?n9Za#W*U6x&EqL_{B?LkB9ge;)%)w7Lgdpw zHxu!eRB|D}uFn&Beu`+e7kujy9c(_DSzarhIGVjpxUcg0TDADVltpHsv8`#=2$D!& z#8|6?pEkU!F?NOU!OuExGZMYGBOyz=L$v^J?+@OyIuGTwdMO$k%|LI~leQ@zx_ict zjEo6(bwriXerI?DxIWwn{J(#j@xigWLlB!HeS6b*FUvaa1YCp;1SD;^(EtyHgwqt@oAnjoqDD2?~9gJM9JS-;^!6JT%GJT%2ib9f}z9mrZW{(dr>N6%SWK;g|d zZit$f-6+WC$L>*i#TSg9Qw814U9mg4YecGCBq&2a|LQ~}{DBzQziKyNi}$Y>PR29a z4Q@2i)g}_mQl{s$TOaGJp>J!q53MSP388oPeWslClmkI`BT3D|p}V@jbeGTythZ z_}@kyRP({`q`yeZn+^1uP!c{#2{wsevCdp#kemnulY16X?n14Xb;$iO;YB@xMeV$)QF_rhYfjm*o}-Dwy@tRybN($H~;x|2YOAh;;c&lc)29c6p|36TkM9o zQ8ER*aHj?s_fWZqS7Y-I`V!hmpIqchE*p(Hlkp!DFHJ*Q)>f5-8;T!eIX~Xfkhr7D zpSuuzN@v-a(}@%xeWc-7^pd-i6uo{@gjq08(4r^x!ZzLJZBMY{H=ca3?W z^S)(mlLxK$*%a&*K(@Kv=))`+LBnT?u<*-E^oL$8U3$kpUqy-)uW z9ubBP4dl?NHLZbxxNP>p;r?5&E(gm;I`5+I0e}Vg1D!-Ww678k?4_(araHvqk8MjB|w=N=PH0OtL)>r1kV$PxX0xpBJT#B{X27XlvjA-VPkN=blYM&^uFJ* z2RCleu7P-J@m5x+^x^~@k;qnus2PtYceYPwZ z~qRke8-dNL@D*TXDr?k>RF>>W1f_?Xd~|bU7KlgZ=8G{N;U4|1~A1RWbLM` zfeP-*E6-z}F8P0tuFE{5GgZX*7^5W4GQB7q4#yfX2|n}E+NDM)Jf_l#2_w$lt;P=f z)$z##rNt?YoO$>Ndg9vNV)mM2r!mO*Y|)Po!St@{?i|+3?US|@O;n9;6S{Q4ci~CI z;KP2NW@Zb-b!|Zr3wx;TX`SR&I4~!0%6nA5H1|~;)(P#R#7~`Z@uFpxg_p`+SGka*k)!WMVPxVl#c!8nLTkQ54e(P6{ zDP4i6rN$E#Ql_9KM>%kWZV$Kq?y~DSbZUNSdWy`QPR*%&C&QKpw+LK% zLJhQW0_}c{?*Ma%sHiEwJUawegvrvR&-;0;%vlrWrSby84Q_ z$_#sI!#3)8o%0v#LP*@0TS1cK<#?)5$XKK~#B?ik6S)VWPfX@QCC=ctWf6A?L?Z90 zZrNi1`!U(lU1C65Me@pyf|6;3t@eU(!#~MZjyGI-OE5{R_Mr5=`D~zj()*%uT3r-Q z+Kn86y6M+ISEI-`_fJ!$x`c?dN^f*3ybKX(*O^^hNrLgVXl_R7(V|~=Ke;Oz(2Wjt z@)~5s)O3A7Zs!6N0xVixs6QO}#d3N_dTcyUtV} zgA7sZC}(D$&ec`ht`2{0oH;ui3`=890gv*QY=j);V*d8vLr2eDAwUvL(dxm_V54Ww zA7?h%-gM3zNyXg$-S!(jT<-iN`7`jRTWx7<)u!OZ;|>{@@SIc9fyLf<76F%Nk5&gW zP73D!2E-0qB=Q-$(OVe5VXGNB4By!Ri|Y16Z77a8fO+f`u9FDxgoCuYFid1y`;5D$E&;^Hc*HH7#vgC2Rn75}t*SvyUh1e`V?0GyTcc|p z)go(HcCt6*J*uF!>pXPCvMbO#l9xt+C6J5UN?6e|A_1y%C{7+uR2KIpPXtGeqgd3QJCr_2Y^o+@yClO-9H7c54*@9DlUB@gKj?8Y#rLcjDG)Rn6L6 z@+ny}!<}Oz9R6mkI1~*C4vw;&UaJag`|UY(0vh^PvCHPPewF3y>S)w6+|+kCHbRPK zmVE{0 zbS=MGU39Or?fhFThc};7#GXoz7ez#M@h@zbvg>E$7o>|(+~rQrdZ!}TLC_e3pNZQTb;_QsdEwqY^t z>pU!PEgKS1uAcLyvxrlZSs44Od)DErgco*+13t>~h!eihGT=MLD`rleP!0Zouw@Rz`D6xJO=H@t7%Zyj~FflR<75&)C zXg&1YeX+YjAQLa++^LAM%UCDrbR#FxW+J7Rle6X8 zy|kPyE>n{x^Z>;krXDqE)(X$`5nbN5h5F5DIMS_+rlM|}4g=IQ-LkTJgbqb_RWkGl z8wu2;O)GH{>7`qGt~jqt*UNBnfEoBoTi+_^o5qAhBi_BFKLd= zyuPztamZd8CYFacM_(k$Xd_L{BTV=;+S>>@{?5Hedj!?u@&q*t5F^qgQq+Oa6o=$% zX(S>l$5~RMrH|*_ytrDayM*vu?PGZ^O_l#7H#&h%MD&VwKI*9XBG5y`6F-Oo6Q6AL z{S)VROdZ=VY5xdJYDpyEgo+ONRP;<+8 z(_l+24oJX@)5Hrw9^NtMQ!lBggTwq86*)f87IlAeh@NA5e5U)=ar zZOBQ8n|b4XZ4VCMUt^L+K(2#TXtB zRq%z98-c=TON!XT&u_!9c;AU;ZoCiz2`wM54=A>j_6>YRqH%<4kCl{LyL=JFxMF`M zar|30AN&_XuE%ktLtQ9CbrzV7AcQXAoyZ03Rzgf5C;hY056MNJR;aGSiC(GBl{i&G zPr$yjql0f->NEG})=Rg~Qbh^Xfmn0>OLQ`^G)Epz4!S#icON-1(tV!+YVFZ)L8>^q z3j1T5%#nhvByFUDxP+l1k8B)kM3H$AfFz8vBvF`TP89^6yNcEo&gGl%?jIiv9n^15 zRRBB{hq^UHJeto+qQ{qi@#@ta9yV+9 zal;K3CAsUvbaI~bZ4OjrdeDCUODCH~U7_ZQ4Vj~v1E!_|(l-*8EYbnh?SPXs@qz$1 zLtOAo;0Ip7LIW~rX$}M)?e-icxE2dti#xcyp8U6ocZ1uq!ace~)VG>~4RHH7q)-sT z{RJK9scIX&ZJiOJICnD0YO^End|X|j4D{i{@C^2CvRF|iMQrU`tpu=7|0#(fkr<>G zarh^VC;tq`t^YS*;SbFz;meG$XlI~(lU&$S0Lkkddkx@T8`qr~^M$-SDhTsi$rz&2 zeUPq<359QUMluYihO+2{NWI%Wbtpv-c+!|4z6g~uGOjlIl#sOzH^x%l?XsutEBS0| zE^3u^6d(NR9UG5In7Ef%q-0Vy{; z2|ozhiwB#;u1O`Lj)Qw^bDly}&q=tgH|9Q!r9R;UkA&h0<^SAeST^-g@808K2`OE| zD2;VrbEJ7Jz^Is$jGcfV^CodMLK!h`h(t4+>Joeo7h_Da7r7C9mFl!tE&%q#t)^b zINPTF@l|tMoigX}GAAV4(ves39RGe_Ke-zpkBpJ zim+^3oKYjXsFIdU^7&1t#9N2ez5CxKu9?W$HvSCygA*gi`K2=hYEz$SB#F~LrHsC1 zD?P#Y4L4F8=k5O2H>A5t zXueiB&47A8?y}r>(Pt(@No^UJ^8+#0C+n<7m6f88Zvhj1RvHFFtuRY8e4|j!g!3Zf z>Ok+5TnFU;@3bdM5@HEJ=5=r7QjFXEEq6%GuOIUoU>EGZjYG?MF0uVsn{iE53leL5 zU83Q$;g==5-X&b)?5gTTPAHQW2NAeqB>5CNAu{oA{jIcjcFZZf2aHVC?bI)aOjZz$ zA)FdFUwLuta#b#!jXeaIHnH;1Q_STt>ydK9Y+wx+YeR@wB-(v14vsUoTDCO zh<4bhS3jGniwXc6O^)W6WnvGK+#B)H4K9(H(P3?f)XT# z8t8%PI8K>~ zSJaq$s2HJkVu=oJ%Qx9Bjj#IaN``#RK5w*gwVZDZkGtJG?@`w~9Mbt~aSj6}nz=(w zO3=69EEF}31nK}d7)Vrd4xG{dk;RnIn-K zjQd%)wG5~DDQd7kQi`u$FKlC1rhjrIqo`D-F40@Z!m+e)eUs8Ve4Vd+lV7>7k0sy? zy97c4tLWCfe(A2Uj$pI9w>YGlVYjF|cyL&k_{uX zbP$RYx);$3j~+TQpJca7UBV;yZ-4*`@n4&jWB?c_fN8jkG; z{w5IS?H6iP^u zX&{cr3Tc-Z30lxJWs^C$p{dWKo5h_+G4f^Pon+~-X^J?A2g4KT76Avbd#G@tK;d)= zp_nnU7p1Fyz>JdC*d+_{g?<&EH8AI&aHC|}=a`ZEI=hNT9=&n_x`b4=AdsE}4R9wY zc_4sEVEc{*QHZoKae!zmfPSOSgrDHJ%Ee6x#qxim9y2AO6MX_n4sjC2!x>;B*h0gfQ|(nS^y+Q3Zj4> zK~69o80RNK>lBk)NzTy}A~i(Mx|@HKVh-;a`bp`=I4u&Z`?ogaN5cjjuu@O z690&WfLGNe%CZym`O=Ox{$*pF%Ol`GfG}c~l!c&mOtel2pg+(oi5`F?rX(H>P2h9l zh^%3h`pfjA;K5WVDbIou#(5gqu1%h%#ED9#o+t)cISv4jbW&-#PgzP-HY_CUQKZ54 z6eR|7)P$LM0#peTONDhod`*3uDM^C}Cis~=JPoo-090`}l{l8N*LAg)GI`E|Qz0%L zE|K0>N1LgtRb9$+nD>d}?h^kkN_lbHk}mIU#%bfsFAfzh>@;fIBpQ>d6OT%nx`cH~ zIS5k&GEpJZhyw*sAOO-ZI84cL0Zmrajt!xkF4tos5Pv@-q76I#CvlXQj$fFnhUT`{ zQ9b<%0CB#YTp7%yDM)H5nVfIrajZZ$Jm}V&s~L0FlLv z7DEt~06|10G>azC;XvXnX~HE&IcZQbumy;8Z3H3V1xhPJiIT>f84Fu)V=;cn8Yk5y zag@N$Xfd5aMLs*AyGV2aC!S&htL#;>0N8Ninzp=k+fdx{zF(M=mbeHAz*J0?w~i;% zvbsZwU(7_Y1%R0%Y~*qtq=^&*K_#cd>zZ1i+9rZ`Dw=Of26(mj^(a7imq;mO0(Rnr zl~zChlwg`LlAMibPQkjE=xVA3V_;v>Ds#$13-{4T3DGnmE%HHEhZG_uZNZwFO@Ij{ z4wNAGvoWk3jn5M5=qTJdPn@Xd4scQ&nYD4qbuqhDPy?Z2mMUr$?v?sF;Bf{Ddt%g5 z{@dd${ri%M08+d_P9%?x5($-KXZAk~WndD`-{^Moa45{2h}pGRVC$&>GJ(sVs4}i_ z9C=CHjg&E7_XA5+`!DTgXM=sGSH43H3Vvm`-^P9)Me zkpiU!CekQz(wjLRt#~`lQnNXHe?19%HW3$9p7K)sWAUWSP>x2I@WpauEJq_wu`h9g z-XcE84pZcpLtR8ek-OjJkP>l30?H_dW=dj^B!K}43e_zEfG`}#h@^M&B95F|(Isxa zc&Oq8^dl1@#B<^2sKWyx#)->JV5Y49oTQHJ>l&5sA^U#8x||R%+$EKn=4BZ*Q&dIJ z{;3|2uletl{d@rM$Ekn!)$}JwqIQygG*~18E|DLt)YL!p>(#~2K82nM!?((Q+tl{# zRGt!w)b0MSjAw+Zw~hL&RE8gPdLnmF?0)!^><=+WC6=k%Y2Tipb;tGu?$&XkU4nXA z?>v1Gv1jkc*?rxe<3PJad6QF=FxiYU6E~HBzR9x5I7q8YBw;In^q4&qi$ruJD2NUP z_)(C74wD2yInz``?y|Rb3oP^@I&wV(r2R?CKIeDHppaVD@*qn*e4{GK5@nn?zDsvK z`kCj?qtm(SVq*%x@C_bLS2n^Cf%2C50b)pE1AwPYlz5nqPSb-tBm5jGib22`f^dg9 zniiK~69Jo&_G5yWsfWGt>jM<{43bG3Q|GtA-g2KJVt5?+7LZAZLoGa0m?>$3Y9b^F z2SE`a0M7_XxOaO$VNkEbH8#IFqE10v$xy_)x+tZiZ>SuAU0M1yt|EFC z5(R-u)I2ALm5G_-QKL@+#4Isyvh);Ja*y{ZU~ulqZ)s%ve|Y>6d~iya%G#9)Kj*jwys; zh#m;wnNPSiF@#YD8RoW$Y}Edh36q>>6L51V2ultTF(PyzIt*IUgaqjB3LeMBP4NnQ zDDEzScDP6+$ee1$c-#g_5R(-7)g=zI$pbSbI7t+AEkTDrQQhlEqHH)+6o8M#*Do+q zOMh|h>Vkhr#}enK{2l;yC?N~Pr6?Q zvEg$5=}0UEu}ezYoM6c~Vy$eC@IikA2!s;ct++LAhz zq2r$W@SlGyq~s#-0Gb3GaiFPZ?06ucLZGrmu$_paL3hzps%98vy%k~(Qy990K(i7j z%eNp#Jbr9WO7o_uu2=rA)?vru>k?vz2}F*}5qybc*}|!ngX{HoN6Oc76KQDlu91nyD7LX@_SPl;sC1hgE zED$c?@vIYIvxRz=E~a-*--=HzxutvZCh6o9;$U!HjP0C2qp>qBkEkWg8B;nZZ(WbM zBu-U~2^BFlL&v;MMdXg%2bvC^F{3!tyyV8#m-6Tq^WjT0a75XLD7W zLP|=!jQ>duT_V$tgc3*Mus_7oY~j?(X|HWx&x9u!jX2s-(TsXIoUjuoH7<9IPi)#A znzSwf?5%w<^B5cx-^&a@U6w+aJ~gA5BapvUH@P17F*;)kQ5=b< zXLTHo7EW=_m&Ji#qU`kw<{(pQrb7iOLsT{|S zkj!PCQl^2e`mg)yUs7OWeL~MFQje5G#OXOoihQ%9juSPsE0- zfRvX=tX&fdl8B>wx8x$PKi!#ilmA4AIfq?h{m2ULz!02Zp0FCg87D3n2L!?iK-f3| zY+93M;8=L4YNgEY>iP zow2owo*$NnC&oJF?rELhKh{G2IsP6MmuN3?2V*L6`f2)kno4>qT6(2-mBWk-a(KCV zZ1UAR>cMjNmwk7;Z+?;*n6@YBWLS9GNj4$aI{?Jr(KnaQ;=;da=HEICNI&qqB!~~i zaikb!y~_F=Bz?xK!?O0-ug5Cs$ z0J9{Tc^n0#5Hdq0bPFnu)7S~g5*$mIM;0YOnAMzktu4uq5wIzTi34SIK#(n*^rA>g z#GK+<6AFiqG0rF1>!50#LZtLb8pjz86vU_yWI@z~yI%z;k2ox7t4qN!kT@}~i3Ux^ z=FD?V$%Rn5D)_Z z1OPHqMK=HdZ*{ZkU%+Xc7IExg?%vMt8}x*Ehqf{m;7<@b8VG=2s{;c?M4Ozu8)0Nyqq~hv z*3xxPDROMxcP%1mtG!OJvl@n{8lJkQ;);YlH?pw6 zz=2Q*1i)kg002e~jAj799?so+-+S|X-pzOS?QXk!-L<>6>2B?Iy0xjuBwKX-#+D4| zh?)Vggiw+I$wB~81yNEEqyY0{pA>)qARrJwK+<1UpTs}X$Vmi&EGuhl9zI*Etq9<* zeLJP4yRF^}R+T%Ob!&Du)%Ghp=6>GKRO~Qe28BpfNSrS$ns!uRq^R&+18RG{gD*+- ztgu+tHS4DLwEzpdRv6#AiuN6R4m{TiY}qyH+&}8~*+AT>@Ubg90z7~vBfjK!26pxL zVtAP-=iRoyM%n^OYSvp@pI>6fZR5onv)S9U!(Vn5U(9~z2R}*#j*)-v1jjQ|QFqHo zcUt*3B`9|LoSpUx;4SQ1ftbc>%EnUKSUaB`6loLa`W;i%Bm^D14U_?vy;(N4o3^A~ z6|EiiQ?erzYhT@E-6{3LU3=D=T=t&9bx;JrE7$}mV7S8Y3J97gEGn-Q{+7tP5HCSI zv$q}OE%8iYKwIpI*#%?mD|74pJ{)JXI>j9_lGS(2AkU8N4a+q;F;(xsA4~P8Kz|=L zZt>bu^>0$$+Uw-$W#a4VAnH`16lJ;wZ)sJ45t5BjlZ6;U5lc$u=NdpS7x4?g@4{JM z)L=1U7S}g3;kgiqz0Rx*7NT4Go?R>{WxZ1MUEFbDW3;N4wNjLD42|hMfW~D4Bw>S~ za4EnNRuL6dqJXVRCA`Y}z@Qd@jZ~ysc!#2vC~U1jH01cMqFj+>n9{QBk~VGz2nRlP zxmzO+He?ZDXICC_?0={DZpn~0!(7=({=l~SQnp^W4x3A9w{M8~d;fpiD&&jV7B=0& zQHzMzQ)`cu>B=K8f=VPq`7`2QiV{u@x)Q~o7jxe*@uePnRSl7%0)Nk2- z!{iFdYuAyqoh>AnO8^#f2|K#jMeNb1%xTwpms}P6#@**LH5rTg(%#zQ$=;7|9g35N zwM~e&Fwf@i|4OWpW5bAFdVJgt*>U$8js z_@`6#l69st1xkbzk-%kDj`$!F$OQ_*A&_2#QQ>NgK7QHwwShh6jV0{7=tG0~hxBK& z`T^`km})jwqetZg8VLdkMfzj;6N#Q3dP5m$&%JystKj&+5D@Xy(?!=Ykr>nNgz3dO z2@=kZM}^O1pQL}&=+vYi1*S9g9x-2?khD=!P!@CO;?+|?W-JIxa7hh|Xe`6kF-`CX zV7pEwOF}#JH85lT=(Q%ynajz$3>sCCON@VOOYfS>e_4(ZQ_q;(-ppR=xu+aFM5gr6 z5-BP^5F{Cc;x!#IH_9Z+e&m#l=yT%+tso=s93Lzviy8{X`!Npej0(!$Y0EW!p?(SA zDnj<^mlKJ?vy0TT;cmNteRfH`h3~2oxn1>ydNuX0q zsT?W@;hI#3>?0mbUWEJEr_wjl()$IT4^RjBNKE< zTmY7(l^76fCwIvdQB`SdGBs7_?wJ79u{)KGmC<3?IV;zKUl_8r%(odSaSKKgx;uE^ zX=3b{jobvG%gt>s^6*$V>IMYsot7seZ|u_uubNuKM!&k}IV^C`0kFo;#Vdh*em& z6%tNZMil56DDk5zlRRY>VhDI8_575@Exby4T>QLSWt$pZ6^eh9tEQ|@x4O&1-E~=7 ziZ4-Bb}VBiinBmEx|t9QQQR2;@Yy|JRv1QuqdR(tA?>v1V}{YQ(1MpipQuHK_n+_K zH*B82pKEaXAwr6P%Y}E;){_(HTe@as5dETh7fE&fnO#II4G)0~=@U-RU zphJFRG)FD(1S55UH-~aE>GJ~K9zBmg2O6QkF2L-gEDHf?eV`#{cy5>rIx-U{X1+wl zN6B({bw~2}ra%B;#fN!*n~Yu!pKn4WUm`bD0s#HR$rI&C)FCOf9yAEErr@+=;WxbJ z?Z}54+9aWj=4zYd2-#7aqcRvOBJ+%r1hNKb`+O`-YAY4K=L9c*qg(T6!DN^qi|d;a zrgFcjQ8uQ8bU*+x+0FVaVz_sCQIPZvufzMhgTuAeV@52lZH86O#)Nzj_rIz%hyF(lCx+>|=;q`AL4(Cu&-&$Anm1+l;H6Z04&z zjXU*h#z6zWA}E+Iz7~lrQDp7%bbavz4BK4C3|W=iNHzKLlV#^)VY&iTAWE*l(Hf4h z{&gF?a@pZ#kQbv|vg-t4v_`oiTtDP|R%R9ia*^L(0o0(JVJf#gv zz1t4tkQfJ=GwQ}#-~KB@?zp_pLa@FWc@o}CyLOPF7h1t?oxt2520JzH*RH4Wt-Rh= zk4sd)Fl;TzfwH!2>>1PmJjG)o*|~C^fOOa8*Cl`2OGR&W!fvO(>@qVe#WrlLEV=JS zX=T1)h{$c(XLmktq<4oGJ$F@P-fqdRbe1mg(m#d3|82O=t=(H1n)0e9!a>J%(=TkO zmaGZ>f+BWoME$2BT!oB$;SzUD!*eNU@d6UsdwgsuUgvmKFnV_kMqRQ~X;X!?*lZzR zy3trc!FMocG{;M=ZP)5OikVa;#)v+4!mlxMY1|cc z-Af#M$?tVgw!EE3Ti8YnY_tl9nxijW+u?Inez?$g{6IkKvZm4 zj6L_YG=caws%``_k?Nh1Bgl+|klRIkFC%ZruQrRrfb$`x$*ODtuKU-PJ*mwQ*Hx^;SJ=YV z18}Wbch#C61Cc+&w)FTmKUjNkeeXFfV}cN_-i)YqrWNy>s+E-^Xu~Whr98lM_HH`! zW=buksT<}1)xi)mxoUVR*H8dRC@Kn*GTWRSSu`T;7Jn&n)E~2zIgzC2e(XIjF%L>F zzGK%aa18)umOKNKCn?Xn!Nf2^ht3{9z}Ol-?b{V5hP!vHHx2nn_YV4>^5NTB+yBQh z{cjrR+iQ2b}18=3f`VW1?BN_|}J)_t(FE zzCKX{Jc7qao^Hlf?DmH5^7oq!C3!xc-$C8?E5|M=k1ch$)!&KXsN?UQ1;-;K)i4}T3; zEEd>d_T)P(X0qek*FZ}2)lE^Bw`*UMTgb#_qY+~edr zRuvC%&Fq8br4%2Qy?RDx^l_-=MP>YKI-1?ObX_AoEK9D359!^}Uk^$BY{F;%zWgBd zWC>`p=1R0%fU@>nSmn({5JgendX@j4x;SWy^68Yl(EvPBuj5=)P1S=kNk!ctmzpG% zbv-=DCj5fZZzT>l(bun88$j1Q6kHgRb?yhyZTEQDyl)?lrH1C|AmT-#IIGeH7L9mZ_3V*)jU$M$%}fRsG0JB9e?2(#On2N!t?U=p|NoAc6TXOCQ9s7#Pv}55YL8BC|r84zATzBS4 zEZ5T7_+0=iHknjrl^{sO@8i$Gq~H5g_W&4=kC$OmV$z8IvDfazx}LtPP%78imo)CI zY3^w;aV`_uk7pklUGey)6GXS9cjq*mZIbu|t$p}cJ7T&CLikWR&%1;;XUE-t56w|P zj|JrF!7tcjPRn=tK2I`O_RKU$JOR7~4Tiz|2@ILawL+}Zwe7|J^wep&R5UQ16zp-* zu;Z*?34Aqv>+97uJMcxBuQrxfjv*}Qbk6b9`8KfMd!0AY9Eo}aP-(=Bs@lA=3Lw7u zyYzz(Ta4?%s#oLm#P9wQ-`iPz>f6wNN`T~v(t*Q{p}494QlY)0hyGV)Oi-#%ELCcD z6i}t9t=V&lFH`epdQU}ifv7;*L6qC{sZ{RFX$#KaAw&i6C*UCk$4IJU+GNlPKI{qU z2R-quCOs*=9i?AKa=NGTMUuw|Azzf9x?}3)7*3Pxa?)Iv@RPgtZEAlkBUxqTph7Xj zw6-CXC}z$ww<1pJb)3fdY?=d}dEATI-um1(RtkUD!7l;*W{+XNcjox`ae92rGhS=3 z*Z$K(8<05FTqpBhWU}~cSfSX~IciHqk9L9O-vS(H@~&M%b3_~)?$CUM9ofBsd6{#< zv#R8?ZPy7LX^MTv20L#4@NM2vVv##0*!j6P-|w>o)z;E~h?)FbPqFoQV8_+pMAin) zrnU}G*WQcTOr#ilvdS3NleJ?P*f9e5wbic{W@`-d;BrF_a~*dDkHZxa*WC-)9A}RU zqFn2kESOC{tf*Nwo+QVs1IM@{cTlt2V6U!_>h0H~{WI~)nS4){l7^iODWR`m%%;9K zF5x@_*hI$E?lb*NmaDFLg>8Fh#nhrav||@8sgL&bdqegG6IDY42{Uc=6>Wsj!XOW* zun@|G@`HRx@qIqCDh4Zizond6A!L_8_*0Io_B>+Cg^Qx~lG5SK8@4dnr{+GkuQdW6BCOO~Z& zpbzYh#$JJ&4bOZdJK%+>k-G4{cpCG9=;b_A&x_Z}qA1Osh2!_~;K^q$XPUB^lpcna zlK3f6?^?IeNTzaFv7h6G4Xy$5Mjx+<(5!V@kp}P`6c@%F%;nsHEjPq+Q_$7UHg|qQ zjf&%P?@3(Xei1& zvHYaW3fg6M{TVW3VAR}aA8jhLyAbg&)N@sNFuwTp@6;yQUu(NK>)+}er#J>oua?lE2qY8&{7%9lgdN7>|>8>adf4`kR(_YyR8+ z*`H~DIRhow8A!iQTLUxr04z#>eMI?+DN7gmx({<==TQotP%K+_(VhHXeO$mhoF8LJ z9|7+qun5}>2+;Xfy2XX>=KRm|OgiOvkRbm$R#d;IJ?NwzhQo@G{T-c;23Galo z*MX!bjwM^?+DDZzN2X2l9AO#3zm65-4=Jv5>2zBUNv=!aMfrLOvyeubP*VJ_ZwKN7 zeRmcO|KD4x*^Y;l?9^YG)@DHXjYHJ2wfs^009*>FhOW}Ukfb{@%CscUh=ek$1tZ7mN<*~D#M%gL2sTb`EWw2S z4!pdN%0g=nT(KAMCKgA7Laa8o%37W)3i5NsLEbCKWtU#AY(VwsA&6!N)`k_k*~y!0 zoAM{&Kkp4<-0__5cc7;`)-pcVA@&qgi|#`~uE}!;T)+uI8oIPr!+6NN5~B-)7fuU7 zeNtsG4;=(M*{Ir~8Xu$3PH z!cJ~8*jnpKX3h~~=Jn=We7uesQ@viJ>U}cmo=8eexgg#bmm(^+SR^Y@hXED_1mxE- zrU=Vzyjm5d&g(#>T*t4eusDUG09GiH0bLOm$SSWU>^b7Q>u~GBG^=ap0j0Q(L?!3V zMQ2E*xy@_UD(-D&D8k!JikCJc<>Z?g?Q#K?n7}sg(N|SzcAGFb*wh?e;s^q@o87xnFap@FKJi z)7BLFC)0f^PT$IgSC$f|x#C*H>I|R_JGAB?1puM|gTi1E(%+N-gH#1rMO~61RdtV> z^tZ9-4&x*9D`{XNpIW@V+g40hFATc5Ow@@J>zK3SfkSq?hMc0o_}|s$r+jvH{+4ei zK0F;GG^Zx=%x_3YqOMIN0yQjxP^hvfLg=%AJ{bYh;XE@cBNqbjdT(`++%~kH5}B=f z+VKEC<~snHF|>^C;QC{)DchH!sIjLa1K-yWR7ti7G*CIjtA(z>u)YO=hK~o_K!`hL z0|FAsn<1yVpsgU~Sy%~QTM4wlZdu!Q1kcBm+i6XfmOiO&7^M>o@(H4;K*$0HP{|@x z8Q+Uc!Co#&t&&d4ySpFvoM{r2LMnDrTI$lIGY(p}Av}4tNyC`63c*CZfD5t2840Ci zCS6fgLN;=dI;8>usC--dbZ@J$H9O{1XJS(R^u_1>{_RzJ@_vx}d?`^*69J|j@VNxv z-LB`|l2QajcFba9X2P@XlDGYA9s1J*mR*Z4kt<7Ng@1t}4p~L?m{k!0Kl1hJx>eua z%kG?d=7)x+sbT=DJGrzmGo$!@;lL1y>COOSKxCUKB5?ynGdBUvg8RuV&Rv>{42WWO zqMDnDC*fwKxZ_h)X1e@!s00bAu6yoFgM#7cvnjX)+zPKiX0&bJL)2=T;{Myea6kVv zA&p}?qP{t%BZ7Y&6vi{6=Qa{eycq-U6?0`F$#s>)4n1WTZ!pS2WW`RDk4U>_|LI7OxzlKJ4V+- za~ZX?k|m_%28cko(8Y=ZEel!*QRyP6peGRl!>kxL3i&9~7G2225b~kvXrdytGf9CR z9Ktpe1N3Fv$UVSa3RC!Pb=;LJhLp4Yc>2JMVdNszJnti5avf{m*0@#GhRbNmnk-c_bm)guQ{IVT0;kpozF$vO}&dY9LXuh$&Q+p7;H+Xe*79DItHHP`zX`T`1e}awyHMx0(>Zy(ksxC26 zE!PZo|8sXWUBskNu4C~^ehD8_DM(_*)#`#agr6~U@-ewi>3^CdTon|FF)LA*gcU$k z^L?O}CbG&%)tAd&w!#pfW9A*k+~gKESK{h}mAfPK{R{kE^yxA&i}FDgzp)i02+?B_ z`qfm@ZYinvsr3& zxEcI59J=iC#K@5^!XTuJVxb9WUxEHJf)*-7O`=lS|A7S34Fk69V5Hr7(prH`R5Tdd5#Gt+=M%3tDHj8z8NvL zAwAqoD76ME&2787X)CF53@Fp>(Bjf^Q*oFGwd^V;Zbqsqo0$xgZxaf+5FC%rAUgSG zdR=jT(nJ(^Iz~$3H#0s%DeprtUs_YvR8W{wg6sA@*zMyw20#vW(E$_7)35r%C-KPL zdr@C2!Tp;qT+TaSF8h^^fxli__njP3NXlQw<>N+2-T8ELaCFyo{w3SY)xYgn8uily z1zNGn;!f8wt0kTCCF=fyHx8X%H94{WU4_`&xpD6m$Bgh_gFtYjxen=nTp=3aAnHn@ zK_aP>dM;oGffa;+%|rUpo*Umj0@I8~%sbAFIuGs%-Q=M4Q2Z~(1#jRPsBF=gAked8 zY{dbG>vnGIH@GH>j)~Op83`-Bfc6E;I4=aqbrTN>peG>p~0= z6eyXr$I*~q=gi4WXHDaEl8p>EZpRX`Lz4SCH)1UQmL-@XlJ022C>p*QJhmF=Gax2z z#~wP<#ra+m6bbK)!+A^*V8=^IGr{9@BO4*@Hal!IL^o}8>+m7*+IejOb0CX&f*NYc5@urF<|kg}{Uo>^?sH6>0lm}fDrgMytlH2h=oEoA5dV|tlRyMr(3${>S1E)l z1WncVV%1?9UKpwDvLHlEg$Mj=q(j4a$h?iVs`*=UoMCJF`p)o@K+{~ua2ReEh{0!c z?DU5cyHeIWLWzy(Xl7;D%dJk&nWhc6fj>_EeP^1_`qM%G^$vzeEnzHW1G$TEi!ibK6n79{s=WfYT z6o%VO9f=?sXLc@1taNmsfNAOLW{NU@XTq&t1jBAdjatnNCBNE{`t^3&W~rrfk$`EW z^M7ZV=6>5(LcSeSOL&0w8ch7;Uz`H#&A6 zY!5(V!Oo8C$&G^@9o?iG2Rk~xiZ>5-=oq=)JlLay$9wW%TXfDg^5_^u*n3sr5)T{u zHb4WqLTf4n3_T<2RzY1=rkj;X4!gkjBRdiSyzFQzFLCj>d57OSzNM}Ju66L*&_&t$ z8fi2FG?HorG(u?vxkT1GVwe7Zjuj_3DyY3{=~d16Ch`MrSDk9$20tK3@t_KeQK(d1 zh}HsAEifOM(Hv2 zK+Nx$v|G0i$i;w2?2OVKGa#cog>?;f%Q^b>2Ni=J6FSTsjv;aAL1-xua+?=luU_pe zdYax@1_IVQ9p0vx8Q}ca(H4mSa+?Bjj-I6BXu6P~fB+c#B7n3IVN`?wSp_Hpd!Yfs zD6WU`H+it4$D`cu@3jB*&$1IB*D;g?0dgYO1R(BaL%3(gs$XhhLM04A7fK?qg+i)8 z1ePp0$fi~V0Bk^$zgrSZMEm+N^Fsh|9Y={BK$vr&h}>owB5|8|zF-PP zuN@;PeLTbrpGODY9gT?D$w6zI@{xmP`62=xGv#oYymp4l3SwtTr)D7B--w_~LK&3~RVN#{1QG!u4^I|)tA2ztLrfNf^d$(tc!b2;C4#jmC- z%YPxZ{zP+MC>&8K#_5i(W{K2hpt#?^6&1V#CI&mvgoJA%0In>Am;gqJf;Ekl1@94I z<4F~={qg$#_NtI!JU!km?jvcBR;{eHED`LCH0yRfgo8Fq^wDJpH*jDA(t0z}QXxIA z`c1+ZHPV$RjKsa<1&LeFCw;44o^*NOX8JFgf|e)un)uR* zIx-a~LL`Sy5F%i+AYlUVCAkg)85^CLJ|jJ&o=N==e7eF>;DV6hCITb`OC*WXB^FW2 zK(h%2pfN9Wjq=E#UyMt`rsd?Qw*{?!K1uFw!cs-VG}G=xgbWnxc0h(Z18$|t^{)CG zsZK*}G0{0uu-7qbD$e{U!;|JIEbSOE0J~G+V)Ut?N8cP0hQS~R5|aa2q~Rr1r43~e z01E2>;1Cc400jUuGetH40AFNt)ILA}NvK37HMw`rokr#cTWz}oZi3|6+Hh${5t6yb zeXwL~+Z2-DQS|SCz|a8E%zzab0H*?LpKbd)_mAzL*hsWo#7+DG1S7F!0|WR-thPp{ zkcL^YD@ien(asB5Otro{#c8eUJyT@Zy5riFZL;_@J0#a@yfcfjO~%P?l;biUF2D65)l?Kj0)FAqXra3;-vRz)srY5hy1?fZ_p`EHlo2@E+wM5>Gig zyUWgW^>vEB@E2~W>T3xtMf&ZA@2a(Y>{>Wx+rSx?wYSy_J3Biq8{t960bp0%HD0Cs zo@&$kwuL>ltqa2y;JTK3`!$6Y_dWW?ZPU7I;z$%L48($qqM#g!uZkWshoBZCGzy^S zN9)6({vA7&HGQ3)l#B3@4HPn6ms3?$coo3qcZRSD?ZgX{QkoFcu2ts0b^qSI4s%T} z5+P|uY0H?A^iY`Nq*sRzZKh)X*14~(*AH!_pAi3lSh&S#N-?oA8^qR^68BD&333V|`K5@zB3uuUp)@@bP{bkDVf$MN zhYnm(QVZ>*z%F#0^4Aw9c;Jt_(KkT0#~3>{Nn*KfMjOD{ydb{7Z-7D$GOgGSyOz+@vcoQ`Q6H5< zEM@7+;qQr)cJY3-#$C!G?Caoco9`oA2iD&9j`mfUay{N6pECSR|41x`fNx;}Os7U3 z-dT9{;w9eQswlL?-Ws(>SiqB7Zk2 zd#($One@BOTsF(z{M8Z?$O_3+LIGt%jY5@NTq&#KC$PB@%HQo;m?qRBoy`azI46ZFI>@)!>kl4?)IdO zdVtB`H+$49v8cKzpHpN`l%_jUQA(4#KrQ=PR%g}Qz^6|>;3U~ILkidJ`g83YC`?gX zhMX~*MmVTnU6=`+c8hEqDVCN{&L`By3K;@RZL-1z=NWZo$Fv@+&@mnn&0-v~0#TDl zS@^QZs7Kv@4e4Vkh3(ZyUy#uC&hh~LGW^D=8^@xQ)1u!?N$Hhn^9^*|Kurt<&p zt^eg#2u4*M540F23JSysjA@SXwXf~EiZ%VJe#_3GvZO^2F=xy1A9fr=9taYli--t5Y6p0tpdy2ra#}y?g13I3PJT+)ckwOz_Mf@%w zmsM2SZ%DaYhR8&B)A`N|n}?ga#Vx90+kJp*6PB<}*?&4_;h$e41!agTwKJAUij4qi zHjM-cH?CpLJ{~olv$Y?3$`{i4o9YMRo(%KQX>YCpSiKVt1;c?g(^lVg;q8On>R)6V9m!|F+ zhk?p7`POt1Z|$a^E0(nxG7@b~BeTOQmeq~ZmIWVi+u`!k@aXJWjZ0H*H>|W*TQdZ?Xthl&UfqY8sL2dinB!j*z(7_Dc^}-Tu}mXw;tHAB7&(G>P`I^BgtLw8jKLa6uI*m5OnM+C6-Jee%^n zkza=KN~RH};ltOqmZ)yEf3?in;#^xC`{Fj{*S15`|MJ}5L<5Vi3=E0*-INc;HGV8( zj(?>0D#DM-vc|ikPVzi0@9`*eWm|;Vo#Pp<*drE})khetEc)_T>!pu+xRyQZfBCSC z?W0$~kAg5@Tx!(v0Rt$V=0}RBc8?T?Yb=oG2nn^1jMph6kd14S*SqKo&IE)!OOmGnnGvo}!kU*>~MqP!cr3f@0X6Ld1 z(!N(cG34!M$XR@t?QGg@t!I~UI7H*Itu!gVsMCYE& z5SK5v-Hm{nOv|Jw4!F{1hHpIY#mC*sky;PR=4Jh%ZLQ0>kW>5Uyrjq5z`^-7me<_P zn_CRK;COkjxy)_RVY}fFh;YmC%bxI4^L2`HzC*;rE!z}79qbFvqOU*!LzoZb-f&Rh zSQvqKGz!k%wm);+yxIy_QWld8iAJ}-lk#_8+KIn|lXi|4QaFZn`8c_R&)uLG9&=fx#of6urd>mBNE`ADbh6M_B7PzJ&fsm zf}e#slndnuFG7g8eB5%B;ED5CtyUvHR>mS+kf(YG${F%trQXLlV<^bBb~V~s607fX zC4#l3G4h>5`Q|QPjIN#EsCIeUwOx&Njqj!9>rVjz-6Sd!SS&KgC1ll>ZCMf$TI%wE zygeSA2atUtbYc3ueSn<%HGhtR;tR-Acl**Vy1;K`)(DfPicXUmY$PGS_bK z@5Yi)9w|6+p5hGFR4I1lYSOb|IT9gY zX`<`UQ@#1TyTrq+UDD$zNGy#wb&%B(MgUKf=ady-$Lz1)-nfOLGdEe>L+MYy4t1TY ze1fl4BxV1^C+ic%KC~Q~eED#JF+XlTcN4CAl*t#DZh#2YdrJVX9*Ic3RFy&HRAw^2 z2{_Af@rij;mF1fm5|n^@+;T(?@|HSsmzE*)%+tv1aI$?`ybEdGZ9AGj8tlKC4Gj#R zUv5H%X!KyGs8zz-4o`oUP!ni{B+4Jl}TKDMq04u5>TVvx@mVZ;#H*zcWP1 zcm4Hlxrn*1n(H{5I76auJH3~TXikp9rM=vjeV9Xh>`k>C- z3S(~us2c}5`EP)`ae>?#za2}-$=M;aL-4e}W{$Q!y5iw|l-)IN+d2^wD=mmFNn|iG zGnlIMU9w92yVn$Z8rC_o-L;C^p6SE7Ua_~*m!-eD(ob#BW54Wn>T4S59+*xqH_j~4 zXXuv`X!DJ62AOvH0DwRU%kD8NL>?(TmJm5|h!!L}6=$Uu9y9au<%e#cxQmq#J*GbO zg_#?or>%dxcUG8(_8B#_bYwBI%lZTVZK^}j9UwsrZ8LX3y^TOsWR!om?H=i2>7!ZxOaHaSZH2I4iwV$j!ft};04Uo!+}1&GW3J3q0R+JQZ! zE?pf_E7f?T%cl%&2e9BBx$RG(HA|8}3twLmSYY z{y8ml(aa60%Wj~4hD(4zdrZ=rx_AQCWeMn*(NQ!Gb)irspr*S7pXBIq=hRTW6*d`~ zk$`UQeq5T-3OG9&Dieb#K~bcNn)k*5dSTiGvvf{p?C>`_WSAiwI0eTwr@KRp&1i5$*BU1$>+tv10=nl!zVszl-j zQEY+3$r(2St>iyG4-$E%KUlgsijo+%H0h(2igJOoukW=T$vx;Y$Qd#!Qc9h9zCo z`*BDn(0@FSn=#~W^ti{%Kforye{I~ao5-4^NgywXH=Yb&IG7=4KHH~_gvdL*@Amdu zkEQpC#-#N4Qsa`V$Ds>UqC+@~K@_>S@OK6#r+eu7i4XAb#S4t4M@D70Nv&dDd zfzX@~s4vXjm58@ejiaF8JB~yrH%E2H5dmR1y5dxC(Whpa{As!$k;Keqh@_V>q5(07 zPZrSOm!eTW$1n;g3XH|%>~TEP^E#JOUF8+tB{(NG!QQhxB?9Km-zfQvK%6_GD|{Jq z^MU-~#*3(CI~=y&xGy8`LBdh~2moPeh9yoQokl8nOW4mh15ESbF&eE)csnq zOThDnNJLxK$iwuBKgrxB`25-9II4bQet+b{J!j?hpK>ORd;g4at1P`@|G9DfbH)`J z{CfL%9<8yPa;rQeLit2m-I@A(!?)^Ub!D!P~s#8KQ>f?xdS z9*d=CJI_DiOh4)4w8KLWvwO1@`(>Bs#U6QXxC-#aAiWq3+N;4u7rJ%kTfK;z%pb37 zt^U5(Po;7i2z~!(_uM`OWb_`V1iEy(V*mN`KYN>G|Fb^F*fylNeeWhn+s=^0+leo* zYnHhR+q>-DU)%2}BaEPbwi$qOr8^g7OnqFb^vsaSeDiF7B)KK|=a=a}Pt3;;yFy>q zT`KBo;db~OcKNB35}7{c{qtrPC;DN!H+-vdXOBw1JDU$gq1L?)Ho*PJ#H#juz>nu7 zd;Pog5sY7311XR;&J{iv@^205zhP|2so?3}9p~rGTG9*&g+&Iu#9?hDDtCp9zFQ&j z{5joX0tL&dju1U5LYnDSmXO=(5XG^fh~sSBOZd-Wo2XYY1?Q^@Vz!Sm2HbqDTVO>3gIiM+wRh8&>mNKf| z@RY66)JBUJd*8D6uO41@1)FoH(;G7_3+dkT-Cnwndtbf?;;cI=kCs3z6BtRMdg*S$ z%PLWxE{+B_0~8xaZ1;)R5=GQiN%S=VZ+gmInW;`1giQ4ExcsfG9=m4yLL(G;((c$O zQJvdA-|^R25PAiy0`z4WVs08w7As{kzQS&N71m(&K8l2Y&(||d`)|HN^XMb3WkoCp zXvL;5prJbKO?-8rQt}4B zj2?R$s|sGK?9CjG@^xYF)br~A0HrC9 zc~L!rMG(M3SmXwR$f!84;2DBJWtt>iqZBmyKEMTrfS4033w|$pDifWsJ+ZF$t|y+| zjGWOoLkV;kx8(>dmWq!4_2X6pV77aEoAPvJ3`eSTj^y3`VI6R`{5}1IK#0qNaz; z!l+#d01*|Rb$(#ehydc+m2+H=er#(5aiV_dv33nrJ4eS=i#YwhpUmUija8ZI|14(` zs(A4|c=2hIyfI0@FdA1Z=~%Kqy8Cnt{G@jQfxJZ(Wc0oG*}wVN6xjJgBBU?Mh+ioA z9BRiSh03T^27@daDEx43EbwX}t^=HH_+8V01iwe(G8x-|}7Z!7@$SmPy2{S4!edj@sBT$Ct+lEw=d^3p^+l1FZ&XndS%x?uXpulg zLhe#@rD)UBm8n^hWQ{=NP%H$t!_dbWZe{nRMNrwc0P<@>!Vtrlp&A#atIohCRb>Q4arGPoM4Q71x8x`#->UiV~ElvX%iM0Di6Z49Z7k8>Vq=#=dqtIK3*S zPEWh#n~8Trrk5?e3_eGx3)~lQ;5_Y*lmf?r^ZQ5qRJ)WX^K*j(!!q~@k*<@W!SUp9 zKxRm@4#rw0xu?pgoCx|O*#hs_h}OmX5{kYkNiLh!v$kfo@b6b}MWHbZ9i^I;dvBp? z8`TXKZ^MVG7$bubMY1Ynz*h8&8n`MvkzOo%tTRlj%atWHXM(emRgVLfAsWoe9cts$ zUkC?njhp8Z%{@6IB26R9;Nbw{R|Z5Bt7BHR5Ye9VIefJGw_L5r_b8IagF-oz^^*L` zWKker(lfK0!Teq=Jn8w-KobCF z$W?wtkRH*|vy(YZ&X#0RVH2#2k>b+;w?#AhnDW`D7n{h0{NneY9`IXX0TTVs^Zi-j zIsYKDaiKHLONc7V5F%(gHCswR33hHVt382dB#`*U*@eqj+G$w+tDi-`$A>dhb5~ne zWzjhy(e$1CGk$>Cgkluj+uhgp6_`MMVXMlaitbMak4@F~+ip5?T6(ltbQ5M>?+h71 z%n_;Kr|!S|fCK9b{&}2%rfAkSDgGRWOw@Kr!v0imLO)0<^$p~pe;&~%M=R4{^_AbtnW(?Z$YE)FN~=Xr@1q}g%@o0@SG`2c-AbMi2u;lZAR9~; z<`A*N%!$&(8abMzE^=fqpFrG1g1TwmygwD$XM#X7WWV0#@|T`~un-(>K zTl4>4aIG&~o(utDhD>iG682OGcuWE|jn$<{V0k36$l}F`NCQBygH4j(K?oAe6c>u7 zumpT%{0nqOp3CSk<_L%^)kg%Ysr{@=l6jUr5Z$kmG3ej!*!s0v6&$naDlO0}NkPT);W1cWTDY z$e1C$5Cx1iWh(#5ThtomMnD083a0s8Y3~xW#EnxZ^9uG*RK&PbR@h&3FHpV!6auIh zfCXSG06>-i6kn=$0h_Ur7Bj>EL5g&*DbVZz-UjzgU5&$6nm0`Wc7I&jQ>YjJdNIGoR0pX3C2DYuKfeEGmyOBmw%YjP9rSegFzARVaW|0TI6ya{No`Q(lG3 z;MAzrM)HQZOX@NlZvJdegU#GiAUc!>Jvem6EmXQHZYyH@DcfJ8n!n6tqLm3K6TM8z zL@Efi(Myd8SUb3$Cv5}_D*=vpJ3hl~QG~t?z zr=U%SI8$;0(iMQZOQs7zn>AhfcAy1QQTeWd5OnL9w_U3AvI|0=rqM+^l!09YZd(`s zc1Gr)%7Im|DtSSmc)iy1R5_S%6{H}r=*BOy{$wKAGRKAQ0wHwUy5qO_sl+L>HyQ%@ zit|!r(N$vzkT2z35t)@q5^=0^=@N~nOEONW>+)$0p_b7u&UW0b?$!+=$d@61KiPVQ zM5uQo12$EB7o-rIMper4$-~^^bbY3c(?iv40|i%sAljDeqsBav=Mq#>SJk;9;&3xxN^aK{D;tY|Awx*H&;jqGssqC$P+Ry)~ zpAQgECj(7ph>@l~Ui$z@H9o=Ycer&jgdqS4m>|P75|!UZo>ruZ7{){uWJz4vwvSMp~m~sW>K%sFoqd=y-KgfwyR?r&X9N5;3ZJo~8#N zvk*m*3FQEbRJ#o5DMTO{5}vyePe&dJ zJ{TEns0a-skTsR&O9&A*jcQRGF=TfcB6S@3OGyOB5n<3ZGQLwVUvZ-KHeoZ>RWdIC z)DRE^00RIsQ#CdK0AFMP(`C?SDJBk)LH6F>-r3qYFOeMZq}X^Ql0;IO9Iovbdgl49pPC%m7@$0Y{=<^=PuB=aZZ8(3J=LJv;>iKnWzNBE;i6X)2c`(jrZ2 zNL}0bCfeG;H&|bL;`vCcE4__LtJ*CdMYJ^+&3NOIWV3s$jVmh}jRw9Fi;HSfTN;aq zIZo5phGTI6k_Ujm0RVsu0MX0<6hjfYecp3!-`r+*+uU+&xgD7-$62zjCFNK+wwB$H zHX})DY)=S$jNxJp5H|@R!a`z%5OJG;zaw2f0d)b43;05`46CuHt611s*i|>7ORc@O zigk4Bje4tY9Tc@h(A;Vgj1YlU3<)q2GlLOqN6BgjBB7ujrz|nwjq6F9TX=Io4!=bw za@D;Jx;`b7s;Eo%rxaS6bRP}<_$AV#SFc>?yGtuh0MG+z`K^@U%aH)z&RN}~*iv4o zb=lc8y({e1o_BkpsRj4mQ&lpQsi*}ZM%Hg^XTvu*b&B?`;R69XKJb{skbV?pfB? zHt}HeciqU19O!tdSQPPQyl900ileA4AAu+f?s^(jcP2*mDOCq(HeLOGqXikbdxKYm zrK!LTynrwP1UeW?f*E%PC-fGi2DRMY`>1{U|2A(WkM!%OLd>nzK?LEBSvSbKbT>0?m zlZvQ*_oD0&^xUjX(k$)xt4Wz2;=Ga&yvC*d4oiltG3eB0D10Pg*fK^F6qFQj53u!> z*k);yt)oF&ThsN5>b6@bm*S(lbfxAC`qIft&z1xdZy z8Oi2Sswpa45o^;3OY2~v?5wOUsWQU>^glC463MC@g%L+FfDSVlQB{@;X-}L!afuv5 z(UJ|3H+5a|S?Tj)Ys#IW4O8!}8{%Esu?Nz_Qf8)(GQaZ1(lV6D;65UkX&;2`D z%(w3i@2#x5m9C8+|5^t?gIx(fj6IakG;fgt6MicY`vj{+K=nR11!@BP``^uE!cko^ z+c(L-ed<~z^))reM91~GZB%tTQQETTv5g7_S73%gH&a8!0+*l+$V5#|(c!HopGCLc zPwM7DR}oMWAC_WNv8wuXeVl=eKUf&kRYiK@opkUSld<%ok+kK->Faf7vb z&(e4;fA)>`qpMT)phebVAT_#1Rs;5)ks-0RhT~to$)9EP+UNCQx z2d5(wt^=0a4zYCoQrm~vZ1!0;+xrZgZ5tPP)?ZW5Z(GA=M`}}G`S5r0t&*+&>@i@u z@oZ8uk1O;zJ2W;yl$KHIk+q_h=K|3|R!*V>^tH4R^4n1pjKNTdYDc#O%{Z&pMSs?p zXk^$-BuGw8CzRKTuc7X1T|8@k5vwSpL9C9Erb(8Gfthe6d(%~w)6}NOOI-A-d5doy zK~B3ST%A=Xid%LmR>hgdo^z`bU&e?%-=J?sq-c8@jNVB`Tn>>9A)^+x8troyr$^sQfQ%p(M+8 z+iU&uuGI`rNi!I@=aihwm@DFvD%$qO)$Wbjv$#)?6KHzP@1^ zB`R0;u)KGb68dp5W0`P|pHP)w^=Yjr7Y|&q5QPE+wP{MOo;fCN2wECn%|n!<*5d8=&YM8-7{6vvuz8d!`p)BaBacOxDvaL{B7DKP3OLC z`YsYPhnYh#+n2q(SyU{LNSaf zw;365nYzq>g5xCiy9Xud;58|#T1I{DMqyR@Xafv2%)2~RW8w3rkeu)EdC1l$ z3xCVX?7P>aaIkD7-QH44aLw91=?mY!8o$A%-1Eqop@!U+G>ZT+!Xi4~_zgwNr2H^I zbC7z&&tI)eRc4M>^L$WkD_9xk9nlV|%X_B)+eVm~UA$jp_%hNkz8n!wWi?vDdVi^% zC?u69IF=D+c2m@(T2uVfoL%<$d@%Am;f#$xh&UTp8NZ6&b4pXow|)3?7A?Hbq~_LU z8zxz|wO#9(KAg4f>rk+lBQI4@>rli3Q}PY8#lBlnT9pXB=THOC3{1(|0hxLuGR`%X z(HMm|0@h-(GzF|AaFu0AnN*FxuAW>8>t%$^V1^@09U>53HjhHV7>7)F|?RBiuUl@(jYCaMd>~I zeqIq7f%t6@BtQs_T#PIbtPehp3@{1H2z;^)ste-lR`BWBHk$dl&f6MqMZQ==RHrMuUB@eG+rpo9 z1*h^|Sp_@tJ(DmT1>^`-E-Pyqs|y~LKap)Lz>adBc*enhiMGp+-i-K?y#@BXdlrs3ZF7)voTYhh?i?8fxfnj40@~r_C5ltViFm^RIWHF*r)FG(1Qq)f%_~kg4(_H+ z(>B(6vEMYigh7K?-B=H|l%(DHb_y z6G{q7s-nJMWLp82ZdMF7+p``lYdui1by_zuh^&{9bN8%zdwP3& z*tTOK7RdF>THSA4Oi&^+(qgcQBg5Co3G@rm7c}S#aHAYqrV_;AdUA9$#RWeY%YG=9 z^ZGaLh3U{N$Dw7;*q>Nls1DU~_|V2*%;cPx(KLe?3%YGMqhaR@i|jkj)o=^w-R?9y zHxkmfLJvC^>Zq3`Uu_O_WjR!pv2D^ec9p9}4m;ghI{?-H%f5Ih@|B(~-nKbOo{YdS zE|L^^P5{#^)63bq0pfM(p{~rGl{=~yS5meX<%zhPkoz&)G4?X|6)x-s-fifn+KJxK z(WbvjScOix{I8j{WlCO97{%rBs=ZJw$Av06MS5d%)mWieP8BNU1Zau_O)!>YP%M}A zZ`~`7fC6B*cz0GO8_#r^%iu0qBi>%doqFc5 zY|gFv!{wD%>OslbrWRdja$IeBT5eWQt~Q73-`Qn&b!^rA>%7!Z6=IDdK&xh@@#l~} z$PDZb_2yPg@sC|zsSPU1UR3GH7V(wjfirR8UCh<*u7aSaJJo47%nEj+%>*mQZRKe9 z)-YG5oh;B^Cg!&U`pf+LGTO9)0gdHollulImh;o19j!ILx;a96^ccx7R)t?>|_9oVQ{kft4$Gj{RORSn`34hkm}7|w&u5Q{<2gy z)emXp&c6D!F)CbL(>T8Lo83*nt-b=)mTRZ$yCOVzt9S46(dpfSuqB|V2Jc?!S0 z$4e?iRhxUeFf3~2HO5r3Yu2PnX}{j&`SV#XEg8!(zL$-S%`n*k zs5obZko*nApNJj8q5h1Rk-zFaXrnH<{AazJr^3MV#;txnmeXvNWd*RS#z2HO*4hYi z09jKDrBcMga~`+dY;7ZCZO(Dr75o*9>9yQDs%{hq4u+d0=1|l0Qxh%91H-XQJsxed zG;r?BJVykf+NFARwsxLLrt1me(V)Y)?! z-r!hMvyv3LM9p-ES5y3s3>aqepv^eZlst3F6X_F@_4%8OKxVA@Ne5!wRE&}=o{Gnt zd5z5T5Q{fG-x=|Np=bI}M{me^!>R~}3LHN#o8xA<@bK$2w-^`o!{ z?9D2-wuaS${b$mkVr&+wuJ&Kc&CxjZtFnxbP1bLJx|f2rF15?GB@zFhUW_lYw7~RB zs>E4cM&p!dWe3!jxuY(YiJB&7X|r;}UgEjBBWE&0 z%nZu0y9qXq?{0W*QS6>90;&Vnq%Xvs9Sg*Ok4Fu+CO<=9gk(Y87H3IK0WrqB%c-fh zU008(6}WhpWuP<@QNpKCs8=I;d6S-ttI-mbky(xY$UUd|7{qunoL3g1FF9h=c{k>U zggbz`^~#=fam*|{j?cOgRA7uiERp4NOTL|$QMd5#2C_6m16rP3hKW_{Lfie?s}T4}!*>86}~xf?cc zw8qYFG5q=)@A&aKy&)%9DG0e+2eEwYA37Zj-|9X?e=_7%p^;y~R1^0{efz;TS$K~bzxAhF zIwn4rbu&|a!>m!9;!9{M`9EJbn{zu))Nbue?gVkZ+M<@9mZUd@5^l&CEk!xLZaI~B zSDeJ)*v}=#2MD9nPq^x1hu24F&|C)Pq8YTw{n1-4#$6ebzP4@F;kMC-+i6$YeA<_( z2^Z_zM{iJ`VLgytJ!g9|x9kkiPEnYK%MVvJT6EjOv9@iD&95e!&=!Z{sX9m1j&3#) zXU9?(g+^c(j%Jb_^tsLMUVpWlFg#fkZC;UPWkT)UwkRyyRxLIi-)EKYv?+t5{aJkb zR}DSxOi?YVNd(U(2(bj>EbLV9mSr%>hKG@yF|L zYo&wjvMS*?s(-jBbUmqL^qJLhy>rO%ANSM!pvzkGAc9TDgF7R2Vh`@uUH>lngTYUW z1-5f1G98)j^UDjhJq#m1Ww=wAJ`Q^pixIK^mg`P@En7wj^eoyYAF?R$oZfdle{IV8 zV*!_4*rPRCdskb({&?+Pr^Jp1`?hwuuXru{Eq?O9y}65$8QmE3sT9@HTC47k9E%5k zu1Y?8^cYqav5Yurtf@CgrXukh_8(7zVbDHLH$Y>Za;g^$c44f0d<@n`XPG1hz3AoHqWAQRjx|TE^xX^GIb||We zo=9NZZcD6V4?r|G?(dE7KoR9hga^?Gp2$ye(jan(s3oW`0f;D2P(8t?0OIkA#)t)~ z;H5KV0sHyAuxWr0lDj#pq)Ep3uG}wY`hBc_Tm5lq#*(0*EG{E6F$rTa9QbN1)`9Qu zhmDDSm@!D>Gk+G-)!=lgv6T*tu5j29#!{|a4p1CKOF-lsPA5f=snXB&dbXe9Z2Y6zIj?M*)3D?Ca zOwa&oBF+YO3!|DT4#?vl%MAffOfjtI%|oP9U8I3A5M0;RETLl^-q&?jV+gt-$#gz&YLKQ- zOg6JM!^$lj#s($NaKSvyZtv*9B0M`X(&XXi2~}ZTPupW646!m~r8$kt9qf)n5eQUc z1oKRmj}_S-!@}a&Wukj^YV7`gv*;Kx7-bBOnN~m0SOXX@jSzAZjaSn=oTL!125L(@ z-p*t$Bj_G_bd3j@a6QXMsz*p3R)`TE=8Fn`LQUv) zCt@OTK%oC)^)WG$9&0;h)qy)ko;FtUn%*p2P;w@Z%1A{!HQ^O1o&`o)0IUcmigE*L zqL_z!St6)!?6pmHl2(uC%80MJ-ZC9Qp~x9n=?X~%3jnZHSjM~QjO2NRL_5Kq(5qey zwCh!}K(R6wgMaa{n-**I)_MV%1%Jy4Nr?(8D9@PUHqxD+FrDIA0w&5Ik05+klGA8I z|0}xJRa+|?C8nuXpddY%qV`R`K_sR{`OySB2^h{{FJFZaO|O06ImMzY$jpR*He%}9 z+u>rCGaO$+=Y%ZaShTFbkzU3+ zE5ezm-4`x1tE`sVVEZBKRtgfT}A-sNe1%J16#BgCm~RI!zG%0R3#;#B+p5Cb72 z;%m<~6c{oxY8oz8l-3lp6nB<`J&1%f01*-*=#e`D;qW z=25u}VG3ts2$zvlW+36r5q!>o2y7B~<<5N2zTpTnq)|_%?v4=@_!Z7w z&?M9Z21RD3fvTxsU5qd+tdRyD!-i|i(PgfH_kg%L;;?j%3}{{aUy|Y|qQnF=(ig|dPipmxj$1eKA2g*XC2W9sDj`?kwl8dzJH^_u<5GFqaWrH_F}U{h179#Nf^GH)I6Ha0CI~{9|+F zP(e|VW6&5E0)<&3%^)6#7Cn#oX9J#%`}^jOO=14BHa2t2{o?I7^@xE$L9C372#zfO zGv)Wd2*nYu{ay8*HhY!vJ5<`uuCe(6p);a15BSMxI5nm@P>*CzOl0($L)W6KpnLfl z3AI=y#P5cO#m(;ljnGgrivTK7Gf6~QrWN;M0HsG+fUi_nLH6<)VfSs#qnsn-`K5Pm zw5i=Y{7J8+7D-7&Fge{m^*_U=OX{;Xb8sax;wQR$lvYO0EL#Mvm4oZI{ZHN?jKKXo{2m$bUr({wc7i?qPhD<{&BjlX* z8Sw-1e%bv`DvUHuvP85pakiJkd=XX=r`ygsvGrGoJ+QDOB$TBB)fkHwV8$7Fq}_#H zmB3VwH@D3Oc{(#-oy8ICo{AslBK#e7TXaldq5+kc$^$4u+#q9>r&tzcWT=aT_XF+~ zq{6ftYMhC&JZiksNVWi1BR#!_GIlQ(BN7xKr^t#BVWO4;*EEer0|M&^YXxXP49R&) zv`B*{3FB!1+3~{T0Pa>T840shC_v5@8RsRHkx7kpX7+`Ss)=|>3#u6KxYJOWS^&}h zv^AtnR^Fk}(=v3OLj^D+tSv$SjsQ@i)G@e8(_6dn&?E;b6#0fu4F7gm`b^{ zM_`zSR9w9ijd=v>iX_&{GTO)6?4rNMO%RMzS`ZL1KdCIEgz={FO_1SC2^L1pKD)?H z$BcUlrNKb$`8U zhZoD{cz#O;2u%^TSQ)C+glXm|33KA6uOoM{q8^$`U~-yvC6rTblxXiMj5unn1?QX> zApD(xpr&bgququ`*L{si$3~qUM8Q%~Gc8&;e0n6>tm4Ono2@Y5pBc3%|aATMK@VWi;fRn&c3}-GQ@KnBb!j|UI zM$t~XWl$jK+p5;Zx4ho98ELX|lfy@ZZ47c8;?s zaD?H;aHRLdsO9B|Y}YyBv~@W$xOE(P+sA>2Ire$x#U zizBu6O!11YK$k96S+7*o`e~9rpr`QjoT>DAMU^=bPQ zD6x(uOYHEqHVS{&@(?5csqJ*NUA3}Cr<~OO3hH#$UAo;wptI1Tedv_oI=8B7=Wo$w z50;Kg5WPmx@3wnEzggWEm43Ofy170^w(XlQybHA@gjxuZRHFO$PiW*va9xlc_f^*`6>er{D zS;%MiITWr$Xv6xygqR*gU5bo13T|F;<17D@w~%ah=o>bB%4kGstZaGJ^|ZP=&m$BP zAyNb&yyvSPP1)j=o9SIfs70;I!XN1*EUeEPt9{CKL(k3e-?ieS0)uh^t;?RM*Lnz~Gts`biko1fQh03V4rBCKrgV zfP>zI;DGd*%F~^Sq;aCwvi^J}c6t$pA{kDzPq);m>uKHf>48TUKGW$P2+p70om&d# zTj~{T$Ww5fdN&lU($MQxwb7}wu&nFXa4S1=a;qB2U8w+s<}(7UmTv0F$6|#V!de|N zluz?3J@u`6spr<}x{Xa_9X<$vvAdh$Q754uHy)4C=Gr7QW%$dewPf&A%@?={OV++K ze@m5H!FE(W7{WkcHMaMxyZt6#T6eq@A~$AfF^ z(@WgC5mdah3|{cH`#LLJ6#@Qd5UsK0h@v9?Z4`(u6|9$KEf=lgY)_zg1-3?|w;Gse zCb{x&2*Ln!`>`bam3X%zO>m1}cIRHbSvZUaj+hh0&y~m>K-fWRr6g-r&r91IQ zzod91lkgtNmHfmW3+rGx6-~CP=XZ1bE8{Wnzm^FR%!iI%&WqwE^LPHC$McFw*>Egx z^ihPJd%5TFJv)o&0~JxX-c)*r(n3zXZ_uryKI$-wBQ}I2{G%DaDeh?rnrWF26qFl< z30<7UOKA0lV>{(5nW=f|(b&cElCJsk*p4wC27IFl{EiP})` zVrI%Z1IGb`Z*Y>o!SMj;+T*IT62)~e+(U)`=rewi-QN}T`BS$1L~(eWZm_W}1whFh zx)_-+c1nK-SR!5xi5J zZ~@@Z$T`b$egPT#PbmG*#@gASm~ZTxRt3HAO$l!wWsCarBS@on{9DEQ5|`_q-+pi5 z(wJBr>0}uXKusY+((Wpr#zS%xMFDO`QzHcAsNj(-IQwt*6PhE9L6viIxsf51LGSu_ ziW(TTT5%9^5_&GpKPg7?nvY2S@r5cUNEXRDj0AsdhQ&0BB3#lRxC`rSO0+TTcYU;t z8~kEt@X*-gAv`fNG<+I4Z$oeWrp%le+Kb=S=tG7lj15*ONA-1qxdRYB+aa1zOGu}I z^S7@5%%*~srIzDygTHzFg>IL>-6ro^{N)SR4I+r;{4QIh49OYvEdqY*v6bJF+{^4( zWi)tJ()aR*gFY+i8x5Krlm38W9Xq!tO0SzR-p|mVg71Iyc%cs0H|vA_{hDgBrsLRa zD;G17!VgqKZZ$w zgYhfi=q}jao6rBd;ZsBXw^|;>-C&3BnBddw%K=o5(XWxQ2HoKU6V0V>oK_@wKU#jZ z@L9iGDI}8Ad}ALPW|V*Whvw^hBst+68913Z98Rv>s!TiIgf5Z`PzofRGL>9#ToQZf zWGja0zJSZc^GL&u)Pi9~?e_Zxw~&gc(2l`3ARf5Tjt@H~p3vrP*z>7d#o@?(zVi8i zw3|wYq4}M!70X>k)nRARl`-%Z@_d(h2sqg%2@)lzwsfT>@pn$I155``WRr|OzwF}LQR#RvD4nH6uUc*RJ|E5vrsuf6x9-{P;<3&?T#pM>HQ zkUnO=M8IMhfbDN;T;FnF>glX(+^nrKP%Nr%*Mm;UY&ycT`IEr2D)0qX=rr;-R_4lp zw#1>skvWmN1@n#Uq-ETJ@Ea@4>cou&EDxPomW+9vS73Xu3Ame5qF?}biOqqW55Tt< zzJG?FA3c~7k~7!#XfohinhahNn(T27sF-r&awh{+fsMvJQ~c&=?)|Vw@3v`2yQ_j7 zpuaNukdv1}tRp->s5d>s!_zLq{bG|Cg3b4Ih>3stbw;rP%3x&8Y@Rneumkx2O*AR^ zHOg)x(B^G!gNYjg)Sm7erS#kJOq+eW(I0y4ty;%6R2}PPMoF}pdSRXS&|Dvr_PuEV ztJNBd!&TTbEg$*j8~g8l&F2V|$09yfd1w+Kjn3CN54v_rGdwsOX(W#qW}H&r`Mr4P zMHV(Jx)x^Gd+?!MlJA^--xFW43IFy3+dbM%2G8h7pUfW2p10eh_$jxqaD@}&MUS61 zi<3x@7~fZ_{k7+k?8gzNN9ZejjlB;S6Zu8)iP7y^Z2KUg;k^I%_e77e?a|=l`D4ej z+r)TxUs&0crz^fLp^Z`RL? zBI77^-n^mT#R2l@?&cnYae2xO;PP%p?_grHM717I2nCw}7dX#Vn}|SMY8IMzum&x2 zzqOukWY|#l#5;s4z<@h+$@ZMR2a&zDEC3PO8apjq)OOR2gn_vAol~%QiYtfc&bFOA zO9IDWt)tBQX4+G3br-g^BMAaqbQJM_``2WOHkP0DU0L4a@GCi9-=VFtTx;a#TGc2j zt8ryb8c<1t3_ykP6H_8J_RO?i+g<v1W&A6Y96p{%n`|dufWIW~iO#siCqYJ;Ssh5(xM%ngOPI zb)+5qar%3$prRrQMo=e&(Ex3hA;C5(0D?lEJ?+@$E)6wfXe=qk4p*3nclzg zdY=v8#UvlRuE(cb5eV@Ad|-rGYm`DjRl98VKC9}p(ScCdEZGc!Zp&-?yfS(vGd{2v zY#|`N$H>MB8W56Sh4lAWm;P@R&r4}R`DC<~) z0Rb76eHr>m9pVgrE|1J+N%7v|lee{cvJ7b|-e$|gzi06Lucz9JXnQP7GV*7!w{kh* z&J@4Wtnj=J5D)_Z1OPKMV>bW*Uvx9-KY$=%kr1sL?S0a==(OC(xQ&fZBbk<31c2Wb zO063MB#$kPPFVZ*aQpyZW@d_J000dPUQ*Sww%*73zRi%R$3qz5fG=QkG=Lz!X$}sg z5RF1-4nPUSGQ-Q zomN<*!Uj{;K+^Z!0H-7fFvfaFWZ!BeP zPPj7O)9YnrS1`6=8<{zK8inLH9{e&_CgcU}$AMs>HWc8`dy>9!P?PC|>1kTFam(4WJ8aab zJJq`yXIWb-BfTHpWUU(kE@NX>d9$t=^Awn zpVE04T^7hiKGj**S6RH`)oso_iF`J`+SqaS>8gsmu#4VEf`yxF8D6}q_KH7V_9_ay zY0qkLjm-=BRGcbob1vB_Ra@?Io4&ANvW?%_)rpzk+t+x?3fpa(!(2}CUB6x3NP#T$ zQxj3%XUDy?{EzL01~^#uKS^slPtS8xiOGIVU4I94ZOv2U@w5PABL_2+{9!6dps+V! z1-s~#CRpCqv0<0_fIK`aEyA{*&GQ(p^51b4Pv?Kz2oPG^Rl5|^z4moqaf%sFH$DWr z=ouwg%*Es_O{LT=;8VJOS0eszmM)+5ALwVA1{JFsDX@j!wa5>Nf=9@2v#}70K z?X$b3L@6U~`@1(*v}v!fuCMpowSAaRV}sne_F194y^;nC%zy8&tn8QT_xZOo_P4w1 zSH3Z1;s57ku&l4#yu5aGw=C~BQLedXEVgd1r{i;`P*U44g@`GN3E1`RkCb? z@?Gh`zLA23jy$RB|2VcM1-s~pyzy*AS$-!F#va*36j5&MG#Nc>;^sI0;d|1EG@L4n zYU{f-9^%;MbHMt2kB19~P6ll~3pSQzOdkBl=6c=jM!Ib^@o%lDI{ls6MV-HHJB(qE zCJXj|l>^;BqWQ1j!X8W(VElIsSa_JTF2TpWe>^zrkjmrnZlOc!YF=I+nJ*0+s+2l*HJUuZ@j`xbVhd|}YXTM<~$HRrQ)05}>!A5_@Z2Pnzdk$Bv`+1ZPj{ytozBch# zWa%PBQZIEGJKOFKo$BJw);7D&It-Y(k*l1?%!O;74*dx*5By99N0ASmcAk;ea5rnQ z{1ZQ=TRauU1jmYnMB)6zL6J$7J~2gPUbIXlD~PA`VLVEVSQrPpQ)0!)ShSLuBT}q> zNL#?4Wbl*E!K*qSG!igwCEhG#6jvoKjFb>o5*I{vmla+TUqmtzb-$YR+Is)aHE~j8 zVB*C>f7lum7erTLgGeQAh(zKhGmo3+IMIz&@N_d<2^l2z9ouZO4fB^LA9VeL?X9O-^PwVP~6=uHV)jTVo)osG-6KwH~d59`R)1?&3(F5ByFBaxY2xc;LM;hu^Kdarxs9??!Jd+tnjjD(e*bH6=!6 zysO)@+gB>=bv7mcT^=<%C0BRixBA|YHQoiVk(5t~G^e-*{ky1X>a z??L9(xhq+AXg#iFYgRs`dB}Vz+||D;KlRznRrf8s%AU!i@>@CM zBJJ@*=fCbSl%7i6t_uSS?WmS?eE1ngP6C(VH&B3OShc2FPzvY0l#-8L^sc@q*{6;BIhSAfUrA>3`%X#=B3ugQZW(Wr zMSyT{UA)9q;vtniOaJM-_U{@M&f4*FlRoD^afMiC;@R%F0i|+9T`+W60~0!Ubch9~ zpZUA=p3tQGJeLEgCwbdj;EqLBQ1&>fzb3V`HY^qda-&mB6?tCM(kj|k;VqifFHrIn6;!H5e z1(?cemn0k*)DtZPUqRPD94BUrlYT;{h{Q7yxzL=6dywJgPJI$7(w9>Up&dYBq(;y) zcNuAk5*sgamjs!j@5sC8xA_*x^Up45LeTXhN1M8~Th_alP<1m=+%KLaYIV!&Si?FG z&87{sxnD-!4p-dOwY zjz~~cn)#kyL1V^k(5rM={W6!$ckbJNAm2VB{d}upU*zDt*Fit>3x8EZ89A6&??zu! zpSf{KW0woPcPFjw3kOLl;23pM3KyL~l+YB%VR;{?K}El*)KMRbNLo!Dg{=7C^N3Zv z+Sf@jzLanl0>B*RZoOwv#a40AScnEn|J<_4l6UU9_4d|vZhxpBN<|xa@y^{>ve85G zpJ}b2s=G%nV|dUtCY%AhVxxl(cRs$7_U;<|jkpmsU?PQ{#+#9!e?)EqUn51O^zlFL zd|l0|jugYE$-=3xu;*>Ecj_#RRh_93H1?|22krZ%|4+S)=oze81E$w8d2;6I4`Ww8 zM05d|!(TF-pivC^!7V$ZH_3Z< z0)M%yDw;rA3)7A#5=9BTov>GR<7TG(X0vInbO@R(g7g;pyiCMV{d|UA_i12!{2kUT zG*AkGh(~vv#iN3>j~?#TJy#!PW)~u!a@pRL>ZkR>u2^UJ`VLG))PHIBRuQR>(&TJ0 z>M=BW7l`;cu6_33YkcuOtC4*ArfAq#-FHJj3AcPz-nGTD{k`tHiT69uv0hn%$=lzN z^x04Srs9HKF7afc{>u#;hQ|NIQo?67WsY!2d$-(=JMG##vgMtrb=|j>+GDYHxtsml zzhJJuudg`rKDKU5Vm}MdS-aqvvaoz~J-KdE{jqL0PnwPFn*?mP7Wzq%-g(X1+kYI<(Un>3Bb z#f6uy^r;|Hsk1Wa`5=8@?C&@?u}u8G9Lww>X8p_&?hugZ#clk%8B>E@=`nF39B3Qu z_0P(<*A&}vZE;z*eIXa79d90+;`>HkxzoC@wLVAQaVuL-<^Dt_uFhGz{+P0`z-V(D zj60&=Z|}BpdM|tM{7PTwn08dPs~0}?7xKv#rw&NXj)GdX|5ok@k~E^n#f1;stBwmI z{Cz%o@Labn@={;ZmtTHG(0u9^?0%OojYsltXDPd3M>_;T-}&_K%lL+4bO)Np-ZaLv zk1OQ=wu2q)0m8zz;|T)qfV38}LGO548ro61&0#yyaf`oPjXxWUkiJ47v&j!gWMTj6 zAIb2os;Xw)CXeZApS8-HSdeh=ys>OV`Eqm`{-*sYK{@D{x-hzbY4kPZES%Po=9~?v zb|8&~ntaqTK_n7Ct^AW7`?E*?tCvzhZ~v>U=@-L1r$y%HwfCXduI=eJy)7>$0`E_6 zNEhKV$7E^nJni)CIbgE32=YP3Be-8XhiT-wS0~xubXF6{0O{_T^pkM_No3T=>V=N< zeWgH_E|30Yr#EJdB^iqwP#TEdDx9ng?&XPAyKaz0j2s*-$pu&EZr{4t;YS~Su#29K zbadhGJ5{qYjLVUp@C-fOZEuVl9TdIaKa&6$o=?7nou)Ois@5qejG1J|mjXe5Gr68+%Jz(5{&1`|-9jlv`Jw7Qu8iZmAbxC!&4 zMelM`w2Ma!S_-1mN=r@yD1>!s*%p>M2}o6*e=Re&vPHvLx9qYY~;9k*=dky5_R zK}e?y@S?8plwZKmuh1DN>BN9^0Czy+i*$|zz@Ok_tLa_Vv_aXamqBh_b~a}6mewO6 z^*#i}Why|UNi`LI1Q>7!sl%Pl-w4W~6p@11i{Xx#eP$_vPDvoHs}G%c3PGUFg^RPi z)H!?M55pMY(1QuF-hIjl5X^sKjO~#_zz}hFNKD{wL^tQ6Ygo7N)#VSOb&1hU(36a{ zM@b;jo*aQidMb=;CgT!(5hA0ZzzTvIKqG?v(H(7>20GZZM`lCxi{y-$MvJ$4EZ&t6 z=_rPH{1TZ{7}+U9E!9D{+UAC{VBRZ(Z2yptpUL>Z00LxI9LN5=g3zM5jY*%-FA5_u z@98Hed6B0Q%&NPMI_*={K6thB-E-9sOa8mWfmr)YZ1AZN-4?WMO&Q zZpGruYFGU{DKI_85f}n(B2-zd?lzX1d2+o%0E-fAe)xF+JjKtKn0P{1aA;To6P;@M z$3UPZ%1Wcr1e;IiWiOwh*JAzZq#2M>RGbPx;oQP=wb(%q=x?>P49evuu2$(T%#afj zM4f>Cy4GJm*G+bf7sG`x@4Xc+>oX9`I2V_x=$dBD-i&-HB1kFi8NX1%pPVW@3ED;Q zbU#8o%ID(F%NUQ*Znxq(i|i!dbLfLv>sPQRfA5H7nhkHia{~eDUIE zm6R#YXW{C|aBfd?vj}#?66o}THcma$bzb2dopbp-lH$p99$L+X2xNfL8R@R|D7}#? z+B%c&$oN!)rfyr}dS9PBz09Jp-rKU~a;BQ?K~U8Tm|$@t&LhF)(oo%KOXHGhi2d99rfr+;oy0K1=nL`F7y0oP+n`(*tuJEj}MYiy`WC zn>X&vrKSpi$1!aT> zy@>fZbL7B3a|G0ce%0M}VfC#a8@%GtM(%`#kpL&o{?PeuK{1@GC3bNQ>4}q>u~CBzH5Y8KW;Z%H#P+M5(Z$reo9E zhU8)W&=fSvaeX;(bo5nEQ{lY0d-BAIpcus^Hj$fq#XZHRhsed5m$n-1Iy?lTAG+FF zXfZ-&phZ*?u5)>gyWsmPH8#sQDm!Ni1AhCDE>08pw$P&&qU{vUEy|Ajyu5C-!!t4; zBW|Ce+}Y`B+^^JAANS-j%U?gR0)00EBZDJGhg!p;J{l~?k1o;DpmhzOkLOQbdNC@U zH8x{@KB&oKQ6TPMZ>P=__q5K@T1IEYBtgZXuXia@ZCf@gLN$Tb_vLl|lVh#O7j)jH zgXPlr2&%|g@Er7gT6$s5F!G)+v~_OqZ1|NMlA&jRPsZ`tr|hq5cY|QV54eet5|oE) zl~Fs=>qvI_Cs5dD>56I>|1`{#zs?u{b#EWM54LZ0Jf9co$h5J^IQlHPSUb6cA;q3M zx-d$mW60w5mfQmNe)&fUqS32gasrt-)yh;1>>sW!e`TVi*;w<$1S%^A^Pj>k0C#vP zoS!op`MhH-(+7ijl`{&Up5A#KqC;$mQ|u#|eNW^)6lMEJ3K7G+7XX)C3(5>|1?OTr z6wq1@W?GosX zpLPya-j{Ay4JNleUCQ)=)-1zbQl4j!;2&Nws*L#ryu#~c9)jLo84HEfIe2CJDnz}}CYd6m4)fV-l z3ZqP0n#}yj#UNNV=a5`pQ%YPn8Q?Lzk9X1@;Gn+B#Zv>68=fD&=oR~1P)n+G-s2Da z?(;7M{8zx(Sm}sF(k6sI`Pcl!4EV*S_cH2tSDZpAuhL%F{jUMDw$czu9av*4x%Vyh zkI4FG@r$I@!;*8Qvk_ikP&;sks3a3Nw2RBGvgMIQBHhEXQWZ!Nr zS+|i{U=0N#lBT_wm5mJEPeF3Or;$T*cqZH~(;0iVZsZedDR}F?D$|_#L*HM}3l#VE zbd5=QoLrlUXN7VK`6%DhbdOe|rh$5M%c0)(pjvzbFHj4Qw;%;b*X%Q#pF@`0Ci_{^ zLw#*o-h6VX`S_~*J2t;h|9J7?5hn-V7J6%gEiI9Sx&;$k3L-#fvOr1uXY%6dA3hIC zST>e6!roxXrTU}ycSg?P3f)L%=h#mx`qx5_Ca2YLA|IZ-?q{|9S9MxJll28rn~hDe z$bZqvF;nyiwF@!}`9y-(D2QBcL>HqKlO#}p32Fns`5=lsHQ_Eh28jTI^uJM@-a*87 z-yqP03lVgZi*Mb8CQ<8%K*dt2MDY8K8@sIR(Wx)QH-H8AC;1f>#aXBoGRvJ)ExO;3 zK9H4io6crO;B_8fp1g2HN}mC9|BkQF=0aN6@IK@LWlir0f=6|&u)b?jp5{Z9cTD}I zvJgyI;PTZoHM&EAnh=>Tbqmkn2A8}L?kt`-R*3WDix2>CPJiyZo)~UoA~#}DlW72F z-p%1U!hp73oQ|m^2Vj*+dY12`jWsqmFLzq6Q1@>jajslJGBa~tm*P)-sZ;_O%K{`$ zDduwvZ;ozS4{YaoAcS8);#>iHDNMl*ZVAV@;tT?v;>v(TtRcZnO^!7;FTZWA2t_b+ zxj^T{3d;jpjD_wMm@X&GbgM_n0uVG+-h5oMW3gZB!-XflVH0U)6B_Eegp|;cQUx-K z;%g5g)YWIcj#=Y|`|RO|;u|;us~ALfZl#tah@)|-=&~@(1UPTp)|;VY^|<$%3*iFd zd@>MVwOxl8hj9QABT8anT6UXKw&)$R#|{43;1G0kGLYyU)?Bhm=pi8RJ+2QPK)HDI z|0e9k?~HBTYqaSfy=@W*P)=SD&4tSRiL&tMQCc3oE)7fk-&{)RMvOw4j5&Iw1{P@+ zZY}CGf*2wpS^}hz04`UAB?m)_pe%EbE6Av-XxC<*IMdA~RZ7&y%2%>_AQc)Trba}B znKBAtR7;d(MB@d6YWu4Dm%CL~0c(|0a}L@(?o_(9DCt5zNW(1jf!0?{z@t6GHXmobz%(6u*xbj!7J9l1D5VH%V${j{ z#?LY#a~QNwFzyf#JKaK|2T`~t_ zpB^woZu)N&<(JAvlr%|GXIHR(g&>f@JsA+k4Pv4K$d`z#cn@&UHdGM$&kk6})R%Sn zG=0?wC%#D&IYdTHxf60I@OcVF<>AIE70{v#xngF%Ho1E5cQHrH2fzAQbE&}%o$lOG zR5+nwOQxfOQrTOOwk+Hl2~R!PemQ4(!1sKo_UBAyO*`*@}u z$3HIsB#A83{X8Q{K10LnD%3TEs;Pa-%p8Oq!A{K2p7N@u20Y>uLIQ!#P82Jdm>Q{| zL&svrjLf>Pc|?B*_v^8f0Kih;E+45A@@Z7MBXf4A!1p@OYey0bfkpbB)psk;f|9B} z5l>oS&(Q#KxgY?+6j;G6PO0vB%W?a@2Qxlq^tJVscv4)DFDNQ|`0y*89}YQP{=$U} zR<1#ROUX#U8ZcX%k9_zH&?_3WplwIb)Pm?8Rq%_QP$(g7LJw%c-?TL5a#f^;BrSiR zDcs>Jb?O4Fb4OBNGDl3O+1uB8LxiJHsDT(p!RG$A*^ zsWmy+U%pw6C-UO6N= z)56uKUjX-O*XMbf)!%RqPb%sRV;q4H00qn_v{W&fGlMOrFlXsU%6q^6G@P6d_b-#@ zWAVU+>kM^FX^;*BY00g`snS{vh{0%dM!WNc{*BW7tsA_{?v}IwCzwVeWHB7lxC@HO zRu~B8ztbn$SI+bMh)4hj6iK@3P){!)nbvD31d2ttYq6tJhk_fzk>Atv-bH~nz)1uc-Fsl11Hz>^D?9N_4Yj{RoTQ); zw11zk|5gHh$d{}VNCA~jN?IT=P{F{h&g*|i6Ni-X{(04Mh!;_VxGeiYST?CFK5TQW_bX+oPbo%zq+*404dRy1LXuv1cZ_TsWjlvlWIFde|&&C0X6u*QJk3+VomT*sLYDP zfbfeY6m*So5xKrO;Ai~@KE=1jtqXH+ASVEFXKzP;GIJg2KoFE}>=!6&w!=r&IFdw{ z4C#vi=$Y_y8wBb8gZv?acXlH4qYQ*I8Xea<1VYQD3Rx@`o(_Z5Je4!wCve@H!(LCz zz;c%)>pml;#ab^X7EI_$e7Gv*3h?-fX5LTW-Zy(%^&NRqRtBMwg}_T{Vgvy1oB%Ki zW(v|FkAUE2HBUOVo!y6SNk>e{srrUI@b0Lx6Kj=7p98?$h+>r`BLLX4=G{wqhQJQ| zCyXY8^{shQ&kW&{2wJ7D-nN@8NXv4)#;J@;(4SIrL*nc^RGymq@rNJlq#15Pdo$JX zoNoeJv=ZoHW$)1~1|)-9K>fJsK3-3!-RjIesTeKiK(k?*YGcG1wB*%5iX@0DD|djN zu_J+{o3~f*=nUO}&(m*fl!wR(L3F>Ol!;i{a^;|=4J9$SE8S!*@x=e3j+~xn_~i!( z1jJM)LN}BiJNh`NnI{<_!U`-pWj}c0!O(!n*Zq9Cfy8`bB8I|IY%Rd8gP}iHA8xqu z1vrhUrQ+mw0hf*HB80Dz6|iQfLdC=cXdYHvPosj4dOfFOzQI4_vz$qI~e z4k=hqal-*=%qSG6!{JmQaxk?w`g)C;JB1<73-!Z)t$MqRZ;46dh_m>cDp))GGHuw$ zQ`c?rW5t}C2-`x>!N4d^8Nny)>-p%*1jG}ab$aL=PBSrQ^UMEP+`5~C+lVX31Cfan zdhG&e#^AMc-Lt#a0w_I=7x6q!j?*|B*PeR5C{PCuIn?#U#w}n}Bq+b>ycQy!B3wuP4kexx@^m4*=alPtE`sNH5}z2_yFN{eHTVe*;Pj1gJ(?mY5_zc^(D} zm+fpApO5*oz3jWwSoq>4Gma+GjnP>Ay)RZvF2#K?EcEdfX%@gNTqekLib7g*jaw>t z#0m(4Z>T>7=SHeOdOp>?-CMm=T}cCu*#A7KUEU}qn7~Lx{BrjhmjVHCq#0jEKgino za%9dem%Dzcj6F{(p*o2gO7Um`2vRMBP{}Tvq%d4DpWx61Y%$t$r~dF~VH0^$5aqdp z+=l6y)*xZlH@icub_99Ur(DnlY;l5ezj2uB^h7|-C<8(=EwU8VDNI#RV%xJbM#{Qi z`x9@j=Gedwo27G@?Mxi~V1w6i`GnfX2E^?RWA5UL<8HFfLPQ?DV+!YePI4dDo*{vS z%!E*RtZ`~9W0X!?L_479pe}RAK%8NqQR#J^%rJk=~~5f{6CWCjM(+qwbYBFh=X6{HdXeP~i1XKvyWFqri zgEzss>jj(dUIqrthz-vL5GyBc#1RXu1_{Mp$NOySQ`lEI4l#i#_;ZU`DCk0w4na_c z1Ge*#hL>)WHl5?9FIXOlM(u<-v?>d2Szz5~mA&9#|FV(#Zpw^Y*a0%d0t#u1vz{FPz9Q1*G-{8{9kNAV-_R#j$EhMFIG})o zPwo`Ky2MF4f=)ppK1y5QG-|KR`9+(3zN1g7k5s!pXgUZZcmvH_W5PlFV@l0JKwURfu~T5NqRt76P28ry#lb zG-@cxf9BsYj~eJPy;qDfxO-S%Sld1kO&w?C6n|9WaU=(hV4){veX1H_-)-_o*rJ38WMvnLbtnU8{}W1b-hA<@ zJ=Uow&FrKT2yYS`DLKJmmg|X}&SXa=fAevv-BbGU@%w@Nd;p$iQi7gx z^h6kV0xy;pIM_XGym1D9^Qm3WBr-D%u+Wn-7S&H;L_;p2D0oKV4(eJLH2{Rt$)$Ol z`KDC8X*)1s(l7VfyY&tWBl~SwswZhB+X&q~Crk7ARnF)-WdPSFo$&`V#h5BCzKL2l z?)tp%tD&XYP|a8LI2kA=(8?qx&?Wvn!6E}TGL7kkcE$)jPa>qCJL{|0aHbggsiM*QXm>rL8W zow+n>t(sowtDC69W%9YFU?{T&rxX3K!Gk>9BI&^0g%bLYqXncdaJ=z47rQ@dfHhban{HJXa&T002Xk8YmDHG{I7#^QELZJJm{WL;O;FoqAFj ziv<)glBFxxL_3kgBt)*LTo!fas!85-_?h^Q^`sFwBWR<6LMB^D0jcPQv$AoB%Cf># zI&;OPR8Eaeaqo5Wftz~L7@VMyJI3JzlSVGBqZ1V7T0@}5-lT8zefV9epIN39^FLY2 z{DG3vZxD}|ub4cW0ZMw(RGceRIHsVE86dQ67PYw45phA8eitK{lsEO(5O(F(^MDD(t9KI`n5{U7IAU?bC1^{q!7-C@7!Ly4eAvcZUTFZ83)kVx(Ny9w!Bl z1H$0Zf?$92I1xurBY`}6#G0f>?n!*nxd){|7kc9s84>a5Y+Xn1YKuNJ40=Xl#`#+P z+K6W&8@mbB*Ytna_IrFQk*rI(ADApY9Pr^$7JAn=W5YdrVS_Ji?-0CG#jTz=)tN!9 z$Z0TA+7qr8B#MbEjsPgemX;@b7aR5Ej`;Fle2!;BGv376z1gIeb0nH}!J}tY0ru-%lmGDl@+_$gn5y7i5D)|a1pqTNL?-|MZ*)rOD{wk4QdgK? zn@_vB8@uGWBtWoYAd+ny^{ZLYo0}7m2>25GYDvGZg@Kc1a|mzumfnCy){>_1<{^ z5Nb)~%OsCb7?myGCWnJmT6NV8;AlxLfC{N>BRSuz5QP8$nK`qW0yz6S-S_k6?a$l2 z=4Z(`X0x^oM)|{17DuvTneET@9LI5ip zwVGyZR-bj{bm?{qKp+&hRMkaWZA~n(wzuJ1^}9H zsM=_AWcF51wZIj%4{@<|?d(In<51M=G1T*Xyeia1uvPTsSF6}Sie1IKB=of~u?xtGRE)cE~BK8B9uaCAg5m3>09l&S^Bc1^?BOF(^>MT5DHn3&#lpDS_rnPxrBzu~{A@Fo z0eH;f_7ayj_i@l-5dHH+E`v&XZQJ}}c@3(px76JLqNO^xy6Q?wIx2_(n;<8&Fm!^! zXHRVBBlt_VQ>}(py>kMUmS&>1lAkcq&l_+vO(Dk8kjiM=LqnEr+z3cU6B29=)iXYA zTFVtb;RE*zmfoJuL2gV9r^9Ele#~57f75$0a!Kmfn}eHH4N12aiYJY@RUKb5JX$Hg zXcgnidF(2|@}5(1oH6Z-nrpf2>ex0t?`_;7hL;w-xjVXSJ>5IpK*e!~_x48aohIGb z#=R1L<|np2!4y(BA+;vaRZUjRI8e3viR@CtJmrZli7m7Klr@CWtZsC5c-URb;%cWA zecYGA@oD=wF(;$wzjD6{PJmX(gElgEQ)3QeKJT=nHXOQWK+V={1bW)Qy(!UTUqlg&8kY6q= z381or%vOLl0TjZMoDD9G^3|bD5}Q4`?&#D9H>2nYC3;rZ7;+81$X8hMDTI9-u#e(m zR2ec+u9hbv?La^cy z{ZUtrXV-JRoZf}$z8BoiY9}YwREjuLCi@Y(uiQF&uN)0~PaLHwZH)>s&svWfoe`U4 zqx8oCv)4UFu&Nl52#i-{3PX#I6uzUH`<7@%6^2lCBRm-2^-+OOyZc>uvX?+L zP8hvDhEaRvjM*zk!`=x!vMMmL>}^4Jnr-q4O!aB+Zko00hOA;Wj%|6bL?Pq2{1@Q)4!Mp?5h*oJa`sFsjz;;5)5*4pQr!ucY6d90n zkdMP%TkN5C*~cCm5o7bZVH*lj1IFDLilN__HaeV;!ZM4soyhCvCDQJ7{6mA-=g5b5 zsWuY#8KC9D*?T9B-YZ7KjH;n_?c<`B@U^8XA7D2QULSJIUOAJuNW47OnE(?g7cDdm zA;{0or(tvgHm*6?Bw4Ab*jgs0I`i&NGIiD1C8*T?$+NdPeFToPhuLF*YB`ly3gW#X zeX6T^b>k9NlQYVhc=>6*f{fG6@p4D~k2^E6A(SW43~AmW;+6(egXbJ)>}(J-LRvnI zB6NarDofIINLR#b{sSE`MH@qB^r_CgMx z-Bgio%>Y6`y}yc$$~6~BMMpP2LroqTYAM=3+H(Qb`r&%yUoPm^K8MDyf0wb_ck~rw z#AbHOzG!w^OM_lS4TFJ8hL(hZ8WJLF4=N8+z8aECIi6t1oIG$}&ZOi%POYsQUL&Ip zYpiAZIoCRdv5PjSs#lJs6Auv9Q!RmeZ|D}_9mXD;@tt;$(DRZE6On zCa`#zBSY*Sw+6!FC+7rY15n;&(YWoaeXZT5T0XUxa#qWE)$*=yFu}qmViL&kmtJfK zW8v$89*SSvS$&hmC1QC#?y$YnSQv!^&BuDm5;)V!GanR0o+(GQjY(1OWOm~=5MaN7 z8{N-Y!w_%TAJ2ivQC6D5N3I~fJ_oRcKwpgp%*0`q)u-vhhqOkJ?hM}Kc!*&8{swPE z1D~p}9qg`64LVeXn9Cxs>%N4_3&1~}f%X!^?1E^+0ETc{^EbZ64XXV12111^W4edp zBtQ#ej!?YWm)-;W8$2T3qxeogJ{0mk?yJf|MXwwxdtLU0RT+-0`k5s*jn_o5Z(PW+ zeTvKKRb-!!Y)%N;CIsKAqZs0h#uv;cZ5q#+kSsnTKl(_A+^;deP3aa<%XV)*D48{3 z*`130)}G>6LA}2GQXDH|L3Guv3|y&fWg3gJ)=bieVo)2a5sV_lB#Tdynk6itywH=b zBoyIswH#1}sCDJbu<2Y;7dj$sCE76rX9k@{Ihn!LKs^w zd>THdvbl7#{w&GOS|w*;R`*Glt!lCcy3|&%jT@V`S16+AJJ}$__k3$%Ol$s&qFWmt zHxof?j<3Oi=rMyua^_Xe2y_Lx#5i|l!*Lh#dRO0$kX8nE#2s((8{3N2fE!$}I;S=ThRVLiM5PN8-&PF0`I_+zUGxp_SH9A zWFh4j`%nS;xV5%Uc<@(|sf0LJ6J1aE1Co*m2YuX9;oj5j@*`mvmbI)acj4CBP^tG^ z3E{AAe!_b-1+U-hceK1PshNP;$H91^FLGz;!Bej2kWS$qKko92Aalc&effv&S`J`W zqgH?0g4o@ZJ$hRQdw;Zj1&fU}>NR#zm$9pD%&ta3#~Sq;yQmS^)iBgGYB_ctMy^J| z#!-v0t1-?s>NR#zld-G5%vYnJV~x6vUHCs)yX-c%@Bgwd{FbfDn>Ve{pHy?%Gg{tZ zjdlaWsMDLWCdjK`=Qgzkl#aU3oh?qzpPVh9p6H#EMCPRQFd!SI8voIhDbxQa?ejBy zbb{7yb?RE{(>Z9|eDwU;+KgFa#vGWQ-Hvklb0!&uaUaEo_F8^x8y~OhmE#50{n^r9 ztw(2Oe7*W$W=|)4QN`5GMjKd76mzpY8xBZz?aNa94=Yh$pA-5$7-no#7GpiK#CQ{#7*ybheMuNHO1zQ)!YjuASwe+{K|Fc)?(b zX1~5ex(08=Q4k#v|8o&JLAz}?r3Y`u&BiL`_6W_500IyZn8K*YjG2qSgsNwx?&GhC zMjef0gddah`S-x{t4f{3T>}j)8lwxJw%d-pzz)Wy&PVICJ&}9}e=&F`ERuOSM7<1M zuG=Y!n4_vU434JykH3%_hn;E*mD+|qJ_>&g`>bemwJy8bNz%LBJ2}rAj?ur`Rb^cx z%;SQvHH`hxR3FHoq1f%4hx zuSC@jtLzZ?pSsog#=*$NFfZCFF}UVYDeS;%9m>r+*WD0AMHfV;E*Hw4Fdp}7rZc7{ zTB|NAgVW*`vySVs`o4LBW_o@{r=HceX%s!yZ7#oaS1Q_om_b#gOZ_hEji$!=8!G})(F z8#RNiZmEulna%Fhkv>Oh$7A$t`agXA!23ya!U}PP{onrDE0x*YS|Zx->fjt39^MQa zs#dq`_J0j4bj{?yruZ4wd#+E-wn*>sB5O@vcV@2og7z%=I^?IA@k+nN;5rpscU<1-sun~41CCnx97N0!e-#Ua))iDuS*4S6%nvc5l&8f>-K!f`Y$-380|m*jy##lvE9+Wshiet)OMYN0Jn?$Z`xhI%U@U?A=0qoJ(_(Lu zYYQk8z~4LC$v?TL?%ort^YWRl1>#yh_#g1T5U&yG3=r>|S9Qg`Iabh_-UadWwwctp zNK)p09@R-m^j5H<|8m^{E!zKeWzV;-$K7h8b4;+zr?Tt2T}L)+_*aP~aM$+@aKW2Q zQ!q*s6V^#2PiPO#74~mE-b>%(x3kyYn;VH&ZJ*m>-^g`azx2mNEg9&hRGmayysyg( z#LTcr;>^W8{|H)rEi?c8o#P4nuV&>uJR|y(l>0Cxs9(MjZlSxswf8RLvd%c| zw*r0}-Ngl!wA3tCSlit$tXEuaS>@0cd^hgWImsR{@X52;ZkOQ&Q6*2tL zN>%3GrSSSSomX!26g`HT^h8)+L+>Pv`H+tN+rC##gUE-f*fPJFI)mAISIz3WZ=}_z zAJKlb3pG;=drcYceBX*@9<8a}GJCvTsCZ*)=#qD(ZTO?$-?DJt9Aa4V@7^M3Fpw*6 zvDjBxTKl)fy_a5El*N~egPErEbDnKg|EbYyRZ)l0B|? zrrmr_6)L4n#~9nl>hPR+*|z+69Npjr z)8@R`wHsE3kfsfRXZs2Z&?T+&-GoTzZufb12LJe6{Jz!P4BI(U%d#}slw7&RjiYV^ zEp7vUrEQ5N!{N*WBg~~E{~D$a?&igEqzRK%%Z10HUAzCsds0Mq?IUO!!j$*x_}nr4 z1e_ODFKela!K3i`*5rfO?v*Z~IF+w0%TY1zRWj!7TG26<4=i2mI^Ky6iODIuQCDJr zRBS60aOjm$isW*n<1GIxLKan*m~bQJVC-M(b*&-RmdsZjR&%sHh0CqMCw*xoRc z`MHv!M0;k|Dh|VpQl3dkLJGq?{nRh zo7Hq^am9&GQ?2;Qzu$fHiI2fIEuo*CqgLi}v_k6~6CO`({EP>C5p4lN-GjG_o{o91 z*MIa|L|65~_Q?B3!tt#% zo)iA?Xv#mlM=7^s9!OaV@kjZT&xV{_3Sf`ue$vlV#(SVLJg=M*pC^1zCr_fxMf3R` zsLwmXtvpHf(hsixSC}2St(iO~YV_~kpwko-20CkN@XY&pMHNoza=-KVl)W5t9*$2q zsBA&+T$mwbP~caObA8gUTKAPCEu$_W3)dHz}^?U->$u?PQw# zcqzju=4Sf4yru8jGmn!xMc*&W;)QYrm#$0huRoWplVQYi>FfJ0T^}A#&H~GIWpz}p z4WWH9eElJ3tdFts(ettYF|j=M@SgG)4nOj*QhyHp;{8qDEJsV^jrT)+rEcWS%~x~l zQ*cZZZr}Oc`D*q?QQCVkf}iPqwfM@Kh#>}RZv@HZpffo3ci7Vpu`coME_oxqqsjw` zp}XVsp|4ZC8}v#7acu4Apx(83=-W2fTkYoJLw_nN)ANh6Pq6Kq?rMHz`5<=F4Y6L* z*mv*AoBbxa%SriF4^3GZcMGk#?ef?YbQG$6eDH6o8SdcNQz*YK#YWwucly`g6gn1P z+OMqoMt&uZ7ar=krMDORQ6>Gdgh#PN8l<))8!dp`1i(GgP(Vg8G?NaS9otxMjV0W5KJUkM!k@4C6E6470YGB9@Jx^Hws9Ble_&vxb!*&` zUG=)G^*W@me%cwUr6ztMmz!bejyth7MjN`ACLYcZ|lTsYiq85^8AcnLU-;^ zfAb(0R3?>V8s`(wqsM-AFD}3T&4Nzrg}2Kaal+? z&n;Yf_W}Nl_m~&h_v_m)71)_jr|jd~kJ6K?=9>p580Qj&6GCHYn;pQ?^2vcbuNjn%YhNjDLDsntE!Af=ACb z)kA-$YT2{S*m(K#$P@H5w5V5ySNh)W^?G8Q8R|Ew>)2+3YV+`v*NVw@o}C)mI1bsz zE}T={ycQkSxz5vPUN>i`Px&mU^|Yq9GfAj@9QS%muA8~G=<%|fW6#U-(e!;n3_KM4 z^yclkU`p#1ioNA>VxFzU&zlp$;jHCaoO*sYYkh3dnR6GYSMDmkK5}}E`Zu4cPZ1Y*vd?|n@)$dP(Q2IF1^cEn}?1Y+U=RYta zLu(H``ppT)>od1zAy5+OW!rcb?k!fqU!Sql+Va+-l)CmOD1Sf|hKJ}hscehWtDbTi zp6cK+^EYxmqpy8;V)xS7ccee+Ca70jX!Lz)^F3h6FV?UPv&Yd2m`@A$ea8&>@X=wC ze$kP>$B)Burq|x<_M@ufJ&r7!@=`I@@t-QczY+5hA9u9U!N;HR;bDW>|Ni!SqQp2Z zjn=W@mwpS^%d)b^pnEBPME9Jc=|1k|y{*SF@N0A?`6cV7qvGy9e$_*2hmxmh48C+P zKo-XGm0wKsuFlMFVm<`3;Wi&rrh$LB!s+|`@b&K1K3G`e%i8=gYEYkx%O^|iPIo9} zA4N3F{R*_O9A)E>dr&>tuBb(-PpcKT2Z^Qaq9-b1A1l}k)r5WMoK!!SE^86t7ub?l zJ>U0f*S(GG3jGvsX+tWo$PYetR5t_r-1D*6BePwrlmEm&_Z`|g9VUm*D! zbs4+;rMc&^1;QIf&~r{+pq#Ke=VbLO=W*nEiiWFZ|L{Mzk16)LGPE!gALyK^7g&qx z({?pnGa;wO(KNANAn2U37i;y_`_>w~ZG^>$S~YvH#Lki5H)4xoM{D-`-e+T6v)K1M zwjVDlMMrzdFRb4f_ux4T4Tf_*m?%x&;1sk36QIUs_G3LW9U-=7*@BPWlpxJ!{ZMk! z(fMXMs=n1U7|5ojMdHV`tLOarh;%l};#O#DbZi=jR?)0&9FJ?7=CxmsKUdN6J9ftX z`s41*JHPV|1b4>db=Be07uFko9ii5MZwnI{xA*;o3h>#xsoyMP^*cj3H9PE=A9$kb z!rdX6Y~Q1OJr!4Leqi7C)yYUZo4`Pm0WOBVE-X9s-?L+wL!P0XqsFB6Nhc(RV%o#_ z+ggueu9fvL(9p(;i?1g{F?K1jFCOuhJ$h`s`&XZW4^TJjF44)Zs*|(-vsNnCzP;8= zUfIH~$$m?ivm2UMKf4e?)yy?N!#_V#%_nd@51o#JwT{A~^jddH<&ZH?7MHW3gO#-J zvagov7I>IgHlN&Cc8|ZH3eI-U)-7u}`yqLjS$@m)Y3*eN4L?`mK#ktav7%#VE-5bp zD=vVV$xI%ZeIEhwZXna|SAG6OocIp?w^~dddZ__orOc$?YlQTqzBXl&n}5r1`^N{J;_~)ez^ncqbZKSdj}d(IOKxz;KJV-t zF?z2q!+Yh-*(+CB-sOzdd+r#$SE0`jVg&4BYeS5(kMb-WIE%0GooeMi0usC?!FO%L zm;@07gouzfVWyNr*G_85r%yhC{9rssATM!7X>%-O}Ncjl}R`P%i@ z_SF8-`ufc+3}@z;9i-gsRgV)Tvi4JrQ`)1!4WA_#`AI){3*Wdn{GyMtMP+0YAD&mj zD@hv~8HI`)*dS=W3ZR`V7)dFUX|=Vohke{D`+9N4rHmc+y~W!UdTrmc6WhmY|E%qA z$gf?)AhVHCp(?;@o={f0z&q>Nv;f@@=KFT%ja$1Q~ z3J$u5?HzO-)_2f5Ywn;u`S4#q=%~p~$p8u>>4H`q#qHyCj>`!(4%Gku)ECK|b7xSY z-gM*6O5qdJN5;oleZV|B4s`HgBO5{(KomHvz=h>Q5+s}=9Qjru2E(l&aM!n646$9# zU(RbD`uo3K0ZNjKLDb%o`pcPL$pmTjaXxMhpd`m*lA-P&caK&G@(_X~&0%4Tc2l_t zXxXvT$^~r*c8SG^fA0U)!qnuSo&#)ML7-b7=nt@m@4WQinoI}9^S*M(FB+LpG8}cT z3mJhi3BZEo35)`Qm8Y($pb6q0d)>k6>h!6>-tyt9%t*IdrHk6rVY7ez81jvacypcm z&mY5Nlw>DaO2 z69U zkKxF^5ZmVpZ_-iwxCwM{9RcdVRApJjb_jHoOfdnCY>fp%VOXL$j-%(sX&c^+3}pWgmy4UR>(aiC~@@VL9f!kbVPjc%q*nXoM&Z)n%K!28(Q*?qKc9UDhnlKNTuBID9dau{_IBmnG9C$XK;qD5?W zV2(nAP{lfJ_Mduf!>feH*vY=AK3nEXr>`R!l1G+B@A$6=mVrcWD%Kl zamhI@>UHHQg(GC6n0JD_K7B)?j+6P;p=YCb%kg=$Vf4!YT zPx3xTE@AcJA-J)$`lXC=gzCNBKC=tjl3_hcKMj@c639Mbz&AteHc{%8k}%qA*r?4p zC`wywn~U&4L#c)-G<`kMva40i-!o_-cyN~FSQKt@O=K;seG3Ew-~1 zX0(G$yFw1fz7 z!1uU9IZjGhR^%!L8$UXqsn4*C1rPcpOZtSmY021TSUvq5oXL$ZSqgkr}f%%m;@NN}E& zGm@sg!cfAo4RHZ*undy4gniMq9Y6?-qLN^bua^8Ib9ntJ6U8Bwp0EcvFcjoSRd(^H4 zETIiYB_u;&6Q)HOG1Y}urvf~$NDfUq1ZPt7Csgxna9HexSlP!_K7t`W!wPGPAe#{Z zQY@v25a(pa+;*zDNj&1E(#Z3$ZuSQW%T z%C-sBNg{M_FlGyg6hK1oq;iq%U%BEG{g6bI{2rDk#$+FQzT6mlua+NfJo8V4Hn`ta zhOGzB6suo+kQDuy^g|DiBXzItJ5>Pn=Kp1pIb=gJAQ0yz@adGXWl*Yc7D*P!kdM1v zxUS|Q<7P|-fE7+>$8`eIHki<)6~IP3eR);n!Yetrk2Xw|Ge7e7?7)y_QiJtNWyrLU z&~}tapwKzMxDktb;FC!1K)pWh-qkhM!I~!82?8N5A>ztg0>EeuU?(K+iX5pZn)h+w z5db+m=hQ1mbZPgMur|^@+r$NtnG>#TLJEk0f=S_uSNC?wYv~a#kR_3tckYfPkV|FB zm?LBgZW7sw1a`_325^9`c#-;r>RR(RzVa(HD(58kD_!{)(YRXi#6Z`%l zvwd8cdvb>Ey&Yor$`iBH(~onZJd_=TuA~Lcn5L7vT*p^G$b$SfU28#l z{y{(7C3}6?Shp=ro!YX?1aAm89HbC|2vMvE1`_Z~zX!64rsdvmbfN8yIDvKAB<734 z#>}8pu(6eFaSJ#AG7H$**+`!$8y~lXJoQIM9$q zJH=Y?Wq@CVwQw?PH~2dq`4fryxEuEcvzUXRs~f=@M!t}bISv{)SY#NU8Vy5?I*>2y z=>Xfw?`?`Y<)MtFg$jNU=NI9EO14Co{&(eT8tYf~SIodAhRONR&$}il_`J!vmgzbh`m|Mrwx9gC$=M za_UFbN0Xi0S23=#cCDc8`aG zDEc^Z_dG^mdF|41fl@XhfoD5LFa!j~T0v|A-8`~N-+x4tKMot0CNcC5Cu3U*`KCN{ z*X&CkWgPl4Ol%gE+Km*_u7ig8ZWR9+0ErC=qh1JJPtzR960Bt#Q(INQvQ><0I#z@h zPW|Td$oC-SQCCR2M7L%{yH2{nR!9ch0t`(_U{+N3u^aLSC<9{ODph^ znU$~wHya`()@UGw?3W8kYTQ}Knqo1MyK9PVLAp60KZ7kT%6443j zE(Mgr0UJeZ;uwa58byS7Wk*b#v~k2|icWHeO^e(W>;bfB&i`hQlR+sZx~cuB(-Qn- zm<7yS3P1$D&c(|YD{O^FjE6ENcdCc~5P1BItjHO3#4e3^>Jv(>cA&C2VA04kh{-k! zSp!57De#0N3W@K~oRa$ic-{?iW9um+4KaW{Ij-(JY8S;zbeFdM-|$*$yTTtgxi^oP zg68#u5thQ4Er&PJz~fh>_|F$WSwK|9%Xya)U6}4Pu|n+IYz(`X=;(A1_h&|(buQ8B z+0{?HFcO$A`~nybnWd2)-Qr5ZKRYyV&__Dk-=uTvcMiHp7w+<9zmsWuZHL{Y6L)zG zU#JKKva~Fj!J9ZhIN>&wX3cG(LHS(}z#hs*`19-zbj!PxN8MQM66Cv@_cGljI$Pb+ zE)(Fk4Kh;@%9$pTB1qe1Z|h=2oD6v6PQmk*x|H(n-X8KLy5m3PB9A}?F%sRZ?d_h5 zItDiD(pZ$hABNJEl7^-Qqd7_OM%s-&^s&AkQ^k?@ajgkT7pnap=qD(}I$^1tY-m`* z)uri~(>&6gyRZ?QgR=rnkdgt;F3AXl8@oc74W3q>A?S{D0ax+vRCb9^u$*=yrwSz& z60A)iM0jp(LyT~V%cTrM(;KAEBhew|E=V1MB2dwp(gI~$BA2ul3j}~Qxr&BYb)^Fv zsX)vm9kok)Q%$sDHfFTPEYc~$CKS3ZqOPHwAuHrL#!v^ISE38bT?D`kg)jK1EJ5t9 z$oV8fvI-(5)FQf4olH7TfG51WM3Iq(8B5r<3yjey0U(W;ZGx6`z*+3E+TAs~A>9D& z65cpy?HeO$22m+()LUW8Zl!3HglPv2w(1npm60`w=a=ZvaZbWE0|8XEqit+@i&g-EU&?5J zySMU}R+M3(HY}-q0a{`pJSiK57aU6k%RA9_oZ6|QmQc`%E_YWl>=Jf_lCUi#WLQvi zNeu)^ku5_Br-8zgJ2CMpoP>#$==^u6L;}H7hNLcXf#{fyBGlNIxgi-7d!!q=5rQ6B zm<9=#=yq_xc8ElU%_4&n(IG)|$|4ZzQcy9$%jO)I*pZDOe;nY6S~oq7;yf-0qL=90 zaEQ4HB!De71FVo(qZ!#u3KYnJLlBF4gZz7*#h;w?ex^RXhmaFm+ELr2Z$vBOBsA4MY>;3a9TTIEJz0@a+J^xJi6{ zUO<$cGrt3*xF{t_LquJU7?g1#fyqijnGsR~Hk??(C6ZoU#kynnHL0jsWIYb!J(JNG_Qjt|8fr=8hlyG9ryB!G2AkDel zw$^_bC1GXQh4JSs2+A_H?K33eYFN3>E<_iLzpx$<5CZ@N05ViXHUI!$WLDK>fl51! z)bk)cGg#nVTzOW=Jett=-LX$p{jmATbgQBIE{1P&~%c1429| z0nQ)+0TJgO;Nk&<5IY&AhV<%n+FdP3*tfRVcG5*1b=T20_Ajzzz51OqT}3_VhodrV zc3ayzY3)XL98;vfW3Tsxt);Eg#;;%N*2cP77j#w5x3Hsn>fyZy-|e}UcDR;uB-8k8 zT6FNv&fDIxMcKFeS%a-*C5=%Trlb?)d0+R{f8G7E0n|7Nx^8I!eI$)R*#9)pM z&Ps=b6%Nly(k8g6Wi6OID7OLOv&WfjSz09aUa2nZY~P&Hhy0U*HDap|E243+uvr|z zW_5c0b`wxFlYL&yYSSJ|2DZ0K+R;?YW>SB@v71g)rQfeR9N|=Nmt8Yu<=px&9V$%; z9*KHLq?Qb;hQ^_pEQ%W@^0Sm*G6xKqT5Nj_1UybuyL1yc0Pa}H1nOrwtlrTG;NFNc z?|~xZ%YiNhQg?M`$~hBSpQ*4hT9Of}!*gO?ET`p}Py;JYozG{wIVO@b8)fAS0Iknw zSO-hYP#TpHp1*Nk7xQHar8jW^I~bk7H{WA5UiDcN>ssi)lQP6=R3O1+S(dr8JS&qK zm^nSk#CWfGCkq6gh1i%f9+gn^&ZkepMaU zrQ_<1ovGQW(-kA9WaWGt!=12Idik4lg5qvl#dhlgur>$jv`LR-Sj7cu=JB+3P=^Am4N$7Cfd3_=$Y+ zlE3$Ue_f~1));4%OxjMk{Q8XLmuH5)=Cz!L&=G@lh84U`@h=32sh(=A@fcSxr(TU4 z&zr3uIg6{2yOFO&i)V!@Y^Y>>k9h644{_@|XSIZ6td6ML)zW^5V{?fNK{q{q1*pNY z-ci$Iv(-r)_G4fTSHgzUtv0VZ_OZf$F&DIS8{;D3M8R`5)KNcw-@&z(yZ`>~XuJJM zOMMQMEs~qHA2<62s~6>_h4eGRA$(baa*QRCqJfNHuQ?~i^E?;NyBh=$2Fsmx-y+M;EN)y+n z*WKLHDl5dp!}bOww`^#Tug$H$t=G}-TyATprlTA?n#b<%g_*n4zBflGb|$T|_Qwd` zv80^z#;ogjgLMjbl{*|9nPc(gkxa?rW@OGBFZF4j8uX{V`X6?8ovvF=;#fUo2+y>^ zru|H|IVbaiyMY!#W4sKWgMVs+lGExgTUs*ma{l%72>ji3`u;a^ z>zE!CHGGXN$uRb)Wa7Pt2okZo>;Y2LlDM3i0Auuz07}7S8(~~!P;fccIFi{oy%UQG zs^fu9qWpO!r-f6Ty0wL~bTE6X{X0s2SF4eF%lo#;X4P8C^+;U#ooiv}?PI2;LV5iu zMKl)J2$syAp}}y2yHauAd(B|W@OW5*EYKkfsaTpk?nh4y$0hcm=(6}}z=Q5osOY#+iB2082ZTB9p)8EF6c2ogr z$)24%a3Q!Wm8<-6yBpHTqw@uh*yhQ8OFb2D8Y)vovS#7nt77 z!@*coGWtQB!oYROi0x@HbCEYOo<3qPzbqX@Jbm~{%^}9i<%~d7VvzLiIHS@TZ^eOQ z+?6R7D#qGx*6*D3*?iR0Eiuw0o0>P_qaM|kE+eFtE(W7mVo=FkV%^WIOEg73l@8+S zkMt>_jqRB+PL3uvdC6cHYCv4*GjW=@J7^(jgqI=0CfzJcI2q#8l4+KkRpB4pRmz7o zYg<~`0LTh5Ho4y^4r=D-3Zr_@AZt@xELfq+tJAt?fFUA9BRmEb#?|?rQ71^cgAIMM zNqIxmMWQOC@0yITZoKIoqV>*)Lj7_jUsb1+=o)NH2sB_{3gwo;`C(4^U=V(zA?f9e zz!VkHu~`!|UuRgiBA7doanfVU^HHjXflhbHwJK*3q#OvNiZn5+ zIjFa8;gO!%#JnNuqBC`TABniRh@g@_{moZ=`C4xnuT6{j@nirwsISqd$3}#mON{Ed zWTM+n^c>dcB@~Aa<@lp5msK^ zYPYtywTYGeU*Xz;Z{C(Aza7Om%Am0qL-jVHrfxC&b|HRi8d;0FPAC3dV|skO^WL5c z@y;zq_1qHC?YE3{JJnwK9$#+1%kWHLpD9i?OMk=k?1N$khIcR4d*zmUC#mSh%xQ&~ zRyi9~ibTjr@CfJ$Hm8r2Il2rAPqW`gNsfENmo{fFOh+|UgN**Qyl@&^-u3qH?e@!? z_iuUY4NW`Su4$5Mam%yw_CAhj&VFo8Mc1-&On=fA#m)3Y2_hZ#;^<^DoAp&Y4}QtfG?iFUkAZ zP)u=f?b_F^?HgtKwO1OVMa$WiSgklHIfLNdxZJ3H?`aul!j}M^58z@O8R0Cq4YZMc zvsSE>v6kfNn=3qWYl4zlx|qEveJC}30cRMG?!P04+ogIkxo!*7?XM?oJi^kUd3gcJ zxBmw&hg(9jamCp~zeHf2yUG%&Nxd-{%B zUoTA->>8aM)7q`C_$u@dE;f)|J}y7_uT6LF`&Q?Q{S95kAfBQ7OtZ<~k(_xecKh9g zsnlra_-Lpu(eyYi-GB?wV^{8&SG41{wBnKSlyJJB&I`dSnML%Kodh5A^uYl3lC=FJ zHb}wMFK5EP)FUibKbB;^It_uajz(aPE!rs5&=D*0*0xwT=~0&TxwZ>-y;YH#^zAxU zOIL9};yezKIUi1Ifi@_=ICC*+x_ei+quF8hPp3w3n_IY~tD99fBwduMH4gCv}x>iCXh>}hVbnv2i)OX<)`dJ*>?DiGW;tRGd>>0PNl1YS#Qz*s8 z-8?B@W)({-S@Vnj8_U^W`^HRdr)h}j3{9=~dt9Ek-0qonM>RoSo4x@O1dd|e@a_sB z;=V3CQU~&;sx$uh24Vb~2~~mz>vXUGbv(i=SP#ZW7{;IUi};x(Luspef%*8b1smoV)s{IFu&v_n=fSdCjwhHdWuxIVtIM#R+05Qa;W}#($5m#z;i%pd$X3gUd9Olx_RP5 z&Q4HII0;wJ=l7TQp7xLZq03{l1nU3hM6*ojUxYKpudae4Qm6cJvty2+N8JgY_Dq_y z8^b$VGL42(k3k@#MEnF8Y>a0w=Y{fpB*iBYK9p zM!j7)gf7(iErd!u#wJX@@2Y@fb2S5aX+~SJnR!D2N<|;@Un_@H0tJ%9p+2*l2^92F zzsX8w_!R0q%1g}02?><&Vk{cuHR(i;sggW1_hZoImU+QAR=4#5hUN-&OO}N8aU0<> z*e6^A9O{gr1VUH!v#4=|v;cS!mqg6sXOru`>>wZ+&7kO>9q21B`W zz9V1aFWi74OwxdkM`7taa!WTc4Vig)yqAzeaqn;Q*Rew{*8>78@LWOEBfBIHijQ)V zNiptGF7F{ft8c~f-aVP0^2>^4Sm{{eM)B|3o$th_`ld{=VDs1nJ#+nG@rhm+f&io88Q~ziL;ss*v?qvwPtrEk<*OrX@wTZ-utZzwk@vSB1@+07g z_LvdYvV0)sKIFCa@kE~=SR=4R^vkf@)FL-eMKDFUEnF->F#Hh+#P8dPe6*$|lW^1yx89mDDqF20cP~tT(~sVG|F(P@ zYmfv>rmIwN+_+!v+>AfWeqrdNl`O!?SaNEjtyb+iKIHHBOFZT%o-OogOg*6g&>4fp zj=jSwY0&p_d+FQ1zEqe0HjU8$alZG?G%l7gGRzd;FVI-aHZ7UGLi=!oyL{pU+=nGO z0GQwwmi5PBDFmA)`&oM|8$MkXntXNtp=&7BIzeUBAE~9=^z@?<=tuJq^r#|+{!0Yy z((^5=tMYe@3()ji`_~eV6;3NyLGB=`H#;{)-v(WUczV|e5RuJ^MKzJfFtjkN^K`31 z&wZtZCvI&Df+U-iH>b8(D(iPadF&N^ra44MISJJt$EES_gf%y$|HIw5TT6k%^7S)B z{s;LkJVfA%+<%G`kFP&#uA#VBiq!jwHWazD;`o;?2G>$Uq0fPs5lIn8{Ifqq&pErO z(^p##`pO*RjSuv=<8I?>R|AQVhK@rCGlD7Q_0R_#u z`uYszmuk6HP;Z*qk3*pCV=Ks8Z8ft|P_AQI&Twtdm#s2vE#$Vv)xEv^rsXW&db_m* zei(WjmhiI7OG}O44b-^j>EDwpMDi_?`C&=UmzFsGWGrOHw}>MXvs~a*?*U{*`<`%h zc^u~b&1O(!;2|@Gx4(3d!7GYd;E46N|c%`Vj_mS*j&v z;b|XM!A_A)w`2P}o(k>uO;&mPu{Yqzyjr*pc!^;=C1K^ne&19LSdW+b_bO{%rr5`7 zNjo{QkINv`-jCqmZSJ6%QET)?J}PJpnJxs-l$cYfOS#!#Paa35@2a6XS=0+Na4s7$ zR-Jc4w#B+aoUZfGb&+IDP^+~(upfaXdJ>_~|2pM*c=r)llJ;*!XDLhj_$@IzC+H*2 zy;)rzdWxCylXab*Wwpp(+sSy$LAMV~v#n^|Jl!griva8KvQxg!v*C~Kl6Y@o1X?ov zd;JIslI9M@A*yO0?KR~ibVTvFuu>nVB}a4zPd+-{%XGO~H8LIEK+9nm?qtk>X%VW0 z4Aab}ml1Z3h4XTmpx!m_R;J{|xq5oGN?L;h@ADD(*nmtD>QvDTxR?5Z<>F_lm_`f@ zeaskN{_n85|9KH#P04*_Qzzt0(Fj<%WHI~zLJsNd?6KRx0gw;o2S6F6+u?EOILknh z4II{%UD!(Mz}MIQ-|^wt%?O16qb=X|16k)k-Mrok?tlX+mr_s=V($!iYklz@1PgYX z|FMncsnz#(cc>SMr*r_l60HfOQ=jn;mwd|QStejiO9b|x5fDLrW)Ks7h9M38Od@QZ z+h7eq0^%<4xeD2z4+7VTulJMQ!9rYE7w-wrF zNbTPUuxQHDC%%5mw)sA~{~tEsxt1oAi!7_+XWZUd0X}m{gHzt@|k$H)9mHMd-$hTx{?w1zg*wAQey|HI4Iis zRi&F`h~BiV@&0mx1E#wDeq&vwK4tm*%mP?faL-_GqA=jWT`vxa=mB`Mutj&igvkWZ zV!{-RxHS541^St;+dXM(3g$*!;Yx<2j(V`U&{xo~ET?E8=;dM>Di0RIQmYzQ0p6P^ zK*NeWt&vb9W`?(>&+z$+t)Qcl%?cE-PLE_+hicsu--VdWh3b~O{1FGzQO=@iJcf?q z@K@16mgUJR(Ag0kfJF@0N1vaxUs~py3;!8lzb~19ZzDiHqcV`r(27!ie~P)H90iKA zhLFxUZ#(M(XOS_%Xm`!NlXC-l}r^j z`i3csPb>q%c(%1Ic)+R%-6`2XH+LA>eHq5KA2wH^--;{rY2$Ude|^LKfsE@R>PbPe zrAx+Hm#I4Pky3Ui;eX_A{KIae*kE)DuuJB{ES}kB??`N5L0!-oV9)?Mccy&DJQ*?d zVP~(g2vDutz_hD)s`A5d-4Vf4piBPe?>)>uz>*nq%^cF3S2zy-jX8P0aI8dfLnoFf zA3Bwv1?N%jq8uk9aqq;h9mP+9_7cTF$JMJ*gr<6z00lbDo%#ggJtJ#_t@VnkFJL_@ zIt%kVdQ`S0<;es|QDXh*GmoZB&c=scaayRXM@5HYen->!cc_QitwkNJIA>7QqfRx| zf!6by-4_LiNf`*y^(NurTs9ruPzW3A5W=GaOnHR3;fNE_btd7G5$)%x6b(zXKgzG+ z*aj4@WINUw-2@HQ9H4DP($kY%{Kj5TPfk;r@@Fl)jhTx6{DQDW0{x7bXN%AebDEGqPn7<0b zB~$Cq!NPlR2aH#&w7XQOwVV~)I=F?&dHZp0KXWa0FyAw1cIKe3&w9Qlt!GoOKus$d zT=OSb`Wd>}(S39(C|{LWE;{UyTZ!nGKtB+tKkG|S7adqgxt0QduF3Fc79A@NY*F>K zak0<$66rF)Dq0DdQlGH=D~>7?E$zKsHrn;=o`(JXhtzePKjmOf|9Wpz_0oNvEIWqv zxMbT=gXat`^l92~pbF<1#6(>;E-vu(;Gz%J=Blucb02nOxmy%P#$C zcI@}*NVY$s%Ws9hI@R|VKPO8RrQAeA%e`RrdW}|ZQYS}>GOUVF1J7lwOspyy@EI#O z8sJ$7V4Tp*ZK(i|OaFxT1iVnm3eHCKY=YxS+U!}!&2!?HK_!NOxMWsQQ`_~`-a22a z=ihKk&hyyX4M#7Xum0e1L!S{q{^sO0U7%h|WJubxrW_W14)*xlzu^n`B$e6`_dJC$ z0zN9NsANQ*B=WPeCgH}yE=%w$>sJVx^I_~}JwA|SbOO!G27Q$b;0!>oCuo7)s`=u{ z*2Vt2jcaZ93ESHBpU4mcESbjEiX+ih!T&$l`D|3^uqbBGh)UzT^lK;EJ}k6+hcecy zI`yw!iBaSPSu(7)`R{({6;>yg^UE?dE^Cr0=Asy%n%}WA=gVxQqbB;BUi+G`e8egs zsAL6av3kUy?zd;7WkVM*5HzUGXzP?j84N5fAa|buT|~GZ;_XcUxCH;x-0?Y8={SV< z8Ub+$qigO!0Ad8qxwu)KcF)KeKX7p8q#6gI8B!K46zrnUo+un^sn%H&g7A{5#m!b| z^)p6xg4*@c{jQ2Cl>=={6#BCNcjCk0nl*7QI!dOD5zYTKtxX&F5)Q%kqLQmB0)rE9 zLdV;~e+^G1*RV|Wz1d*w4?Dg2!+1)*y)sg-)f?)L+lmvyLnVPS5{4tdq9q~F^qG=H z<>!)N`>m!zZ%XeAll~-j5E^F5Vz>I4JD2{BM|tG^$*I`}?9p-Wqf!CAhYY;e03#&xo)0kd} zWH4sAh}J#>QKY^?NC`Sln=ux}=i7`RMU{p=0wy!C!Rt!!vnL!yU zR~AAD4;nH6*d`~u9x+YXkphG*Y;aW}8#Jqkj=abPxZoK}M=x`o6=6PeWQO?iVC5sw zBEH*z>U`M^p%0i-6N>t6Kr~zbipnUW1&wPK$VCb_K{I_@q7at@x(Fph;H(tzwcuIm z)avDq_cVJX7l!YEX?G}Vq)M>mIS_EwwstD9@jfH{b5*M)1I|{B`V5m93`RgTC1_c* zU^P^O$1+eVtGNQ`Io45)Eg4WXXNFqqemm-8)I-!3ONJ?1;nSrrt~gfG#~SiQy@qFT zooCr{Swlf%feyK>hoII#&|rf@W;;XJ23UO8~tSy(gDlt=PW&qC6(tU)D1 zS*n;k4}?vly$NF;sK2oAd zsLr%`>$6>dt9XR^YMc*Li~uK=11d8E6Z{;~qgQDqbZOqJ7|D_;KF?I(&gj*{oWb}E z@W+ebhjc~f5!MWxvHc93vHc93L;M*yblwmU0{{g8GE+r1004h0aq z0svplp@;yGM$OIu(flKQIt>BZ8trL7W?E8R?rpiYqB~A)MAB_fZy~Lxxx*23Z2WFn*C+$V@6Dm<)^L;wg17)T%hKmq^&h6Idg3IN~l?RM__ z{_g4B+jiSFyJh8WGTXM>*)skajH4yFWZPqiD+Ys^0Fgk!h)p30NFPV|Bg8-i_{af7 z#Q+)c1Tf-!KOl9Cr+xRd9S0rNR{PpaDs~;$u&!sX_1kuq*D8G0pfF$-g})J-XY|v2 zp&eFfjKfR%x$dG|tqPeI z5MV)c1R`}a5NoW(vbELO2e}K;J1o<{T7p*Vz-5roW(Wr%T4+!E9)&2F+mT|NkpKdh zM48;K;LTqb0JJ@p*`t72hpVEr2*Y2HlQGa+Q>rgaX0gxG><$MrnQY9q4>#78Qx-l2 z?sR80d2vxJH74dFxHweqf#c!neNW#IQ<9hyXNvvd zD-F&3=giGg>tl0q?6^fBlUGp->BT?D{n8c7136xaZpQw-iZB>A@fT()T?4A+2szsx z$8A2YIi@QS&7eihD^U!LdKr@uXk2CqMVdf03aY^*%lx4b)>z3}|+R@Qy(zRp><&HlT74Q1W(Oo3#Ees&kpBGlhD zjAfxFnjHg6b0eu_mDwKg+(t-nw-G)&&=zd1_U-*;`?2eIn%y2L$gj(g2+npS$Ze|A z95pZ9FD_sp43P-_rKy=%yB$&di|+qR-(MV^rvln9$#D|@aO_N*dInk5(j2!31IPmQ`U_7-b;hdg1bdC50JWp^;Ve zlCn1RecZ0)QxIl!yuY_rOL_!9S4rrXUM6~nyX?QGL$-EE^ee+bKv7`iaQ%jyeD=R0XXP$J#Az-DOZ0(D`CF%33 zi|04P!dN2#^0zbqyS!>W;;SIdy-_OFQLs`7MnS?xD=C}}&en5KKi4{YQ(dP`{n!@I zCfRXSR61+^N>i<+bJ+|AX+V0W$ul;5-%>}A_O{jD)e+6v;(k&eGrT z!}uY9441e98;R_?gt13L+-Oc$|%8M#=+wdGhyQ{n*aR_Kj>{PB2zEb(iO+gSKP{FEW-RN z9&Q?E&Kj|2NX2hIh_oX!&?(8w8$}6>@vT>%_a;RByjO3kK|~mKwyDi$4isVB{uLc# ztQPx`{_INF>;9i1k+{5{WWZ;Xg}4l)J$e5aY`M$~gz%n$zH>p9i##;cVdXQJ^3 z($l(tfx{!e#+C18vCbvA@;hBAeg>T%cXdnaxwfUt<=f;8{;DTgUVJPzl!bzr#AV%v z-?_peh-#G}#TFE*FfK?QaY5RF@XK38Ko+UY_%q%FLGZ9Ib{k^+a0!K9j4KKUR0)b1 zxGrt05cx2!dK`NRO7OAWK5NdLp|~iN+$7&h>IHMW=E+eoz;5_E{s+DQ1V9PI(W1mu z%p5WXQsTR}j&8zd2$Ds|=B;5bP;@3$i!*$E4KTYSlcxwv z>#Y;_z7J-a7Dzu*;Yo}^F4p6Q=dH(E#j8A)Vwtkr_j|k4aLUR%Eq(96oHyJP~2~Z{9q**g4%;y zcO#NBeWc7Uq{tmqY^2C8UAP_fATwg+@@;MjjsT>%-bg$m_sDN^)g4kFTvwyM%IA{n z*w{f=EiLrE%|Umle3VSKW4-)g($7nMWwUS0fad(A_K?9V`iKqYdYNVAu7wTn>-xG~ z7u+>iD&FKH2ADTz0V(rQbzl3)LBAu-^5-5&37Tqj10!7vb}BZUpfVQG(h$vX!wm{1rd+XXvl6%t5*2+984}+Jmc6IzF=0Tq+B~D_UrGTA}nX%F2CC=u1 zwEllKLZ~zC7*vTf`lb-;L~>3u2ip!t|IV_=4P+>jQBoChnz@A)QNFDWf0ej-%H#@# z!3u80IA;0qyCXYJs3NMWwvv+1n337(Nb+~V%8IQ}m{&`8Q`oBZ0HhM=B1@ zO*(%GGvW!leSM^b>_-_AS#zP|`lQjinVm_my!?v!<0FPhW@z7K_btF&7cp2!{1OkX zm`9wYw;P;E%}@&CX%PlR{gE82{G$ zHPk;k|1_HGg@B~bn!y$XV?NLh@w9ahcf7HDq455yUGDY71XhONO!~20gAJ1r-D#SA+9q2i7#)Lv4rchNvYuq!_%&oZR8%S*C zYGwqL=0*koQhr}@<`M9Z<-H2=_hazyLCu5;Ju{QTCh4;5eL9^ad7~RmTIiSS`o=mX zd*|`-adbl|C4Ie&jq%m=_cGrQjZsJA>o5zB7u@%*=6*)6tezNyl0cAMm^9IaOs-=A z%)uT8na6NsO7|6vC>o`2Ys;$SuYXG`3!nB4Gkl1DWjqNDmBQ#tpXzLAgo9L^+$YS` z6n*DUP-#WN>r(iF{{HliK~ho`JQeIVA@R}keh5rAC(rOZ>yST^P7Eu#5b&MrTk6D+ zzi*kjuKeJa*UjHJM~2K?KK$moMg%NfAD%}@g$Yd>us}f4F7=EVl`(~r*Rf~OJ)EJ> z8q;qm;iaUvIP2q|zjnquCtfh+KFuc<_oZn_f$7KLD$eu+WmtaV3~(d8#`5W9mtQm^ zgmJgC?QhWI-@pqAe=Ibc?I$49gT|$L&zYkm()z zdpJd%G#=kj+e@OpZ_w*IKdPp0CtmFB-^&H^?I+9RoyFH+Sl5z+nIT-#sUKW7`jvH0 z{>y#5V<$heMoHyfj()vN{l*zRGkcQs>}7xnSh^rd!mLDMtSI`8=s=Jdp`AapFHfbFV2E(ZEib4*zG;$?QeIGmD+sx2+qRIe<=46OcCy?UrWE7XC^ zS{<>?t=g{WJw;uPtrd?{+`8#Ejj-CuZ6jbRN%&bpWNmLjtu(Ld_(#2leg!i%!o)uf+ z)f}gFNb-iv>+fSS>eZ8Sb?Pr$ALdoe&APc?t@)O{VZU1QeLBj1>l8R*2(|2F!$D^w zr9_R`Hfuv{Gn;>C%q7R)Gz{CZG_vN(-ptM)GSe#tr1pL8^R$7eXzS1^SU=8EJ2<(w zo8*3@jOBs6aKCUy1!ivOQj5!IMdr%rjjrjUxsh{rVGLypTuYWYGde{P^OJ4|pIna? z{eVIOz#lr3$PxNq@kvV()I2|eEHli_A%(^j3H1oXHcam_jAbw<%4<5&YUS9^}?B_`79NGv_X^_xeg0X;TB2UudWgS?CtXQ8g@KZ7iEEh+gI( zy@j|E>!LX-yG^`8zNK>UrCpN0l5r(Q88(o-MM!~hka@lkM%wNyoUcoDF>_S*e)!@{ zt~hA@8E>|3Pru#{H)QZA{W6&&$9Wj&GR{+mvTGL6xBQzs*Pv18Z3`9;WcLgr)2xL! zW2Hj7$)vEYv9JTn4dCpyK|E$S&*D(_4HUb&dS(#1Z%Z-7_?(~cH^~Lfmwc5bCgoM2a`_;VWX54r>+xncC?`D_jZQ^)nOsJXG zT*XddIb{TyWg@o|V>0+p3b!{45h75+Ptd+$y?8g?@mXHsYKG4fN!>hnQPjcKuvjzb zhh9_f*ep3Y)!4uPiax$v8c188 zs&AL(gtB`x6xl{b>F&645vV_gU)@GsA94dwo39YY3;|Z?{gs!6E3qM8qnEKej)Bs> z2F}Lb7P{Z|Yqx1(r&n9GNtrhJZ}x(UY~+RRy}noTVLXt4&&}~tyy@%K+w85J%Mpl# zb7rTU<@gfXUpDR6*MW}nzkiTu-2Tm{B%zhmwPeK!aByeh6?lQy0)`r&s8(;1;aAvxif%al&llJt+ z0!ZbAgOt2)Yg{(HAeO8K5~AgVLzrLMNL{z~=KTgY5mW1!Q>v~b?@}#Oc&xtY!BUo& zj60qS5~pcWlYd24uPDi~xtEzb8P&<>IT}c3P5D(v!+-kgg`VX~LjKI~L7wO`>da7i zmZulwe1`frj31?|9;XjFhD7vSNk=205xNUMxYtL$(!BxE-p8)Mux-VAL~iuSe7%}9%o+!&2pdPxH|t% z&qVpaC7Jh`!T;FLZcgs*oUgl&tLrT1<<@5omn+RUJBnr9Uz04A>!>y>IWMbdBG``H-5 zXGy6pA(BJJNHh^HyW~5aX;{)C9?GH80AVd*Xas^Z3W6vMMiiWo&868ubV#4I0_;-g zTe~mZ4tM2{YeS*ZY)%Ae0@dt*3Dard?_d$S{YC&^M^=3Zb&^2by}Gl8onJLNE4v!H zG%rQZ9-u0cfT*Ex!>)u0ghvqcls)(P&7*zRcBP&@<2Z2y*J7|ngzsZavYQX( zCIL8v1S~%nA=NMh_`dp{fdH<6Ce$FSz~0a%2o@Ms(neK)nlu$fWfEwJeLM~XdoA5s z$4;_S!Er+%;xdbVU~HSRpt?b;W<5oB-56<+7F8l(DolY5EJ6iPWn-^o8+AK;R?G@@ zd*#`ta0qQtYu2#=JGNaY3zSnB{1@lN|AjW3e!uBky)?>CqA+@y1Oh#kJOxx&;70^1 zN7YSqWES7G>G@eZg6c|J%&xwc=lp#40M3Mj0eI*PMqQm;=)=G)Nt6JDcs5D;5DB2F zU6X)D#3aH4z2SU*o!N{JW!mEY(3Q|L@R;IwIi97czisHj!F>340=*?j!qu+&vgBI9 z*;@R`NR`iuzJ$To&(>oJUeY{py*nZLBuO0)NXwccv`a(<;F(3`8zQWc@`~O7TdUQk zbnPGe6=8oTovr|B0gxvx7B+lPt`)1Ql!3nj`vGM;^gDwJXIaqFb%RypPvAKqSY?D7(^RJ5i% zKT{hj0q|vd`^a;@5s8{CQDB%9bUi`U@E=nc3j$>U9s!rCEj;$Q*T(vWwO#BFe@Ss5 zwZurDHE8lI=1Ovn=9ZOamSWNEd512cEek1O2}GV#=+<6+yp;60M8rLj9)MRA#=LMXD!=*rU~lrSPN2LM=h2V=75pL8R#hD@SmL}cu2%0apj z7E+7>xs8c`@dn%61y3wiQt7-L6;`3NC>^(MX@)CTEf2s0=|(14no<3C85jJFkZ38* z3QB|rR=Q8Z#;^vL8Pn5nIVO^I=M&Elo zxk^A5i1fi_6NPrXIQ|!XV1HX}5%Dh+T)2#ZDCajr!dNH+s8ik`L|-23*=K8YfwB(i zxC{^vn>;tiI3(tweJ8bXR@VKYIqd?MRokqpffTumGraU4;7ccXxgWw&3<0>(KTkMG z2<7=#(-L01YbitlT!xpLk@U^-o!Z4W=<1*;irmcbdgM?L=#70y$|JO7d=TZI z?|8Tjs8GBQ{&okGbJ=|MY~=~E1Ojt2gGs&UWF^kChJc(~1Vigcmc5uTW=LF}*RQhI z+;TR&6Qh#TSVr|(Xb2#Knk6E|qFzw%X70UF;xcO?Ue~)DX4g~1 z;>TTcIx-9Mq3K%d5fRM{Qc-P$48`1yfBrwSk9UhfYauRAPoSG2VXO!Q$?F{f#-O>q0w4fj@UYK`()dNoAP=c`8-}BAcuzBrX9G(+n+@SO7#4be9$K-mBVTBuLqB zKe~^X$ZRAgGefJ9jZBE0L^z#p`ROG=+X$qRHZqOnP=@Io^`2wOg}6H{^lhyqb<^Io zgq0!Bd79;?2sD1)DO)f>w-G@lOEkHspy5-vfKj5d9&71(iD9CoF6`2XHv>KVM7g18 zm%fTvY?}ywe(m{~SY{daNuXiMnjxD6mZo|j|8qX=S$Btx)QOzyKhxAW5GF%R73l)R z5hO-YNErnQ-zB|M)n5J(eiA)}e`}gaB))LEn!S)|p3B5Eze{~)p5$_2CM;=d*IYWnIT){WK6+rt-H$_g!EQ3Zga8<*Vz|JIE^dw52lGz#BP6ie`#{oium&7RsVBzeY@A@<0BjQZUbcSUW#@ngf8iBPJ0Jrtsxa5Q=WhGw7uYH!j*sW(Urz#?Rkcxja7qDEPGt?EJk;hEWQ z5$H6c-%yK7h#pzeP47^bmp!yCnF=W)83IC}!2lnKXFmR4pBLCsPzG`ttQU^2&fJNF zklG2hGZc>eGQ!G$J<5RHQ^Y|J3yg;^IY)=PH>4^4C`q9PK|>sjQ7@@?AouU6xJ(~_ z+ir!3u&-erYIrm!rdu7+63!3sHvxN&d-86shD??j*-aLFIMNYp~_IkCk_Kn31J*)+xTpz2u3f}nMT zpyWC-Ve-SFK?90_3@xAj+a_tcShD1(o5XM6Z8a67sDaOrQ?Jxh@ zx%sckZTEmnD0ywb)G0sR4wPXde7;L5X`ZEl2o&7ffvza*1F}C!lmI=}=>%bi-QhVv z=FU!?)5|ezPiObC>4@tOz3`~#)`|$9>)1nn3G%h8m`t-d>FcIFOivK?A`9OABw=8b^klEu(5`&v;9^wLM1tcUGUJ(D1M|xiN+%81QtXT$#oo^TB+c$PH~^t<5zf zjG}?sbtm4psGIHuq`}|r-N6rn36?BxybiFnU^()QVC!)C?AZ>xu{`Pqj?{=%72P|Q zoL6FgPVyytlH>q{3;u~T{nbew zT>BGP-Iy5S~&)TYeXizn*!VCf+ zGG(YridB}t)H&%2a*>>?%0kMnf3eQQb!u0O)>gT%&)2$El@-f+t7=!)kZWP9g$Wt*AAaKI;wa3=&Gvo`e$?kj->O?Xq)RoGPPU9zI*4*EpKDDXv^StJo464D^%u?v$CZ+)T+jHr8`eF)_bABq)K^}UFb+jqpj2h{ z2FVH|T|bNek*>hb@YK`;^in{TzE7eD9YI%o(lAzz;Y3|JgV3o@L#bU`0a>N`ION$# zZ*e4&NiH@2)y`#vzQw*q@==Qg#C9ToF+~mz5`!yDpdU02SXBlobxPIE_}jGuldAls z(Sh(I`J;z{9=%GRUxfOR7Q^z);%6=^KQfTwj$Uj(6#$7koGJ-)eC|F>o7WCYC!s*r zgA~o?Qyg_u=~0JTAxF}}#brsp240f3E}MDn`5KxgL5inb6B%J)xhH_-OuA4$A;<^A zNl=sxgryt)WnJN{e<%kTv(8=%&*U5-`t%NIW+YHtclh`aE%V+Tcgw}>7Vt2Rhn>5? z3oh+0ie()ViobKLz_BU4I(KBP{&~t&{7YY`#FmT8+jI@P?aR?LuGyCSTsEd#d%}FH(homL{fBnrZl-!6M^P?*%?urF8F z9#~<^y2xcx-gcLj%Ez3Zu3BLB-eC04HL$AWKl?s%462nrpX3AS! zTv``5;BA@TY$9-}9O!su8dK2EqvsF}?y}udL-9LWwY9P#*X~3r-DQ}qSO(RrK2Ch> zH=uGYX>od1zp5=|X{hY%_Nyt>?Cf-PDjRvrfm??5y7XLDY-J>fE|b`sY?5!fMl#rI z;bJa0Bp_CG=~OVV4O<9qoN*u<0x|8I_sSu}4p&dk$04fn+)-xjag*tNYUL)IE{m-# zTriafsyhkBakg|q^ptqo>7$UfsohrI-IApEB4WVpxS>7--(Wj&gW&1oKH^`#Z*UIa zQuCTF_@y*856>4E`jNOV)VzU79VN7lq-&KB2~ovzMerQYH`-OH07vVs(KE0I;uZES&f;M!R67Jp~XV0IHF=~f^I^eL5HF7Q0T0D>neNoD<#e^X~7xadfVTBeYB&n zJgqacRYL}5f+KW2MV`gj@lxwZfm<+{-w>f*sOc)|tGs&j#!sgDRM>kFyaZq3=$=>) zB+9V8n_f!<0IdmYvRG4+HfqKdK+qB7$)XA)^;=tRJ7nN%5mUz-ohahYDWKYP4h@%* z8@`gEqP5~O%G##Omgw{bwJ+h6msF%TkIRW!l^7-tpN@cig~?lj6Jd43+6Gkfj>a{i zfi00-@M-DZp$8G+CDt;UXQQa7-J3)5wwMZD7w45uudKMnXPHmN-7Tzp8j+ zAUOtqG%W+BWm7iBOXj^nayas=4qq!?3^ic%Hi02f+(z1A?0ERR*r<0J8X=VgRWgaL zp+YmwNt>uqA_ka}?bI?LUIWF-ylhqwRKxUDE*ac%(Dy?Cj8~_+NCpBn2ow?3E*Me7#wTH1u50sx&;Mu~&04yZ;LuDulVO7=5(^HYgkzvPW3T1Ns`l<+| z&nK}~;ooDvF+YoaNJW}4X$(r7*iK(~CH}SQDl04h_RxIy%GbJs=B5Vbdev6V1v-9< zTeWxW0?38}sX`!CM_srx%&hJu1g0P%Dw%(8$IKp(Ov<;o=|?U8HRVf4rbq^gE?_Ud4j)L*dXr5=7?(GetD)(#r(*u1Zf7(d zcIJG|UJHFD?{v#5SabdBhJ70U##_c^GbQoH61=h~*6s<<;JKm_rj~z;-{yT+F#P+l zI-@cM(U$kdABEUFH((RCs)vu`k z4%qEm{Np$>p;yY;(z;&9>l>f0`%L&Yj?+9S5F=4m?=ffQ7%Xg zRj5=1SU?(NkV>kEqQLd7O*GYi*=yd_1xT{0h?GT#SvREaU;842_pFY5bjI^!pP5-G zk%F|woO5A-HXLAI@NxU~6)~N?18!TN?aG5zLXl6>QD!6pp~h|!U^*q zwFmGE+xsI{5}d|mQg55~MG2O18G5W|$20JNzn!|OoF}MzE^I4F`pfH&P#O2{WFZx& z#8>d-e4O3fs1Nz2x?TY($hV%cFNn(~ABx}(nR$hDIK;9DZt8mzu)6IsDZZ_myrXNI zjW5mzsQYS)9c8hMa$-Z1NP0mN*~o9{@c|Wko4wFaTkCi6*9j=<3;K=gNPd1v8yU&hxD?90def4*9=6BKLHcgY^GgX$` zR7_RMrRJ9=Z9!+>pi%kKA{j~Dw>YmSMH4=$E}y4V^sbZgv9cTdlP%4+p2_{1%pQ)* z+fR^-_sId{76txY%8zBh*T#6w+K{(6)Zm|Eqc)GjFK3ODMGSaVmlRBxtZCu0Y@Q(H zY!m#Wm25;~Ee8+$LC2{PdiLe64V4&Tqf&KiRLeKH8hgpJ&>iq4Mm|9#iJ23 zK;xh(2feCN=ZW)l0_Bp#x3r3`c@3{Wit%=cGmfWvjsl4Yf)(?}AULMOh*4*%^r)ud zeqv4bVOiA-_s8L?WzoIdLw>H(p%=jK&sc*EsJtuKHVnuZFu>rj!w0)gQ-feJB%Ua z$bH}aJ@m8_!EtoWW+3uiKrp5cU$fBbX1qOIB0cploO2XTnwh)eakOsayfloDh5+$| z0d?4sl_P}!vXtLaE0$yFTCYEOT3)=qeS+LVqm6ru{+bQNM=QH_{F;uSg_5{64~r8C z~Ha2Z3P3_yB6vfn1L{QZ;C~1 z@@8K+g=`y{C@v0ME+g)wmEMu@%A8{YwL4jhYJ80t8H%_SQ_7f0;FCO_TqLBaWra`1 zgN9>R#oXq$=w&P?)zf3BAoy8P`-9ARt#xR`Nqy1gph-vLLie-@uN+}f_({j(U53p4rIGnOWm${3G7#y9E5reQ@5Lytp4?)7B1pejc~ zDSV~xnK|}wGc);gekMI5GjlxpusyWC_C2ed(AV3af6&aqlRrBaOAcDhw>UT#E?uMB zpL^(7n8)YHw+4E#nA{b$O%CV1?EBdgk890>t0MRx!jm!W*|^tm0E+&h6W&)z&v+Iw z7FPMr!=C-(x??D*fPChY@^eV}^CIBLSjQ%Kr7g1LHi4rzpc;++h09rqNm=N5b?Kz? z^J(sa8{?vBm?UE7RDxJpUacrMTTE2mo%H66BXj*7adR8<`{R{e^XR<{GUFh_kHln3F56KS=CP3^7F4nf63#gVTZeCQPfMCRIy$yARMNq(uGKt>e;n*Y%Y%Ho4Fe7+Dmc)5uA2 zc4K$nH>%2@V6VnGG+=SrYH#t-8@7!pjIG8Zuj|+!j@V;vzn9=)18zM!Yy|b-F?RqZ zPigR@kNJdYb8)2!g*ts!64MD~U)CWM33?5x^(ls2UMRd@#yAApi@6+~unO z)MspEe0qv+L(0OEGd9*eE^C?F<$0^sV_(d!DUd9M;l&ddw?PX(7@Gx;1 zYHv5wGG$7H#MUc$nzmDsKd<3B3>Op3kHJ?(cww@Pjk&Ijqn2$$e9|9CSyNkMb63;y z89$XWV$Mvgv1{{$F57n*pD?X+#z$)jjo!EWVaBo$H{(mD^Gu981-_jhoRT?oc};@! zP^?LuB5EB=2EcRg|8*hq^@%y8N541wJ+^@L$nM-@c>`s`LUC~5b=mYbzos47&CMCk zjMI>wq}XUTDoajc*L@jZmWNmiwW176idH_)CPhFB-t)vd+5vh@+_eUfBA=&YGE?JX=07p@P{kMwoHVo(zHEjBUQSo;So6ZA?>zQ z?G=Ze9xOVb-Xi|t?KmwZ&LMLZKaUgUdK8_;W#!xeQpE{S)5p;{0Om83g{y2i6dS+gA(L_L9O50BQrx3xQB|dRtzK_4$ zU*PZ(Ih$TB(}EPAI+xR2vi*YB%MNFPb132bI9C4b>sM|zs-G@VOl|BNYHD;T8r4UA zZPA5H#^ha698xEEX>o2$6!%sneRX5W4iLVc2UXHly+T(H~?eTfrd3o+MjV5_H?LZv8 zmlfn~x!`ZR1~=PDe0&!c^Ky9ts(0q@WFpgDA6qAr>QQwe&h(D*3m6#Dci{q&+fq?^>y6rdb)8sk>$ zg|)AD9>vExinYHT=~57>=+n`VX;XVCB_UZdTipD{)dPR)_hhu6+WS3CPaRKBhD!2| zMB4Q!9Xd5785#`AckUIYwjHLD_><@uf^c#w$0{}3D<$+T=LcdppY&_!mhFq~3|q#@ z6%E>oy}Yrkt)QjvpRp+2qA&TkU58ct)m$boB_Cz~lkU}Al%DvDa?4l{ud;)pyDmd( z6|TGuXVrCT-5D)K2OW-m7FaL&rm!L}`=QSTGqP0aop#X9`7d=g$ai=9f(e6eU?X{6 z-f!g=ui?(JZ1+CTyxN}0WnXcY36w*o15o`qoHO-;Um3G5x^lQGsOy-dNs>j?VedYl9v9nVTu6d#v=RhVJrqCB;CSKSWI zy?1CA-VadFMt;LJWmWu_VA*e!pN046&y@e$?bN#Bl8S4&GC!VDnl6m_&NOZVOVkIN~wmzhMcicD0 zWl~X0PtnZObB)gYTx)3eb(hg6D#z)hKVt-$;!zqRr2qp`1W`}4}6pBYNH!RcqI__v(-Qcf+{kJXfme_v5dqZhMsOXW*A} z_Y9}4a!Y7_13-^LUvu3h+YU3ycW&ne^auBTIP$mjpu)tU^R(BaM|pqtKEwP~=z3ta z4Z{EXUAN^3?dd3HRlCK9c>p~6^UZ>u1TKo*lk|$RsMz5yluy_$E`35$YCjruFQtVm z^()yaq1!T#nX-eA(xq!ty*1~_#n{d=uE&=nbYrdBP-N*Vyl48;juUR{t{L>lnic5j zquO0pr>?=Q^2|T12;9An4f;BDTfa7RDHl3AFVYAHbm-8(`zz}Ky;$^=S%o&g3d8AY zAzL$3A+jf%9&t~R=nMAe!5+%D8ltaE6tk4C@xPuknH?^~-;(Ckuv-XaN_hN*Z!5=w z-EsMnffMboslRJEE$@53XP4-ITNGZXhrSL=H!V^yauBEJZoUE1R4@STs@)4ez^Oqm zkKa5&@A0DlXU^9%u29w$2C9)LT(;0PT`Of}@r_5J3Ti9+ZJ~GI+j}(6v`Xq)$Fo7b zssvj7*N-p;D4`}fMVlDJF5ZLbbsSx7!e+P(9K)Iw^<`?vav+)U*~`T)81hQKy9@A@ z)$Xu*kVeq|9HR8KUlBsZo24<*unH{8DEm{)kMk|$b$^jn_w$X3W~wXW2cY#LKVC=9 zQj51UZ3KIH*M8wIuKfHT)n%6qYdJ(QU-Vi|LNt#25WLjrlXK8qvAgfax7px@2`i|t zS&vqXdt?q7MS??QeTJ(tHFU z;6HeWpoitZL_!!ZdWSpIM#q_0nX%B%rMsW(*5tii7r;N_YLFGc1YLmC^pa(rKyv~3 z`|%diK|#VF0i6a1pv7Ww3xqNcu;W% zxqlJ|@Xf%&MzB_Nk))iG(9=!JJ^X#y*;+~0-J`0R}S4p$*>Y~Q()NyBESA6q0 z0IuOjrDORC?|=L;%|<1cThg8i`^;0xyN^S1_vIT28_4oybndLUTlfF;x)H)AY;oMC ze>@%wGnEPXh#%sRJc?4lk5H) z>XWlL55pr~lZ5!oM9is9?%U9d{}lTd%X*Rjs&^FM6JG)D_VK%3*`+iit_&GEpvtce{?f7I-z#qU z^)=*De}ejlUHP2;%8zZINZ zGaRuGQz-$OP@gjlMO!mmEleLpjLaGD0&<3wyVk|R+{`zE&py1-E@le1bl}Cn0}vME z54w_fU||I}z?$Z}>3Q70`q%{VHkb!|H~4WoCcm_DrAikzB8e2gU=P2I?>c|{zm;mW z<Xi#3?c78;AX&k&j>YcXXC$SY_*rUChMKjm!Oy zZ=u(}`WR>m`d~h3T?&3)4+n*2!em3(hd*et=g&%!ZQMCSi+0!Vy?Ug?B7Rk0fEbPK zNmG0m+EVU=h+QlVu=`9!>*C3hN%OMGFlVKG0}ezb-Bdhh*(Zf(^XY%ARB5Vju*>KM zRFzgIwsQ)Rg>>ZIg~OWvKJQrk1B>^&yuP}#IG8t^mRKI87UR9E1l*?HUvF0Z;Lc=$LRl{$YVcQ{~^`G4Ft!6T8J`{j`Owv9vC zTM7~bxJvCxPAduR5~W3e$vfW9c%et4Yj zH9HSm-L5C>*HAUP&35s}cjZZ*;E?@O|9v*!uYY8)?+`Gu+g*e3-&EIJ7s?$KM9Sk7i{??gqRmUKc4e4_C7jB z%0E_?;XOQ;w}qb%`;U%4hqLzeYJoXyEh7Kt5B-(iD3=3gEpSVQ$#}f;WXS&mW#%ac^tKTXo z$~~mnx^xpt3yTcIdX{mWoNvmi2D!2;Rl*;Wj&%1mPKz>@9U`vm6=t6Tq9pRSL*Qjv z>*Vj?RT!1kIKnJQ<|^qVa6y_&TvQEZL`@NQ8~^&=fmR@F)&5UJf0@JSszOB+O2KjP z7KMwHq>4Z&qJfsBP=Es$DTM;q4j3XLjC{Ct5>+;rcirUgr59bcIGm~~D-5feBoU#i zK=3;n5{+xbQon;6x4jntbs7M~3m-51@J-Fa+KcD}^14)>(Ml1ARz0Y=J_RNiy^mN~O&;~I(W>+tV zVy~RxLwhk80^-Z^4=Oj1Odmm{Jq}Gd^d-F|f*2em8=n=Li7TtqPsUv8hb=(J`faZAoi}N<6J4eAyyG| z^52;Qq~qHl1WB>bZSwR}K%I1iw-rPdmy_tX7?ytXfuyDVz=s6Co!tG=`3LSZ#Y`j+ zB?-vmGMR}si8oy|KN{Nouw}z1c3Sq#4q9__v-_3z41T%$n$Dbt-Rb^q@0|!PGrlrP z$U+FAX_rOje$-qj-5o72+?NGhQ~gVUmf8E5nQL`Wd&Pr1Yl~?M*|~Q=J9kdkL4)8z zL`{@G2b&41s;Z{ubNi0`MmD;igU^()SN?pqC?oAHF8l@C+27}+8*Ds zNY-WHB;FKZXDa3$v{rwiBm)91F7Vt#4!OqK#{wA7Gw)~8J6Qm4anHvoBX(pT%P9Ty zeD@puM-NVS9?tD?qspF|yF_ur zF@B#B+Q*N9y8=|49%h-A9gGQZLw9CTn zrhD|uk7WWk#^D(1vSChNft<1U-%q%$F|E)fS^7PUqI zai+`0=|;V0l^;C!?H`v(dM*pJF(5m2nKCB^ajDDuasqPnHExq%0%mt!h{%zQ%m1}j zNFZH3hdmQH_@V2Wq-uAao~EU=%O5^gyD4V3>-uN`@b1eq-*e!R{LSADP%euoVUDPn zC4?eoD!~J$AmO5jDG|S4v5tDNXR|nFNOD}oa-ssR%Vd6THx`)jj@L6Rl!>~9ZY~o# zvH4`2=;<|VG~&3IXc;LRbuvQfvWdLvGGR{HRNQnSx$_|-dxTCIL>8C&-L*L($Dad9 z?&vLcYdYI(-qhqi@R|9i35%pHF6-Al*<#~Rh@b19o}pRYqOCT94(_*C43M>wNUDj5 z54(b}ltVuu(WaQsE6}pwh~hGF-Tizu^5SPs4nsqqo7xXTd}OLUhqrwC;bQob!?qdf zA5JQe@$iV^vZdSAkuo7m?!Bp}Z4;X*>3>3oHIB=sB@t;&mq_KhthaB0$^+xyKTEZR zg^UQ7Ni`XCkC_vL%(ag3Udp^-P2mbxKiO~Buy=Ns{r8Q>=109DVVFzmxl*{Bm@O{s z*RQojWb~lA@EANNYp_rimzfOAqKnH@d6z}GO)v?0MxR4Ky2WLI3uVDg){*lMdM3S> z37;I%Du>6d>he*j$)+J(Hi%FNx~9uQ=`1pta7+K$gRaj$s+;$%&7x1;G0jvdATS;&vNxs##U%}-mRf8BfXNy$q0Aqf|VI3?-HOqKGGN+Hk8#E;7!KVJmQ zi7t!!`S`iI{DTIX9_*$pyz;ouEUVc;Ve$t|3<+$? zk0(&9{ZtQ28O9N5nH?gv`FyOH=yjch@w$%!6*_GO7jyU*b(`nv(EFCVk^jgV^gdK* zE}M&>;xLVww3Tsaye^y0n_Xs$H;vs7DB#<+Z8DAyv$jEgHfrtJD0pwa-3}q0z6!Y^ zF+&VCj~lTEUDgx#J-oyyjTt^VK+~ublAA|sScI;#*N5*eS!6Od2pNRey3Jbx=zWLX z$YsQ!q>kzdU(_+yw`=pcHGA7v+vW^}TsX=L)B2WeuCZWmyKH{h07ha4QY5kF(FfL~ z(|4o9kySyQuElq?`4phO?as)x4OBHX zh4_}~stSOH6vryS85XGr8%7~ixpY-jgd45a-=&GBiCczg-xLjyjEV}phzQoD0>ZGW zdZ3yDT%P*N!28~}@Jky-8}2P|6-=`NsoWw%iit>5ks&B#ECW@g(B8lIURn>9MvF$} zC4@!4i-Si{A&)>?Qw8nsf`dJH(Npj7dMMTEA@I4xnqhv5U616tS# zFr=ZOY3XT!+f#)E5OhgVh@b$YRKp?^IVZN(!)%%cpwiIMwDmMFmpE1s5>S$1q=;~w z3WZAUOGJj~NEl7f2%6}cXlZ(Vr4QSg5vq+xzyJqA3vD-u_*oe+F2u)K6QJ?AUlP+p1GbTXQ zvG)8R%t&lD(W3Fr!45T+|UPU-h#4pX_KuAZ%-vKZ9yKL2Nb#?(>A`y=amp|b(;5} zY+jnOiR5h&IgAQaFjSQZ#v0Y%_k|f5QJ4t%N0{vpn%ScCHYnE-ltRe*hE8ObxK1f9 zaTky~S?qimZ4jEKfv1fSs;z#GWTXNPWiUm6Y^F)bbqo?ai$)uSCTSsQq$ugeRAE7G za73ZP$~o8wSaVA12>q?Zh)t6dlo4XmwDdM8Reg+tie*^^MnHxWy+#gw?f~HX*EY>b zP$V{+Xh?X0kV}vj!UQ{2zCOvuiR(Ff5qaJ@|pa~yCwrmE_VU>;@y#6*ulLQ?G;`ZmpoP$9OP zXrA`0+}K1V+Kd2Z7#ARI7y`lgqCo+?e`V7uAVkzk)6v^XL`9gF7}7DuILNSLl1?}P zb%CPuSJ6r>klKjeCa@Duk(QD^%z_0C#@B@x83Ga0BySm-_n~aq1fr4XZOeo|iIOL% z=^FDy<5XcYWADV*pT%UzXoEOfx!xv}6h&bplt~9dB+j@nVW*OS0^CMUTdnK~8Fvt- zN$chng$}w20ggn=vbv^HTgI^U+C^E4ieYE3M4I=ZY}g9Xru8;W7MK)~DR?@jydx1& z06b9@1iC{0HhKTbrX~^1#BURrItMw&kb_=9fUu85z!QRnE12~6uWXtOq3F;iTXNpU z48R(zV3HFlQHc@)YG4P+zK+oVj=8R|%bqhxf)GBY;p6!Rw6ef}j)^C*-WTAEf~lNr#;R6H;n zQ3K3X8G`nmJV>kG$&~J8(ia{0A^IGet8100#!Yt?WltUr{|B!6cZ0l?M3WYmyuu43dwn1IcN$(YBSI$Q7>9 z9$(0mbh;T;0hj?v&b;FoNv(jOxG#l-9beM3B zH6z*>WF!dy1OfyAK*j)QX5fs^2=2c7Zkf6JyMJyTTO>;-u1l84mU5dow2|8>wz%Ur z{4(0XCJph7aN+_G;UEd(LeLi=5W)w)FIUJk6eOuN+lReTv$_o{mUjNZ znm`n3V^Fo4+W)P=T3btDSR-quuWduSXe|(>t-Y0Xon>{rZURBjG>!_Ew)v?|RoPFg zJ1aY7OTN#trrO(J+uCwZ*S5B>u{-t%RcpFo9IhdI3}(X4gaD?0*Xj^*qOZlB8<6&V z_Wp&ePvYWa^YF3`ET8b_<%xZXJyGMgUk+V$LK=1B+K3~Sdy}A8QXnF7Qk0NMvAD$; zy-C(e&gi-ouEmtb)g71QkW0*+Cf~4cY~n z$XF_!eDiFLWZ5Lc)EB)aua!+DmFsiKI%d zsxwwZKUTTURX&z{OS%%CFs?2!H@PJ`T7YJf+PSNaa=>yRR*lyy8kj$?B*}t=WO?eo z>>D?lk#;&Ufp8NlsgLxm5(yM0;8j&D3J_5#qSDG~c>6f1kyAk7d$m z5{t;RVc?6X$`wV4O_x|iS$0WD=Kw6M9BNd$`<@yNV9>!OV2 zyE77jkP^zNSg`M_C(i8zr*Fg)wwAavgcfwqXDozm&%Vq$i&Apne zrXM$?cU;P*0icN{+9v0-GWS(XNl?8-lLk|@K$RCKtC4_uS)fc)Bi)G8#v0=?@{x&s z95I13hpCSM9CujMiM1;^16+39hcGBn|0(%ubGM$B1^m1LC--N+MS2s@*cgGvQ3 zKtPs9;_2O&GHC;7rGhrABxrXuiF4MCoG@2aB!o`DBf#Kmy4}Yz=>(UiX*Xy%xU6@| zBQ)V%eH@v1(Jq-d~S(cn2_wfv@+V zrHh=BO1#&BeFC1ONu3+P%K48XEB8?ud6hwhw%VXHBI(>H+Du||M$k$3tj=k2z#_h@ zd3~%#-eypuZ8m6xi)vZlH1xABf;DHma)-0wapBbzkZXr>KDMkGsmE_ zS^%b|$SZRPU?qx6)~=lwjOUqqjHknQAC!@rk*4W3Xg{3q94qHKdKd$z6osB(r)Smq z%OCe2eUWz{lxkZBO+e8WiA*I%IK}2y5qefPP-2Hcn_aZi%UsK> zMQo3iZz)yO@;2o;O9VL>?z@l5$fFTzrD*}*9nO)!CwW>NYU$C9EG9N3juHv}W5kFf zFGDEWG(mi5y9J#}Lcn@(o0QEQ5h3VQ6CSHcZ!szOQ3-r+7`-YBr@m0NrOb?$^9rDz#I&S_wCAeAIhYj z2WDrNp!Gwzpm1M0o*XMV1wVXr5W$SUP^cHW>Mx{~$D5nDsK?E#=U!=O=Xr7)LXEHy zVk093GY)ULqayS(7|apFvWZQk^IpkS5fW+%zaSq-NCxPLT2k*g_x;&y)3$1LHBH-1 zbw+L9G@i9c@|ZD_j2kH@an?RIFmNbWkqt-4*>(0yJTV~cSX^e0$*$&>s`Q(g8h9TC z+>Dqx>?O>RLz2^3(X!m1gy2xf$wl@1@>icMhMCL!(bd*<)Zg3e=z40Qi;b8SGMCLC zTNM%Uadyj0A7}v`4Qb{dQOnGKn%mLlXZCm2ATuW1HA^S0DrFQ$3+zH(CN8vub z2de9zDo49!m|$a*>{l?^woO9Kmyqdu*L8ENo;?%?s>h8F2-*Q(JPwTPmR#bxd{&}qSH;fXn-1Y#)Kz-~7)+hU#3q~QfUr@%6xRxt(4 z{Rp~E_)R=9N2?&pqea`8!(ekL-Z2OzVL**xf>g9WQQQll%Z9JU({t1f62&V78C)@1 z*;fFzJd01e2|9L!0I-lBjmzB6pwo!d$k21qROLbeNJJ~=STsu0yHu(L;hI(!d?XWd zfAQ{$ugcSN)Mn6S2voaG^M33KwOWeHJ3uQ26lI0uz@PifaAtgFo-=`F(CDKyWOCCB zcGk(2crKiK511dmz z0DrvhbI%!RleOuQ7bmU+w-V{-wVvg-CK|^8xhARxj$ShT(YVjPXFH9;bdmVv`B8KR zC7cA7FatPMds|nl*m#?8j?P_CT6_MYbDjp`20HRFOiet>&t0IT{b?LdU8f`hYX8xq zVLo=Nf9c5FNHENx4fvbj-7KKeaYcy_>jV(m(zSR{Ba+#jBl#r}3U77(Q5|_1aGAGPpxBXe%f7ClU)auhPDUVVODm1)x@Dr#?ymc< zbg?6QBf@l%_~iLzb}eaU0`y?fm^t56!a)(bg#IG)kL<{$#naO-YPBPxMZp|U zL$wGlucFz@cVJ0W&u*FWnLm0X&la=`pGDo%z1ZYrWr8ABQZTwcItKI77V8|fV<=v9iBq;h-p!!gbjL1=w5GVM?NjO z7ifzVVo>1DM(9;GrFOSO<9+jCMWw^d_pfBMBc2wb7LisSilh|d-h3m`sf`|92(Fy# z#>BKy*Z(LWU3glFT1i@&#wK@JqPb2BD?y?TSk+HC7bjcC+Vh3&$jt<}y`-74=*`7P zhtb$a((|mOA*AbF`Tz1BSl=%*364Bk&{}w!i4j6IO2rQjMGEHO#eMW(#6Tiag!9OM z6i1#dXcs<@x_f$C7)6vFiYXSNYL8V)mXS*!=L92T`gsum>?h2%|wAeXTy34jKlR`j$qEh6! z@jx$4J$7AVyHi&_`Y_%Oy?Yw&=_{=5d8+W&)r5(jN(4ta$iD_ItSqmHO$Prfgot|{|M~)!ApD|w7{8UtR>$BAv7;dbyDY^yH z+vJk#7WfS_;F$$4j6~ZD0Wvq}?Lg_}+Di=cG_Jp~ZhwBCDXx~7hx4s@mE};Ll105s zxPog&6f29TAY%2E0Lr2U#)rTA^#2;W;6a)WrRb@Z<4}Oztl=&QdP^S=T;HhE?_v6$ zS}0eR3bL|aqpGW}sMf3c>b{B%t>MFo5K>X=e(v=Zt$XKh1=mb_k9Bi&;@;p} z!Pe{TTd(=9?QaO3otXt}X(jWyz2&;z_=-l6-$Do;Nw%19T$t{#fpC~;V)@TXp1Z&Cu$ z!Ph#z((6umns?6r!pR+|E91ne7bNSJ6SCq3v%Hh;TC2~JP#s`DY&w@%vrI%4b-JS` zStNO}E@*p_qMzW&101jblVE1|tzuLBXBJ0rjX;9HII_^F^(pR?z!R%1o+r8gz4;Ft zV8i5|jL9M~*kC62t>sHZ3K{wHGtPLRs%uiP2!FKGT!Gw8@mwBK!5LK53Rd^s+*fxl z#lF7>;DD&6qw=M2>SM5Nn!-7NObM(big=QQuoA*}hr5Y79 zg{4piSs}x^x~g8vBBP6>Z|{yJVf9LAt+m#wi-nU_XJsb0t(l}P*!kAc`h+}m2|dr~{1fzH z8JL{sy=k3{PzKCN2Cp*&jBZ?U?JresB{L}O;nT4>_b$%>LEw+K4LtT5|8svbzf_hj zN>r^yI&{;jGK!4s(TwO6hN5$D7*$thj-JFJC&@BM&@r5Ly|D7I&3@D$t8XJMCT*af~;gaXuXv>~3bG(v!VTMn*a^H3T#W%Pt zUlDyK699FdXs*6=GS+XmLi$UMBFje&Xu|;tM!IykF55EZl956GRrYHSjd~P37QAqO zWi`R~`5-l)!Mf<{c`W}9P+k2XNe~6>nhsl#nvK!7L#a~;PIgcv``@boIXX#(e8Q5NgX+v zgw>Js@BYs=p6iL?@jPjMsS}Ib=F(=cQA{s8F&N`FG!-wG#9E)#RDtEIE;Iix$5xD^nKCgVSU5;D9zWpYN_`b$eAqSKU-bW2}9m~4{~hnonmzfX~K z!=1>Wo0H&7F!e)VHrcpzDrZL~ak>z5Oyh!!X1^zXCcq@{tch4G0?C_!^relwC@+RV z$=fds&7sVXYXK(y>y@IS4ogtVZNlrzkGv^=t>`nhn4f*K3VR9n;{)AiDclYCA6noz zm@Cd^(!W2vUQ*z!g%r_x@jukun-|XLWg?8427Ou81%k?p84G*J40SE5oy+_{d#u!+23VebSb2n_!hZp@Rfl4ALl zPa0vbCrUyUcHaRjnjf;>SDY$U;i(X%H)%Quy~A2aNt4H_$hMn(=|yU@XoT+?qypyd zd_%PnUZ4oV3-Oz1`>`f*vhyfp7BTeJmu9{`i&pp$a@=Y|7@`u8fTk&32nR)3d$3Sd zrm0(NJe9R9{MMI~wp1`DIB1jav#Dn_s#y}Y+ROpSRG1_ebVg8iMFI&e&sH_8y&r`a zk4^6O71bQ5J5$tkR*gQa*7je@wp&_iQg-)V-?t+T;lOwO`^TEMOYhnxafZxFi+vv8 z>@wo?rTG3miE(!vWV*k*Yk>uKm#nIX_PBD{GF#Q z{tH+4R3!trgW7>JxdV&!MCkEI6e7h2W&tRfE>!>|0xQxL{X`X#VDVz}LNnRpBqa}~ z;D-`AXDrp_Ekw|X7UJt4&IP7ahQzTd(jU42F%l{3STYHD1v4s|vZ8z zce->e`3Nh2*XJmQ>=OeUO2yZp?&ynRl^Vc5sTx>_iCG4kGp+VH=`(H|0_24=<>9o= zqo~s5O;HWHJjMnV%#&I+v6IO}9bAiXD(bPi{I+i@l5mwnoT&;f<)LI|?ITdrR*`tQ zzhPW70$xuMXeA{;mqRy)So_+xCSXNgwX>lJ1YVW}z(mOV@& za#o4MP@d!Ly}RLEm|M2_m8A5BPdj#-c}z7u(ZYJjx#g`efem5u6NR-fb67-ROpGXZ zlBi0$jqk7PomTdH-b`A+pG``C7VE`{H?9&mrWj%P4pbq4sJz7r9F$%23lq)CNroxx zB%2mjFi(ywBDecauPD=!$N}Q2j?KzO#?lMHa5E0@fYLlDF?*Q%6?t0~(@N*noDD_2 zjh(d(<-L{Ku4I#4@0rh2w6<{7!`H)kcvC$FNJo@duOL&)n6Q*8roRvxSYTin2|8dB zLpNl$J$Qn&6C8T1H5-@NA)b#=ADwQ$$c^7FPCV+LGa#dEu`tlYAE)3~mXL2MV4#SK5?t*%LJ zOPS&%QJmAtnW!NuK~e?70?Z%?sjP}Y3G%1ri*M*NF8}1-vSm%OF^?sAzTSH;O5zoO zVo*^m5Ic_pjBflT{$WI4J{hd-M8DNsn=)Y<`=;D48?c*Y#C-EB=CLp6HD6|_ zH(w_HA>*srG{m{fsSv6t>iy2gHrHkTRVf`H3XBFGN@qRtu zTP*x^dWAryZTGYBjU>drzcPMWZuHGv`f_TdhXKnZjt-pX|Bz-qEW9=S4mCB$m%+f z@?&1Qe(Z-nn9BTY4;`Y?#`-Vyc4+t_^HDxWy1rSLsk<#flEk)sYk!>xLAl9fj7k<7n4TY{e6TPxg@^uh?H#N+85nm z3SqK3qr*8zKo_Ed?;bJWAK3Y!d=E#_F8+391(IXk8wcYM{~s|qkJZ#15Q9iTVn=(t z4(-|exI2!Uy~)DT=2yPUdKWlzbtDD3c!$CBh`e?3BLKoW9mPFvcJ}y}9CMFeh<|8_ z{7e5(n_BxxN*N~ZQ|mj$NfajJi)ojAU$@>nXG_Nw~6ow(yuJti5xSq2Y& ziBosmwF1b#zI4C-x#Ns)Pa{b zYcEv^8+Axr|5I0o&g*tf+o;=gMji+FY9aO=B5cNg*&T_TQl+2WA35j3Nvi5PDbMv+ z^Aox@c#vsZzBhUs3fBY(bBW>GGPUG(;(Yz!88K^fq;6N-?yHCY_SaMCYJBIj*Xz@Z z+&E#zm#fQtoJl*PgJ`GyM*orO_m|@Dq@>4|p8q&>>TcTkvX85^b&ZQRN(`a8Xl!G2!1+xROhKmU={B`!lPr%1k2pQZDG zq`i2+d^YKpb3$|D`0$g%+2VyAtFNzFm6nXFWXc&D+aa=`YTz|&8Ugs1%^LA${ z4AxQ(MyYpjhu5Ggu^1)7QM>q+XKMdHbDf8uo-LZDYdG$Kx-ZK_fOU*4Ppendb&|Tn{7)z(fBh{VR`3q~0U1GbEa|a=JO=UTib-i=X}qp-#_U z8cB3T;&O|SZ!`dy`MMZ~pMFq@2X=6uaXF8;e?!c*%HvoW`MVbeGyh{_jX9;{dgm7 z<9oXj1|*2M3FZ@6O~wvGoRRucw>hv$zuq>o}0C~=y#(zXws|@p#{Q2X!Y2_O<$p#tv^D=9=uZv>BjT0vMUdy74OSD0oPm_( z1K^(#A=Q*VVPOxS#H~E?`$x8+-ACevz&QqmjxxuAO+Rk?dloL+d?d^LU0dV^>DhEG z=Kk!nMc-Bdpzc}Ex=6-AD3{&&rkDzjt$p!i<2#U7J=?MCyTuDts0`PFy6R8ofAnO?4LRUq4=2`T1g zV$55=WF@S0<{!V?FA@#Oo>KFpNHv)SsYNqAp%>0X-*%Pbi8BUa!#`}y7@>I0J`3ku z+2|jCMS4ugA7elKcI9Pq=TgYoSfzfwCG@HRoR{1EXhac2^3#FGl8G&2Z=UbV5z=5v zAC|}>oo@azF+C`m&zI`7<~_MQg)a9DRUQ9=KbMynWvb80L;qj?mvPJsho02RQ6?U~ zXSA)}V2_#q|H&CipBwFUls@TMyuV8JN#!1<=caj;GKs!E>ZLX{e)r$jwIgIctzhif zCI8&E+`ai1dc~hUtDB-%V^LcW?e%~{DC7>vHZ6MZ2mRjqgomoK;69|a<2~=|jfji> z%3p{WnfFU6J`3qV_d$eRKuxjtJB!#*M3r54m#z$GR@XP}#nbXl#PC4>rSWWvJ?F|j zQ~ow%jyWI;U7l&^6tN|`@%O^CMnu&f>T>|`3TA&>{EOy!FJ}qMsMG>=a4Un`fP1FR zV4Rb%iGLmwZ=c2<(CEe%Q}}Xj8`x#+xAGL15S*mLBj5|D_WWp$UCYr<;JZho|%#Q0T^>L-Qo@ zbq?JB+;^QIh0kjiG#) zdwyL>fz*!y`|B0lmyBT+x8{D~!UNs}|6raud;M19kOCZq*R3+XY3lR>eOTL!peJle zqAp({elO~0+ugGEZWFHef1`Fm#@yumob-?%)b2*zl~18h-V~K_+T~6*oKeo_b$9z{ zzrja3Cvb?DKc0inXw@|i58S@{v8KI_V=u&qxL>pV!SvKRf-iF0V;Hh7N&tzLf7Em6 z&TM)sZT^1wR`1$2@AvzcU!7O~HkbHWf-Q^h#19%LuOsrOd`&oEZ&<;&(Bco3ernxR zp6Xvqg=y1YNQIWE*Lw?MFQWoz*1t_n(NsUK_rxu%fhY8~eWZF^>Iw0&HkCLYMsefW z5a6$zXwZS1w)<`vF?Bj`Ayt&&XWMv4d*PV2IK*|$sD|!0-Rm0m&|8_miL|S(_ zE$B3o=E)@sFO;B)Kq#U_mNY>CUR-l`OWJGDZQP;D#B;U(rTME*7?v{oA zH`Ts14^KNk$zcXVvHygC>Pqy3Z}muL7GQV5-cEfLWDdLL_6zImepnzcnj&9*_b+4P zo7)%{L@*oiR`{t(MPK7;D*S zwxfCWbAT3A?0POAJke(&0*A6gb-cqNoXs@#J^rkX+r}t z|5LS)Ypkg@g=jT)YczGc^k@oWW2&%_>#3#I*Xv#@etK+b*kPwat!JAiDPPA|QG{75 z3RW;}@nb5G8QtUc((B$7UorKBXfg zy;IEf-gJEwvJ&pb9|8q1i||%>%OST|DxyvopJMdzAHe^e&=5C6e9SUW!v%ye1MpUk z-!}_bH!Xkmef+`QwU6xX>;YVB`NH=-%UR!W>hIy2arKJ;@0Rxt!kCFyE)¨}4b? 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

)Hr{m)Na}vss*RMJ|ClY~NoEVK{ zYNr%J#z-BF)kU4C(=nylp+R<0V{S4rjueq35FA1lfEpzLBmqbYrY00afug-=)ZU;i zT^Z@$=zn&i%%z}W0gkY}TAi}y<(s4KyeS&b?RDjgh#N&4indD5JhpX>FtM=H+1g?o z@f#xpV3ckO)*Z;>`eO=CUhTxIQ#NIIkOn>ZkMWQvCu9-5GPq=kQ^Y;sA#ZB0ZBh*6 zsqh)({bC7P)kSZxwaVlVTA$u5;mi1mi>Xq4=9|;iJh`m<{-DPP6mwg|+!{zogs{Y; ziX>zLiKGst75EekmHf&|TyL_i)tjFYr{76Ilu1S(hQ*SQHNGHEdvZiSxJ`iuh>a8- z5J#ZrY+)^$hczCwgN>7aE0`GE=8U{O%nh87HFAF*H!|8k&_hmO8syl^_IrmgXK4R* z(o1*Jl0qK6gbj%nGvMHnZ%+&0BP?)^CW>@RY;sa!m_`jFubViJo`6*O-K?el?eehy zUu(Q85|}B;y$~a8mc~JW!g_*jyhnHR<~uf1#IJ6Ff%+PzyB7p80TB=;dgd1KrinCx zG9Sv6H)UPuZ=C4(g2%vPHIPC@St0^Kq8b}rD45wXq6hYKno;`d*C!C?n=Vey5L)6i zxYCpeNJ5eXB>+7Ei-_1d&x98^iGUad)?9Tryw5>x`3TKUbR1o&F&M`Nkm@9{p@gZ2%_CG!;VB|zii1OtQCVpSdX5rF4f$Om6lqssQ2MkW5)(*I&^ve{?BxfX7$EW;PZ}?M|6#harxA>e&mPqjNEIHboP_Tw~-V_YTCjiDHhRYd2tqr zq*;h0;9N3IEy^hR%$1^!RClKrI!5qZy~QjiJs(mY5~$4+2Qg^K)>R2Wv?oBIoP>P3 zp|`t0%6JV=@; zifD`<#AW6I@R;LU(IT1~h0lSmkwoC}9L@ZM9o*{iz#K>9v^`m5JN@P~8o1Xs2in4> zjwt47X|erLO!6KEY)UXJm<2*QdVX^z0z>!>aFY^gDH+GHfW00KBmMTQkj0+_gdMJ{ z@kgCZ>@)4*Bhev7miFh!1g002a#oPA1tcIZmb%d5U5eZ<-8vwyt$$~rkCP)cFfA9Q z6LlGz4%w|BD@I%1Mu$Mmh}_9=r^ypki2`S{jTp`#jGT(1S$b5 zVjUsxC$X@RcZ(9gQOo>yz2@e~UgqF<-p82^WC_w3F#kCE{fT|pc(%xa8=`hT%0YnFw#NS6d`g!a@>rc#(BuKY`>^Rwz^@< zllEK~6L6)mc*P}=5&{5)Gdwn!WYP0afGR`<)R9|VkzmF&VG&E<%DDnb7_w*2oosUW zL<`$NnL%x{XIEimiAP`wE{*dYMllK`tu7?6R>F-yoDc`5f>dx*7OQnl!B(ERZKowg z`bSzR8fkwv!83JHm~8@sl3;g=?lgiz1Xi_ic3hC2M632)U!1h%iJ z1oEcAlc2B%MRH6ShF>a3jqV}jhxo~mhXDU0*Fe62IScW%FBpWWPtyn_GXO|R0)WAu z4gxYU98d&w`1!NkSRo;aK}*N3r4rwuW2&HhSN;4T1t)^06ea~h!(bjAkJBaAJO#s> zuyJ4UTZn6t<1F}OSs_l~p7|UhaG3g$0HLtM#ftm?mU0)!!x*zph#Wr9j=by23B zMOe)=<6=Y!^H^%wAwuE+Awu}G<$-bO*ALt2Z0gMPN93okgD2{j`)sjGH`ilnmRt*) ze1o9aXrjhWmO%jIRg9;xLkDRh$or6Vk{g>P{kqr-K33F<7HL;7p>XGl{k2=5D)Rl1l=K^-ODti zxp|>jInYS%VfCgc;!|X;8I-4$MK!k7fTXAA#%%iLL=WMDj3&Edt9$V#*(}utJK1fF zFCF6oXBS}Fg5_M~NauVlAoeJbPRkD#a+~y)S+8l8*11(hCeMAH#V3=(5l9q zYLBpd@K*c{_Go+B9R#iAA%wKeJ4ZP?Um7!Mmai4vCxOccFD>e-^4%#Yk0mmVUBDKXu)FYRfnVWaH&S^NEKr_Up2 ze{D87b0C6vJm0N~DJ;OENhMMc6JeULb_}9qQ?r9ie^YfJ4VAHU)D{;N+E!Ou(Cb5% zTBfE13{u5@lxOnnW778{+sI_^j&)Kk0-n8MG#3I!C`slaqw!#baR6O1O416+VFITp z+`__EMG1G-0vsg;n=RrpB#`L99mUy%vatx{zN5ckjYfIh?vPrEn}kyS6hho2o#fH7 zo<#5wNkVchNf6Z@`lQx7erCTQW%tdwW7!m9TU{n;NyiWgE*4BI5F@uR(QEg3A zkS9nEvxw2$GY+SbPJ!cFV`OG|W3|H4M!B0=Q^bx=G3_#h(?2j0%%^3|gf-YmR7q|n zQtAVfiWW^`Jvn$>z07l~F@6h^e$?<*i~M$tcTh6MEPl%YejcRD2iq zuMv))U@KHgdL<_NM;d21E=z0(kL6LA~Pk9L^9%VkGk; zIoND5@NZBea!)jPi;zAIGG7uC(JG#T&~vIbPy)qQblH#7asmEn3!#`A@PVYJ$FtYwWTdv=q^Y zIRzp*$zzOWDD;kzB%&bU4HVo@VLmH6_6UMuVMy~kds5+{4vF$;{!}y%ZEQHv|ifau0tex^w0K`b^eZR*19iX-0I4S6UffKk2}Tx+veY zOGio9Xd@FIqQV*M=hce z*hSRx7_?btIQ?x#a&X6gi(`!_#pNoZSM0ezhe`QQAe(KW5jEQEO&e&FaDlNd{y9q z)UMj}UrvleLlgrd5`P(H@Lf-}Adfr}+n zI9LhoLzLr#^mP(gE1}#_9qj6Yg4w=01+dWpz$`hG1b5vX!~+u}CqQ7JP3JS`UE6*o za|2ZT41Mrgk-eR>*60{YDZ$Z2i@N2p5~>Ed7N3;TeKabipWzqKB#DZd$}VQ4pV#7G zjn@3raOEoBta0lgZ5IY4)tmF#_V}Ks&KoP+ANkQadU9(Xm#v3JSj1BSm9HA;*PU>% zbmO8NZyK-{v|Xrpqmsdk9=ncGs2OT0tb{d>cTztbE1YsLRFm8zaz)Aa1=i8$^^mDbZN*(R=^^ znFE@c0H{AJ&O6_2yZtt|y5*%^$(FY@t8HX*vGXL$IkL(5<|ihQ011Gf0BHz6LX!Y( zpqBw&iZ2i_2MiG55HJWY;=JYfBkPf@NH^5TBb+{Em2NbvnKKlD{7)M!WVOxKM#Cs} zXtI@#lNMg%B#On>Cd2;hGg=+XWQ?)`x(eq zcG(!#Kl-p|dSsS1-)NkOW?_P4yeA+JorNBX?+C47JbHWkkFF#QPY1KoZ@dUGr4P7D ziEDXjLSRVOq)0H1KCoM-enu%OhI5&%(i#I6?rg-!WuXA&1C4}#3x4UFyOekdjVUD0 zpE5IcwV!;RfA(l+YGD`$0KU19+|*rRLkrSRLUFXW7*Bg!M@5Q|_G+K6F@o7X00i-$ z!4ud;`5%zZ)+4qFo@l2FtRvgrd7>Ux zf#ZVi%)X2M%E$TW?dYVL%0?5%9aQVf_N2ea5Pu@_B36`t5r7Ma6@SS6@qY;bG1+Ia zwf@i%#x|}03trdh+u}t*+Ly1*VQ{PA+>5_Xwr%SSva@+T!Ns0!jvY%3Gw;-&3}0ok z?4949iG2I*a-GIsJ$N)z(S-1>0hpM(BRo1mC(RK2eSTDH;huho9mGvvi=> zWO#TEnI6^eYYt<3kC^))A-vu@qu?WXcU)w*(AI3@^H2r9CcSaRrBvgQR2~5Yx*u^! z98yPN6adkQ+VR$(`GT_0{5SS7uot)lIFiNta>;U|A#+vykGsiCqoZd>LBIv+TpaNy z8sNxYkpA?BgHyo^;B{)GsJgaWmuO_lG|EPitbEAtSku}xe@AC6;_!&@MNsT@$na;u zKTCTkr|GsGCvF}kk84c^vNK39c_8h{?xos-|ElnkwP57OwO_GcDI0>^1KJ^L7>Bsq zIUc0@H6QFuAP8*Cif8Rsnqz9A{wCNv$34&;@zmSoOS}K{!dbzbm`mZ}eh=+t2i_T^ zkJvugTk%$S6_WXhh8t|!mEeW`Li9en!gDfKHa76fkKjB%tpwxgVAsQZm@S6u0@;DTVZAt9XJ&35%MAg|k9VK{M` zwK!79qqA=Q9q6#oe*l#z0qiTX(JgGhu-D7()X?U5Z?Ab2cZm=0F~m!?F6NXYQLtjL z1w|P4Qh12u72a`I#n^ka7Ha^x)E1_XXf*EzpSNd%B?H?NbDF!i!I`~tMqSF%Qc1Y7 zRoKkC47(~84wl^NOBMm_aU1*6#s`M#|9szJvPi~9sa3`SXwA$=;ei^WK05^B14!{e z5FdF=Jps*YYu`hu6^G;Z`^4%4*zT6DgECKEBP<3hEx((US#-m8Exj3Z3GxE|C_%8~ z#E`JFrT)g@XlP1LT*w>l-cJmO2Z`X!m-@>4A0|#YmMhFVCI9t4HZOC@0Y5qp{D1Us z43{}Dj+2QpW@r_6xNy{R|Hm_)K9A6cI5wfz#q1XyedxF+?AhjPB|LpLc+4x7*ZcH; zOWQ}ntvzRhm8qZ``_v3O9#vjP(I-~c1k}xJRu#5_sFUpy2+d0DT*xeTvd`Ojx^rwA z$?}r84l2bG6U27cZ@bw<1sDCQzYs7U*o|oT_LZebZ7AVz{IvD-%%%G4;ZBtr*!S8& zM{uPQWn`6MWXE~~{YOf@({I*cH#W}frTg?zr73@_OBNVVR{Gf3ztcGOCqgffYk=!4 znD0YxFZkRS-#Z}Rmsv~3drKKCuSf*#jd_x@L;OBA_i-GE-d++9F?^cnzf^3TxlP%K z^VYZ#a}uHvnK@CB(3!@a84#zHKeO6Y?;{cOTP2B@tRX_gm=%2P3(#=N@=~zA+x-`x zjv4XM%&@CESlsJ0HGWkcZxvTlCrE^B(5utXQPVgHddjDJ6%CHojJBgrTR%@xh?A`Z z$+G-uC2+5KB{kqoRg$zG>QHIn4W zl}0zoKCr#Hu;j0uKYC_g%6BmL?yR=~N=Eg!EQF>|r}O0DH(sS>47a=8F7=_j0}~&w zi5*|hXgAX}=vt@X!F}J;S9zP6{w1CXEqagI3?f=5M~R-c@+3p2&66IpmAZ#!;Q8b_ z>76t=wrg(w#aweysvi~h>HqqRDSIF;CkVW*Ak%&02!*pCBc$G8p0Im4vIYEWUQ&q#q&yD(B?pMSm(u`X`-DgucPt-RiVfybx4*+CCz7b^8!j zUvk2Sj> z>BHW9yHTciYz@AdSBM>C2)p!=Mj45Qu8-jks+#(K-4(RaacUo}j5crgZLpS8Tw4EE zy?X7t2$m5qJG4b6Y<=rL*W7YyaTqggCGFz4h1k;lY_2;sq0iU_Y~^-(h;{LMEPC#z~E4Vzpp`9 zNehev#({8*>h~h7msH~L*C<3a*uTEHPH5x3{>GPjXJD;l_Ur)r?TQJ14u8HieAUMt zhR8eGcxkRPzb?)DHP6Qp*U_EwDGyG4xXpW>?j&3CJ@ut0*wF=g&t|XLV0h^XwU7lZ z;Q8U4ETXph093=?PWz>McTq-Lu+|OX0tr7%0q|c5e`TPW2gXCx@*Zs=kx>+r+q8_>xz<_x#}!&+!S; zpjWJ_Dq_Ff{u!&Rq)ePBK1>HR#aRhg8qgsb$PKnvAMi>Q9Wqr zYpV`6wI%!;X72Uw)Df7hq44N1?;7w!^vZl1GaIoK~++16MBEY4p z=7SW6f^WA~9G#f=O#o#LcG2!AJ+xpw-aAh(T;M)Z@i^Us_ zUVJM?=9efBm9)D2ZfyJJo=gqC&h60Jbs;tCF-uVWvX@4HHGyQ6{GNHMfbiC2?scbN zEpNYP-n8+EN!V6Ox|ccv8*=g{;s`xn*_oO8T2|G~!RSXRWli>0k@dqXcXyRFbWhTZ zLa~-by1G|ebp>TD6GfoAsG!fTkl#(nR%Nh#U_fuEtH>!~s;tDvwF0;rBy$n++n(PL z5B^+=l}i+udLilBwGq6uUGvnGmDBfGv#=I-ep$~Vd0_i8|Kpn-8CNgLz5Mn01#lB{ z!C61S#L?EG#bEc^r!PFY6v6 zWnney8FxTAp8@J(>vNfHXt1CHq z`PD8y%wiKe7ZJ)y!?Qr78g+@gi!V@zSUK+t_*fT%XH}sZA|ko#Iah2E#GLNgX^Q1N zhn^x47yo9F-{R$(;aN1&b&4aj|es=`oR=K*URgUMk+*?pqjk*n96*|!tP0T5uEq}i|#VJ|lXNjWnx$}=! z_@Ea{XT9cLI*VlHZYl~+-gwF9rT92{Bmf^J0ioA#M9hTy$j9Vm@-tT&%~dnJ^LELv z>}#GwMw13=K#caPTjpQicuf;v*O$*k z(^WTB0m<@=T1ve}R!+Qo@lHSdY2}2?Efip9jorcvO`WV{De&Sio%)$hUguKlRXKm;-byxlW5E>9b%GZl~9`RGI_wE?5hvm zyLmSDSa?l9j&nwo*xzC^)pqrNcOpQY8iH!&JDUy<9llyChxgeHCdIF^1GFk076mIY zbd%dZQ}z;qJkpP2Q!Hp<8cJvXRG(q`mgv6pPvv6XHp zEyPn(#n+mS zoy@`)PRLu`B@1~wZgug+Tr8%^T=q9wH8>Y%$_*K|$riQB78%OHnY5J_y2^_TLw!MnKYN;D$EZ$HKhpQqXz3oM8=n{L z&P|dm;pJPVW}Ls%q0_G)`<~}dv-8*Di?e?sH7!+TWU>r$-Z}!?BOuGZPmSx}n zSdI6kOUCS7Y{6vr?lkVa7wi|w9y@bWCxg{?2j~6(h@6CD-vF7b|ERl4!qxB7n-1nD z8tljQ_MqQS89V3b`uh3)r}%>R^UL79w+s7(8Uecevs*QV&z{peuzV3{8Ta}bq%+r% zCU^Yx%B{w#@tkK1SwK54mt6mPVbRN#oUPdC#_EhhV#q+N_+-z-U%S31k?q7_VU1V1 zX*how*x%NRr;#JsLFnD=blxW~Z?#@u7oSpR9SM>54BP`4iN*Xh3s6eV?&a6=-zH5$ zF>H3j39-ojU@)D<1&(C|$0=ZIzQVdwZENtWA35)O;Bxa}$fv88T^j}77|Nx**Y5AZ zrs3L)d}2NCn^o>g=w0OP28|u#KtuAh_|N~M`sC#Ig|&E9fI-v$M6bDE=#{$sS%0jT z+8M7b<#k=wn|NH|Quh1trEc1MaeV=Ojp+6Ex;q*)wmfm6=vk*zMz0k($&?j!^b|VQ zpa9cSzQ*WmQSEe*8|S#KKet>Px8Q)jA7t%S74 zMtG6EIA0vvz^!?2`6+_x)XpJ(`&u<~F3P1QnD*HQ&0@D+G_06Q&5hQLPDk@@&+2b< z#qyt?>>^i$U&~I@Y;O{rE%kK?rk@0GCEut4HeYwO1itr%brZ{~=o|R;CnLZ7GPcNF z(f#g`0!xOQL?0g$TBQ8gw_OHas6Vk1d`ljNCLbo|{glvntH#qC^4-OHhYmO|rr5QE zKOASLfVdq@6mvW^8mgy;L#5PE4K+|hHPk~5)KED!HB>_l)KCpIQ$s_M%u}eL8fu}2 zYN&00LJ#(IxDFc1p@wRxpBkw5WAM1510IVjgFVWvsgZf~*l*c7)u~qd`lIUm5uV*I z|5CJm6}0LPIzC!t>vDf;r-$r&9s9I3?aW=*Pfcb_HLrW_`dvp`@29d}madD8UB+q- z8&W1KlzCQG@~sJpb&PD!xPc#C$*}cAPeiXiLelFp_NGjE>*UrKSM2nyoBe%Hotg(f!f^f8sx67{DyU);Q7eq~<3#T7Y9lRABlh&)pN02QYBS`F)H2q^#ol65 zZi~dQF%Y4PpA^)7VkWXYu2y? zP9c)>0vRyHLC0$80nnBt`vR{7K_RFPyN8(?QhfGWy5chh`RsLr!)z_?jz0U5$!aC14a}N$``xjak#@KrP;46y>^|u(eG% zQ03SQBrK<~k-4jtHKLZ+Ewjbg_J-~)dMTK7BzCQr!Q~u8z#Xuait@tJs1KIYr zp3)M-@kC?&{^e8k_z4rs{xi&MvI@B1o255a?;V$_X_g)QxOB8WqxSZqCz!m~%tjDcu@WMBd%90#U2jG_+{p%^sE zZ1=^&WL>!j?(<#fB+bbN`K8ABu^AX~cK;(X*bEla^=q|@AN5%$e}vkR3;m1LUH0FP z?P4mJ7EF50Ni&y+rPMQd(`;=OSt4--1LuGAW$>sY(LG~eGz=C62U_rifEb*}NCegu zgHf#|f+PV~vrVXM=sr0H@eSx+7s7hWe=GM0O5jAtg$ul0lt&B%2K3_rh`%UF5+^!l zhfM7Fkl;WQ8#%1LTmRUx^83yE7-x}}9^EfsN5mpoU`&Cz_Y+a7j)Nsu8bAd?aAaVY z2FXh5APEfu*c_{f!}*oRvspAfF&@<@xY_NiE+68jX-8tSJ%1RkB{szD;6Lb?c@(0B z++1Kd7{yX~!XL?xP8!lAMo8ovj@K{Cp5m9&+Pk&1$!W6{A}7(}Lm7jewZT8Uq2;jV zahqGArw4TFY9E>?ZZ#W<68YKKab(aEHrVr9mV4$KfaTjE7{0k4#6KA}#W=;D3g7z2 zf3f7j4UG7LwL(8I*D4{7ku}mGltAR|!1UkS3X{xD-a8IjgAZ)Ue^yMVKt{tSQT?TqGQ2vRa^yYIGif;Fq05qBwe9ZI0w-YW_ z-g`Dao?KG-$a#7XlBA5rVR%_n2zs&IiU=l3 z2aECJ9~K+9e6hLMByIr%ku~ErPKHa|YniB}DrkUz#6k1Sm0+&f)MV~Mgha?SYYO2i zTlg%8C_A}t5t@)f45t1$u!-`VXQ6Sp4UPn9CB&@WvM(dIbw+eVdDe$n2IxB>YJ74i&eQOlBj#u=)|BN{;4~fLS00X4$IgUd z$f6(#sKOCWYVATw)aoDRx-Qsc39-4>ueino&us~OrJ12LeO zlSgy)Shec~wn!dYUf3hmIl2H(BHwLky=FA&YihTP8b_cvor+(-<|XXhHk&71*$T!Z z=q6)9K{~pvFwV-s+bqbSiI9e$R*9dxDCuBh@g&(0x959wUkXNoMR08*0eNcAW|5E_ z4#&7_+C?DhN0Caug{w2%6!{zDa+5X=fbsk!T*<|sAkzVQj>YR3u=HvQ z15I;|Fv|)FIA(VNH3yI&L`kP90AI>jZeDd=m7!&Jj`lc5I`xMkf&p5 zca3t2ktn8qr;j>_O$J|OBtlM>sTK&cNBQIMy9ykLSSbM&0MG#;kyQOHA-HBuTR(y* zKn{_jNC;y*MUu=D*E|P(&PYbd`~xa}2|VD($z|OQwrn7eas(5C0TGYon0H1>a-Cuj zZI1r-_wM}*6%G|=Ho&VSBfM=C)aR0;Pv!y|f>2F$Ep=5rYXv>41`ehp6SIjM9Bcwg zbM}WAUja8EP(XgJHbo`9?eR!rftF*&CX|}j8)1Slh)m~cKfnIJ4Y!SD>&HZh1bMx(88o zbe`ds5)N4th?k^jDzi`;z1_rUkxDG5 zgcs^qmEKk#N%G{rK$6z9^i=>5ftVf#02KJU^!O-B(ZOdx5?E+TfZJuNKJpp}24EE< zAqyC{$?_sgInsF!$Vu!Nwu4RmO&NegK7uTll9n$C{Opw{?X5WAio+yfsoztfzEt30 z*2MHxIFL((O>*x_K!)rvj~R-5du06F_lu z19|2q^5UBUiks(%-)miU1R))bZ6OJbmPCbV{gWCIMU-Rn~%Zw^JdL;y;x^sTK#L)6k~n|*(=kKEwuz~kY=xzCH%diYTcV9^?zE(LO3XG zDr$q}-Gx77_edcc*UZ)gDcoq^Hp9aM_qg@ZUn6?3`t2dojV?DNLV0XRH&`E!kziSq z%9e>bPjGM2^bQM%BibJbzxVS;&lB3U5hd00HFE3{U|mpg>`w zBmjfatRfWah0`A#i4(XD5o^}qH%e#T9+-eP8o!rcIHW+-;YrXrB{_*NLIFZ*)LbZ! zhEpgmCOx=%t{#d93=E7=$>bWH&&qc{WEm#q6SGoiJkSwRCN#D$$V?YKXKZ0nybBj< z(QzmMAj&AEp$EF37kr6v@)%juYFB_I;08%zb^PMY9S;a3bR=F$O5`O80Yuc{Pyjxu zEqiSvJvV&1g?FBH1~BM0ZeWYk2sj{s2Z+>% zatjr%=(wa6cUnwktE1Ziz)oT08`90taMS!YXj~|Rd3li z226+F@YfQ^S6`%5uYBGuGC=#V* z7Imi}bX63!4;q-@EDOX)HHCJS#DFx4rOCi-NsyR_rEzMSk|;(LVMqnSGE#Jz>KOnL z`(J9z*RoA^D2ERL6+Gr#K~|Na_%bfE*Z3S=rkJ&K^LgAxM{amCol-BU@WpwTh|(Hp8S%L{hVr#exx%ITp-K~@)#&$$(Xtp(#mogPJ5OojZIehT0v%xo zeMt#P96-QMaiq(M2x1oWn=X2Ps4+bFCk)|KRg?*h28$qsW(!F`0d<+pi5>X2(Y4eb zgZoo5@mJ^1sln6DU2Bquj`N$##QM$~HUUvTR#uD~(py^KVOTbH`p}@Fa z{=?15v<|;czWABlt(q{|BU!|hvX=>wWIevbaB7*u1SO~6=|8}i%)r~A7&=VRbTf$n zT0jnt(qt?Ei%Fq--ng>GO|d(;0G8lJm|T%nG&c%~pW_%&1xyB@y77-m8jtM=7*1i* zWykG=$P@@tW0FWajz^$}qm5jNNmyV7K|GA#VABYGGSEI(?O(N)f85n1kwKtc4v88e zAqkW}hlv*GAvh35f&#?ZEAoUvNumH3P`gAC&4MHVqE#AbF&?@;*#sq;0yfU)7XGX_ zD}NwIsdyWsUgqAGo^5D@=(&P~w+G_|fHuq~yy>otVx(pTWO6vg4jmn2CmIApk@8)J zQbaBB95A)H#smtM%YLP_OXpYv5&;if#q5|W6a@nSB8U>h7>1ALnlWmj)Y4T6RJVp0 zuYu@H0?B$Y1(1ipPur|fupWr0b; zm0iGT;|MjKz`OslyVhU`5U@B!j>!Q;k-yNP_vv`cX@PAqGyeOI{{V>03=z=)lz;(8 zD*LkgE%t2STw*(>5X7%A$Z`#B05IQJI&8*Ekk&T2B{CR@b#-PXwPoKes+8<|bCE6O z_Aau?EtzJEYLSi0#VKvs#^WU$Y3%skj>du+jRyv^K|Na&XevO_3LRbmu7G4jo`Npn?KHp!!K^{E_?UBeQnnW)@>lC zzS$8PcBcK{8M_DW-tX=YJR4%W3%aT5a`*bVTiw3gK;tk4 z0y)e<=z#zI`p=e(Z$SKQb-g!039I)1s2De=yIeQ!a^hPLYMqZU`Tc7=nRQhv)Ew>M z-&Ot7{Z!Phan1j5ASvcx5c3HR3gt8+aJigmmI|oB*!WA2uXUm*0@nD8N2B9pD8?~g z_>O;lTu8fxtDs00Iwhp`iht);QR;*g5WkI5%k;^a95FT7wy}lx)%MS zmPXs?0i&i3EquNz@W~b<2w0%hWEeWe8;bOlxln;>C0H8YuU4{pGWrQ2H#y^3Mvh)@ z^fAZL2{*g!F-1!1Tognte@jIB75M5dK>l*WXwL}@h!~~J`!EEDLTz&u=dL0Ug`yOS zr9s>Sp%8fDm5ma{mtZK4D5FQqucN$>0#>ex)Pch?YOh#wZUtr9eJC>WwjJ!S0}C5! zn}i@~4Cx4P75H{=-9jBIM{$lGo1%Jd{B!w_qo1dJM*MWcCwS&a35Ba0NK#^&O-zQ)C$oPmp~T#8HilOh^gupuAKkH6kdEgeYN+ z|AJRRXeY};#0U7rVmcZI14>$=1Z~L`bdo&ty1Z1gQyk=KYt8pd`>2bsDO6E&BuZ|A zJ-vX74Qy^*Aq++sI>vL@j>XrpOr00l%O^nCAF& zyV$L13v|V)oIdmeSgA%njGRQp7$kTj9A7vb8r%@|q$-3cK)>D6`K96jQa&4O;~t9^2FbpNjdZ#12_6U);(#pWH=n=gKSnTrZ2mSLb=H%j43rWHg-INaX^-n-`t%!UX75$RQ6624k!%deYf7(# z)c`5_wB<&?hh)ViaU7%doOnt6KFqicIW+0hi0yP`T%4=^zJ7I7dr*=9=Xdc7zymJU8R%|#^$4~;Z{vA{5%=!8H z&->H(t&ABm=X-@>E*ibzkbfSx1<_%7zF%kM!m**U?q|+ao=?y#HRXHT4!uEZzRjxr z8efq2HOiy!1Lq^uckyH-MSGCpxj782w+;y27kF@VVGr%&6X9F|vzVv+IyvTZe=r*A?Mr5;P-<6C6- z7-PV~nCc&WvejMW$CTs$ZvUn|8k7WC(kYP%44Gr7^6pfA;odtOCFcN_B7qxu=V-G@ zb9~(MXp@loKnd6By&nB(-JUnMGF%sKaWT0}yN+-&eCFGF&E=T86ri(5r9P(QJ>oc27L2oX>OaB+&_$*9z>kYd$Z4x7|SdV4oBFhoS zr?XrW%Y>wzj{!N@j5A(_Zo$i#stp)1ENhGOwVPtGUSp@5`V9qFEbp+C=?)Z43kS|t zoC$h3jKy)DAJ%b7S-_+PrdS#5K`!336RqVCa$wUX()NnsSHIu>26rizq^kw5x>zb< zui1vzxHlHVo73K>od7xd9$O;r1Ks(YkZ3q<}h$aO1!1DtzF)Ha#Bmxgp2Tynp{wd9z`Pr5yHiE-#4S zgrgvngq&y2Q2gg=lBF@6r>6Q3`HlWg-Lqcp`D@=e)nU|kZ$dnH?L&#L4zO#*?6=dY z@FKCr5(0apM;La{+`+#eqAf&m7GD9r&_>)8hU6+*xaP@M9j{sc>!?||es{W&1F^Kg zUITL@YMi6Qdr9Xx$4>XL=d}6sWgQ`jXZ!$iE4KGfeIMh{VSGJ)+Q9gnpva^ zH-s8#oA0>2fcY?cCB4C6_xZ3k zT`Cltg!5@0!4x{C;~CE+AaHR`4v;sWLBqq=Y9AqypT2m5fcULzJ2N<6rVN}$Rsqy< z&zv!^C5{GmF6rl_?v*Y+(6c=An|NB$qaaU@o!Mc|kA?_2cAa8aZ;RHs94(;q`%3ph z9rR2-&$>3$(*P|-)1FXfg++H3{bv!}sRw`*B&IOGg6jqf`G4*PrUttJi{fg#7T#HT zYh&PN$$Ni(+r?Jqc&YO`>k#SuC?f6NAI)Vs-D|sXcfY_P(fB=n?rVj-bvv63de3+A zw+E`B$IkK7t>MfbYq{LzdA#sD<~Ti#{J$H`NB;H-e7ZN)y=GD<^w~(alEfbB2J2O6 zD`ds(Y?>~a4x)ZMfioGE&!m4j!PgW1;%XZ%!Cu{E(x?E~NWJ>_CnP9{zfPj1E9jm( zW<*^HHGUi8*Kw2jx}d1Vz-?q3@nhM5@TRcQocVqaXkMe4p%}V&S(#>vblL$GE%l%Z zIXY}x#q{?q*b=I{XSnL3)`T*xjs1w674qW==f0y_*!#lMqbE4f(eaLO2+@wF12LBE zDTV{m=1MpM-jqYd>Ca?SSs?EeedHQZc2M{~@}swZQdUGSKE-U|yvB*h)RlnsKSlh9 zIV>Tpc!0O`kKSJ}|7IUC=1rRYg=y!LXJm(2#7>(dD=}OfIR(8OtkYr9)!UQKXLW;s zFhY*vV2E{f_}n7J8v8br6$v}OOSZ4EeNejKA#6Gq6hlBfekNh^g?COpWK~GK=NQLo zNrVbwjgDhlz^Hu8nponTN8?B4R_r01EK(DsDxYs~9JbJtSgJbxzCcO}CVh}XjjKkS zS`lF0ZBissRY)jr)R0n&2L)V{P|7*|zTiwU4d2zpXQz>+Rtq3pZuT8nd{-K$+vTgv z-xN}sG;Pt<)9TQGKJQaru^{IOz;BgVuU)dvdGHjsYqvpb`{FzXPk6h2D`xF!oY&xk zZ{2UXtiab~#Q|vbZ%x+t6Ra2yjni##tj()9Ijk5Qjr}dfI)k@|SaCWUS=&(c{B(p> zCcVB_U$eWkp>*(5n&~Y9)}8>94sA+0y+FRfQ?QY}eY`r8K#{?Ht~$Lyy1~<|k-d$$ zIzsj3uOqEHRdsrTY>lP8zDrpE4p36}WNk971{(aNw2pOMp;f;+y+W~#C5R?{tFJm2 z78L`dk-q&_oxh3Qi*3uDzKK<%wObMNZKUe=O|4R@)wOm4%|*;jq%w`&r@lQ^O=eG) z2)irQZ?URbHdf=hTm0>*dS(+Uq-|GjKU1Abm}%%{s_IPo70Ipre_|zALOt7vFX$T; zms3~*U}j}YF#4t7D^;d{wx#R!Ys*~(wS_nyH0R?H_9A*7r+)a1KkY}+IX$ZqZ?0Hp zJj8hhe!}0w9#83Or{Evrdd3(b%%9K1C#AvnilDySi+RfN*@?)wVj%DBzK=5kAL{NZ z4pi1&u}$w+^iAgBO_iNjOur4@oyySr2D80|h=j)!G2lk`0Y#y6kMH5l!g{!U?e5y` z;7hxQyPp1iwR|OEnao(b-wmn{o4%O3@w#@kzWb{`id}&Ay-Z=+YMkLh%&JD4nOHje zwKF_S=wMCq)9gUR9CjQsh6~Yj!xd0)1fWpoZOlJr`;Y_MSe-8L@Q^ZWgFQBv=AX)ghcqOd_01 zOe3I6OlF&cs>DP$x_@`u+EIV)4$40BjxlnVw>KAAGx+K67-3Xa@=`H(#W+44t0r(7 zOZm7|nMk8#vBRv6r9xLs=&DtT7{s)qysH8;InLc_h6l*_!seZW?~Bg8*y11dTEqWs z-5f&@oExopHEQQbI*GrjYmtyoFo!dMz2 ztzshLTw*E$U1BoQTt-`~9$&iB5v;~a)7b3l|GakHm+1+F^cU7mSolWW`lb-_>M?eQ{ScM5zJa zL$5Jf`uBBFA~KDnrA%bFriy2(m@Lkd8R!zz8Rrs}thSEAda;DctDZ7e8^Li)8`Kph zK;

ATV6Cg<=>6b3z9pVU)8b=TL=F@m3Vn88K5ix7-d|qC&j0Ut1>$?}Wy!C{@{V$tDyo=L1)z%c zUxfH)dz=Ob?j8NQ%ToEO%u)rQig;C^%4JpgF6N4>*;Em!3iZ4y4rbWK($l2BQNI77 zh74P=1eU4FkoU0z$GWXJBSr`d;SUMU03TsaKfr#JGUjB*Q_)kCX9a_1qnoQ0HS=9V zr81tBfp4Sgm}__^6DFX$5i#!(gnQ>XfD?q<9Fa{75f2Ygn4~IZX=VT=V$zDHV$UTQ z8>JFs&{U?jxiA+wQKfrpZ`|BxR1{*&D*ZMeE&bE5FTC`4Z>?3#a|3lesZ zHMq=UFVf#?{)C_Lht~>PJ~TITZud@J@bmOA*NP><Lkv*#2Tj=t4u-=(>oh`$Y1mTxhCd21XIg;n57H%@KIlrZxw>0qJ9Av z_#eN&Cx_mpdi1$&3)S_hHDzHhuBF!-2HuD@9_6-T&pJaRrP{j-R$d6r|Pjg_J40s*zJBo#DwntVh zjQJ-(iC99`v`}K&khfy2e$hUC<89b=D~dKi-GC=-^d%4s*CvRTqfs;%ng`PonF1Kw z>;egM2pbXp^vS*YKNUc{`?K=ndDXuWw88xQx!+W)a<};OVb34)tTm|vb*>Jxk*4qC z=JUYpnY>S8_fSX5*F!xpLy-8f6nv-W5AKOiSK*rfyEX=Wc`X14Hdqpv#kDM*nbea2 zl4EIn+-6C|L|4ONDu!#xc)W@t>6i{emzWU2m%F*V?G=$P;oe4#`IMZ^m+mM+{oCni zDB|-HP`}1hkPn(&H+qdh1tqrYR(6DIz&U)3%Uc)ag8-fopvk@ZP495JhlTo?Ok81X zAGp^36NdV9%y<9>OgSrxjuwwb-YH|eyfZ!*c2ipD*GL5q~#RWZtf^bmYLmO{TgB6}oh3nusZ zEg?>QS-nY?e~wP5np(xgCGPoeF58oUA{u2;nI4SSNgH3v@sgszK8+-2+{$3N5R} z`(C!*y6?b$^kY7*mft~x`AxMEaE&FcR6c_G7$sUi-z@t~?b*Wr@oY%K&_YVKoo9kD zQ#+@7DNBXP8iYrQ$rENJrWDR4CMM7l)A#1#4bys5mSsjjtQAZ3O; z@k87MceePk6ydFOQa2)p>+C-{jR^5#NuIg(v}Kep8Qkv@pOyxyHHdibT zDwk9X%G#UD>tu+h$^#W8rkwwr|7nPNs>Kp3Yl~?UB4Ps6i~m9_{BfRgDD(!qY`=Q4 zYb8-Ajg1d*G04@Ln4aNcDmb$#h7yx0=n~Vl=5k11&!G^BYb@jn@1-WqtOlv=wTXIK z$Q3bB`C>h#?r&-C`)FY~vo>~$`Pb&X-f?l$(@r93Jjy^<29*h{WxoiO5!bGNYI<5MDqn-#=6_5c^EOkNsxqY4Sb9kG zZFx=nw4Ky?5QB^<#FZM>u&vMealZ>MmH6TG>!f!>bZ~U>w(CT3a0IV~#oh@t2Cv2v z@_Jv_WCw`#XLP1$vMi<|&K3UVWZF*FSm;em;4@1xg>x=3iGwaNjd?EJr@cAdxanmO z^lza*l>Ys--FJ0F&aJUq_f(F*#LQ`zn9gCBm=K5G-L_kwS`TYIX-Y$oGf#B45gkyC z#uf84(7-BWkOzX{KmZRn4k5sZe-4v-Hk=#C9z}^@y~%eBzf-a09Byl`{URto)L1t> zIqJjX#!^6O#gjm<73%kaMkc0bxR{82t&4x9IF-PEE~6&rUk}T}>q?uC{j2!@S}|)z zE*?u_1`eGzmcP1fZiuS+2hMy~;kWH4?fmw7{%7XB5gYSIU(MMt=u0Kz{Wv^n3;|wx z*RK`X{<-tiR}8{%rm-ZFi^2}bx*9m?hkOGbgOBN44HBwj&ZX}0OT7`P^#61B32jV| zV=ITEpk2?qpK;#cVM`la8|cyf?e+CI-p*Y0_0p?A04xE`SH(Z3AiPwQKBrS}r1*Y( zRuV<7SUhif;`fQOkQm}D)KAn6h!yid(AF!?hj9;Q6E>1CH{_w{Dj=d1zW`ok&^&c~9%xf$dvjq+*)bi_o&wI<6QQf?6>a;B3omf*;n30q5oa@!ecZcP&@$mG{Y3%Ei)lcpj6+;_`j) z4EU^Qv0@23yzn2_l=boT{@r9L;A>+_)Wx-Tw`6&)g+)v(iB)STV-nMp@~n!wxjPdg z3~J2-xb~44;4)3xgYOui8arSk#PIc9vCFnpObTI9Qq2z!t}@J{@fz$7&@(PbXdWuJb>`-nM1B z>!z(`+g<)yr^mSIf30*I`|%%`e9d=$@7fWdVq0YU5|x54PBdX~g-d-H>e^q(+uQ4~ z?4mw>>we1~f_&~rt4bCLu9?>Jjlmcm8BR@LM_r=`+G~4?j=MU;WTtA~{`Y0hodNTk z`MPbNeTRkavu-c%dLH1*{~ZfPW**mhGM(d0?r{{;an+@aDfOI?JgO;p>G1d1(?h@n zn5MlAHCKD@WTW!+IIg7<|G}OyJ|wKIDO^#ofngtWX?5BCc;wyNcPpDlDnKyymLro7 zhSJ`El(pllM-ht`=hze3I*LV}MTT8&UXe38rXfhx%t~=?py_8J_RrW4a^7T*33!}D zPe%`C6l5K3ql$-FB}E=9ZWEEaZXq9>_G>nLsV{k6IjkU<9fDWn+(WU}S~ zEmP_3{KKW(v?xPKKblw%R8~&2CLcRZLw9D3J~`DI{C>Q|40UN;@jNZT3J~; zO@tW@Jo0kIc-iZfCd%l^mv(Fsj@&rZ#Bydat~3JO?YOyQ=5>#8Z^Du%pBV{LtdTqX z*USg=+tm)bsb%;01cb?&ExejFOZ}1IW0a?+4h*tx`Qxy{cQTQY%!F0Zt0C}$Q5{zCjM8}~ zc8E9D*vRr*xpVK{n&w)wO_#lEU-w1U%i|t=7T*wQ)b4|M0e4<*`+46BtQ4uWa$MK+ zsUF#5__vp?JNM6AzR+AmKPuY00t&d7GKbB%^Suob!egv4)w**Mi z50vxArjYNJVnspR5^4Ln)?4@Rt@NA*7U!O>-jC#ilp!NIz%BdRjzAL|4kWi+T{vR`(Xm+Az8#0n@`J>S~E){IHm}ZlQYn!2vMKO(o=+}RkPuQ%|n=`2$7S~&{Kq{ zPbukBgtb)(Ik@FRHHry3X*gdF)+y52r@VgBsnMUus~%E8(Ab_XepWLW$H1UJC8S_M z()4^ORtW{WjA6L5>!-$MA8Ik{JI;^9R~b=>HiKyb&l> z`5I^h1;oFJk9KxSbIjRG?yf=1S$_joyUOOr$Zq5re|ePO4^P7#@}@p-8OtCs`cDp1 z7US}qWE>9LyItF^^;#n=eTZx{_h?o+y7`P!8i&itYwdlnwSuL$ow)zLBbXwHi)YfT zI;5~Nx=9JjGDV*(@?&XP#+PQbVT_og^LQKc8e;)Y5GAnX-x_VfC;bgaIy2hSg!^ac zyZHlZz9kK@iADYJgwc;_0Qjm2adcDtoF**wghE;U{2<$lsJ>*jzc%h3`){+`w4r!; zn~lPw=CYCa5(0ykAAB{WGXq0=Mw9uYw9#Cf0Jd+MT;-7|Q znV9;sWgjaqib(_C*?L5NPA~eAMpcw(yRDJv(N*3#_kX)bDDUel+&V=|j-B`CBuqVN zd3D)#ecSeNr*_OA;)P8;MB87r^O(Dqls+jZ-F;EY7p2iVYDm;&$8q8xUFBA8zUs#h*#u6597z)dhGoZ7oNvYOqvBfXh;-JU7n-7}~wI z{gQcs#<8Nos>G>dT!GLBE$Z~ST}=LN+_>c(Pwz_fU~dU=yjU=@1|+Z`BfFOx zY*v8^UWkEw3EW$IozBXBpT|O8rJi{u(4oG)IR0$Y`Mk{3%ipxy9AEZe&`E#hmKKyl z|E}>*<7y7x)Y2lvN}sdKKG>ysYkQ)q4)@k=^?qh&YTDIx9J}LPx}I9w$$NamM=YQ( zXPp^PDN6p_`mjPo&9x)b(f{N*{a-IB^7G(sF%IZa=jPIR8Yyb>X6LGm)-YZe;VXB{ zy3e;-=5d+aOhjc)v=_|G4*b!61=GA1kS6bMektN~^PSBevZPgA6KrYzj4V#i$7>z$ zb3F0c;H(o|%Jcx+(Remny6+7e^R<4NLzwa*o2_o`Jt+xUz)M7LZl^hbODro z_zv8al8U}Szi6QcOS(mAG2$zAS^4QGyF6&!4St+-$rJ6&J5%T7;Eyc>d#`sgZ&PDkCn z?!2?BAJc-ct)PFNp?>|Z1dT`%kY&Ud8_kCU$g+;~#fq3Kue|B-Hm`RgO1*l&KK7&@ z+n$1>UzAn#`#{5LJgumHRm{sFO-mdW5x-UV@mew|uj?SE{w7;QkTqfD{#P6$^_o23 zL0Oi!k|pWqm*h7fO~OX9b8z=gOQpZ$841#~lsV5mkc97^wXJf8?%!gb_I4I?c3Mui z1U28)Y)m;!Gdr{;%ySuRbU3sj`(Z0s%GwTk;0gC(ZB73sR$8G_#!}U-8QfwyO=6J# zrj@l{lt`Frrqxm@u~jYFCy>}6|1L;-4U<$sNMnqh>t#Qd2k58Ce*GZ4%T16jmLO*3hL1DD_S5Z=2 za8-Mu9hArdPKH|0u%sS4RXmeAP^}uzmztv>yWq)9 z?yc#m!}Dc9S^VlHxYd?rZ>LLb>?;AgduZsqmGpH=M!ww!{UFd^9+g!6x-BfqlhX&< z+Pem)T+-#XYNd>xmU-Y38n5X*Xt|Z+PmePDAz|tnmeG+MlxR_E%9Qw3yYaLcELR`c z$*j8nS5)aGXvQ40WQ@|0(bmzE3l3bn9B}P&ICt+xHII}IsKQd4jQ*WTRRELxwadQe zlQ~JO$fIEgVb<Zh0?g}tBG&4nRJ$tEXieNHS_>1ES$O3TnEI7MN4lpuCfa3 zKyXl$aQIz`zKovt$Eg`VcDD3|o(;xkw^d)<9UtTVcUT&C?@U*p4mSiY^}4~DIt_MIvjhM00Uf4ip?MVD6HEkyqJ%aF9o{m1X;LjBgR zkf;-(6L*x8=iBfjrTX{AvL9cx`sX$Dx|LM&!^iVGki=C~>8>fxObp<|cZpnr`iR<812Bo1Z(QJh|Y0YaVIX@Ai7E3#hoo^(1ZlOG%lMH~CMSq)B#+s(lY# zI?CWC8hV`e^!{49nI-|{AOfq5Qyc@ks^Dq`G#LV^J z(m9tkLV0XDe*)X=IZ* zp$=TId!gsGwCsN#GL-u9+`I*P=)S9ku~0A_t6JCUq2@&SR|H^+RwKi880yO5SY zqr|cpm?C|@=bv*=)M8nu1n2XgubEa1E|*~Mx=*ozWvX<@FJv>H64>lz*@HX+BE(aw zi&}W4oifjRmu5r*YoAL!4Pr#Hz!;5XRCfeniH`Rf6_Oy`WTTpcD%A48%DDf%r*;*Y zXcAmap6X2|nP%Gh@q&Ptn~3Z|A2Z2}EQSuuZn8{62ThWa)c0wsW&p`k=m9OJ?-Y>J zAEmWe>Q84gu$_fK_yE2P6EjWr)2N6-C1qwmrOw3gk&>!HFhqzuayAPHH)A%7;K#gW zZJft#ShJ90+yk#9v zOE23#J{|Kgsv6(zPZm7T+fHd2_l3uC@CO(!^!}-}^5q8ojI~V&`S!E z+A>m|1B6Gs1U?zI-)5t&Ne{F%=*Z1HPzn_7ui)nkcG_hURKdX8S(1EfYv=<@Q}BV< z)93?tL=ajL9Wb;bI<>Zvv>R$L-l3E4P{=eyC0{#z;bwKhx9+ zH1HXLLgh~9f6u-8avuoX^Wxgx<{|4SAC|)&my_)W^U0j6>whfBpetaN05VJi!rJKRV87#a&jzZ@5V9(YTu@*}omu|X4g0=s^B+Ct*5rDv zBQi4^#`>xwg08t~rd1U$!5u8I(aSm!tsRzDDF9z#B&QW|Tv=sB$Q)KTW^@afW~T)G z_%qQeCz_&8FD+-~(B7jorQm9c!>pCtIHex-X(Np=EKy4{EiyC1pCM0pg$j;uRgyR= zj{fhgano0sLLwR0jrn?E(x9XHMf?z4mhLmiv$lm_s_ARMg2#| z^S;gPIcIKWJ1PNtDYu~UO{=w4QEo6lPfl@SbTu*rHz~7Cfm5y%W{!lNR#9oIjIoeK z$W)sjQ@S;5%ifJmArMOzx{EjeNH{Cow;Q^7!rIwvn4lu<;ex-7K2x+mIv?+9Fbg6e zmWUrUvb}f+sjjO+2WDnJC2TK@g;Ht+DoAil<^Y^BN~~6nMV@2&B{_5mR#{Sim_8J3RtYb z!tR&!91}b-PcT4}|R3noxQ#Bq+Iimiaa?NAa zU(vH$ z6LoNa5w49)Bah2jMgYu?gYW7>GS_DpC#sCl{H|iQXI(z@wZhJ5eJN0D#Z(A9{a&ps zTo6&95=N%Su#~S=Df)Pbrv^4c0wHt~6v@zUMoKFLEMHX%s{7*i&gg(^h|z)A7^4HPS{PbDjK2JgA(tOEz==bV(PdxZ9U0MSMpT`jULycJ zjY7-eaYnAene4=7W*27ab4NPL(Y>$!bT`!S^wnFOZTx1@4ic2vpbu2;qdhUEUuHuG zsw;!g30N7R5?tAc4q%yx4iMQpA0=RNhscik!AyJ)vf#^sWYolTlCxrTcveO*P3god z7C6jg!%FSOuIvcg$##z!t-R+u+L}5>XIh^k6y2V5_TJ#0A4RAtL5mF00WAI^V|3sc z8L0zUhIl}@Vqg$PbU;SE=#l-0^vq%cLUB}}5jZ+o2%5kHl2#rPuQH-(v>2Qj#Yo1O zz{QN$=vFD)nO$r=w%%pUZ#A=|sreY8^}4RZQV(QE)XKyeziEz2aA|`+fcT4&iPSBY zY}w;8xsEqGwY~bNPdC_s&9*7;c2Ga9?~gJjWGlW+NrGv(1fI3TKTK}4zbO+xcTcB& z8xzBIF&$48)rx`ZusOdUjS1?Xv(HXNm(qyY)99Iog z8{WS^=Fw^5V)mPi?X;pL$bEvA{e4WvPJN0|kN&v+A=}!zY^t6!V~rcurZ8b`*Aq9+ zCQEZAAPiGLvnO?D7p*Z^3`2)#6QF4JmcxKTTa$e&@rj`oyh>0RrhsLU`g#MAu?Gk; zYAFu5O3)>ZQvfUfb1v9ezm-~C3bw5r@tP=jRgvxjT&yz_$2o0=88V}9HpzS*KTD1p z@lg<30wnk0FU%86NkC1;XKx8*U?2OH0r`zf|%%a(sz+fsLTnW;;&Pccrr|Z%PjJ7rPn_q+__oK zI3>WOh2jdI15;1y3PQ==d`q%(<_3`Paxzzq1Bjxr)u+qh|6ge4>ZRz<(_;fQ`3n5ZrL8#{g zLigu-KX=2X$n0SWG)Z&E13(Uiyb5`O(jQd59P$^)zY;l=pjzfvF`t3U_PvTTi--VjW zR6d|~rm9FY{{mJ}ii}Df{YLeynk4AK^*Jgi=mFOC`i0+I>%(4a+JJNIH&EOqTGKGD%Ks2%Vg!|sv`aJe z0a0!I*Kn;7eKUMhV&U?z)I5zA=M5tXJN~b<2-D)!rnOGRg@~Jd{OM6F~{W6P7%P2HB z>>Brm5s^9GI~V@{=%?yyDph=x@T+uKf{iUtp#ipj`JY~4W)$UMKnVm)b5SXgz?nl>ZLm@f$=d_)=P7? z85|X3b#TTyPrR^LoHXuctX*9M#$vqk-hZ~oIdcy_Rfw=RMWN1a8X@XScL8HyQNj}G zSW=LepG$eq4lTd;PL~v5L?4z`DmWUIRN_}bHZRJyooG-cc2!pf#D=umX?6`8+kb( zwO@?4zyJRRL!bI~3@p?Mv({@RAgn*ZiKa%MXYHJ zUWjq^ae^3HBrj>Wb(EzOmabJDsJaAnz`8_q;JZe800^;bXjiB|5FIX4xACsHhfVJ< zp#BH?5;u~^-Fs8i?H#Z-o3UfcwI_)PoL;mQ!rHfn(3sjhx_})Ry_zI30PR55?t7V4uD}IIzV7XbilyZ z`A985V92l(KLd#a1RtWtmh^KC+f)K#U&OpC4>C=PC6y?%P^4D$ihvs_}24qhy0WtB$y4pJif8ZaSq2^zbEXhaA5 zHI*ONrA3)(F2n~)FcX7xAczn|2WUcw4p77)I_28+0q2PGzHo$sxu6<0m+(LX)+EI> z=IFpSzAFu$(P&kP(RLke)~eAlt03DGnD#Cg*S_KnHhrQ{Xl9E1ClBLxfaIGDZIwVV z2I+y%ue&aMAj$fd`ruy`6}q3M+1v1hA!X{XEy6=*{lDOnHme2W){o*40T2)a00aO+ zLqsqD0B>bgkqh{WSqIu7S^K|uw-p;m!mj{P@Mb1%H;bBkcO|saKayNq0A9Dh|0ClC z05dXRGynj4aQ%7OXQVyH`t8BIMq~Ve-|uO=z_tDO(CHEe2DXuGU8xy~XOeZ@xfg8f zyAEMX>edY}Nsx9e7fxYET3TJ4&>OVtGUY&Hqp-`X+cu!GF0C@0XV{9>dei1eLeozm z@c@7f0L{z*7~d7{zVF-Hw%fkewyxP(uGVDh@0Mj{*+!9R-J3?eV=K*G5zNr12wO?@-Y(Mz_MIByM z`F*5S-t0@vX4o6>{J7@#6??FfZ(9O*hOQCd08C8pmg@J;0K^#`wS;JP1!l9Vwy~_T zz^s&313~A-HQ-%6kv6~iv#MuNtXtJu{SUPT7K6667B;$+TD$K0RijD33RNgW9RVUi zfHWwLWklRyEd#L{7=q(=U28MGv#cV22-3T;(CVU<<{+aWyroYHss*&I*@5`dJEqi( z+rhK_b1_q2vaYkSdfiU}uD)p1V(nmG3RBZ6pQ{xW*hAX9sB32T9znv0n^Y0+5hcjZl-7!p&A0s32BE5- zORHm94PB)AU`jNT=jtfLHw%)j0Lh}7+8as?xiSG)B*y{cGEgLv;LYl&sQsY)VTKUn zPg6>z%RlHU+ro@J38^-fT%Ci_(L7*{8Ee;_jn#`%R;CX{$;;MFo_4uN(-Ft0(`*wPPto5>z zy{*>Pb9)Zk<*zMO6)wn%ZOpS?rpOK-zJHS$A)b+nT8((t419boL(B_5lRY8R_4zkG zPE^yrlr(pVr-3wA{&5Nbe7%@>eghwmV4pJu`|TErT%EW08Pgoq6!tz%(YpOJ6HGmY zjn1US(nPec%8+RT&DH)AQyfpabL-|gR*u!>63y%QlD7J^L+c5DuQrVCN~G%c=TQ-&RV|wO|ZetDa}NTN5*B zlVPp$RaKs4r(6{ofn~QV0OlEmqk=;a?S&?1oFIOfT{F~mD8W5{E+`MX_+BZ`^c-pW zl2SHNQk^^Z;6dSPpe?oF7IET41Rd=8PRMY*%8~6H0X1vqaQZ1T)!Qxf9TLWTo;9m!sN>p z9)~zpJC=bmVi@*ae&&c&kh~c7Q(-ANvn*9Jz$n#edBT^gSJ%e3W=cX)a|f6@&+M1} zNQ*R((}u#VM}~3-*-sv_GAh zRt24wL@j^{ytK8X6LxKgWZ4OWgkP4TmMNWPb!OdsEAAD3v;8z5Mt?XfuRFzik% z{J3q1Jx#zoW8{ag+8Y26Rfa@$WMNAoff;}^@JH#e$<+ygbDJHX>Rc9WDSfOXZ0mQm ztCerQOSrl>uI>1vKPBmF&+AH$a3h$vA3;N%V$m}dkR`9@2jzUe3j;C`g(f_iW|lID z@T~v#-Z}6jqmWQu3@13WWw1q*U*MKqFeEVo;T)m_G24ys_<}eNROc%r^HSH<^7WvbW{S@>7sj{Mj z)veNMjjAyEb>C(ZduDSerBd6cR{8E!R9a_sjEbydWq93=#!*uUvt$)UBU6z8N%FkF zr9zfx<#+!1SDG!;YG=-b?IyS$S)>UY8!b)f?Aq7+^erx6_ux>{w77VKpM^23WE7ml!&{g>eTlXc%Gdh?OJC5)}KanqCnF8!SY7 z@DuQz#R5rhwlF?WY%&QKI}|V|A|gguiKUwOOLf!!jyfmut|E3Y1v!;t&v{cd(k4=b zf9Up~-vtuc&8W7G)vWziJ=B-W4Z5<@v<qNn;UJ=hooj-^255O9gQ#~p z1)y*KTaGh>nVF}KTct^F6-H@}8Shq1CP;v?7~a?r5gwswGBU9N;?2xp{#JQLfWI69 z6%?)n8YYUMYowkCMVC_gS|goS@LU5WqM#6n#E2PTHh8@r>S>HEE~$Z`Tf^O@M^4Uq zDhFXh9g*4`diG_4_GR;8ouKmOTRaqYrdT?g$6Gypoa{m))wj-oi&G@~p;W3g)T|_G ztwxKSn)>|rj#ZwnT}|fHI5|zG@~>W zQ&qP+JQeYLo{TY}i;5eE&KB`Q+dg?9!W@6{5wQzRM|<)ZR(2ruAs=I;q(3$j|7mvy1XhqzG~8Dz4zqwLBPo_Yv+ zH0}Foh&{{?f_5%m8ijRzhfe&Is%e%+gJ#X0%hTJvl}JcE0=M9nv!zz?T%Ga$Sn?1h zG=nee>yKn{zI7@5$?e3L^1#i;W@S9qSSE4Q?SuMMco{^0PMdqFpq(}FmT+*;4qGmF z_XO8h4tDNfue;}U4Rq4isJn$*Pj>8T_$8T5WS$Xy&A&i;i65CmH2(ejHUGvGVI$ej zn1<^B0{+eByq8z~`#Ev13bdkXd7HwpX!D`ro^qiCMDeM2Lr*uK=euxwFVYXuFJT9@ z8_}}uyL076?(1A#@gX0vb2)W>o4%<})T(LI%y|zSG(oSn+nYK^z9% zSO1lqz9-}9e#ta37VG_DrSSqG98wHil*P8OHW{yih7-W{_Tls$dB{l|Mo4;{D(ih& zU8TW78J}d+%4n4E?qgsI-fS~+CiS?gCuMkqS}A28C<2<)ma@kvv7$V##8hOPPNQzFr`egmCRLb`Mg!hZIXN{I=L3Ks zBJh)_X>9-nk}W!|xVbY&QN+*}p-m@Cd^wZww!T1ofllQCUl=}4(%Rat!p<0*V4aS7 zL@Z;8rx`a_2~o#&Y(@RVG*rR^4Kki3p!;4Otk8G@QxrexqCQ!-XzjB`~h}!|?WM48SjpR_?P?`8#9?0Tc$tq14=r}ZpM6=PUf z8bBI!#GE+qTGDM>jCA`5eww^|DdFt41Gu%WvaLq07rVn_ByA97TZ-eGFpT2^?O~+o z8MS!`V<8q4vWhrsQmcF;ofhC+9%YWA5=UrgMo~xvvrl`}^!JLM&+KpDPW6pjfsxDC zL~l4Em1&w=#|m>;Wc_~jS;;b7&|uF-2N6b4AhBkRng5>=P7`phzy{wK4$6CWqT?hp zoO_pRWxqwIX&L#D9{(oSFMsD6@^X*Rxi$MFr|yh~(8+RyFi8Qm$|bsXvIBL9#jHr! zIE{7Mf^$t6c6M%WDQ{@%MQsQ@clS1Uq=7e#Ets5!&InP?H}}doyRYYZn9iYc5FvFa zL?QUJnPBN?5Hv%?9`90z>NE!D)i-~5OimmRX8gD=m9NF6nQBMnUh z8O&nCAS!&42v7ZZ6Q8tu+~o)%WUFex6agKV!fs^7Y#}HF$2;{=h}=dBd%WEKuN`H%p-sR&!{> z09VDxvSvZg5z-x4l4e`SHZB^ab9IP|p3Hu)mu<>GA6c`yp!#Rj?V=^`yRgNIdLN@!?}nX@s=U^X%$D-z=<74sX-IRKzR)^ z;)COkqL|P|ivaT(3M$hyw(1hGsPQ^vo)cIIZpaS_LioJMxRWM9yq3byXg?Cs)?49c z#)3Z?+JI}VZ6VW)oU3dIm1MaRSy0|XY)+}OP=4S}9-cwVcsuey8UOsqU?l%(eyUOK z5tE?hm+#if$mhA|YD&)7Ue%gI_@jl9yoglROW22zSAC>l9`6&SWnj<`I~{s6XuR~y znsOY)2+^Qj@(S6YLNi*X(H1Rt9t^E{kh-kGQ9Fnxl5G`#hdpS-N02;^NDtrPodI_C zJx^lLnPOUKIJ+LB7ywFYaL4PVvy=U0hr!K<(Ow>ntNXU(|K3>3EY4|(|8)nSs zOf_4sL_M;OP$ohKJzmVKg8q?K`r_qwP7hgW>M*v5s(T*-h&S*EEdD{id?_PkP-%|)XNGv~JwpBvA zdVlybWrH>`bZVLv7n@~XV-ih2{H6%{GrP`W=nD@dkNFRvvFF!EpED|%=@fML`12#nnfPSL7(jp{)qAl2M1)Q&)guvpZa{nnDpz? zBF^bJIV?K&9I`Cw^Qm-}HkQlzBfa7hbVVH^MXoG$z$0~9ROi|~=IjsdQus|sxjMgA z*R8Ql=S(wYRtWrc=UN7I1?ti!--;>765rgeV*|s*;@Nh-@b%7e2^MPtk)WZ0ZAE8=W} z1Aax9BqKCNZ10n*5iyU>t zh_Uc)`DEzPHT5l;r#|{eeHvUf<2MY(E$P-Ny66{5lyyi>OxTqZ!;|dYq;h5SpYN@x zz-GJns$Qn5)w5Kyp~bNcg>`>K7?6zkB^^39Ro#-K5*>I+J^ZR$vhX$EBP<%{*Kwd8 zgr#woSx(!@GT_f4pDlNP~o(ueH-WB)>bCVl-^Bv_ntwXgx}m4;8-74+)$dWFov@ ze$`vn&n?}s=76upH|*ep!?H@4p4Ww zMB6!e&8hB9XLl=GN-5Jvhm)@4vS0faeh_|>iuF4s7?_w*N+iCOm6SvS^8H}-?mWryB6>&Cqr zV{e#sZ{2lc(~~#U8eH`B_3W1Ob9(tAzRZ=JbG{WX^p#qyH$8m3p5=X;!9KUmjTM#i zmSFYjj=iza37aXC^gU)Nz;d5%s85>q9-T#pkXFT0%`>Y7vsm@9)N8Q)T7ldpPIaN0 zJ}oVQj|Njo3EGy4@#gz(58$j@)BQj5^?4fAdU|QUsi;LuZGl=MtB#~U)6tlv&7}I~ zQ^9K9>MDglmySH4yNU-qdfIFsb+v}>#{6FB`D=A8_2M<>jFDK#ma}S%U(u=={Ytj{ zESA#RB5?G*Q+?|Ay2Z>NNWs_rO}ce!vU!#ta9fLcEL+m!cI&!yQqj%cZdOyT)SJ`P zZ_>;0&kp4s@7?U@%}(ui`V1vsTG#vLXSV-R zLN_8>(GF?V73oK#fRsYa@=R|U&~GKYSaw#2UCE?LUg+&JT8SGA_8GBq*`8)vX#ef5 zFTEH57fP)ya?efR697rqkoBI*&K#(h$qVKu7Y5n0JWsm2s{BLm-J9c!^#hdD*Ph=R zzN-J9k_{upYRR06OV2unz8>5^ z8pWeU?^EPA+pWmwOgN`UvZ`)@Jg?<7zUDvDbP@0B$&UaCQ)yS+ zcg45kT(Y0Lyd?ji>tnCIl`howoRrUcjy=e?*gq71_xLRI)ngud$cPPoBYsKHbtT?+ zm{B=xdFmDd`2yc8YwKKW?1XTX&DNM{cX>v$eg}u2x&euBgnyuKtre zc=e99*Yqs&ZX(WpGWoqN9wJJ@FC7)wx4l+BYY_~QZ&$O8n!|g)J!LmD`6>Le{RrP6 z(V+e{JbEpmoiv*YD@QNnS@s5x!p!Mc>2L3HC|GQap;!8Z<=oq}Xm=#O+W8m!`Tkc6 zZF%1F&zo@ce(%})=~6{wj;6hey6p0q;~z~ZJ{27>(aZ1t!f{D2kKa8>Z$i$$GiKWv z*Z1oV4^_k&8}GVB>_u&DzHzBE!R%{gEq)HXd+YRBqYAA#JgwB56_2ZB5n7xwI3 zvsHnd0*>SFBN^+fwQJ7#{(CIpBh!{zAEp^FiI~|HA>ibT+@!DDxpVb;kzoH3hzi-# zbW#lfTATse#US)qNiQO6JvI30VQW=foOI&-YGk&V7|Y6Gc+v6?`}@7{MAT=e+e$V5b=Kjl*V9* zEiqEt9q)u7gwBM{--XMT4gc$L0PaGqYk(EQC2dgn^KoXKfoVX+np@1@;dq5~cMSGy z0{Iq3+o=Dme@u&9yz@feUsaudD9*%_4vX3303_p5#maxqNd+DFyR|B{c|870G%_!r zZz)KeW7j4Xs>B)%3bBhHas!RxbiZSa+)<7uu*LV^$?jCnKP z4d*hyeg4HUMC84CU&QZ(vcdX_(bLc}cOb>*Ap}f4SoH5;z24bB-PEy{y*?5z1U@k^ zbjtZHY*JYZfAHb76?3t?-$g~>z`SG5BACnGw!K?QZTyzSI=ioy-|ACR^Rwz5=(z9L zx>tm3vV(fh1^bEQ{@cIMwSz&FZ~nI8ZoVCOAIp>7$_UX+MzML`Lw{@S;nE_Yu#f>J~AgwO8X*@{r{9YV?{FQzoX9Wu>!tci~!*ABl z2KaBic_4R%AI4*ZOua59(ojahmBJV-!&D>udr$RW-m9zyax5(XBGIJM4Yq3TDSrK( z_+P?9oc_7uvft;WDrIt$cDcLNfQ&vFmMY~9thg$YEzOaRHZIR!3Ju6EN!gE5tBwm& zhL4}n7pW3O+7VC}MkOyA@>$1(6N+B#eQ>#rxcud>OOMC+?(A;Z6P8~?mOGM4$G)lb ztu09rkJ?a>aC1SzkUmY2D><0))t0*d9N&hw^OA}zs?yD043rOwEOk{q*8C&WQ_SU( z1DS?D!Jo-Xc(Uiu%pw0z{*xoeUkr09Q3e?}?VapskGrNd~-Iu#|O1~G~>IJa=m0wF3KK1A=_Y2}Vq9EKZQzQC* zbMY2?tZcZ6WM$<(6{`BZ#8X5~rSRkSSg_W4D-?wiIuZAj2?OHHfG3>F!DTKe46$Oo5!v0*rT=UsQT{4`+4Ix z`XnbD#`km zAJn0$ZupT16#h?Lu}T{i_4kLCQwy{E2>Z;!?*<3Bu>w{4gA`-O~e zjgR<0YIAcUS`PlnA4FGTM&#V@wc2*IBGJN)0(0S!&p$*?>1Pib;Nl;|M9Eg^y@ODH zrvjs$em8HMR==C)AD-St zG(V88p?D5aW*eq2o6k|#3;@N}WG9Quvwi8wW8M5;d!#xWQrH0sZyS}>KrisNS7im) zT!we^%PFeb73;3nQ16GGo*+|$v-Rv zm!S}80QEi6F6ez-C`|7?azpC+J!ec&HnBS$!9&^bZzVE15w>mYxjNoLv5@K8{&JeW z%F0KG75!*+bim;wbsCLwqi3n_V|9n*E#Ya!%GL4?ApX=8(xhgsuEw5|@Sm!V9yaf# zja$@T<&oUX6yGhLyzADRJ$*`5XK7<=V(A|YhaKf_GD6kp)oK07OzX4#@5I7IONsCZ zoo4=JKzOT7D2LZtg%r-=X@pJ#GOmIwr-f73=+#oHYSeOSuJ$djb;e#gnzEM$qFK|? zlIYdZnn6l^9$H7MO;M+&8of4s+LKKs(xYD0{%UDcyZWQmXw#=ss_OKrTKY|$Q&deT zxjI=tc%!$>@5p#5Yu*e?IQmI+G~_8SjoXj?y+udWPgPY{bhQ<>^AMZA+P9umDj{yF zrmm7Hoi?6aqa8~bE*hx>i*Q=?zDg>m$Nvu@Iu)2oetDqjP*sXf4S zgvy$rD5*yz;E8GpLdlf|52rARDskv{$>t{L4Wfk zNfIeXCGDnwFX5?tC7P6_D3yjgQTU zIb1|Pn)vjveNPYYzU&NtTy%YXT9)tpcB!|on;C}OGyJr>x>ec~nRUYVN>Z9B!v?d| zcmLN5?YapIiK{xy7QIK*cPXBlJL{8Ri}h@52_)AmJGZZI{EpLlvngH=)9ZG;$|}#v z-dHTDP_(3v*J)v=qTA0G3*xeJ>aon%mHXb+$+9V@=p(d*VJdQfSCqD3L z_!pY`$1xtOuv7!^U8l@+(dU^-90 zJ;+0JT1b&~`IOZJyu?IiR~zyevUK-@Oagy<#eamc8KTq3Ij)F!u2xGDil%!D?L61` z`d+W$*=W@&Uc&L`tlFX;bjR(F4u^~1z7(g!SGKYqn2Cg0OBf?AhKaFAsS5mnDo}u| z#FQaNW%V2p@y=NB&5-jtkt|IGj;n~B+@vlrabHRDEtEN2L|Mbt-JMZ1A%1PN%!G2> zUF>CKRz@7Iqrwtbit*K|lEVUX`d`=8*_YBRr2hYSTkZD;7*1iPb((K-%-EC7>HLcA z)Bg-MgEuWSo;wtiXAV7`=Vm2ikZ_Ul&j$V{lopV2Po*zL+>|T zia2ypV8aG+X+Xx+K1_jX_G!gT+(-JU3}H;@nvhF%IA~mL-DD!4;sXd9WY}=`FS)go zLF*z}V0(p;)oBvSyy1kFd%w`d)9Jq>lwD(#@`#v%rrJ8|-OBa!8~B3y(6TH^WU56Q zbsEE%z7I2}{lp1K+Se<7ued~jA7WZt({I;Np9ZN&Jr1R6 z(?Y51+>(i(U#C;S=xICf{!>BIhsR3_rwx2uC7Uft?6*K5kx}3f%Q96RUD=d@E@~k$ z#f2AqkqTw5FWLG3Q@-$+JrRF$>44)85Y`!dI@MVhD*#;rGWcSsM-b^c{G$Z-;hNo7 zkC!FiTY|EIW&>@b>{LW1BP>xU6^Do@FDyjmcqC5t2frJ27Tzt$t)Ek`pyE)|0LrYX{hNS*UMnaJ>Iwv|KmhOH<&U^H zY(v_HZT$v!IyqG1Tt*Rrg>R@qNJW;pm=Ja{0`TIN<_0$MY(#qcM!)RjQ>KK4Whfd` zUBj^YGeQfLQ7po!xxjk^*~+sOwe@>dcI&%ZbKiakHtIG?ZDL`pk>(t8ri`*cr&6nK zs48Ir4q<=ICU&a#D%p+MsdNWxMD6bfw#ssvzg|c22e$1VvNEZOd*%S6I%$KkSIbHaWSs7 z7Mz~O?&!vx0~RYRRorEhkxerWOc-!t_<-hMW_$tKH8!jbxy{g9t}p;%A&L}2C_pF| zz{o|;3a_>CHKzcS8ruz*FvkUhfrAM_ibYUH0TGFFtZ>OsQEdz^K-l)|@F&Be>jbC3Djm1_7#?A+A#$?fGOq z%M1#Tb+Ft02#pdPZZ>H+bFu}nm+>ep%SEUJl@$z5X=Dw**2dPHEl>qG+-z%dlZ`+X z%Lw9}Lf}N90(F8zAPc;o=N*(aP793!j+?4rLIkV|gr;Q_)yCDoLQQ}LWvul9bD7GT zrv+94$IVh92BF|o*8xaD8K|Q=l~r69A!>p$#^tAl%>WLpNqr%l(Ns*Qt}JDu<6M{^ z$O-hzf6%ytH75&{Ol7#?isi%wKf_UyvXcOa7!_tj9ykSR4RfYEvuWjE7=jcS@8GOCTcCF;#|8N1n3_6l0$fB=>eRt9iS+6KxN zwV}6x0ujlcP}!`QaF9$q4a~}Q0#XPM;lVj?psXsJ4VMMSt1>Wm!5@_e6}ll+ExVBS zDk0z(Iq#sXEt`e|h~p-5nH9KXbIKAc4ckHsChV3n2q* zQEsYY3o?TbLgkgpFqX5jqKOD|u*T$F)1SFMN0|W2itU1-7@onKI<+!Ly zDAzp=sgyLcq7VpYAeo^AWdh*XIq#sX;LNju$Z^mxlmkS^B-&vk5ty_9FadjzJT>Pn zlr?T5TL?Wjy~hzOc~%e`VKRW2!$1gnpA~=1*?Hy+gt7<*Cho`0m?kinF^b0^<4^+| ziX!2R);TiqxTlr`KSwh}mQEGo>(Ml7OEg^4)>&xF850xN6X?#bH( zOi0}k%|;)`m32FmAq**0E3@4!Ea1T`R8y?%2dB+>2xSFV%~mYOslv&qnM}piGUXYW z%L4d`t{^8A_(B97GkLVsdqzR7kk+1umt~6W@ZU5D-UZ-oaUOwn7e7jvG>0XOKftp03dq z%#hd|quZ;p5B?iRb6P@KRko}xxosIRN_9Ul8&d=PR~ZKMoe)s7@X8!_vgT}s4z!LN z;n`tIDGU#klmo<4ECXW7M`SB2!K-uLLRllW!%fC<=2Y1^2vH>?fdNKt@fL~wghkoN zy180u0J?WJU``mzs;mHEKqZTijL9+(keLIY@3(meWzEwH7J$diashBCGnq;VVTDEv zm0u{lySX4h@Re!X5nHv1w~fFo-z~C>*hE%1l_>&2IhyGEd{zCGC-0OsVk@>Wwy}Ed z70oa+PQWUzgXu;gLU)!RYhdUXId7q?a9Y_2;<%b4K}?V$4+S!IS&#_Up%4H75D)_Z z1OP)sH6;K5Z)H`H3i!oaw|KO6?;Px8J(6n50LG};bQ{+Lmz#xHM*g&N77iP5?rz_+ z{P$pVhyZ3}z={k28UPRdeXIH$sXS5du_T|>yMlthUax0v&kyNR0}Z`_$a2~Z)65KS zcbeQV#LL?>C+oTolMxNN<&F*qHp;j<9GLN_bd`RLH(gaVz16td!5ap3>f&JD8>~Q) zjm0cx{z<@S007Jg8qE~|zT>;y+wT5$wd+ULq-~R=u30wPmE^{a+kYiPUCd4O9wd2G zz|@l@0ZB*aBj}IPN7YfSnJS%X)TUULKMiT!)Y9&iTb*hpmQp%t{&h7?y0y30EGl#M zfNur(ZQBk`_f)J3i@SwE4sjk@7S)LYO_9C68CjD>yk#wn6En0Q}_kF@p``*9r zm3zP(m}V=h5qNBS3ZdHO#>T?Fz_hx6rI%ArSxtR@b`#bP7TOlB=~d=V)zuEfI$W}) zw7B=PBpV5o3W5X)9VeIw3s;(^3ZinP7Rywy_(-6e062JNBf=np^DtZ&5yg?lQLP0r zO^!k%3W_%Yv9Uxq2yg+-BF+iN3m8}r{HkhvHH8wBAn40ke4Nc;eQzE33I7HIjA(EG zMn0faA#6ofFSL9Q1Y|Hi#S1+P9(hU^;3f?m(-{N|G;kuoC7NiWm6|Fn8(HA^TCCLf zREwdoa1#QK>KP1%7921!q)2U=X;$g?9E)wDqI8?Gk>GUEnt1-ZhD8kL#_1dlSrd}0 zm20HJtspWEztj|$hL2=QRE6fe`dc1Is52B8+*C*@8@-Ff0S5^f#6UBSA&4#X8X107 ziIIo61_UE@4hJX)X4S077KqY7Bf}E1$T!#ienGc!!Ax*4h~TKs@n9pvwje>FUH;{( z@-K4NggCBAVQjuft4nqh%HT5~WD!UN3|@kYG)a+HWr-{jjaP$o1mJ{jo%nVW%HY=_ zKyE}Z6l+lufkTQbDti3}p?m-;l$S=>B}aWc!Hq+d+^%zkM4TEn<>yT35jjjXM~x#N zSwp-a0*^*Kj~dq5xH*V2;S4B3;@uH7bZyrY9|zQ1%_`0p^FS6rTDbjIn>Yry6H&;9 z-qs`nbBgdqyr@kf+8#8a$x%$t9tvxj1V&L>Za1O~kS8#}QAF{pIF>tEhKdwtM!w0i zcjUS)VMY^s;C4gG=a{C9A{eRx0$>|sh$~Wa0?1V)8r{gDoHf#KD>rr%%HRk9GY%lm zDIxPW# z3Q(e^hLM{2!Oew~Vg!7%>!*x1d!o>#s6Ev{CeSj5m4iMI!>)tdbSc2n~*EnLRIItkM8w>$wpyW# z4W>kuK?Gw=YtH#{dPJBgTC=mDoL_>W6PyZ7H*pzlO+#oLIhGpGWGYgP=(T<>iWHjv zp*o{}pfK@GzmY1__x(m2(NJbZ7~mfw>>^s^3UYE^4L0gkq$yn+yoAD!LecFeD5Jz_ zMqq^qi<(SbjiM7VYY)&#TdilrIbaJPYE~2L(RMVHF!F-I!6Gd)jYdEF7D#i}D_7IQ z2aYC+qwQ)aVFU!DoJ>rKwUDjqI(?}Tel+t~gI|Bo`gnc(qm61PU?d2J+L-mU zLFiD+D#IB^_M19$_FNRTkl;1NkHt+LyypaLD3XIPalR|2+<#YS|x{tew%4j4A17bu3VS>nOsLX3kjAQmf z$Jd%9OHZ@(Gt6r4Mw?qu%6$YQnnfJF#I?pMzVNB`b+~XuCqnBjGKldEiOG9E|ME7v*^ZG#v^Z*J{KLf`5^5#DlcmA!XwcFaT9V z6sk59GUvfbMnvVxekB~hreWpv?Z|c$%HY)pvoj}B;e+Bb3G_wA0cl=M!T%E-r3{N< z^wTljV_0I&)zVTWH(*drxnemctQV1h@?iZY5C=kw@Ei(X1i zz7i|>B$9ezmH~T_J%m2~bieBQbWCgz?TO_?SYlx6xP28Vn?OJMh9 z-#+gRgPA8fx|*KqajU!aQ6KP9BW6cTvNdGN7Gg%8*E#%w3&3bVbMJ^sW}eev-TEH3 zepeOb8AI5JgF+>)hLcfvY*M1oADKDQ^#Pn~&z{b|7?3in#@qj zGvYU9nvy|0fl)9oTGyE;H<%T7HPs6r@X9MgRwoB~PDSh$DD(Uj(e)dDrZq{Sp2?Ar zLo*^xpLukER@`dSb?OwhUc*j4=-Fo;A^SRLBJ#x&AmF|y^XV|6?<8@jng7fa1N^nj zH#uWcKJXoAJhjd{-CKj*y40_q%TVqPwrM3|sIYACbJjA^j|U-cUedv_SRjJUSA!PU-!y zx`z0dJ}BBliFG3`n0a_WfPMgOnBOCilxCc&&#YvLMx^RiIf8y8*PI;&U^)xh?>J`$T*gb5DXW z5W6AVJ-U&_JiGPrUGRZW$ZT7>{}m!VEn9iiA!r+_`5hNr_J8y+?r3T?2mlzR!N< zGXv^}asz$?40@W?t$~ruLg6RxgAI|6ZO*v5=r5?i;sHI;z|Xs8ZbWZH8f|sqouCvV zD!%b_x--;NLGnaW7`XP7?ui3_+&RfP?=$}ujy7V6z@Ub6iV8P?JKAmbBm{VyI2&g! z7%exS(ZSpRJpy#JUYDA9m7lc$r2SbORUHX2eA++iY3i?P^~fD<+bA=M74J6xoQ@RB zXtZRiuH%ZPOgWNsD4-Eqwa!Qb{_q`b7%&(|wl|`VE0aKjd77(j$LSO4j20}T(w(WB zbjP3gjy4UTjU(F|RY$0E+@~P%HHNH-@g+^X-CG#_?lvfeHlL`DM+9#O9c^c1>N-^h z;VTNGEhhOw_-FoA%KP|UPi#k<2Uy1u?G3M^TcJ+Euz?QHvQ0!=SJh*l*kP%@mW;(Vl4ZH zktKcJ@(l*{>M6YCd}2G=8$oxUB9D0jSdTIiD^X|Dq#Hr<#6_1IHQ<*Cv1x5SpdHVR z$GaDi=|Gt3fH9KK(aWR`qLuSJn&dqa_y${I(S``x``mfF@ersSffD81T3%}tmw9R# z_04}1K^5X6+I&GfpBs;NFCxN2n^I)lobM5h(C68O?8=VW^U_3Jd?Etz$8&i+NrRcj zoo2qCIVKq@AkNmK)K|H-S5kkq<`3G@e(`d__wg!(j7qO3|=1ECIDA)V({^fX} z#_vWFjLL`{=rX(@Nq4Pll11Z9bqK&yB~sCj3`lqJG9S zlO3jM?6CcrLroOK&6UTUqN%>%Vd9&YE!E2XB<6coqOEI#4TZNJSzVCRRK8mV8Qs^n zAvphiT0KqlO+_|Uvckr~U8}IIsv3p3cEAJHgJZB~C(DEYb{J7h-(grcR8)sJm!c>R z`~+?ho_%B)58C0-6I>p2O1GMLsz5_SPMx*VT&_r&eNVqkY4ZMi*hyCpV_ny*RaegY z7`ENK^%UXINm?<7Uf`Z>2E0q@js~7(;ezO&q7h$)HQ*n*(mK3wYU-?O=_;50kXslG zEW`hu`rO@zZ)S;L0p`2H9TaOi@Ucl1*|qL5UH z$$oT1D{QqV#y916dD7h%I)XVLM0i>AS5wxjWmp+TM^wY2%`5r*vMr~)a13P_sLJ0j z0YMiFZF1-6*1)Lj>9v36yj}atc05XcUb(kYRoBDgN|LE{fGM%AgaVf`Q<$*(PC!c; z4Y>Bu|F!mp25CC9ou^ffLcw&ig}b2XEsZ{K-=^yKn7>Xd&X=YGudl7CR@L=FuXfT^ zbXRKSdheI6UHxAt(p{GOwv0XMuWbE&oy}3lBK!-xJN?!2_U@eK8FAIO`)zE|-MYDx zE_wER{M?&|LETjOBNcqtmp9mR%GloW?Rs8W&sWP=&MT|>UYq+{3zX`4Wp8(RH$AT` zM>HSU$IN+UORD+Ua_Ea?o_vjFo7{PU7aV6~wpMA|A|V^MX>05HMD8uT1R9eEB3$$GZe}-H%Bkck#a1i2#z|Wz=yJ`;DbWf|QcTcnW2jFz(MwUHIWyhXSwWXZd@T&T$WM&MKdsSl|M{zJlPs-O7O`@9z zV$7OW=*fJ-Q{hq3b*|FTR7N^k5R-Pi?SML=VU3=Y=_ca`NTMW6+CzFuN{S?@==Tbm zEQ~Qe$ASt_qKRybV@`iRW(H$0wwc>3OXI>{w&)p^Vw0x82!JkFr8_vZ^? ztmRypQ6Z$1!_Rxu(w4MKVJ#}!(hEj=^pj*G)82*zi^b!9*Y7lZ?E2udcmU65%Fh!_ z4uZ%>YMPNI1Do+d^kwb6XCB>OWiu=C3!1DPC#xGV&nZ544IEfgn#897(` z3Fk~0Urm5T?BJJvcK$4U>rzS?d-dO{8(9u85B*MeK}?jv8ym$Pig9&wZx9RHzkk;(yywkedP2T5 z-tLS;W2U*dc4^=J0xw#Um7%+_qS1v#U8Qn{U!nz9TbCAvHe5NEpc?jF@=Y`D-@b+# zMTIp!nJ6bZl5A^_2(TfWjDW@-qM)j159*8nn4V0UOwMHL<}OCi{QR;brsBdgv1pW4 zwbRa$C{es0du5c@=r?~s{02+)A#4K_c`_IpZ}hm{Xl2X`b0YdjRVc(F45OjC0s34S zSjlZcD^`tl|EB%ZhgBYcr-~Q(uWn`h?aJG#+{tKcys|@22@Iit6SU8v)m|znlsl$g zQ}l$Ov{Y`t%DZ}d^jTgr5sY?=HSAgjy>#!X9=KT^^2rcxyeiu1jTNE4)Je3(fP1I` zjWMjB^QYm+6Fu%Z!lNdRvvst++xeB8CvP%%98X$X4a1zbDf$^1O7R8fb(4BS!}x0> zj{3MZk{+p)GspY0Cg}QcRGD+QE|c-)cu*}5Gns)8Sz2P8uy*#83{t3o5v!iZlPg2 z7e-o7Xsa=D$KMo0OSr9y$Eu9UN3*%NkNCaJ%&57_?C`3xCiC;cFg1RbhyWk~x_J49u+o%v@YkYiZmntLyhkK^Z3Z9}0zbk0P;jM64~ z^SP7C!J>OwhGe;?@?K=l=3LG?`PHu3`7wTc`Ok+DKdIT&YLUkVP~%PIl2N7=^dU4a zTV$59W7@QUSY1$&VAwP&^ylQrqgkGy=wB*Fnz-DO(xUq83Fx=iDq=y8KwF%6|LalOd#dlj7!MHIKlHGW$qj(daShvmd(z z8LrV)K2jcj%rdsudl}A-H>jd&ghzL2n3#zW^+Zv+4;x8QeXcOPl&G7_{G6&}U{;&G z`BnjEVal*@N+8GI#nLt~qFA&|b^xXwwxp8*zc=J?57CAteAP0)&UzwzUX61_0`^%=B@~{eU)Qp`{eLn zmpW&xlveK0mIQb%!Ui9~ z`9C%}&d&Y7JRBcqjuPUcL|FkIP@%eaH4V5VTX1!En7AtQO#;f^F}6t*cdjEqh9;}z zUS$}wB7pZ$6yrdSKtF<+pswmBs*QXC_blgYfj&vC=#f|W!0uy+xHrrD_bgYY34wa{ zltox_mL7?QX|()3P`6-8W$ zt~j93!-_<;sp`&LztSiEJ7gFABS6B?I7ONr2l#*78( z0WhaQ+d*?hd=mJorl1RxW<>qh!m@F)>O#$5*Z~N@0LqmV<-C0$sAWd3n1G zm#le}GQ1YU#BH*NIlN>Y_Cb?;T^bWI3>o{?jOxO@tc(lVQsvI@*Fv$3XpOy3OrY;3 zu)~%vE_q~U+!kL=aSQ{hqyPxJSkT2@At}dk$NL$S60)91PE1plVTnzehO)zGTy~f+ zO$SVOFt!VUXnRXJU1T0Tu; zpFL%w_M^hH<9~$LvRwwkk>2k4RiMO`z$Fot(XnUJOT`Z-vma1t^ORfyB zoJnyLjY9waIXP`t9q;nrlK;kSLZ=5sltuRtgt*w$wwFVBX|zj~GTHp>X|yZV_4G6x zoB@3uzwQO=AFm{{V9oB=q7@14+}|Q|w+9(REn2uq_sU_)IQdiaLv4OEZbAP?odd0w zZmNCt>xk4OAOUHErsfoVQ>I^VD0h}xOtO-FbI&e8?5e_wPaT2wG+ki7<% zE$I>xm>$a;eT^LGm+KP*c0zW8E1dlQ7VVvfo{F^2;cZT*EgYZ!a0KULS5V9%_5KE; z8NJR&yX{`QtW6H@i1B1RdAQi#k=ef8?eN@Q``(`hk9A`QIE3Uh0QaTYH50t@*IP~U zo5S+x|NBq2T;8)%(pF{ed7rlaQ2FP~r}4gO%;B(r2g(0TuyI;BYwbc$mLU{$>Z(hu z*O}fm!^YKVHyLRe2F#~(81Wq8YSdnA(}9wST>4+M(J>(|o+ffnu##ZhA5C`nlhzT!B|-YO{i1VOsK|Qi zL|4{d#wIY?;VY&l1}gRTlZFW?wgtl{YppYG|7X`NJeYDcNAH2bEya1;ue$Yjn6cog z?OJPFixn9>q7lTyp$Nd9?)##t>S)d!_FWE{YlxCiNmRB&@B1l4#h(jVLol<;|n;7=jmF(MKzL z7IJ8eH41Hot_;Xx({)Xd@#K}mq_5qlF0bEQb&5N0vYr> z4)>Jfr-Lo4%9k}0@3tTRX2KkE4(@=G-x`m4qy#tm(SExv+WEtuJni@ysyQ@+LxgKy zzX@77+T?Xd2b{0Xmh>4P2eau5eO5wWLn2r5vXYr+Ec`a)d^$ou05c`VTaRNG%5V~$ zcn)K98H~yLvAl+nuUdLx zjvF^JzwsYyJkvJq5RT=&erawxfZG9Lh=H0a-I%iU0a3_)*?92QGhg)>QH8$Zsej1E zE3lc&VpNskFwuzOO4rUfxQ(-T37fytw(b9CPV@Gqwu|M(T33>&iIN-)_%jsws=Xq| zR3cO9MW%xyc^%v?H7t@=J)eg<-K4(&h4HW6mFOY)XGG}+RKOKoX`|yyw3%{L&=$O( z?AP?ZG7jJjVormc5MWXVm8>%_>j$!d{p?{qf5+nn>F`+984}IZF6zNWjg1t-(L7^2oi_E1~20SDx(!jzp4314#=Yw1+poRn!Zhe9F=ZnBVdmk zv>XY`x`d4~Z$HGmehuwsNo;<6t{;S1aPg(fpVMfE2E_9%IDJnRnIp_Y~B})x7!ZxQ&VjxkoODXr)_P2i1yQb zjo=&>c6V(pN|~G-u}O{;hx5`Jjihg~hp0QEepp-p%;8I(oJtbl)_6hA%)WvbXQgO5 zGjUS`;n9jCc*OWXumyMhZ^4FOBj1g^`h<5oY|(rk=Zf!+KY(L2m>sX8v}3F2F$aSR zJT3gaYv`|x1zHQ5xo`mo38Xo^fiFEX$kV})|L_6lbI&1)2G)~t$};mjx!sCAzAq7_ zkerJlNeq*n1eh-5V`2Qwp#IoMif$b3Qf5TUR(nBT{1G+U)tnFR7>f=3xG{6W^jCWB zo9X7UU-lKsW25g%J)Z>4d`|J{?$^Cem(Hd$$DiaCVi{e2YY<@m4CO!-X*I^9b)%p z0_sL3{>!(@>;Aohe3bO+`U>lIpVw0&Gxab2g-rVfvD=mu>_RGx#mc(xoyiNIL zx(xTT(sz)}1I6v9^9T0&vBK1zoZD74x&E!5w4HRx_BjXDy5Agka=;{Qb8}Cme;wQR zuaEiHN*?=9gFNoO;`L!CrJ_AQmk;!g&#)r(&f(x=QF`r^xm8%1b)(A7n-wJ_ zPTC9WK1y?bOxoXV#W0>>YTq~e*MR8B&oC#PH@&LYAoY&~*00F*rbp)$?14IE*m^zz zCQ0EvzZ*VREnPdwwy>c)`r=RVozCp#ec);s3mtt=#Z_zqM|gbFM?0DClsTI?MEh4x zuaD523>)hHy!K5|duxX5Y5odV>GtD|`G`5U?)iM+t_nXWcTu`&Eiv4xScoovgma?K z(HH3USo|tgd1~g~U*BDP$Gj?w$>;weUKD0?wotqoJ=7=QjlQ{?YwSHjLw?`&Ti@>5 zQpuvswBLiYp1+R;C6ik2?ZAC64$!Din=d(~ehmDBE3G*vw2^Qm`&oA+SWuTLb<2w4 zL$V2ZxAUMv2d>%dJB+~zb>BW!*0Xw!eHmKIQHqVMi|UD*o;{$#1B$Vk8X{(Bk^L4I|M%b(m5*(&Sf|;^v9Xy< z>J_DVDTkzs@ax5}B$*Z%hmEGfdk)~h65vRT-XapUT;YST6LGlu0$UgNiDl8eOi)dl zsIF@Xdc%a7fB=4)2gZVQruS7=`4J28wR+MOtA?L_rF%k8*$pS&_S9f3<^kuoTl3>S zgX2EU_sLn$Qhfj{;Zsn%!sk{Up3^Ls_V?Y24m9$3sp3QnEZNZfPbHij63X6%J>``* z;Jyq|$6m>C2l94!l7eCx%o%%&xn;z1<6Flf2(X4q%KVa{p<8t=N3Ch6t$dMbAKkU} zORZOx)v!;CkXv0{Q;J_X3Q~sHWy94YGrYI+rRwMrw&CiiP-CHd?g|tPgUY1z)gofC7Wt!HA*tPJ;ZH(r z^XWJ$;p7(o5#RIt_1so<8u6#r2L$6ErV3`?fCg;ObYJ{&dBPru0i-#*9t zbmH-nnG|NAxG+$a%MfG3LQ}HO?Z_V7K6~r%108Sn;Fsr?fo|K_qj%BHo$zUU%fJ&T zw#Ia28L<9}k_N>xnp)^$cjo#DTxh|?9CX{oPTE!XzU3iFRN$R;ukEvs78F`1WhbGHp z`gRzROWa}Unk@}vhsLrro9md*8pPfM1+fe^?pSC`b}>zOhk_F|(7ub5hRjI%GRg!f z4pD5FsQqQ1J{6*2m|Up@FZl#*JZL{k!@Q&uyRwvp2EWzQit4ES<@)`mhzbzP*(X zqgXzlzID$;?D(&Mfj1e@c-?mOmjZZMqA;%6h$ak^h&>@^3@$nH6A0P4Y5fL9p{SW-_h!G#<{{R3G z5Ci~q075fFFaQ8=bYJNOjvZoFCvw{N8FzPXOPA?(3BUPYT%K=6i3cvW(dHw!Fk)3=YH>d*S57}>y4Ep%f`-bnnvM{)@@bR`#y*z z5+ce0&X52E2!Q~La&M?#yz&2UjQ)SS_iKBrI(=)C-CMOgi?wa*p1V`qcGIV?e6`&L z_OEx;x9sb7?OE;ZE$v!&Y?c~3Vs(_WNw>G#vuf(Q*`);*zS<$dHLaFx><{p<5q zRkSEI+wdv$dgX0noi6%7>I2RfusD6zyvE*l%hRb?*x&7qHM@H&rg`wqfEGUR8`XBL z*4MAog)d)Dx9!;2c3-2(VxP{h^d_Y?wUtjj?-sL{)>r$%uCq31cdzYbYmZFbdcXbv zCb#V2E><{P{7%)~I&tW3hz@sycS^ou?wk6ZXfm#lNv=PVv2pL1$?B4arA;iG)EY5G z_M>Do3r9aVZ6*V*XmvrIy;G%FRvNg*+(I(1g#(s$CiwoB{8>3ImAi-J#L4$u1-hqR zUFyqg&+RWR&T61fv9Lc$1Z!vFZ7udT^*2o;k-iw2=dL@`zCc_Mv($=ZyWZ!I4Mw8J z05Rnv-Y+n#&KM(O3~RmP9r?7IlsN72qu@kTM!rkre&+wyz2I5uhkTCp_u0-tYO0d= z<+0K@4Y4A=s)CN3Jpa!gOu0{B&V>v8t&d02ml#&8_m21O+VwHHKlc4=X7NwZx5}P^k5>Y8Y#-$waEF&KC_X3#W41W1dYKr%^7B3t!8ObM{5;dJ#?B@8oG4J3W2Q z6Yp5p$sx!H5k5WUqln+o7Z+CFb$5f2LoJ1Vf4Mt>@R_vEGDc%GY77q%|56F4(>$4O z8hz@wB1!FYv&VKHkr)Ez7#BLp95pt6*Y?jX-0VD14lox9-mR@euLkR(d-MHk`QK@m zTVoxYQ?$7H>o#`x->|-qZ~N(T<=CQE?>FBE%G7B+dvU_wgmeGuhoC#({a)Kg-e=;Q zL)^7DTpE?G?dTND^ddf!Su`5P|51j%tzX(^sHSuk10fE-$r?)7+YM)6oLSagd`i4@ zj>6vo@dfc1nOXknE4#yAE8h@nqTb}(?>y{fGwItg5Bcu#BYn)u1bnU1cNU%F!UoY; zR?>Gw_4;nyvNDh`Ex0YDvwZQ>492|eX5Cl+Rue-WRlFDzxU&&)&r z!TQENA~((Kd`b0*EK!DX2QPnw~QD@`wAotIr_f4 z#ok+<;bke7f6TVjX5KBt$nRrbJKXmOf2Fh3uk#BGBYc*PX{)tSuWcLc?K(9^jqd6O zuY8qMQ~iGXyVz-?w>v8gM<&`gkTCCkdpv>Igqqd=$>o_=Zdzvvn)Wwxd2_&4JFeXC zbe8#X?g9RJetNB5iQw_<2RPoXUf22J{2$CMc^n2RunVIzU>h^=bQx`DsBI;s2c6qb z?H-9k^*$ z;I^B<^f@n=;`*KLhx!52SdVrM6I(QIZL+s-|7zqF_8peSZjQAv)!DH%_1fAr##;49 zjVf53$c9~yt=7zIShK4Gu@)B1xtKr81WuaQt=Q?w<=q~w3O4YIy8Q}YM;!E<548VV z)v)keWxJUCw0J)26C~nszY;5pK=i)X9U^DRzPsC5i|dY^stx_>%hlgQX1U|`5AYd- z7Wa4A2Y*BK5AE%>n$5QC(>m;xg-|HjsB(=HQc zTdO)@9IAV1aO;ZN6sX02rtM>Qw8O4#58r-Ydt>mJ0Xwt&$>;sADjK%^e0|i|Lf|zOjhzbDiD;zD|e@b${)?)XC;^KT~lU+{FL;tFImBEf+FL-`U&`_?^CH z*p96J?J;AQ;akB!ThsM9dIR0ZPgU&p=d$TE^@ZN--yJ@4S)U!>-Okdw41Ve#C?v}x z^Bi%u;LGN~xtK9?+oPlJn27p|B2y{HIQ*)A`{{4Bph(Tn-T>M3tQ!04cuUlV(K5c} z{<$Hd<8s;J*Yfy%==T&WLtB~hcf^-7r`laz>AeBPEx(=Cj@Pvi{p`pDkqgJni^-8yVCk z!x+E|=4_&5X=zBallCPOe^$QT3h|~!&uO1CmG`u(Vp}EHJpa(S6r`PjvxwBdvIS?s z1}^40GKvPk8-j?-Jn*5}$=KUo;2_@%L!Ja^N}SD>px+obtzQzi+-)a?yK)_aEBf zZPnee+4^s{{T?>o)7T?1+iBV8L8 z)H*W%HhRKqk9qBy8x(FB+|^Mij%%M<@ho7YP*$tYJe%aO;Sgu+3tj#$6;YIfGm zyJmHbt)*3ert|z*5`a5H>4k({9d&&#Ga2;9?qu}`3qL_VI@O;`C|9!Lo@kU9$C zwFeHrVNjVGw${ouHoNuRDuaDi9ly5LU88DsY|WZxZH=+YZrDVzSM1fg^;W&IzSv0X zYu372HFn)5%J{=!8|3b8t*gJYVzOu0u&ZnKYXMVwS=fgKb*RU8&R zytZuCb=w|zI*{VU!F6p8Zn|RD_(jTU)~l=6m@(}2M5Z{Bb**OYimPtDsUbeA*x9;K zfR4hguJl{kaIo$D;|`N4o_@VgGHmtJ@o?*Ud90fKQ@C7)JQdy^J8=wmK)w9$$|W&0 zek%@uc|x+Tj;XFS{5{?X&kqZWIMre1KOoPNZ^Koup5{?w0J3M6h_1$|Cvxi)V+8&_ z`5<7Uuw1J`oJ8DGwQe1YuUYze5rIECr0C9rd@ebwFa?+>G%N3jv99n}SF*F|x54&% z_NQ2XXyrr<;93SYNSk(_zW2e_V=?3P>bRIH{X;h1mu~4%*&?=xySLTN%?d~0J@y_0 z(}k$a9ijaaIEI*?zK+3lt_1@%`$uEV^E-q(8pcR`Bhju$p! z8ox`=J&M?T)oET%b&3;p6mWBS>&CMhd!n=Z`WGt>x4CAUb|XkOjmetBLLG&FT^K~+ zRUps#A_~d6IsoOc7th}-%q5IWyFYMB@5>U7q0-Fsh40JV9i;AQ`kAuzFeauN`QF+? z*X(j9c;1|!J#OgjYFu*D)O)p+tk(P6`Fid< z&hb?_etk49i#v*fGD7&M!b|zgdz?t#a%;~^ifD5-$7Uy>P#l#z8GA1WD8?hi^~3(kn*TYiF<#nRcAX7meF#&L8y$(T zpCj+-BJy^wEbFJpH@d9wS|f+wu%pAq+-fmF!A-Vk@0+e=3i_j3I+k~)d$u-pJ&z15 z2XX0jox6*?uQ*<|FSe)le!R&3`oS}7i&klNmifQ#_};W-+HwV>HKVH%&);LpdczT1 zZQh_1M|gEw|B9*2>ZM*f_y(&qEB6H~wcB*F7S?FhPwE(2w$JK^X`f3J+T0%s}!-+i49<8l^iufcJ$D-dImAvUUeW?+7iG^7|b#Uv2pt^FaJZE64sb1sX z@w1N;JGSu$-LCexw&i7}F}P}h7vPxTFNY6u`>DU1K81l^9WOZH+^+RPfnB+(mHPBm zp7QDWsNq>S)YVam{pAW)b`UFol`k3nwy~Qa^7j7l-|Z48EdJ_+#=CMrJ!g&(^e8<3 z>V?R>a=_JRAnyB8b_V_wW`A`8Q_dBOPTy*of3@nqNADm0X@TnK|yCa5bWeJd<|s5EA-D|~I~R{=^ZJocp!8F{Wk-T9O^cI->*t?mA_ z*L=`ydmtb_D#Lbtcxdm_u4M0=e{SAKqgw_nqWS;T7$8 zHKS~$F%XP`j|1s#N63(P!~$ZMa}kfiFVkt%KRM~*0PZDc7*E@>bCIiL#4RO(UIAR< zBwhIaj7+i#v|oK(%VlSrSLw`$+y#2dJV)e#BAq}$pm~T(v$yDvt?b3oZ3RMSJXdDS zoZRVpi#!$N>RI7PbhefoHUrsaf(reQH%Xp7unQuJI}&l`pJwjvbiGIS6hu1fD5W3c zGiHvZp7M8dwm$aNIujvUwwe^mT9LgNa>$wqvs_-tNiB<(WzbV#u9l;G2s zLwV$3KyF9A81i^n_h_e~u_d*K07}O4XYtA}ZS)p$j7VcDcCSz31d}B~zv*Q=^$R*44ewZp&i`q0fO3<(Ec#9s~dlxKS=boI7hv7#9tZ@Ygs(*)vGu{IN`jKdNDD z*K2E__ux~1-oma>;2!^MMz_el1xqH&Bkj=8W_g-;#vsvu;JwU=KdbKEdI?=YGzGn8 znHB(Ke5b!!FLC$awuhYj#ypbm@G`>M3qj+8gE9;L^sXnLyqnDUo^NnhLkM9u<~vF3 z);hAg6JsUDW-s$5W1%zN+Bi%hI4`r}PgYl6^&wR7sYP!&Gk1=cXpDsLU`uY~qKT#~ z62ooMFf@KRD3c;jFLL4`;!hE|LL@U-OWv(*n|n9dc*Ldp5Q=B=2Ff~|cc(rDQtB3@v~R~e3x2eB!(03muMK>_@Lv;cKgyyq+ci z=pBW>gM*moMeO$rgoDjdq~9@q_k;Fibu86eu7h+rND&}nE;>pZ$-b4=9vOAgN zov?)PJx9A@vE%vl26kR4djKfd1IEXT6Ep{*KkOY%AQ~qTGNFDL4;*ZH5vP~5@Q(x4 zX?5%fyFCZ+e@Aa;X0h81Y~@Bu-$;TfqKQ#PBj}N>;i2BqIN;#SjySzma%KLvh6#F% z?onvY+$8b-%sqSzca=F0iaHANw^jGenifzkTLC&=hP9Yr3}VEW+K*HEMBCLmmd}hw zAt6b-(`=`}CGvR%)Quj^uQbb{$Sr`{a!olLW{m;>|zI{M_k)!2~$I_wMDd#4$;> zt#WB`9K$>tiw3F!<;f#Q@JJJkZ=L%b!M)7 z4oxlR=sRy8^6w$RolF`%y*B^6N#0Wp{?h2i?Af>*+ZVjK98o}wVC)i|IU)^*aIR_i zGb1=JQ-4pC&W?8Ad%Zzj6VQyyCGuRo+--c)ZSUnDOT{auOIp8|VFHZ^4$GY1({S@s zb@1G~&t??DKsft#B%$AASQ?=KevmYGart?JOA%hDefb=pp>+c$#z`_>|u5{ok%cL_S zLlUOp2A7&-7nBgvp+`jse>h6u&IjPVO!z&adFfj`Qy+HBd~x{Z530&FbWo#JIvqv4 zhQ%Qrg<9yKt5oUIedX%(QCE1nQ$+TjE4hcOS7|8P?d!cHY)UsHl?%OyRVp323RquM zI&~eSKT6+jeOH%w2o3v9{g))}+3G*Jf2?dex*??s`@h&*yi9uk(yJ5V==S@GG`V+0 z{Fue$3`c9!VfV-Lt;Qarwr^~ATde)VRwGpvF%VuO2Rq^<4s;(D(u+O6+s_~&`TJWM+jm{z?Sgqs4uXH-_oe@#@*?=z*${h>B^H0YJfs>KT@p5lt(^3k%jS*}T36}Tg>Q~y zEhh3Wft!9C*wa22q56KF9FNf?#Q49GZ>R5yrC-=No#`?3S!H(Mc?*9lLue-ZS0Xy2 zXXF210i!TFy2pJPGf_W5{^Ly*;WUI%C?(dhdL=6g#~$j{x=2(|SJw5SD!Rg}hdueI zL!;0&vp?H2AUdi;nkcgh8KsWcp>Ka3g`lY!Xoxp@+8#ECz;f8LITW4V@5Z$94kSu9kcUX@D-s@|Ka(OKO7$z<9$ z?Dp`MPw|w6MK8NMF4+&NTG)-@ZzumZ?Dp^rI~lfUIto$0I$~v|m)C#(OIJE{rH#Gq z!u^DL6fIYW9hbA?l(f?9c%}a!E9!MP%qv&Rw*L*ECV6apT2=ZT#j}T&m(txhssHR; zr4*forVn)~XT08Tu9a@b7Up5WwxEncWY3N|_||qW)-&VwvGq5-!`!zit`;`mw&`;6 zsC^yH#{Di6+Qp_)IeS`3dw@ z(*l0^^uMYtti``p-dD`EJH2WA+%jh4_}jb#Yz=-Jr&RhnUu-D;L365O(nV=tI6((F zzlD7yAt$5WexLr-e9%;n?nfl^;YdD0=SW`(o;LI(+$-q0nnD!b5%H^(ch`riukz+;mQ z{sFCIaA;;A=I!w$og`|;kFNjOMNW7+qj;>H6u0BaKesSEaIfKNLoZAv3nClDX^({A zHdMm>G6P|3X>lgq|3Ll6D`3;>t^c5GgIqmu2ARJ=+n`+_#2j?5xj`JW@&TP}Jg>q6 z9b2;=_-k@@qb|)B4I=PIm}4W%=-F|$ZSaye|S; zF2e-lAP^2s?~3U3{Cz8YbhNCy(HECU2b~~5wsGUUaRG6nE$=WbMTbI{168ixa3u6= zw1$paD?gn#n(A==;JS`H0XtHWMZk%f@FZ+oAw~lek@V(^gP^YPex-&HD z3Su7$0UqjMpZxfR-T~}CC@f5FOkjbpmIfh2h=^me0jV99W@?-5|Y#!lD)fGH>CaM3fmlVBif!oK{E zEnODylO6oRj*Y(CPl{-D&&J#*r#ITtV`|`QL=ufEjSJe+LymNqi%}C9>5RZ{R=(WD zE#}8t^ZB^wJciwX%QLe75M;$6Vrqic4=GMy49h4Ekl*xtdG%Yd>|gQ!by%VqZJC_i zXsdhxg3tQux+h41AGy8`+t8`_fC765HuDMrNy!Fh5^9@VZXxcxa#2fg zD&6SoUWS2P7fv8VM$>z7BM*m3ywT6ZiS)e%@pqoF5H()ssJRR(#5lj{@#DAwVssw3 z4f9}Y>;U%z2@FWN+(O)Wt)v#`P^l2Bh9J*-qH{=TL9);vVl;4qR#mmd&JAJ~H6 zLT{dJ0wfljrVN~gu@y=Ri0#M;+95*|6f*JYH%PnGVlg*vM>hisI048+EzzV^y8xG@ zh`@RAve%y^BLJ^lPabK6*xt%+W)*M)l#N;lNX!bzcIW+w2?OD-o+T*{u~&3d$Vu1? z0KrUI0Y!imsW+N}a^c|UjBgyH>mV5(+s7Pa8n-eb%xar(Zk!cb1xb~6qb>r^1SHSj zyN5ZW!$dN`ma+x_w+VuO<^oaxv{TD8Dcf$smGYQUWW{4b1lUFolp>Zo$>z?PEaR<`RgX7)8#-2rZ+WQ7>6mBeenx0Vz~&G!@dP!TSghVHDB~ zpy!zsBYL8SQNnp4aNIO2;8|EQRWxk7(HAv@0K!}P0rP}EzjUcGF1&L^5?74m1mN6Y zE44s^0`kccuf>+Uk$@KVa1Bk~*c^3A^JdTi=K@=Dp#>Eqnvk{#z?{jiBg_7gXgpo8 zQ6@Nt0Y{kO%KVqQt-Dh(J5O{zz`v3JVpDmAo5pT}WqIR<;d1BJKYQ z#?$Ez&%A^!B{w+=I2G8H3#fn;xOTgp;n082lo;4-!$F%y14SV>g$g(o*p&;ZfDnir zQ%MF49-(14fR6j5-!sd2(&r{y0i^_h5>Qk#-P)EpFLJ1q21{N356Yy_1G8Z*>MP)s zU{Ioo3T3D+sH9!An4inHAb1zSXQWREz&DKwI3?JS3oNK8jif^kZ@gnrAc0(vDJhu? z+9+Z1@++W}U{Iop3Wp03C8wPi5X_Ck9}y!UAkwY^S#WN!6&FeZD`Zg;E>x27;85&= zSK0l{7(&yDawh{gdVs>1t%e$$rG_(2Qj`RFNu=cq8s^kdg*S`bA{35p9u;s#u$fwA zK{nKeM*|o2px5-#5pcXjU;vgbmfYMc;Mrg@RWNKfvI&}0i0&kuv>*X4#z+YU<$ohb zubho+1r``kpl4e^;1E4->SW%G1!lU-Xj`#Q!>I+pxxrRyi3KGEogS6Wmd#G4Gs}xQ z{LnNS(HcYZ9YAuyR%($2MH`R|BZ>txKN!sbDI?vnZ3`kVj}Jo6bqa>7cw5o5bjfr>%HeZ?d*aVFv^>72S-kR79%i9s5DuMXRaBnMr;KZB2cIhS!#}f8R_5Jj6g^^ zza!E<6BR7kw%klB;8|fZRWNLZvT(CJ?sO9^ZcqDMN9=9KI~Ndh^cpX=0tysOrWS@1 zNZEP(1>bXN3m0Vs5v2#{u6LhSBenu66iucPS`9_fwq25T0MRfXTUPUR$M3* ztdd3irRGRz1~iU@zlJ<`+L0svj2bC7PYO6?*p&;Yf(E*4-ZVV+I8u9R=F#r}A<3Mh ziJ}$G&9(wU8H(gI3y{CSh*U!Z7a1zl#}`3#0VlED2yWsPaLTYN7f}UJI5+q zO&1BH#*seKh5bBIn!_fR$s^C%iNLwTR$M3*tOQ4A%~SC3^KbJ8Ais)k?0k~U>F-eI zCR+ie4q=m%h2FfcM!U}sLjC!n4QRTMh9(mvmbnR5z^KE4TxLP`m8i?E3on!-0eAdn z4{an2@6&J-K!9_Ht+`M#Slfv(5d-Drv|J)Z16w%?2sDwe$PW)Q6IMW|!>n9H8LZyk zMk;+=yw^Mn6keXeSaDFSh|bNn0;(WQrWS@WL`EEFe>;Mu(dlwrP^N@?cq55!o)vHg zv6)(DK|4T0Nax?TL}969z(|j0VkCT#G;RhJa15|mm5cjnI9maIX_9w-Ixu{Z!;~>1 zJLU<3yEp*4DONxL(5CBHO|5`_$@ASnT5Szz=kLq>4cQ3s2-(6+(1^U;3eErmT~VPP zw*ugv1_UT&lU!eB5VO3tAy8HY|J^hzAi{m96jV~zZR`{VwBypcZNNq!^60=WqeR88 zmV_T_KGz+lKUWBvOsKT0+w>7ExrNK(Fh7qQ&}q+R^uI76-6j$B_v#Mx@RR~Y3c#}{ z8L7!pfASXT2QeiA;wcFFX(Oa*;_gtfuapW(D!Pq1lzxXyYG*FTwM|)sa9H`+Izs7qK4lp*3=#7VJJ0~)O8y&GzBOW zAu|BGq=t4NiK3*W#al+&2kO<-9q8dHMU@nF8*vG<_mGw$9_WAs$Sow(x)5Oq8eC2) zP1GGFc9l}LNUkf;(b$MdoTXj^io?rI&kQ9YP3k(`p&mw3hDn*XQ4~aGWJr)uf1ruF zC6ZVwL`!5}NRY-fF?XogMM|M1h1^C4;J7k=n%!9e;TaarsHf!eF(f#Xr=^LxLxIbx zvejfprK8*+K)f@;>jQToq<-1FfXLx;%M3BPX**Qxl%+tD0&b(KU081!OiCX0k|(W+ULV3;=AiW0%Qk+ zdqrs7G-V(L+tjcNs`xpWXz2Qm=y(G=a{o*$gsJAz9spcGqrdBbbhDR%nPFvWMkP-1 zaB2c)C>`07Lk?(UBb33Q-5`(wx_Qe$47RDEmDI=^Puc?%rD5?#m%hfyG}@}TQYJM2LuXrQEE&4fy9`P<&QX`RTVv|v6g1ng! z`&bQ&H!91JA%WcHf19MBhnF%CK!O8wZ*Y?l6N8OPJLD;Zq)^_dJw?kP*FqCeSev>^{jNitNrNIo{}GS*(q%_??`II-TSbze)!hn`m(HaYXD6Z4ZdK|lA1sH)jeH~vU7 z5S_a`$B?y&=0kHWS6hT-I@HlWeIJH>a;i~v(!3Vcw>j%D^nW1$_XDn^p6?Q93l;`k zRVSJcGicDa-|J3JH!6;s%NwOd94Y4iT0pTJ!^K)k)}mR);>7czW_5z^>5%KJQ+4%* zem>7~jjg1N;sJCWQ!Q5}Yy_1KxWJQidK1ovYhCHTH0^ynZEaU{oUAfATCxCu5D)_Z z1pq=sM(m6J19Y#9K9Kmxh136*Wp_)1X>E-8klHWo0I)CT8g6{0GNM zXmm;qB85km*Q0g@q~P9@3=9eOH(dY5}|LQvrvVO#oUSjhc$TGp1FW6fD=L{wiZ;l z9E;AxlSD+wRvy!%qOd+ywH9(rwnyQ~ZBdDYzr@HKvlc1R)K^g)7$=N=S$G_Z(Ap-j zD-SO4JP>crfe5FYf2t21gfDz$iY}0^EkQdE}n~J!ePR31rx)p*EA&4 z4X8xjv5h+B|N}{vtY@rt- zJfh=VTk91wFT3!XgNMJ-ay}E&8MMiXkJ&kwJ~wCc+~cKww9rgRT?EZ&z&aj`qNp9n zF)h^r6GcbI?!~n}Hq*nSB^l+jUHs+dXXhp6aaLX7DSOz?M*@EfZTC{3L|C>0vM#y; zWV0^1#EJoUR&M~`q8RR#%sN@!_DI1qJ85SKe$%<>ZGb_V z>?+XGU`Ak9XUYiYpLf=6{>Dzff9f8p@qL>pajhs(t=my)8!Az)DN(IkmcgZ{t4X3O zp!Fu2>{7Wq6BW8G3ftO=Yu$+o-H;t^YGaPO>Cn?F5Rbt{=qoE3U~LL&sRZh%e;W1B z7nX4nEq1;a+MPxMNQVOVwlCsMM30qNu?zog5*N4$=+zg|z1slC7~XN%tZkC}W|5&S z6+Jy7u`Zca9dWJOabX)BajhM3ty^(v+a;^NB11Po!&*KfTDKzOH$2l?#yWM?p_NtA zFXyB~(5r`LS4q!6w9{2a^xA~uZx?m14Y8GwjmSAG>6vDy`7-f|d4ce_%uo!YQ7V(D z4OeU}ZqTLU<>s7*4a=C8mzf3ZU&*fI^)n`*JHaq_VR|{mhd+GTOS}qtMo_$8R|4P+AJwbH&e-GCrQ7O_o%m zQc7w*lR_(9YDSQ?McM3K9~UY3rI;#lDdnE_Gxek5&OSe#TEcjcTEjPK=aRDY@;Pf{ z45j>(l{}rF2`))$C|l%IohN>j&Nr1SP<&y(^pXW!V23=w5{)->z7O%Qg3);56azC|xdiB$xsA;^lw3V}WaBrOX3uX1ZZ8coq9nisj z*J~N=%}aD!KoCbHEAMWzwULL>cW&lI^oJvVz4^B@NakEfdDQ38wEv6#6aT-roGq^k zBO(7+w`3SgsY6j2ywre~wlOwYe5TuJSw0^#t7x*T>p~&P zhGToWE*OZ2KPo8sEq#PE@CTs~T2T=}>{Mu|!J401`vk6KRpu-l0{-w|)J!{L(J%q< zPgYU$RNx+i6yRMgXUE#qjePva)f5o}Qn?A;{N!lKi!gQD9f(c_Pi#*#IDS1oc$&>p z?N-=%l~rcCu|j8_2&s{C4+C5MqZHunhcQ<$A4;qvCYu4gRw81_JHkShXPf+f*?B;p z*?VuO&71(ICkdlcL`xff#W+m+i(`#YtaAyySU-WA*5CYx8Go3HcgSF4(xdoH`x4P1 zDb#^z$a;btC2AgE3PDtg0sLjUlUKCK(5y(p6ZT&CZ8YkE%aRQ|nc(XBjr9g}VGbQY z{O_7}@h`inJoKdLF?}&>xOwW@d?O%V-jXpL6~1HTnL6m*)m6R|x)!3MMaD9}Gmj4S z#IJ}!7PkAP3Oh>gzXN&Z55Mzx*nA?A{ zM%e>!e^J|XC-uL6Bj5NTzjOBM&2Xu!=iS85b^KHA5oT-ztOENdjuY{UaQAmZyFJ@RYYpApxa9MV^Q{LzEp*~; z$FO+9CI71ImS;UlL+U7eg4`mP(^c+Mv5+Z*+|c@CmM+>6#gSadB9C`BA6l;QL;q1o zD7ZIjJt*Y>Y7Z*@j>i6;g@9Aiy{DWm62f;chW~JK+@kRiS|bn@zKA_%rY7@(a@RH4 z#>d_~`VIq40+QlO$v6%y+mPMi74%#;NQ?L@x+8F%&os48Ci1pIU?atTa0e(;aP_rg zy%T*a7Rl6UwT)$uEDN1*t_qtJXItOCxatO2SKjVI7C8g-{5T5)Z+h1TZ>1afZHi0= zFKYTey)ln>Rq(d?S3mGtwp&dH=#)`uCxrD=dGSCk?|t6c&(NJ?HrJMhC8^UdqBXwJ z>@bQ_MsvnL;6km{&l4R_2K)gL&<=Ivbt$l|_JQ9_T|pP;MQA!3=}SRuir5GAiSk%F zMR&1J@i)^Mx;OOn13Oz@9=%;#NAeik((hI7O~d3TnAn1Ci0;M>UTalk2#@u6JJ9fKobu;l#L;6{)bGsdNr7^>lWn*D%?pCxicsx&vTj|MmfMdiMW9is~ zhUu<$;=ysGT!qw{ZnCs%=r7(q38FhYg6+c^;XN8Yc?>-P&0A;BpHvl{WBL5X>I2qp zlu4`u8U7ycfmkqC^=v3ZGuB90z~QjImGM z_n^f_dPRE=QWT(H9`tA5c&ZpRa4naP>=GtfZZ!CxzpbxNO&dn# zLauUFes-l_wHl1bM&w$^?TsEZd_X8T_~=xX1#YTA__lC^uHDe9(fh$){9eK@7>s=D zl0(=p5s(lDTDy&!()VRy&3H;5YNZOq5V8R4_8_>R3n zzwM{(59iWD&ZbUmj@vS0Io_#^<~Va2wtL>FQ}+)VCFkxe_Q~Bqyv=}3^W5n7AHr?tKN)GnK zJ)2Dh;|p?Zm-Lg8f^Yl%mkk!O>&ScvHQGxfr)nf^65080JBFi%C)r=@p?%O!`kUA( z*8S-%Tc}jkdb$b!>~r_@J!xkauFtF2_~H1;^M^g({)>-~orkxN zJC?l7op<(yg>$+ilrbT!+SLT_3^x? zA04s|vb<*vXiLPH!4o1eT;tFUd=-61^z|fdE@kP|kFug_yEOl2^t!*(?=Dn7QmqF3 z&38GVhb?wlHDkK^2rL3ahrQ5bHE%~o&1RCJ7p{K|1(M40zKYEup((t7rH^yfWOG$t z>Y|aBw{BUY4k8L}@eOX-p+Ezw*|A+gR9eA3s$G?u8kU+;2%B~y=jyW5v2$VJT3z>C z-7C$;y_LHR7#GzQ;-!5^5vY*OLYgX_4k>(M8oL#mrPY8(S4*F&$lVx?&yr6vn~9}t zQySLX?yFVa;FwQr+)Q!nCp0?)-MR#r2dpYUrB_DjCwdheq}565FE5>$nw-|YkaX0F zdAQ{pzpLf48Z-?F`ssE1lJJELM8uj57}c~W6OAa*uJA{#e19wL{5)s@FY(R>{oke8 zYMZ$!%bD95vhx;pWMqh72O{bUJJbkj>CovaI_YQLqOz_4Osx^#Nt%uM(<#rgHd}`4 z+FRwGTT%Fjf8p(LCHwg_Ov{|a-&X3VUSvdxc7>D=(aWGLtG6DOMJ;uOW@^A1f0KK$ z=4;X05?*p6gj(=!De4A&5_drRwee5ch`?poV=YfVOodvnfl*prX_c_=R+A=okrd>% z{HC{W^1_4*TtCyqN_k;93)vo`2e~M%uFy`cGhaC|8@U}wA}1id`Vxc@Y38WUu?F)~|8+14)K>YYig zP3tQ>QLE0hP~`3TUCO7cgr>me@AQd;Lfpj3>;tm6uQ}W1@$&`t8C~7Eo_03R-E{o= z4*K{>&#MY+UG29X{NWJw*%vgmw<+KFt1r(@3PWLS9PM}Z)h-Xw83jfgkeIEmwmYGi zT?9v?yvn$?S{i0pl1KW0^4U^R@d>zr*_1oM45vb^3%ut8v|hsUw7OIOrowr!X3cLs z%#LGLGldh>rsXZAztHb7d1Lx24L579dQJ?}>I$0M$+cH+&=KT0&=jX6ofGJ1HMMGH zM2hijLc;GUa-1WLo)K^&Jtz$m>I!?=A@8$CjO_M~0BrnptdpM9;#rwz}8mqAz19xXRhvJFd`zN5?N zA^$G6iNor-T|djK)yJ=q8-EBspYHzAoO<@a6X+<;Z4K;0+zEO*0MpeKIJf&X8@P1# ziQJBTGTh*ziuRl1tJnEr z9Wp0xddV0g)fNAy)o9FZ3g*<22V~^UcUF%*ud9Z7 zMIfdCTL9E86ah?;TS(O{b_jZIse4l>78GLZ+4Oca%ZLCXZ&dtXZb_L2W zyQb4<>7Lv*HV@~3F}u>b)u3;!qQZ*Z3P{iD9o-x<|bi!CZ(q)GppPEW=@pr-o$BK)Li`Z)a2~E z(escft*&w=;bHQgJm6LedNs3}#XJU`hIry#u$@@fE%K#iQnT~3ciN~MvzEHf+iq4( z24|F>%gqwK3QE%I*;$hDqAyF?uFGbuDO?^qc=v5T;Lt(bGl zHsX!D8=munG~&J9kT}7%RE{cNK9`E4Z=WZ1M_NCWN*V478a8-@4Tt~GLq$(Gk#UT* z7aWNGdn3kK@WHM@a&ZwB>5=FtEAInrO*a}}mFeF!UZ&snDF$85v_1a-whK!~!H>#T z*`ngb1aX!^#vn$?_KvOk&l1YuO_Tib4D1l%9ViWr?h3dy9|a?y>*iufcs|%$8bq3f zhdx(Hh_`M6YwUfzgI&XLk9Y3Pylr_m-aujviucwH<=blxjIqT@I@rVmZlZC<)x3^QzGCl^3z~2Z29%KKMwt;r(0@{s~HjEUV_q~Z|p>eUGi~k>+PWvcV2d}6U8~Ys&NRKPI9@?Hh7s%kZ?zt=P>IF5 z1fslQb;FUf?}qG+(k0D6kPbCyh!Wk-LXE#!bn!GSC06aKgI+rH_DCch@ezGz(Z-wI zGu}V$4;m7PLQ*P+R-(?P!!%1$Nec&*zrYS-LUF1Nb+&WXqLuW$2Iu0af;*rLqigef zeHEpaPZNX)TDj6;J`9LWG*Nu8Pbr)zKQ357P|ghhQL%b?*QQbgrg^TKkM(ll(g~5- z$8L(aifzn>^eAuog>*>q#ic|@QPucNa7b{8KD7-8uNLvb;z|WtD_6gy*CZw<^z!c) zbAmrLCa#nkUI20%Ui3jQ2he7p&?K>V-X&mDrqa~$9g4a=F@RqdEkt-P>WYQA$Ukg4 zKg+#qYC%PkGU3A#A`T)H>P$2U{=p6w6Z}P~gXKEh!9pqIM!aDXnXtx^Ad*TDa4YeMuL$PxX5W9d8SGVBNV_35%(!tin^*zy$iqduNZ9})#a}L+r9;eY35$ffzx;ekv&vFO*!R$fX0kMx=p>Q9E?``OMFfz&G z7Q0~&Q^&4#iNov0hg%H_)9XBw1uI4 zizJr~Q}W$LpYvN=%uB$*2Bc~aBV9De)U(Pt(OUPlyn-?5x^ z^AmT?xBa;rkNS0W@_p>F(~F6fS--P*usx%?8gNo}ZEIA`AyUZ`Y5{2&8fBwGlz=gn z&k=$w0L_5*?YUlwQo8*7IF@=>NT&hY9EzZt`97$5p#8mPmTP)D|nII}@WJy}29wx|PVUnT)>1bIXa_+#DWFFUa9DQ91ga=M~Zq-i7 zB1IfgD!md&CPHy4B|rkrp$Tnt1R(&e=RLkK0)zj$b*BMUfG7*&#rHwHswoVZQ#%&w zL{ig$oc=?#nOd7#KQH3T+If}_}YNGn%x=~fgqP>?DH_c^HaiPMDw zP^dgNoGPD_J>r%qjddi$<`Rv6i5mORtBRK#2BBpXcEL-eqd-YOCaM07EVee+IkJSd z30$?0jz)p)!t)2a8KjOQ#i4l`RG`tZLbgR(K`N*yXIh<->vDo0#OZ@Bnxuez0q_bO z3#9;aM?rcjIA|F=|DoHmWB#wZUIM0TcSFaq^9bDdYEQ?`ewnzqFK8F z5gx#BwFM2`V*E(4GH>n5GtLSLQ|*}(!AF|A1fi6GaF0M%C6c57MAdk-6fUm7Igb4a z*n0J$8K+G)xfdf+qD+-cqGXYK<)~yX5qA?QE%o#$ax2!cZmn!3Kyr%on@Ay}Dyeh= z9Md1br077$4btgRjxw)Q&GuVG2Y|AW=Y5%|dj3jQund`C3+LN^csNH&yxJ11$6W*g zir1YgVD=12= zihD|N;+TJsRF>tb<~Y1l>;j@jS6Jj$AVEyUVuK z4733iDe!nDdwOD)gw1+2Qu!#GNio}1sAyhFgp}N4$@>`W)UbqDz(mEaph>pSUs{99 zVYL>pxCt;`?_M;eGGc1q%?_^rA09p{N+Re>;YRW z!q0fpZdYsJIGTT3gc;|rrmMybleImeWS6%@JE)YF->4!S3Rj?m

8$vC#uZ( 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
  • AT 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

    j(V&VVr4!oU(xW>EJ+EQAYP4?setp zK0{8An(dYMLoqkr_5ASQYUPv*U5_sice+JKiWEwKf~2$LFt_)kx{Ja^Ammyn& z2r7W`zMudljF1SdC_!_-7T631!g5M}6O+1)K#_40$0BmSx>%TELR1wn4-W-xe6fLE08R&C}k;30k6*RZ9tY?} z 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 vJaLfqk2Q7A#YqU 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 o> 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

    gvR?BU9M3HGa zYp+%>tr#t993E`pMF{m~)6=(=;ekB4?HWyn9M&ZrmNx!bv~VZ9RWGT?4Fl6629#y=TfYv#IC^&rwvSnwt>afX z0B5z_>iZ4q+CT-BJ+``>DF(#>#yT-Q0AfYwntqY}#1ilTXyRn=wdH|LO9 zngagtvU%@2&~R{5*_mTZ=}=j4uLlS)u-a{hZE*(77!{Hy<8XoNZEQ=zN~1ZHQM#!c&8PbOsdD)8KGaUME-T@=-dw*e#WT$yrdVbNk- zGt(XZ5?eFwH)!sKE~p+#&q|uD(LmbfsB=KB9&EFkrdr8#VdzL$732DXM8w(X=R4zEby~A3 zUo&$9PH;n++sdDoboi6`IwxWx`V0iNf_tqTp?{vHR-#szrC?FhVm-yYm+!l}gGNsK zwR`?faB2-BPagP6KRwy6}@PbW?Xhs z@sO@_`r1KRN_-8!(iXQ}g#ObKr@8q%NfvU@j7v+z-gz0_G;)23Lx+=S4$FV?)eC0^ z>3!nW*bQK_*AJLt8SB!yR8a|9(vg3lz9^2||HJ=~yML&*&D?pcCY&jEZ`wk<#Zs`( znYF!DB^3?iOYx~;74i??#j9hoG~vq$b*)0{g7Jl>Yau7&>)9>_)P!;e?cOjdP8v!o z3e`Fa8gSCrey1?1cQt|jH0f{yo~ji+_#*$_=`^~ zP@Ms)#+wISjfvI&zN(=CnXQZP2<+42j^-o65OaGvh_3_m?smET{}9O3lnvHaN&mMa zL(_sa_Qg<7g7@6Turt`7w2c^cZGK5IwDFXPL*g(#mVE4gx-XT)e=SC4VU(-4AKC3kPo_6 zN7=C%+09DanqslkSx@d01v_dud36}#7LU|WowGCRLO&7Y%rYrGKzg9>glg? z`lXve7ZoQDLz0^;qA1Pm699~3p6j=h;Lz62$9)J;hK=97S$TXw%ll5YUJBJ26%iY- zrhBdz)tF-MzPJ-efvhdBd@B%BK5vDg93>RX8|5%%IR(ohmBexWr$cH&36+07EWK() zw+kXj4IYwImfFOW_Z4{v>FKHt{F%2Go;y}jpMvq1dV6%;4(=V$=T&FVA`%Dw`FE21 zN46TjoEU@iW{a$SLCe!o_-rkSf}xO29g#P8>p|z7gF~bl*0pYIMV9x=dZkt}48*Yx+!C-0$!_%iFbja)42h;%t*O@{%dTWz4TOyzwTOC%ku1RW>!q0+An~H#_|An?_>^ZXvN*~acClWx;oaciNA3TjT1Qp zp-~87z&@v3EOX$z{ESbQ%-cJfZp#P|{i7*WgOb9sCL^}LtKOgMP zAImuPnM&!y#nqi-*i}0*@RG4GHOlZ!wN9uBL)eyzV%svmWWkWODSjs7*=1iw792|O z)iH6klJKw?ihaZrCNNl(Kf$; z%vKB{goFYu=M$Jls~ zhm6i_l2Mqj4RK5d#%9asthgFArqUv)MJVN@O^Pz=O^xG&r4aZ-J?R4C^P`1;I?a$& zawh9U+1I(s%Hyp(za5d5(E9Qj38}A*Eg>UFyw)FwmW*AqE*<87=ET+mN^?ahHiBv_R#2&t%Ie7prPLx7GABzfCWe6`{!mWcg2IOZ zdNyrX(&?;D6{J$UYB_Z%>KEBac}z0!NT@8{BQ`2H6Sznt@<=8TqB-JqDmrg0o~T2H za2e&={{2&@$>H2R!5>pY`LzqGbN_1_wTB2UE=7WvN?rM!69tM~iYuDE%FfWUhMSA* zpJuei%La3Jgm~!1O8d(;PQO^Hybes;BJ*6JR1!bF_s; zQjy9L4;CK4@XSF7RB=@`Mm5bKp3z7n#M#Xk()VI8F`` zNN`C35vv7J8kmjbrP;6hoyC=db%{OA{xY#qFr63f|C#$#{icp!0Vl}p{(~yBVw2hLjvp<@iT=bg>wUKUiqZozM4{k zN7jB$webFF|0W{02V<q zh6R+57oWKE`GN%dtzSK#+5K=YtwLY1rJTPEoWDj_@g-TH!!4naNXlJE1Hs{RaPTyo zB8R}F(ye5>TI|bl!SNs)$W8>%;22*x?IdDB(NnqL=B2`d7Ml6>w8N~RaVM}ael0o2 zmZe!FShK}+)+goR#TbzuMsEoO5(!})vJ!IREke`)#SaJg@J{_w@O%FzB*orW|03H> z8pRzH|M9!`GxOwG$G-ZttD1+dbHzwU0R$;PFkU&nu4qevcTA|%sa&&3? zAcnZIa-GLa?<*__xV|5gGa6*^H3_U10ft3d5-c=-1ZX3Jp#*Qa#g1NoT>2C9jMVM( zZ(#Ms^AEl)AG*sGVRx`0&iF&LEeld19y1adxs(hcuk?-Nn?uayucxi;R+}BxFxw~|cIq&hvqMiGVZI*pr z;oYLgD`p{qTs{A_^1JRP1c7x1o0ir*R;Iqc5!O_KTtKRuARM$*yKSbYR^pyS(`VK@f#X)nV-sHV0cKBkVh_x2Kqw#< zuHBl6ITrF>gF9tj**_>FOInIIfHAhy`rgCU=^5H`&O!F^XU*K+$dd6>7XN&QSf{hx z@}F$xrOfdkVd4#w?^~47b2vW-#PcmE1vLbwnSsfX1`}O$Q<1DlznKQ`bzO4cW>?M= zhl;uiZ~1BU6?GAO!v4x1466u^9)JtS*nAY8cwe4P?TNDzga%R$7Pea#xsGA{!n4U{ zvJxuKnramPeeFxn97ML>$$yDyIxry4urk5Ax$u>9I^={C73+YVjx$O@$QD8LXjrU{ zV37l);$XpB5VZ^3*c zCu8TRV#3OQ!ci^01}se%7^GD5FXjV_6KfBF0Xiu_X87H(o3VFie3!#+SyxFus8{1m z$Zz)tgp8Nh-3GGc;46q^{IoJuEgkW&c5`s|y@fh#2m}(5}UgV?`!ER&L!j$@U?hSJX$s~&(lb; zp}%BKfk8<-y!8!U**uk)=M8x8!wg3?u&o)rD^u(|+E!oQn7?25=X4fJ?)Ad*7U{pz zJ$$DI-)cXm0pkDvOqRAL0X@42xE zr6B>eNIKld3#a28upsEoGUG~|nr$Tc*yGx5=kVY=kav^D9e4fxn~7M_Y`8s!zeLS= zz!kEzW6G8xonz`h;gnC(PdmA-+j9x=B-qng>G0dPyB%EXaHe`2Ip0MHY6yv|R`N{x zBL`C}xGA)RYC5M1+V()3J*}Gr5MMj5{{$J|)%u1z&qa|02rHWyA1kU}_3UUrv)=w~ z-oilQLt2I{Zf(9#h@Fi*_RYzGBw~!r@plY4^~Vo+?wuRA6M6{F6+b(aoRF{UYN7fD zF$#)AE}Fzv^7Hohkm2nhl1-?%a;6MU7%L(JT(*7f8%i}(JPnrot?SrAUgMos8$O=v z73t5=Uh0t%zmaEPecR>MWbp8{3JSz>u0M|vLxrd+*M5#uHEqD!fv0#NN$X zxcrly?vBcx#x~}21)&BV8dDv+`kN4-!o!^iOmX`ee= zO4~P1zhjzxymp}`cqkoc5PN$@*1EJU$(Lb)sF?nozy_8gyVE} zzdL&U`@`uf!Tzcfo?n?KX5RavhvQF&)91_WseN-!iiix(9Hp<-VArboXO|HmqK=k7 zSQG-ajhZ)rOS%zejYEx#P3%n?U(j=BL438_U=!4HGvOCs+H}};4bABaaxNH^LpZW0 zJeVd#n#d`ZuviVmvQ!-AlA6Yk?@RzTJf3~tG0%yio$Mp3WCP6_HPESy*>}ZQ-=xUW z3^EtkVN7aC?h?M*3%LW_9lX^yD%Qk!MjB((QjDcxB1pN;L19ihyK8ecyh*W0EBM8e zSl=*<1h|jm>Eu6= z134VxlK1h~M6iN8Ia>kkU`!C2f)8-?6B7}S4k6qHqeYH$q*r*31J?OuMF8Z`C%K4j z1?~iKoXSNs^W;q$m0@V#HF>8QoCx@%HbTwG!HFqK&mb@;Riai0^9xbz zxCkzaKaYE$L&!@(u#RC%VS>_Q@&WxCK((P>LbF(GxIA~cnWtA7dLe+*B-_}jevlGZ^0V2y9whR+Ax_`e4da*@Pw_(LNlALIg)8Z`?U~4Y(fA7Xlo6GR zFI{^Ttjm{)*yUtuAc8(#DdCY3{&4?FH^O0?LH%?AZEU=3K9MGfAZ80Ewf@VG?Xg{& z%^y66Hl{(@9~fgL_}gg#=H70n5X%O)w!zwclZg$_)VH_%nTo!-_V?fC zY(I}>451I=*J{t4?-F8ai;b&Q}pMT@7r zt|#ogl~5r9de%S%LKx$L6(7Vyh-o$;BU3Y4Z@2mujxXvz!R4J)QC@KJuBTsfdb#$W zNL3HoF)#68XaTOrTZ6P1f!u=-FyDks4}SGmmPNFq>c!1Su?An+Mog>oY@}Q}T&(>h zlL-Xn@poF7)1P(|=81hdxH8icn(mWwm!LluH8z{wY&jocf8BK)=#$174Zvvt6GPOP zP-aTumx+ak3qd7Azh-N)pHg_VMzQ?7v%h&YWy&Fyo#kD8#9s--FIy}~enIp=dddkT zGBJr5VPm(*tju+X@~Dln8`?g3-<8x{^$Xn$zL4LsD3x)=Y6KQ9Z7-|4g&L}B180(N zh-W6XUgUv^sXA6KrhS07`3NS!?|ORhYY-9d#IDjOj&>0G;RPEXsenBU0t3;qW(fKW zqpS7wSlIgYymxC_0JY?27A9=<%JbW=mihC7|7CA%!LanM_YYZCLE+>^@pmTSIq7iW z8Uj2avQZKd{%O#G+I-c8be;-QZDl&3>=et|D|=Q!NE%#6WD55BLLl!f`kXQD+?T@%}MVZxW;Qz-}tR=kmnjSf|EkLzO!R(`lVt_Yp9kNr&FS$&Vf6J-Rkja6K?TKjxxf>KhM!J9hK4vH8i4_VT5+jPmC) z4WjYeaL98mlPI%))oNLo7kR>kfL)&P!3b6b>B^6XCj)C%@5$Fap7S`_LNj>~N4W** z#)YxRaaON%?UgiVy1Z4--&Te_F=SC;fx=1m$11=R8BZP}3F0+@?u#WnZlj#63>o3h z1C{-Ee}hFBR1C<#-h?3e1_-FiBbpkRw27(_NE>rZVBoy)eJvb)`KM_(DP3|KrY;qzYJj*!$tMj^xppJ<6IWeVvH>2-yST4at9*#<#(XM%;p)o``A#D|q zHAv;!Tgfi|lV5w|`Jz06!FLYcp}p(n56?9oow9EOJ(in z?b*kxbM~tT@Qx=x8|z;(NdBOgop<>+>PNG?CqzX|T>ak1_c)B$dv|NvaxTP~kQrPo zS$Zr~QAQ^VJ9sm6*~@olU>l_%>(!cM0g<42^y%3(F0@&r7nil-qo0*M*$o;oyQ zp$oY`JQZv5T0Yf@LeJQWMcmEsxFy4i*6T3Dl8)2_!xt+EBLnk1Wp-E`3ILWHh-J~N zlb0-{Ha@G>uM?!~N_}vW<|X(tTzLf99G>MNh`B63vpODXiMZ#AET3b|P)eO4e`O)y zb`@KRSuqH!Ak7Ld$S@~`4lmFDb#UPwM9Q3cDY_YQB;FKyA~)~yy?7;sGQ7vm4LjUf z*f>TR05Dv^9{keXy0>-eJq7J^u88M(G810TSsQKfkh9S1_Rxlo@>mc?Npo-McrjJ- zRQX*N6@>_K`ZCIo`SBy7Gi+eFgd=tgviYvC$Hj@!%m2glcN6IV_cpDkP0}AR^UYEH zl!Hp*6`C&q;t#n9i|ZLrcg&oH-jweIdw+RnoLczv<2XPePZH%3L{TGX>`TMUKc?t` zLF8Y^L6zk5=-IbDuXj3f-n+Ke{F-RveYItO<-Ul+8EI!`x#m13gl0%ePeXQOW-O<$ z37<~I8g+@sv1MoSKuZpn!?9ADCd*1@5JO}*_6N(lk(<<)VouYtP9NtB6!z}ahy|VQ zOh4PD`QG-LIHQa_Dbfp~kjf?K_L^*Xo>)PG#F`IK&!ZI%G@k{vD|Wsi0*aV*3v{JQ ziWL*c=@!)LbIo|a)XuNwSOZ&98d;0j7qq|toh*pDfZ5Q5_Oc|3TTYL(^U!T|Q z(f$RIZbP;l&!0hNf#M@Zz{Kk=G`Z7w5&E%e)hcTaX;Qr&FY+~!6h}-il}PBzEIn_M z3>Jzb!zQ@kHcbuvW{7%|DHi>`^kcpZ5Z=vlzDDx{9r%#aQW!X*0xOJvMizGGuG6|Y zx<-%`=MGBIpC-F2V@wIT+NFONFG)}c|2!fS8K^?Hh(o+2nl?65#Cz}PWCZ|$*}A8y zc)SY^22!|pKOdeOI==xg8{6gNf`^y|otid+>y=z`DQv(6x@)-q)OertqBrW+>-aFL z=HZL8VOl;-qV0QE{yA_Sw@76=M2E;XCv?Z-TMV$C_JXvJSHE%~MX(j?&< ze|9Z-<|Iw5uobXlU!}l=dtS8R>81WF#%$(IV)Z&VV5CWMH1!yG*WzhW8}<vgP>YT{olh2tztma?m8AAhWHLawgDY=gsLo(k`Y zcs+WTPY!q$MYZT~Y$5eV3ynB{Aw?FWm*=&oR>Y+XI@dV>HDY@>8WJI`9f4bR96j4kxKU~%PL2-BisV&q5Z{>l)MSI7G%;{ zByI=alh$_m?l19bK$#Fj4Ax-M3U}V^=vRT79>tqPov05c4mP^j>>?S&}fp*q|gl1k?FTq7DG5b7318n0yq^N;Zz`7?)A|mHZ5aqh(zuPuQ_YV0>FG{JlE{aQN7VCL z&KuLW<1Bz^1nOavYqOX4B&y`gKv1NLGIF;-#TuL>D2v#I*Uk>G~IR+-dKQk8_; zo_d#Q~#TQ0(mUBwOc!Mwg=0CfwO%< zW=LB&Lo?CuT#o8|={UOX9{Y|e@p?72^w-kgCtVlL`iW#Qf(N*9_^9_cHrj?dVL$R} z!FE~g7p(cka*Od|V`c7UVc65|V_gY&6$yQasx#JFQ}uVK=MFrrJ$rR!~FBVwAdW?bvK$Q8XOR)=LG0L~W{#-}b&s}$Jzwb??hoaDf z&CD+$fpMOeriN%qVZvjr|C6Hg&Z|SK`#HhqcX`G0HUjrT%)i~493d^w2(>KfeIYX= zEz_ETH@bu+Q#qKbbk$C1_y^KB&AskwX(!La-f5?oZGQb>tz+>%2Y!iQvum>X*R0oo6$AIW7 ze&kuyox|w=M{lGm^zB{?>ZDPr~cQhT(n3|-`;er;fI(NOw^SJW71(m{4PTx7U%qW=k^O~hiy^)vsVb#oTSg6R%kFB+~F1^g}gTCRlk#N zm}D(^Sp}n~5O~+P1=1At$qux&Ul4z5Q|TB-lZEnI zIe)VW$4JGMtcrHrF#C)GPty*=x?5#MI4B&)F-yYLU>x7mQ9Bbj&*|1Oe3RW0HM4jG zF6MXF5N7b8YVmFfkMNfk_73cM@t^H0*R}Zf^`Xg*L@yU-2l}uzfKleW*{o&CtYmGd zyv>ub`Bw^YFBkfrwArCgCm=twZ}69fJ^##5_@Hd{GvV6^6vNh`A{@?sqb$#uk&f++ zPEtd^H+6Z_(e>-2DQSDErN=r%;-b`)mmlDVtm(X&Q-$Z_^b`DfqPL1`YdP(>SoT07 z!??NpIq|HqgzN&VFyvyh@9&iv`#NGf=dI3Zf8fgXgRc==))er++V&C%I+FA~)s1dt zf?74zV(;>nb?{=r`USs%6P5K59;b{?GkI53&@U1-RShmH3iWKgLJ>H;i}ei73LAOV zY42lF6bQ8?%NJAYuN+tv2AJeqRdDZn-!2^||7Ia~kdf6?MtW}B@OnyI3LuO9p}VH;as-wme4^B;w?1sZ4<> zi9eIPvoxN1B;ISn`?L88__W5#=cKbdQ->HqHY`AbXjSwI>sa4tjXu2ulRF3JE~V4@ z(JB|UjG#;XUU)vgjzh3{U-jr^C~5Vy^I^7<>PJTn&T)BT{-JC0{UaeCyPGSY{9}I` zmh%?YG-p@rrjgj?h-DZouVplh?FzBu zb&-lAQk{5%J3~3xI9<5mMjH^qpJtnAd#*xNDyn3&i;xfJ#6K;;B@qKJyxLXRl@*z)djL+X@PaUXkBWxX}-L#%NJD}XWm}}O-bhKHAk_zl%F|p zaK7Ajzy8qdv#FM5N$I+N@{auYwarrsuY|zMFvUHQ{t(m=zMQnDPmW>nxo>VF72}$j zYg1%BgF~NjLf;l`R>#bFwO^!3J_7Tbkltya$faaKw|TY^=;3^W-!l4#t!}3Cxs*9S zYb#nL z#Zz#z_=tK|->hunoG#njiLZ608Q=W(I%*v51^Rl3X(tFu!_M-KEcT|?l}yx~I-Pe> zbFu2o2lM8ZPpK`r=N7eeyjmYREt>Ec&^EPrec8&Gph}Pm`O+9n;yacPl7x zOAMOXcACj<9D`=1`KkuP=d{Oax-pjx4sYj&qonN9h9xfQ@N)bLHYh&j>4&>)r@4!| zDZiwC<}uRjW&JUMqdonBI@|lW^;l~X`Ga@0J?6vDT+1=W?zicC#GiHu^1YQg_&lJb zn2x?Uy#3DN85Hqs-QQ<8TRN)+| za#Vqri-y-n^LV}G0-pos-D9D>jW@dsjX=h{JM8JI@2(oZq@Evh zbFHc@5C3dBqwNURX3*uRZEHEWxxJ_<`wB8&yONiysI{Jyt4`ErF>7*J_fb5{HUJC` zHmIr9b>D6Jc(dc?&2TR27Y=huPPD8u>A9?iiqO-3F*yZq4B6S*&LEZmC{A}jPcu@k zD%j*--&t9>K04gwve;^>$DFIi<+syH5AgdqORCjXGIta+W)PJHzW(e@{>?+|pdgd1 zFgW>2(qx?I$Vvf*gX<&j-|(h(RF*+%i1IMc48@w8PfFbzuh(pIASp{i+25q_&3Ky-@FfG3yYZ_5H|Gj+9yUr?zs$q6iUV#FN2!x-|Y;--U!QGF-?YXeR z)@FG_tY|WV+DsUNpMqutH>5Se+hj=Qa#w`sYPV9{;A|!&hXz~3D23FxHG%&WhOExe zO*&hCzheBSM(2dYJP;E;vsfdfj{$j#2<9|AeJZB=ofgI_W@^K8!#Wg@45;Eg6jgyM z%RFc$3@$&5)+n!($|yBkq&|-)V6)(v5!=CmOH^6|qH3t6>R^62_Nb^|QZKkSsp2-> zUJy1%2osEs5DnL+?^{We%0c&uJcV;kN!hZs6@+QHDoddJ-hpDbBNp_u#z-P$5-w|b zmNI|u(dF*xtOPEigjkhB`wXJm!(OTO$HO#OOY~xPsa+w}#B}pT3QqkwcouNjnkP z`9IS`s1h(`l^C5=q!&?eNT2?VvqncGB4*{M4~arf4*JB6NW2!O7#57;Ei1X%mIYR4 z#Gqm}%yW)raAUCRdu%1h8@c!^&C&(+Zf^P0X`?v?sx?Eco72c~k$7%z_^4gfsS55* zl|L0zC%T7HrXB~y|Bt7446m$tzJ_C46HjbgC$@FsWMbQzU}D?$~*F{<00-fWa$(~hS#1<D{$G4^pV1fj>O;w5sulOII&&n3BH6){Uj6UXuqePSr>gDQ&^a@U<%;Nv0^Nzz zQnroEq-BhX%BG=qQl&VVtF;RIfx$Ls~JuB^VxN4Ce|RaI`QseQX~E@74z z^1ccOP-vL~PVlXEpofTr-0v{X8K1dtNA>%1&3;Mu$uL%>HCUy%9r5oOT+_w}Rn2mU zrx0`FlxVpP z#)pCGf!@F?y6tid+c-_>vg2q$(5ccRDeDHqrr88O)_zZLz;Gx>62U)LE3MnY&>nxD z?}svlnZylUHsikBV)U+`$kE{aApWPsxjNg=1yOX4WI%S!a zLH`k@LL83fybdgKu6p6S&Ywf|e-%RlE?ue?XcPImSl1Smq$Vtwnz#t9o0uC7N+nI+ ztV)}eiZPAan3xZEB!~OThitShUNhsUz#Ka|(87(^X^@qkRR_V+z#tnOc+QJ{UZ1%qlO(`>+s$u@~gHg>0uL;SdrO`>3 zq`SLyG9%NqN`r9{SJ{4CeZ>N0m*ATKj8Dj+A~OcF-|$a~#dLeVsEZpA{hE_@C8)F= zuu$b809F_m%e#qLanp{t*G=Cdq!5x-8x~Y)2E>1}Pjms&yOAB>dG*B!i<^}&cA0(= zFc5q6y}4wpnvlOyA^5=5kJ!CR7t*~p7-Y@%Cz8krlLsEdPh%s=>b8+|Ttyl1Md#Tb z+3XiBo>(cfqV#aEjW#1Yg?~#kr|8HWYD-a7FD!boI6$HIQ%pt@E%~6Zrv8D}8AQ?J z5c_R*YF5c+wy`G*;eF}tGUljBh{JXTizw5>$)jDFQ${T3(Zr{8IN_QL&-FvK0~;5y zim+4ba6%rOU!x!`K|;5xT^r{1<|(u|9(x}vvK%Lh;jt9qp!9#y@A7{qlJ+bbPH@Nr zXiG~AY&6?oR%;3TNHTma@1|+T<^RP#27R;{8gSej;-=pKO@iYO_78DxS*3;ST)Se6 zf5eIO=zo-h@hH$BVM$Rp8+pa9G~3jyDmHVTMsW4Saj_LoJtGH~p;ec;EffjGsd@n-{Un%n1GVnwyJMm?Wxt1Al~ zc)kqW6Uk&kon`7T`SzPXMF&xHUSeq(P2Kg;USh7J-vD=?>9*b$K9f|^Me+%Z>Ad1} z5IC~a=BvLNSLFOg$-+6p*{*+dQH9B{W1_x>{ljm*%yz@Ns0^g3!-qeor)JJ!`eRtk zQ%H^{mLqTKJrX8x{qU3iQ=W-}R8eri-+TA1awjX*%(sEpvzhD!fbHo7?Y4^2o!ch` z^?Zkc@74FGJN1da?yNh}+-dLfnR#NoAgCQ2-}zcq6}LZ1IIbVZwzI)gq867_NK7@z z=yKP+vxx3tgYes&52`8CdmrGi+5(x3pj+!vr{>QZ9~9;i0ul?B7;i$6K0|>S)#l#@ zhm+GSw+JCa*w3=K@V6KT+XkLXx~q$>&u_1mxB98L7Oe562I{q3CX$DfB?=;0ho}oK zsQJC3$r$<|*<9M%Xm}9X8w3n~5NnEI|4h1~9#OI5Z;`s`Va_vy!wm=Php_GWa4Ez#JVk2a#VP+4DlGrTzD##(}<1+1MSPEzx*HvQxf0ee%LK&`?0?$$d z3>qXa5ZKW7hB~s7*6bN>{rviDyI33DTVemoOJ=N08QD(?sl|W`!Ri4sTAj>mt&aOi zySLMNO96UfCWt$1I;u=)MPO$!6`O|DE0T%wzBlUJcTRAz_!aW-&;P9SM$^l`GTL*( z<00e*jl>)AXEgyH!@;MmfrD?==Riu~)UtJjFggZXrQ{+NStA@-ycm`wK<@SuAINsH zF;}x%aV&~9v|;OIn{skQHSf~?7kX1%+hT)^$!OAC&$tzTHi#~TP`aTY7&GohDg z`_i)Ac{lI!#2^rQ+W{j;JB=Cm(plqpW*odtCz zVWa5p+n3ke2E<{fi-l=Tno2pch|Nil%gA_1a0}Nwx5pZ>$z`hA-pi!tk{>c%GhMfE z&WhR+jo#K2+sj^UkL(PGxCbO@A_YZ)3>|0lf-!7v4@)_Fm6SLx2?MbxdIfVs#?3V8 z_qOFz=Ry>D0keHCejo5KP^{J3Zer`w;M4q_W^5KtMxrb+G%`&R^mT6$iGFLGTuLEe z760Su=Vbqnr(em;VEzUiEn4i1U+rQYqX8;1e}Q7;ppmPNjA}e9F11=i%iuBT^PPl& z1B{*BQ4joxfL!w6wSv0I9@YtCPA_wsii5>?dEhDi!oM)!f{bZrYppA{R({+UTQ-!YBJVj)tP;t>5aa9$YqWVI13F<|}m!VJ?5CrS$z;w!F|Z3iX( zivHvCd)dcRKegXh=q{|%8{W+&>h4;e=hNDi5^9Ga1R|>MPS}s{FCPp3Eg!v7i@R<` z&wYX2w1^vx&0=%6P5Gma)e5}^RxBwaZ%v;4eoW4FbN}X<#qiL#N6fnXotMnb=z@u{=LHk zlKJg#`epLMrEs@e;D}uaHzor=ZK5bOk(4FE^rh5fe|eaNZ$a?Z))P}lCTh;-7AnKh zmr7dNPxq4}eGka3_l`KB*PFQPiL%e<-Mr3csNU?yVWyp}t?7CK$ki>dt6YdK{ZbNK6YlWw$q-%=433R?*Un<@& zSGW9gX6Aq&HGT5+;QTK0wk+j+1T_2Jit+=blF&N*aWZyuJzJ8H_lSC{pqKkz)GnCf zzcls`wC{cS;Z0S>W3Ak1O%$#_W?NUFIRiStw|dQ^$T(h#6ZU;L$)A zy+rXs<`g)cmKuax|0Y1BFmZCE(mL<87?V?sjUgiP^%2LiOLWI(1knad1FgRu>ZNpZ zW+D3qt1M7n+wz>KoP#0>F>w>ac}|Wn1mu{>yI&bCffdJ5Mx)d@#gB=NAF&_g=!Ge; zBK?xD=@Scq=Fm3#>n%7zwv<=a>*Qx?#yY4v&Pul>BMvYP6K7%s%NE+x>1~0nyJDMY ziY27RyQVnO0xX?8vE%Lwes6z(WB&O3g)EcLUeN|)dxNx01)chzh`N#3?_FX#NcgqsA6O>)2|I+m_Gc;$rssNfS{hI|@wJBu1*qvJN&@p*%tG_bXwt)JSfj;ulf zgu03-XaFqIPr5zWz_s`)F%L(>x6Yp|r$pI6){l-Ow%cZqL_DpgqLus46mb1qJ%M!a zf#qq-4#7D7`NG4N3i3Vc$;tT)Rs%1k1$jGQ8;NSQ;=F=Sotw;T@k2)}Y2`)$^2a=uXnb!N$eJ$uQsvc!Z2`p9WB?8Q$G zqV=<&mciW4H~fD+*x7X#u%&4=%dATQ-!;-ZA!RD+JuM!gvuS5w%rMUula&3nl`a)dF{^@ByR=J*DQM*`lW?y-*TATE~Pu51| zdN}Vs{&k;Zhrh9C-y>;NSdg5n#y5T`3%>Nh5#eRQiGBom!DFa>?NG84F`f6d} z$V%5vB+X6$Z9UOFx;XugY3ZQO64iNXOm1Dt;Pe`u7KRUas&*4+qEdD& zr*F6I1>~DR{#sGv*{}E2Z*sU<;m4K- zII$^AEc}V*(On>x&Z-dn9@&vwK^?6rK}7o=?df6YV81&!sQG$Stt-;|O8`|obn$Gp z<#~_mQb;Cz$))gyQuAt0`dqW?^ODW}{8b6@ljyBBZPck5q#w_zdBU*(?`J~ggQAw@ zqP@<#lpx8FVLw2Ouhr;9Fezj_=j-P?g44lO)|B@zt=;zV^|AAE9Muh3)gI`lQIBAG zV&)oE_(D)CNMNb!SwkG^Osx1KqXfEdSyPVd&vQWT%v)w#Qu{$1H55lJ9W<@Gke5;! zsnGe0&(;l+Wvxc%f>d`ABIncGi`nhx!?{`Y9}fu)ez4vV0mYx*3`9bCEY`BcRX}W= z(Oh=$J`}3Jn&x2P*Mdj(6}}4xKnmjTTS2Sb2kJ2We25F5rSP(fkBo-bz} zHh|+oOD{EX6fnQ;tLMXKPGx8>5F6PZw|Ej#d+Q%yz*YeeZy06=CD6AJ3$;~x=>SHm z-399?`0VV$mgODN4dBcn?eTa>PH${x!b4kb*_ZeH8_0e{s_>D}0R+`W{eosGKeCR3JW zxplg$GrzdA?|bukjqfZs-7BS^&wor@MQUq0aQ`RC)5STfikWFi zJ(@r6{cD?Z`J62F%Ul%J>^ylJ0N4ZYbT|5G(;+O4rYe&)Q{}ht{#g zchQrU7XjQJ3S!L$o9EH%4|c5LT-Tiks`jnH&8uMvl($QJ7iiyAfgd9O)IN^vtgZFWiDqZ>1Xl9x)X$OaagW`Y|zos9Ih3c1Hi!8gSX9(1L!wN@=UF_I#O!cea_gT$@X6n{8|M!F>_t}uo~s0hW)dj{xg%qq^Lb*il*;fXEk0b|9iKQ$cCBL z%Hrh3rSUw0eR<-woA+4%9}AtV6}}HXi>*sbKDR&z$GuIe&|5*@OB{KR4Q9SA`Yk4* zd)M0Y&h>p6!(}a@L`KOrPo-Dw%Kpor4ZI#!&k#N5)8sS3r<+5r5s>ZWN+bZxtBsqg ztA<>~)XsgPB_x<+@V*dASQEd*tPrfnL0*93CBA@pONb`rZTj6un+JW)ZnwQP`|tw0 zwC)Mk%Grm}5ic9x8tcd65-ZLgRil8*~OJqCQp6V1eQih=XBpX-;LHo zeB5wEGn2(V$zx{c))tJ|BNbBdkdwDp^~aA@@cYFw51LI5wDAXVeE6SxZLX$Mt#@2`h2fs|M|GLg{-;n2`J3rlXiBh z@FsQp@aaO9>cen2=(OE`h*dw)Ik4ZmFx1+Sb=!IZUKgI}>Hm1%XLdRE*e@e08*1m% zloQ&Q>{0(LtNQ!<`$tF^BE!>PB}n&O3mv1pjmYDcu=wEaGM!DQuB`3*pscGP zRomg06Z(#@TJ8at7KzgvZhlcI?h8>V)RT#a55by`&CtW`*Ka=KS;2jsK%r9&#ycvw zh@Wv-@Izmv2Kv=;$1D_bsNC1&vWHzFJFj-3FT1kQ$8E_I=cMeOLuI*m(tVH4!m$FD zCiTquGXf9hnXXIcQQb_H5#O~n-_hUUAmcnKvX8**W(m9afE58RVWb}2B9F0jZY`A= z30J`P-x@Tq%Mxr?u|jcbU|s8x@0E+SIM$-q)1)h@YnVNz=d+uk-}j=C_hyKm3qI?+ zlo$pdLT3Fo9@Ff7@cJ6~Pd}X*{e>)EtQm@{?oroHG;wDCx-0)?sPYkhY}E&lX3A$y z{-s2T2U3iZ&tBg)Yk^S1sY~h!)t;fZ8~}MKx=jXy82343C6~E}KaG&KL#5Df4j!~M z2PlA=Mgs5_56b9Zu_NBM*=9h~#aaFWi{RddhMgoyzbtoJI1&LI%ko@=qQ}Hq@TWQW z)>nSGo=!YBHa9NyrlWa5YgYLXFNOzYcox0%JF^0c?2z)BcHDTx%A*5BrK<~AEn1R* z8!fkj&$Ze_vB`CW{ob+`jT6lkCi`<>6W<3e$031t*%|aFT^zIy<^l|5v#X%I*KSsF zNF^h9pU0NL*4u);^0ynUt}<)J%JsH)*q#&8XIk8gogZK2YW{?{odCZ-t3Xtae%Xr*RdkTs})}ix56kYUERj$VvcvV$@L6pK6d0b@@VqBPc zGMRxOLwF(#kF0gi)uZ4mZYE?7l1`K6pw-%EQI?7yR3ea zgV+80POd0(+Ok4jTIzVn;16Y$*Fe5ZLVsZGP zy}tdjTH%eM?I79!q>(VRJeBiUU3OFtBf_)>x+dj=@^1l-%s~8qX+dZRnVX_?4RWlO znW6>#j;Ej@V#X9FI11ln$47s-cSSm`aCwwqRSXNS;cTSm^DNojZMp|G>ZaxLa1qPa z^>f1cNZyklWU@};{U)dpqd*1v#v(Vy)lD5w#qnDF$bv^MWl4ME5nf^oj}MPi*@CJh zNv~m7c12YC2765_!g`;$>@OrCRecN(xg^{6MtWI+jtjh&=#T^{Oi?*dm^6{4oVgBc9(W`#H9riXj~ z7oXBa&!w!SVP^2{4is3u9<%{40wO#P+kp-&NcoqlDU@(TgKuu+DJ!b$>O*^kS~w6J zf-Vk62S-kDP%9Zeif){L|H}qvfpVNNe-hMBx`*t~PVksY8M5FDZy1vc}bK1;4s!m$B8h$-NOg zJx@U~WsW$EDKbbq&MWEf=vSFw5jcZvE zrh&+eAB+%sWB>;UNyJ7shTvOle48RIJHzsC_omT22nGp0GXl?ZCoNg4 zNmYf1A6^NjgfAdm^<~T{g*o#7Mk4aD>|ScB2`!hM5JB<=JCr86Ow@n7R-Y^_#bAG$ z94~h2yfYGCvu1>fMCeXbc5U@2Ne@`IB~$S-Pc|o=btWwRsSZo|!tuBHf97qL$H$|layG1MZO&%G47b%1+BM6BQ zYMU>N7N*nb9$7!(s~L}zDm?l~X4_|AA>q_>aSxBwCtV57k*7y1tV!{{ss*S@`q@9HS|$x6 zT7XZ#bs4qeu~J=ZSx3OSBP_@gE0d6<6|;3LKTA|=&114O1dcve0zdh)lD1iY@;wqL z_p;G==_&G@jqBEfs0bjXub6de;@q^KTn|q$%O}4*HT>&o#>T*z9FfE#)h@-4*Xnr_eaLl~x<^E!F)q^=crCeoA$ln#mO(!ABvnm{bUtga2`1k&8Yk$CGp{)4)R7Pr6ys1vx)a_* z7ej|VoQ4}Z%@OB!PPC%3rP?Nzw>_koF&nlz zP+O#pRkH^wmSZtm=gAPSS^*v!AYuk2CS8!y<^7SauB+|0Xfp53e<`+EC&%nBpq1%L zAq-Xg*{W?$UZtDC;ixi&g)X9?8q9>pbFoE@1OrgF_3j6%EhUWWYc$TDtGd9&$1~Q^_+WP@~Oakf@{0t5y`O%Nm=Am(?J)**9LT z7>g6bD=~0&knj}Xuq{wf`&GoC8F;N)7C}|ZrzT35?7ufB6H3u2a>a{;UHfe->wB#V z7uj})q(f0LrWhm2jJ}M>^r_vMVK=QJbVCA)_hq=a;mt$oXcYyb`<>9@b@YZq3hBO| zG}G$9StVcd&KpC437YN>;nT3C!|_l5W7E+QgcfLB)j`KV=X3gNG)N``8Dop$Gl>k( zC~Z?0zB{mWxQ`myG#PBpBe3*fISVY9*1)O~neJy?9*@R^?pJyPSZ1Z! zD1RV}6&qMEsesXh<-cVekJ*$8)avbkbnx&wty?>&e~W`zAPzZ4_>oJ{bsK*%PEwBvc^wV)i+xEA}+>|L={{RTfmy z>Wn-@8g5k2{)t}BAH3vFI* z6Yyrkm5Ck|5648Q=VD;hze>*90a-*QhNb)IHfALibJ$(zOm~Mu(q_Z}og^d@@p)zn zq9J6VX*-^=K$9w8jp*ZM9&r%YJ%bDVC0~OF1R7SXq8E7`3E$uusDium{L(`Z8RD1H z?uA{*y3vp$@4juMllsroDbL~t`dN<@HK~lRQ<4=CH$A^Avn4mK65Th}7|m3HSPI0b z?YWbL{Zcv5$^q~0G%RN2AA*$pLN zz?Q)%r^X&`{~WGn?cv7zE4D=NT~mKViv1OgiD(HF#=pj-B5nr5&|}f4Lo`mQcz8bs zC9tK)Q~%;>qGc)P8C|!oNsuNW%2m>vAIyP?i|A1-qm(cv*#m=}A|V<7;<1MWvO_zz zS$Od$R8I1{E{)c=S5ewzr7d-oI$y0yVp8CAvIM@1Pms*Q(@1$4|AH+DzcUo|V-Yd> zI~99BD%A3!Kf-6<^5*jCwC5BoM0-Gx=leJQIOY0bG|lzE3Gy>rH)ekXr;FO2fOjXR0J@HN*aop`iM)qK4AY_7fyoQEeYKI z%9N$d_u$<(U4+5mFqxw*+uF)Zq5d)a{(T={V2Ss)p~l&S**o@m^Sw!sz@atdVu$!o z6t_|&s&Xj#cc#6lJBKcS{kBpEM%7u1zwcPw!!a!HP+!PZ$gR|!z|j_6ewo4+y%6gA zS6a)#+4o=7QeB^iuRm-F|M|ZzE=o(C_}xBBMfs&zTM;qMhOf-mlr;sqIQ1SV%hgqR z8@_@XEYvj^Mzz+pl2B5gH#2J!t5ssy1ljki;V{g-u9Cs6jaV>~X%ypi%cfnGVyu`r z9&y%Qzqf~04~Ce^TW*bdyjGob#)uupsC%MgTaDbLq{zJMrpW;p9vwVHWUo$M0^sXD zLv)qw@7G?F{-)|JJRGdLC0f@?u{yY5K)23%gRNa0GFL=vPVfPU*k4g~?v~e8Z>eZJ zB^ppB0M5ETd3gnKi#eTfCuk!!*SmQF7v?f*DONMLd)0?~;$4sB8*&m@_ra%7v&C_PGeoOsfFqvx5#K^%_U6a{MA67*3OL@t7 zqy3g1BhDpDOXrA@rqm$g z@J2axgSMR0F`scg?oYZZS$h7g{h%?9h1vTpi!yidR&^)(%q!yQ6tbR`%AWG<-|9C_ z!phmhHfSaS=@mY{Oz&ku^Ye4{kI8*ZV8BEB&zv_NM=aPcrI~Pmr`R7UlCOdjVBWdK&4&esgQ52%)t4o=V>3? ze~|YpGlN3TRl~&cjS?}e6#oPyf9Um5UldQ9Eg|k%9BOk~7`%)Ee;=OUrZqhIQ`E)? z3+I*NWKrrN?Hl0Oel_eQEA!Cfbvigz+&*`~FHi~Wf`?qxxWU|NMTX_)yL)iwA=kaq zzPbb9hr!5Asya93N0IV3=-J27fZ5UCu+}`kTrF)foipcyRw2{M4g{`PtYXaFR^2wz z7B*`Og=g#f0>CZ|k!`W;bqlEH(BbGIZKjo!BMTx4T&ORG36`0W$93RV;FnxhZ?Q$e9g zWZ$gWH;qQcHxte^RIW7kpetmRJm-KI9aY?k8m>ZsAONz+lj4KH$M1%9yXK~0W*Lc^! zgfLciKZNn%nEMdJxF$_I7V!Y~eDwv%gQ%!{5Ytm2WE!vtmqLswGcq{`#QtGj8+>x^ zoa>KPV3+OF>*l zo+>E#;-RZUYzu~e{|wEom?6|!o1u@tCQU#aw1Q;QsZ{6%s%9MnNZIc%Gg!9+sF#n_ zAg9OVffk8!AnV|aQ~~?k6~AtTjK0>?*^tBQJ9lfg=r)_h)9yldqIo+3jid@_^FcOr zFP-OBbJabB~QiIcY96G{RrS_whzi{=Uy&7boILRzDGbo>VKR&m~Sx zl&>mXwOJHp=+*IGfvG8+U`t7cj9E>Vc>7$H8E~?=Bb9Y$&V;lchisd0 zVcSNW-M$siW%RguEP&XTWaVfe%fos(SA*0QD@*0&{*9qEwN)wiHEPN{vIU)9fNV3) zN(R!v({h{$lXh$p$J69A161gHKUBsx-3rsynb^;+mVjgIQT2xH1lTGU8dg^OO+6Be zCGxMf)u?p1x^C@MO)=~%u3oZ*9tBl&CapW3KI}zJ0T6d@9#cHRpt;#%J2iGqd9&P9 zKYNK4c%$yr!^~z+RuV_u;sx`Z)YxbrahE%@nNHiLZi9V zi%B0*I$p&2c=hE+nU*lg#aZVAh-$2y(pJ?v9!orZrDtYqO`3B0pukK}3e^^tP6IcN z2{Ak780YW@i+(W4*67DnF6K!tr=uEhR(zVGqaS-Z;i@JtIf1)SWFlQz`_TC3{Qd`lhYRxh*H zN^A(O#H950c<|Ikzj`JpM1oFuG*Iru2$x#L&Vn)rqxQOhZ(N}u(x2GLOrCQISYNMAWV18?s z24@BT-OFRJK4-<1zh0Rs6v$?&480CwTuf1%?1BkAm@z$s$@D6&1&XdvmO3ybUF-ate-tt2w;A&1*9xCw=-0EFxC7%Gso5X0{uFHV{Yy7;}F~^40+iQfxk)Q zXqTg?=H-X$7ys0}?G8}tOW=Oa{Ps@fYQn05`Q@3qC6!P;uj(twSDSL2B55MVO>l-= zF@`|DlK0|-dB8!)FDBz=M7Q&0ouNXfUd5)MakTjJY)G6gDNpyLRi;rlV|#r=Tfjcl zfc)Wjv0|*wId17-?A+a#8XjaSI@Z|Y(;Bk#?(?+x?m%7V#90W1EB*ksjC2#^Pp#gf zuR-?G?zZ^$)0OKQ)o}zMRh$dZi@Lmx`0&0=r~G?%YX2d`Ar?!;{P;LC9F>Os@%UoH z0sHyF=))C3uM{v{mEP&mCuhNJGGlpZq*2gpwd3;%`ZoG_Mf=-l_&(RN0Y=X!2c}N8R2)v5FzdR^OD>n=BYE+-sJd)uNV1Q&vx&K)<~4! zahhgc*=7gN2F1wZ+zyjN z1^-tyTtU26i1&fXZ;fXF+v}|YKSu{tgtCpZkFA{RFui%FnDKO~%kq+TY=h~#xhXQI zZ&48egd;S2yXzX)&X6yIDzqD)T8IN%GY5?j&|t;Ne3r5kQ0#H{{C<{r-NPtWZP%K{ zbtQgf4tQ-&kWYJ_8$$-uv|G1+M0aXu-q+p0fMJ>Oi}ph)XX|$|1RzExqn3hpsk z(UbxUgkb8_Mhf%#Gdi+|dC$Gnmo@|q4GAX+&B^O!fJw}+uH}AX)OF5`%l-+w>pa{) zDS-Fk(*b&w4J@SV{$@{)#Yss_Y8CRfwfgttgRN$@-luzOQZ#UWrdI<87rQNL4QY3_ zB{_mqTP}$$>h8T&2IP9*mQ6+n2EKQ0lyaN(={MG!0cO{lgZ(SThZi-&N6Ms@(#m4C z^1Sk$E=eg%a6$zlv~R%9hW2wy@OB=hp(a3UU7tG6V_Bb3tKMg|zSFDJ?)vj6_ugK% zSG&bU1Pr=4IP??uSo90nMaGB6kBcaJJLfW8%4z+Ro?=;6;YIJuk*b&afT^iadD z#ooDj91wOMJkC$iE!adXY%uGV+k{plvII z#2fymxY%D(h5z|F!UZo+%UdZEeC#(W{cV4eey@yIS3vs!y20$_idqT67za~jfb`+- z@nUSCFZd9F*K3Ws+V7T|7IfW|S>DTvW3lI?Y>Vac^&mqb5uKk;PafEcVF{ntZ-e=ny07qwU|rU|k>VM;93$^H#bgziz}J*czz00Ks}g+h%;P(bvN> zVw{@w74b#(4`5?xy6Xv2Dz5(xSA+4hJe1sQx_2I`2ogyax7|4DMdqKxq}l8Re?$9W zveAaN>%$nv_Bz8KhdM2WJ$n}h-hf@UR$rm?F-dL*hp(b|G&>|oigic4=G_2{Y!u+~ zuqkqGAP#DYsRivg=VtajhvR$n_p^nd9oBBxqcTQiW4LxQEem00lN-dbE)RhThmFUKx*vTDyM-O(~gU9K{uu z_lr!{r=cWD$ETLxa*_nXkPPOWGRh5gX2;PgTc(>jcrA#38eWdmnb^YhxzCZWo4uE+ zDiAPvj=(0Y(h@xfb&#0B zrN2GfCITzYnwd(PqEbsT2&P+1T*MM;RSglKLUIY6Cdp!*J8t}@PdP`>-{HLMag6$j ziX3+&N@(b8O^O5(0Kj>XKTZ$ebzz%Td^4AOR|3uO0_FWn)ExYpg>w51g1G!1$$y+% z=e~_64~&P#2*MgdQxF9Q2^gUlXDcl6J0&kE6BKy+eB>DEA`v%0^2SSte#vaWIy#7L z9<**-T2QcPKppYutgYS5ucFU zM*Jri@b`zfhhMW#w-O=boAd~YdW@;})o{id%YrC+1<3MNFiC+s^0WX%S<;Kc#(00SQ!;kSfAgqWsQ~&(?Ku&N?DSao+9>Yx{`? z)zGC?hObn1xkAB>blH)9$?67$-E|WFk)H6G_z-wM$n$?q+lk{A|723EsY0!%*X(>D z;-lLDTyLlFci)4`&4A-KiDf}jk00~wH&Cl{=OqE1>U_v{64jJeCXSqr3IUf!k7n*%>179k!;6d{yPf!6*%u9xXnQimLt76P{%zd-$MsP zNoaa#KdtNTH*+WT*#*?~?Oe&{JMAsBd9l!)z-NT_- z$4QM>kU$ZLs6)V>qIE#^XJ-w3|GR&nX6GL&G0XQM@a*CbkwgQ6i=d^j7JFPCDOSPH zu%ovi8|Q_L8ujIFBwiqP;1Lu!N1b}jT0+AyWs>A2q#!icGuMJ*(G_N8D{_m+6J*P9 zX_)V}3k*|3|3Slg5yFTT2vrjRZp#*SANz|YR+%=~q(mYg!exu$(VjqiN8P=qQ(o|Q z*AA8niJrCo8PDwO4geks;`exE8hGE8YIWpM0}m#%H8XcMbZ$Eubg%eRh_C?}a)Kr8 zrGM~Tn~D-b`FY|-7sEL$C}+&k^8PS{1uc4CE#fyC0#YbMzIM3pg)TC*Ac?UP&Sd}V z>M&wi_iIr|1HF~ZNfj|YNM5|G>(vYkx|a*=Pb9uoZ~p49AWkZ95dsp~6W-MEV!@KH zlv|LFfJ#?0CUNz7z)`I;x-$=`k4IZB0?JUFJXZ{md4z>F_s<6BnZ}jBdLzT`%1|2x zK@sRw2$=|WbDKMA{Plv$gj6$Z) z^DT+GpRA)q*d%RhV=fD+q%v)hlJ50j6+G8VtxdKBdeQb$BwZZ6)0ie29?$j@+ro9U zm&B?#G(hRj3C-8RO)uY-`|U7M5cbtZO+^Z+eA3sLQv% zQuS)g#bcb7y9?N;+`M9go-7e)KFke(`hB0WXY~r?YgeZ=_Qk06v~_71w-*+8AYbRY z@>R|A9Pzo0VRrh3f6k8yIB2%`TPUdS;HKdT@q4->J|%kxJ}eQ4SM4F7C+7f2tYU5x5)i)mnyX<(MT~VztmcWRJxK~6n?wM zp(A^Poq)7gXdp*Gu6u3ZIibr}O*scoNG(gee^sMmui*K(tO~be8wMj1sNIa68E((m ze*{17T$}9^dzR#hzT(@mE%ek);4aUlkXnU(RW%1c05j#Jj>J3B#SbTkc&!Qm{c_kaJq2|@an)a*q?a_`uwmodNGJ7y9#-7q!D`0EvE)Q()Nmawo(qL2Xf-!`ge2^nu^YBKFqsKX;^! z)x@u*lM9D&U%uLk+!8ael>YcTRKsc-_V2j;)?xkb4hALypL=3!40m~kbDU?q z=cS#7E({?R%IQNgYbD~^Tw1vAFVUF-RNh*icTDhlOuI}iG@_jb+Au+7qT+~4A`{Fd z-=JbeAaczv0bm6g-=1v4tDVy%B7qMjXQ zWUM6K391z-B;s#z&L*Ses0WBhgmHZG199ukY#~lZ*9L%j=`$Y8KYEG5PI83g6^V$O zQNmF7Fynb&%~%{7axs2TG;NwuYO(dN@tc>vHtix?U2WIU&PYec@9Iu#Or^26=~Ry5 zplI0xFw{}Ip}9!U%LBovkWk6cCA`;TqhdTLM!j7QCjIzMTA0nr&wGKIhIZwxw{v|} zo4>u~pbJR}&NzN=QHL03{L*#&4kcYiPlr}wv;XJ!Fw;`ML4Fm@3p8g3JKMco%f>jI zXCU|%HXX!YQi%3Mnz0-?WM-CZ73#1@j|j{rVwK?@&e?ZsF7ITi16q-A{%XxqZKU3(wwE_#(P;E0Y1g*MEzGno*Oen7Q!YC z67eAds?^|f@$m3zM48a0KU-PUiNvnOOJ*vp+Jn(kcST3Nobh&m?D%EB)pvc_l!qZa zXSymu-$J+<5&jDE{EGz(6Zer_Q9w;hBM?hL8#!9Ysf1JEVW2J<+1Xp{>_54YVHUxI zFh*wuUqxSFQ4*Vo#U;_3KA2hHm*{_!REgyDQy*YtMg2SFa_T-Z08UjEKlfD)av*|I z`zvi4>F#_C9;}gymq^s0iG&gE3c+Fmlr$qlJ6~-fza*bwaCIyq&uLB{Lc9`r5`a!> zSE8>z%Fo}l)a+;CogfQp;*5~VA?bz{UaIFu-tT_=K57R%tcQ2>d`Gd-bbL7NLeUH( z!jYs?xec%p6&eC-wE$Tbb51IPBV&U7i#0D@4Zr!_{f$0-i4@~I{y;dmrWy6uAupEL z#NWv2ES?VqKt|1cXTU{^G7E9mQqw3F*21IE)RJ6-1@#}9YKkw|33LIX3xxitnqH7k zgjM|n=Yu{l((oD?0i*+syBcf0Vftin;Et+{Yz8!EliKPfm~GdliB*+aEZBkds8vbD z=nUkH$P?xW4xPxE{x-KZM|1(CGaA!Q%gJ(=T<2Xo0v8^8!!jRivtf{AzEF58Zuc3* z@}R~`4Wr4ZAk6B~O0}Psz_dc=<2iemZNeVbBa3#`8(|8gS5cvGJ0-GBHo!-&UPAN< z;iJ-3_eiI#+@=0NpHPaWlY@XeDZz7JMq%df<10`%Ft7foZ6fNKPqt)(74I_yI||ZI zXD>`kc2P?LJ<|_Nf*I~!`}~T}po??njRzG^Nulu=&zwaXOqb}Ja7UcOmPVpVUWVVPhtJUAFEGSNaU!UeT1iA zRQcj@OIYCt(^Ei6s%{=HAiFKp82wn1U1w|{osZ=c2Nf6kNkD-$frUl@USGRctD1;dVZ$E+=i3fAV0eY(J>j|x*aN??lY<-d42sDfgXvhA z_*p(BYDvKUq)6>IGS25#&jtfhzJHYf`~VX zCZzL2Ckl;Sm_k2X@TC`qieI*+PZi6aJ=X-s~*Oop$A%YtbsUfZex=Qc1T zDU;g~?Ouiq7+k*BDfXUu5&UhJk{P>Ef?iMaOqqk^imxE7pdZRp92CWSLoEF=Vf@X= zusY58K)JN%*BPz=kKwn3$LJKF$Hio&Av(V6CzSU%O0MGKw(BJn|EC}-l&zl0asT45 zx98b$!`Fq#-$TDTFSD7=fJY}or_O3YkGG?{Z&!X{EA=Cq4zKS=gSr8Ss;1X{ z@4Q!|a$K)7Bw7ALO{Y=w3=4CLS&!$t4o6oM(fX}^w(qJ*Iok2{EIoQ``*=-coFf@O z^`L+k&Siono4INa2itf49D5Jf4gOo114FWcI{8e7TyzZv#mieqb0bHG`2nvp{MXzup@QRAhb^beO~+h~M*bN6Tq<1`>;$^fuywjM@%Jd3 z+cuNdf;ZhR-!8r=4wIy7U2u)7w{B?VzkB5Sh&9{$^p(t+19~7HaW)fZkU3-+Sga_R zH0iw~xp+j>e3Fu~q1nh3}Q!)}*O>Ng`HNwSKYNSnkJBq&yL`m`S5XJT`UU67+LSVNr*F;|{|4DLJpYuj}f&v*Od!oKK)W+p#B3s<{ilX?ytx0ZMR9LfFY_7VvViKQnb8Me;F zXatYSZ%C(&YKl~v2B)2ArHgI}r{?wjT$j5Rdjo;*`!+7CSO0Vyhu;^9+YAc}n>&4O z=cVYTb^bz0HnLWfIxq}8oWQ|pu2hjoskL$0o1jdC)1Q; z4E11)8OyIP4MYdAoxpAV6psdn`u5^L3bW%_=9Can{pi1#Quol;$y$QnziW zaqYT1_s8d{t)*Vu?O~(-_x3%d9V3`1a%O>6hQ*?i_@7y3YVzOj_O|0~`7rrR_6K}t zzNUMXNCKUFAvaqE9Ui;SK{j?OQ*c>+()@o=RjiZm2<m^j9`}X8WFn<2yLKv?0zZa-9CJJ4Qq4phv>sY z&So+(#$HR%dUcz-G1ubOPqLcL9IO&AD`=dCOCBV+`IbGxxn^=LuEVYdf;P|`y#I3X zV0p@Y!>7$!e@!4@!iD08-UwS)NoRdNZ4hueZ$G;~+$^ zluAtKF0-sLhU8?ul=nI zE*W+j#uVut8`0ZpJ4j$+oK^37KQHa%_43Z%stVTBEIb+<40bb=j?#lMfXhLpaNr50 zsWYi0c6?%MXBE_p=Brx*Rzi z0=kA1nEdPGPp;{W>Dd0aBYh!kx&3%;L2}W)cio~z-=ZHO-{4lg#DV@%yM(vc5NoCW zY68jh?n?&Jp0}WW0n;x!%NmngrJ;SpcYiLizGuc7>Bu_R6Wuwgu<$;xm@TrGn=rZf z$I_h8(7>=!)fRhj39XT_s`k8FyKAGd<8 z@|WGf1!C_RqW6id7SQb;2>Wgehpzn5G$E*8993*DxmEqakd=}z&CW@Xce1|i<$!T} z9L3}7W5?Bj(Dv)MTO9#@F8-NIl=lv;%GIo+YmeIOQj8Xrit#S4;L79DR)?uA{EXK! z!WajW)%y;v=9|+u9i~9vYZ?B(?e~?8%Yz{wwN8#`AJz-IdHti=om`0L>$?^yhkNVM zgxjdslIX#QfMmFt8J<>SMqDfyGcWTY9yfkG+C_KtRA~S>T7lKd6~yxXOuI!=Fg{XUhkkN zt+AgvmwMJm0R)|}AOyxKNgk-b=rb-f(8iI|tbehJ%AJpP6|ydJ-IBA-ZP!R*2*cyE zz2tWdK1-QQLQR(UxMhB$ewM*XNm%M%DzcH8rv~HxHdd%E(j8Nni%JZPLNm6Ed|win zf-)~~zvOOVdow^?DB-=%aXnbgS+@Nd5)N@nEFLG-e8J_#m&jtyd4^rttZXW!K9=Ce z0cGD~@!M4HH22qd+1ZvN63SyVu2EToqN!Cv-iqkAfLe?C19d-xaJ7WZ!P$L(!mx&I zWE0;(lq$?G@;eNM=AaBq{yaP%qYIwY8qnQ}4O+#P5{hDd27=AMc@ zGYQk8eK!yh11M~{hJe85ND^e@~EQP848bC0j>IGKi|ebnulFHq#> zW13uUF{Rb`^!u+6w-?b)6P-gv%X9p0+Irot#qKv*KP!0eZz87T&3o<^)2uIHc_!AQ zQFjzQNgil7(`uZ2viw@c&Tq4C{N-TWU0Ly~so&rpKe+tm>~)KPyFpc^w{)EYD4QH73=vUm=l&VNla;Ju@>wm$m*}0UL#-XrwjSVMB;vl@7 z3G^@a;wK2aR+T*Jwrcm$_WO7a7rE#opbam}bqAO<-+cC47lFkBH7o-h+UWyl;&~86 z!;ojddb;pl)+C5{3h|hmu`tr+lz2y0dF>dxe#u-Rkw7A$a1b@q`~ly1d&uo-Nd}E? zJ*Suj5I}EO3irM844=R*F%cJElw)jUk2F?gMVsW2N|7-&ITY;U2VVl!nZZH(=-ddX0Q5K{Co? z{4`{Blqdb~32;|J{Ku)A{&Q4F)$msCI7L|NMA%pHSm5E@RsXTN?9Mw0rC*ir8Fk;s z88W)L$%@82*%iDsDimsr=zH%#5x*!s4PSD^14G^?J<|KOp|b)pL}sp|Z52n3k>{3n zT?bFe-ZG9wQzmlf-hLFyF9^IoDlQ|SxOa}|7CJi)^Sq{t!#a($J@8)daKDiyL%4eY zAiA#@mj>%2)DE?45P z#q?J{eRIiT7!`0yxrsk`Fknswf?fSGyF%Imur48Bm7<&*Z`^43mk)tC~Z z7C4T1IQ7chXJMj%G2^2=r``IB(QNKPzVYi^SpXD;2kE}fUz_8D;E9~|-M`yl z%^a)GeCxgk9xwoA7???V`ZZuA+;9uL@I1V_Uapak;NV&iitT)8o(li&JMJUvH&YTq zo=Jxq3i@M4B7H_Rr>N`G-`h?%JnyBlb=fG7T#M+*Zg}YxcqIms z6u(`H+2kXeq*PSr!$lcrDfYjj%>1_AuaT#h#Fn*PoiDD-K5&!!H9oe-m%Q#ep z##sY8A)OFJbvJ%?t-2bl@k|adtY{ma?3NmFrF? zIUBt_{%vsf@8TZe%ZsQ6_dTKc{=ng$ys`eVi*k)`9z3Ryz$2jk zYK`RVH_@9EDwHQI!LCc#b7<#$r0=++y~j(b_7xzhn|I#)CO<#=Ak##Lc%I)CX{Xlg zZ4yB0H|99Ls=_i%1d*+bl*Eu%_R(yIF zeO}ql;$Y+TX$@w1Uh}hb``bbv{`T0iV0`Ep(D!r2 zi@jXx`?=n4?y^vg{Ef_H+*y>c*CU2B4<_6+CjfSdykL zr)>qilTU;|wCMmD&!FM#wou!#1z6d^@8uBzniaeo8ZWz9Xv2NU?F->RkcFc_tQQpx zDXi^D!1oHEk@}0yoUGfj9)F_tQ#T_0U#6TGE1Z25L2niw3S8h0!_28Rr>4795nO8e z5z?xekG7Fh(PL_-uwv+=ATJ~nk;LmkJQ6JUC^v;2B&Dw7MFv98wfqK68_1;c6=z%; zRiiTZP*Om&4YmlKsbEe|+9zBd6if|Kc7kcL?g_Zn>W`9$v`)#(h3NhA&x^&$R{HuE zO;~|Q8MzmGn(BQbeiF_!N^=m<`=g=yZ>|wzZAcKTZA1w~5|rvmw;Y7;zI1c}pdA#6 z_`?ToHq{8MK+$%FkmByIHi;KI^K{wt@qzgi8HGx$8Sc@{Yphj4jwoB?MPj5|i~^f_ zCLq^Fy3#o^ku?5q`nA18y3swEbj^lpLJ!pIv9d)$xvHBh^PzGv637jwh636&+0LF8 z`*#s{^~OQC&0UQD<4%=KR85Z)Y@7>!PP(cQLL!9s$fyZLk_NWCIm;4plrxfmPVO&1 zApduXZ2a82pA^YUHi{%u5^|gaMlo_|rN!7AwT;@|{qT?{++f)ze^pK8Bf{{5ID>BD zVh7CO4J?EQ3?%uJb;0rpiGG$)fuI%23|Zo~kQJ-#bCbR-2^HvzO9mwy46+Kz;2_!z zHFIY}cT0t{;_8y*>Ks?`o6)x7N6Fk=*rmCP|TI1*O$*N z_S0#fk3?7`WE;>^(UGPqK=_6k=lv6G){Ix*T(U6DfIUkEVuynFyf`j{1tA^DN42Jp zqTKC*IEj|_r~0WkQMd(pKA9+W;$HH2A0wv88d+_JH7lo2UCRcC2BSxNv^-nm&t-~K zSbT1EEtMy|RR!JfHQ5?5Zhn%u@oFUGto|rOHQ*y<8n0sm_`uKk{G)~%WOY*08u(!n% zdFnRF61~>ZqpR6ZI~KGjhmbDK>2CE8IeMnR;k%Y1|F|IR7+o;5NT=fN2GN=JNfxpD zFmdSMzu%;X9&Ru%p*e}$JqL@LiERd400;ahWX@S2GEbW29rv8NIv426?1 zqvkLAm6b=LlH^V0&)TSQ{8p|u5{I!2Obx1U#QY6eN1-Fi{x_*u-#Qn62MLEkRXoUx z8bp|I?D;eOYiu=AZW8_$q-lYAdx5AJvT=}dpp;EaSK$kKo-cmrMaJh-P4PSMa~bs2 z9MNLL;eCSHN_8<)BKf)ugjQ_-eqqh7CEBSWujAE?1BjvXIt*q^w%s z=)muQAZ0t<+Zki0!@251k;3*^d@)&D>~$2X1ePdJDIBIbsc>EYOm+*Xw|Q03q3}hi z+fimmUYVM#IZg_Vn9ev7g1S_eF6emSb_jq%M=QdzNWshNTRW1f^o_Uw1D(@J-EJq| zyP}~u34i|S*_>^R>(Mesbuad>hSqez_(ohfi~DBvN>hxqKW5-nRZ%&_FLa7u5Os_1>S>J=*( z4vXMkcxq>Di&m<%DU-hCt|_1f&D3w>I~UxZdn)9U4;)G=BxJ8Oi!fv-0>ysWkH(ua z6ok;xvzi{UB>U7^;5Sao7RBdPha}1{0DqLS8PTvi+g%zg^e+tY`b?V@H6}_FFIcph zP#Xb^l}*^c%k7hGL(-YnOWGB<^M21lG0N8sqS{r9$M?Fd^O+gQ!DZFJpP#m{E=0fg za7eu&)=C(q{GJ12j9|kzPFnrIufsOFY#lRmkv<@tuJA9>kj(B!4@%T_hc-Q~mAUJE z;i!s(3Cq5PT@S5xB38cMKxf5>QICf>iQ3z zBkIYL+4C8`rJvN>sN&c_T=GBEBcNOlBK~xF^OFawQFe#I2jxzh>bLKvQgdz62YJnb zLeKdytarY37QBtqS4E?J(wV&9Wo-#bDAX{8;kUSy2TEczcNPs!?;3rnfRVCECeegZt=ku@oX{!?0yo4Rl59ewcmQ^{1va5}aR&iz4$} z8v5L)r_6&mAiq>anv;~LVV~Bq9jP$*YC(2_p>8?3`t+TTyj=cI$jAYjclvz%dU z%F@@3@%u1w4zj@PqFGU<1Gc;di==hLY>nj=-OrjyD{Sz}Q^SXz^QDx1)#!wxK#k{c;mSZOtq%yLU zx&soQd*il*<;Es~`;$`{pBq2;c2AmdIDzJi&1+kT_nh5wvX(>njo`bskmjb_Z|`mj zITs1|A7=Gp(mJ{j4{9b6H+^GAejG~Y38#3P{ovBz8%oOQ?U-}iWuT5l`hlC=LXeUJ z`W&tZ^}!VGOaj5~%pX#UJu?*m=W$6)k!GJ^!RWWXqEz@CXHC_iUuJaWElj6=|1~9Kha6FAlLdb@_K&@@MI6OZVMIpyk^YyL`JjFSU6Fmo zgkCWHbKXD5uzdE1-g}G<>fFU9u2N```s71I*4yaz&zVKg6yfnfG+Oyt0K_ZsmBETo zB(w19*CK1ynPnvy9P$x{R5e)y=E8SjjWHtCUn+Ky1H_-FH3c>o$pupY85I8)9apAc z##Ndr+vh2?yr7m(KEPYU`|GUMGBiOD3Xfr^d?2JDcL6|Sz&2({uEEVd>!+Mj9#0w^ z3mxYm8nSrYfH&A|CbV5$+TnTCLePOs*tEzIS88}s-X!6ciye4m5^;Ij-f11{QG*dA zk9Y|CDa)xz;Eb|d?4A~OeI09y&$Pu!V|wICth3*!^q06E19#XhA#v*A9UZ(={!eRF zGQ&)U&`McvS+GKKhU%B zi5?ktB_?dd-!m#5ghsOQ8R5V~gd`n2qW@vw(xkcJJ8gZcea9&F8f$(CX?%42z}SD7 z#J%0glx1d)!VFZHNy`|<*+Tr#Dx;27$9LMIsPShn8*m6n&QkB1tYjwoBWS`zpQSt! zn}j{B^5~Z`wg{%86t&Wt3t5i=KAagxx?+c*ZC+mZOzD(Sklj|Eu*sqmTsJP>bmy8g zO7JI^0n_T4%tvCZ|MbGeM>#Z91ZKErvAKMvKW-O3@ycp2`<5fz7hl1;7anB9bcZgh zRBQTYP%C6|$of(t;kKj;=TA6z5g9>^VDs;I1n$K4iwwq3uLP=7FO2XO1_`s2*5gND zOW_7b>?5tEvvYR;ZzX2!B}?M*fOv$k9LvG<$Z}pN0$gF?Vd-$T&X<)0u%v0$vYeV5k1`9j9FAB(rv7WF6-IUO^-*IqI!Zf%1hfvN@* zsMrC528Zi$ViVTZ^kcU%kec83CBze!iT`RnmJO_irYr)$3w6F8a0JAtcio|q!hSS= z022{`0Fw}cR0E@NfZ_f-sTSk{$>!m~)hG3poXnsSHS6OO_H0k9Z06thH&kYJFf}nF z4Jfc(uuzcm^6J^{!s;;8pNsF`8uuBOe|Z?uf1|zdtU=TI!Og_wEDk7wQ7&0YdNyyS z5B*nNkeIfzC~;=>j3#7{dFK3avy;1fbw}X2;RfOIXMc; z&et^u$z1P)imc1=lUm*D_opUuD-keeA31bpz0uEUlf?hwZNrxM{vGeNcEe*gMPMVpq+Q_Y9p$!> zp&I8sLh`pTY)|n3*5E)J+O|7yz z*ojOrr$L{rY&vt}+Y|azEe;8Xb?(xao=-%8WqgINu3=(ZbHDNDL)=FO8CxyvRrNjX z|M)0HPn9>3XRm%YpV0X5Ht%`s^L@|f>>ye}P)-}^+=p`5AD7V8^OBlzpa7hEq^U`J z%XH8Lyd$tzlC77_Kx6QAi%KOGR(;_iu@iYtp>w;q;4t;udG$pX?* zsg0W?V>W!nL)d|=7yd%pctl3Q?KPA9~ z-db@GVrQ#&_xjIr&K#}mz-eYDeQ`@Y2bgNfAwOUcmP*b!vi$<{W&l6})iwwVUv%-} zXa1f0;Hc39V04W1a^It$O6kIOBh-YANbOX*WKwH`03`3NN?FKU0y z;m_KxJ-N$YDJ*AS)#EC(Y6ZOE4{(3#xU@-p8q!Z*r|F}T!sq!1hj46{SnDD4IY?gH z-IRrUqrlxXMyFQ=bxw4^zYwX3Hmj4ejRx9<`&7HrV(LWzI~0P=XfYQ*3f`UKcVXNs zrN0wW5k~CbEoE^2&PyooPS@axV+=8lyA_hAg0vg|azEP}&pL;-*;|RaD<_xPU`)Sb zko$>!jFkoY`~b`fJ5SgGa>u}E;C-nisMAQTaO-){q^TR=?igd(yWo)JGuwVUHtv7# zvi>yw`m<7yq-AwDpowbh=?!C*?`+k;yN&Ub|H)kEWiS@=06^!0kKn@`!(qKrF=eb%+dRE(y!AGBy8n>nzrK5$X^4+&Q`>fMTQPmD- zyg`%OnvR0iVFw7ccz@M&(M3n#_5KJ{Y8n4o{5fmbk5yCa_L|DV`#iSw%*y8w17n)} z_b*|2cV~v{Gt3wFTIG#p?6vK5wjnz~TjLY~2JnXx+O(>ecbzPvkEZ$F%QDmJ!yYjC z&i1>jAdjD`se)N=g~4fkZS&_Wi|eL!1~pR$_Y&n=XWK-Cnl*SK`IRgW=iO&Y5{Q=7 zspsd`I=5-fD~W$@{Y1)l+`r4P_^dUWIl^>tgUdOb@j4tj+)YsRre$ptOirGSdxmb zC-F<)&)}HlM6M2;r@fl8cyG#1pNJe#Q9k~Ok~`vBiK$g)1yU%8JN~^6)sixJn5xT| zm<{7ZwgLA2Ioa9y(y~q&mWw@iH`+N!_9>Src#AIEO`T#&jp%x%q$?tj=#F3789M<- zfW4gZhJ5K_qSM2#^|?Y=tE7f_s;0P6VD~DZQ=p+7=Z0N`c9|UqmL`7cl+SC_ukfzJ z%_cr==u;=f=_`?JarK8k`UwSdsRr}z&WE$IL&I$*tUZGTx50mwbmO?l=ijqPR@vM2 z_e-TGpIEI}cs5O^y+ss#^Ki;HI`$(v0Z_K4i;TWLKD~?=4gEX6V&sou`Bf)qqnAY>W}c zl#G5UZ5C3dHL!$x&7)=SIf;1zU6-|S>&R)(A(cyVcR=Tcg0;Q<^^C4c%#uOdkAApF z48dL@d?sz1Ik9cKi@xn_cg0EpAIpTh_jC>io5Vdy1&kYiS=00Z<>VonsP=H-g|C)X zy6p?oo1Q0>9!-`Zii+NXpE#nH)%+!C7JHrks>G7*!P(X%W)}@|{U(<3uRUuDx8O1{ ze_gr=8CT&kR$DH&k%NcZm&3m}Qp-0B1GoL7Jx76D;!&l6HDYnEj)K`5(VRBC%#gjs zZS)JLzp-&tiXca)h~`T(p8FF^DcgCQ?MwAP?=ru!$Onb@u>a&A6uxMp6zuoi5b&2O z+>AUFavi=FzY|5;t76EvAr@Pon>W#1_8#i%o~P8s+yqgM)LopcSbRr<>KJ@#Z!5Jv zGjFpq^f4nY^?Ts$pTB8NUY#;Aed>VU{~l6PxPDl#Y}q-Ym}|aYcLoR5u6rs@?sH_Js#Rp zd*z;|%AHs1oG;o8`p$UPa%$K?e8kCOn=j&3m7oVwU`Ia*v~W?0YFz zB!M0N?d8eUlU#WKOWMwdk1{W4@dFc5pusu_nB3eR2`+9Z;%> zI8RyG0Y@90_9XW8)!yWD>YV$djZ%59WoqRm+joBx<|bK54`A|j!2gAuzHsM>cBmHM zqB$fvXsr-wI9Bg^O7uSjdb)bv0wSavrgCrX{jVw1qb;ouzccWtcdB;P>+2 zVn;5@zW8y+-NEH_#LXAhtuwO|MLya3O#nLzCzR`2BstLCi988&kL+17{h0BETW(}} z=f7u%A`>qu#8>pjHe4>(bhL%KL#V2G-1gPR^l$&#ly8|Zo5cB+_Y&HvqXz1bY+M2c z%)IXyBY*lMt|*aEUr9hn&UvV29i@T3?!b`3$t)ju7Jom?hi}-PU&C`$0M$Km@x zo`rFHJ^$8l;7@m%{vPCzxQnDvT|9@;p!k*&NaKSA&hlg@A%JXubZ**txM198_I#tA2y;NM*~Frx=g4H z#AI1fhkyT1M}0Qhrv#6|mdw0aJ2&UMNuPZJ{K!G747`Kal!4Dx80pjLpSU-qoX!SB z(C={NyVGeOA);^!$e;Pp4-9*yw=}hmk*pW)5B%wkCN9Zv@W6v!7VtejyuiC-I@`80 zyk>WEl3rxnIj9*Q-l)%r|Q zWk(^oPt-f0)rUT+@pJy->c;T$GgDsTs*+=iJ~0qUwYl3e0zmhn!SbgD6j^5-)-NTTy+e7j+I3~ zWI7w8(RLXRLXXWKM zTy2^QC6v|VGLae(HhJvIgOQi?MAfP77tPi!P0n-R8&GINc~O;D5QTp1xNAzOCm$Z6 zy{S2;Wp;K4$U;LfeG(NRM6TgITqE@v7xxN|x2C8#>1x#DLmV^mZI~r2{8FNrZyvPj z3|3Z*^t+eD`>j){OXC{k!Bjn^T~s9^KnNtjxd@4(vc3|AC`lPyg*Y+&fsCbPTdMMw#bBB zraD_Kvg61SZT2I@qGl=X3ll^?^aL6K>~frSjs=GnPlF7f%8iKaiwGcU+z@xT;sGKT z(^BwGQU8uvVtdeCu7EeMt4u18&GnH1I?pl~>erSVD~k5@b?&_Z{tCO^N>4A1qG>eL zlo=|uVL`qBku=p+aFf-x`KbKA{^rZ_oPJKw&>qF%5lFaQMiDD3^fRXJ73^(!*~PYy zI%C(FpeHE9m1bOCEj2M&;P!=;jAYAq2VNUdW`x5Q5@@pCL^!SwI|2v#`YtU0X3D#5 zs3yu^X~E=+$l0?I$Qy)w>hQZKp^mAC91hWpQz1|J7y72qJ);E77CTRrE%GmndpOA4?i`t(-dUb*b2-&yF}VnOViFQ#a_Uy z*vP{yq>V&>P>mnIY{C`s=ZPsE;cEV7L7pVy*);jdGy4}4S1vk6*R$DW+Re!iq6RRZ zg*9VN;YsvcJz1?B!^FAfgQsonWgj)e$CE*&VhdfHKw2s99zB_n_>?iVFk?uVI4cx& ziB2jw$NAD@7bx%C#q@jod`inm?C_NkQem<&O}|O%A!5{FOFj9(*oTE?w1Bk9-9)rR zWS`A&D{4X#OLP;k6K?tCkNZdM=JKtsv8<&yz|7-aIN%+@)B!<0^mETZU};2M)DP#% zSvYRg->q!sUwNc7Ki^KA^e*tWhX zJFYC+pM2KIh12bTALmDbP;PxjPZ_I`I_kYMhp?$jznfDq6uR23jjhU$gTR6!o_}-P zrT?+q{!#qdB01A8SdauHX?Z%3c`iZbs_Z{3A8lbuVJo)?N^A;4DE=gi^s-aX_&>Y~ zl|dVKb;bPEj6#-~+AUOy|7te+oEFyRkNKpqf!8TDp~{F(R%GOezP5 zpN-Xn%4p$AZ$oUhZf=stt5GQ1XoDXphNmiRnc?XIEP5PlrVMaJwTDp~4>mEZ}|!K}gZ>CW3(y$z)SCWtD+uY%l9oQ(%Xn@>cr#epoUXxTrBJ9RZ7F zAs>Q>W8K!&EYW&PTb+|pGe_|>3#)o1jK`JG?RakLN}~_~G%O?H9n^u58N#omlSK!9 z)zf1uNCxcw&wdkTzxYDf;%}O$2}{$I*Wkf8)l96I4Eq5GB7n^$6jc~r_IhJ^KB%$S zt%>+mJaZqGxcF&_(qyFK2@dK(;W)U2q1Ew_obml;?lA?oQ~MQ+JS=#LL)ylISTWsc z_yutbsh%I))4|XFn5;}{GtM-B*DN)Xf*I~4$E)Oqd5PC|1OJY-C z`4Ta8lgD!TzZf<%-wzf{qrrvYgxc0kk)#=0DgXLzGCs)a2~wSo6HsyM1AHU`^iL`C z*zSWJ{jj%4mHXtUz~Z8aDSAu;*h>X`h?vc%X%;34UDHn-aYQ+>{dPM}n1d6E^X5XI zt#ZdVR8pu(7&N);DJWpH@BX`0*3xD!^A+|<`E3WfO_V%U?^9w{af{S)pNOU=BRmwn zO-D9-0nqgl>eKSm2b$8#T8u{A(dgp77kpW@2^#grciJlcKZ(MXVKf;LC9Fw(q~$>@ zr3B3hEM6bT^yE_2#-UIUyUKx20Ko?0*K_Vc!9sszGZ;L~u=kHz%=pBk%G8J1ox|Hi zBK<<+z^C7=PHnp={@@}SC6m+&(%2m8AOJL;tWiA}qo)HqGm_XOEG#TT7QNuylC8QB zV=gYQL2B8j?!0YcXwbF7l_PQ7=lk8fnxyja{)n4H#0A?&OiHlr75#6FNFp2Uc~u;NYLg=N`c`Uv*cx!= zhc{E#Ke|7HLHjeDGPoM1i=3*sUEO9rVYyelfx9V9r@2qa>bFZbk(@G|*;S(67Y>i& zXRoNq|0GsZb5p54a9Cr)>3qRhx{foP2MHVhT~3kvV5K4x+O<&>T-qWM#dJA|uR5HT z^2vxWOC1(Adt0z>T9m9zl!;@sU!13kI57-c<&i@O>$Lz`;Es^k{IU?)ZXQdii0W&(j}k(Jotn{54ZAyT6P{C9st=E-If~% z)Q%nJKNSlY{N$5t9Bxi%CB^jIun#3lDrgxDUq5d5`@>?0BQEbg=lPX`P%(`*P<4{F zjB?4f5C>u70!#^VmNBTR(!kQbi#(80Ry&E|(oJEc|4SV?ug0&musPnUqSYd)OXVcr zebs}4iY(2*A@AP_i21Zb4V+X&BV`tmAGVsKWF)jOU-P#qB0#JppAoq9C=jfx`qD%< z7XTwypylIff7Uq2nFHdyOrx*X#IGY!@57!<&rKwxX3|PU{ErC^wR}N?2j;rwS*{0X zXsi7Bhb_2>jq&jY^$`{SX{tQ97%BWN3oa5FrGqlDT(w^k53=9VjYPu@ZVk!{l5Rtf zLgX-ckeo=>a}t00GRM}NToD_MIb~TIEKxpdmiUY)pz$GyOA99gw=Oyz{6URkC)w8) zg9B#z{Y>+snwL=P?f-73*dUaIgdo(wicnyhj1m_@^x^H6bC$uwQNmbu&M=lm%vwQR zc&y#2&mLVbU_#21cvxV85SWZKQv%CpZ6z))P=7q#JN4}m2t1Kxf32e@_Em;eLB@9s z$A^tUs)-do^Uc#GZ6{*3(HJKw7`eLVDUR*0Hvf`U|7Yi{3PkC0xmYf$@XiuS1_LvL zEeeMZRLj;z!X%~QX^g~-_yWDWI>#6|>m{)&TeW}v$0Eec_5D5go#f+_?|sK)fx+`( z)(abUWJ*BO&1h%GZGPqMeaHP=r|`RCzkxu0%KNKg@tNrCYs~%AjOP3M&1<9J_}etj zz1LC7;?`tl*5%;?f@0_U(R=aJ($>_}v%~#*TP%N2guz8IH2k(YT+j_;W>! z|5J9ry5H$#W!k;pe)D?@C^xI}`TA%^(5)fL(fRt|I`z$Y%cQ8`J>1j!Td(Fz z?S`P?>r?$*Xo4v8ogv|SZOoghWGgbx(yCDAG?AMDV06dV%4n}*^6|28jj_n ziYqeN=Og92^&PPG^Tr+-di!+4BlK))weGsDbl+sATiTN=P@t@~ATb$44Xx--GK}BS zXn)T3%-H9BXh_r{S?N)EiKS6#%Kf8kpQ&uvmSrLE|1tH}aZ!HHA1Ep%sdS@ANyowx z0wU5SUDCO9Eg>l=C<_A8EWJo~!_v5PNOyNPOLLd+=l)*z{(W9&X3lxeduGm@nR#%V z4gG;zPc^u`X5Ct3JRw^PNvey zxNdr(Pgzpa0{N795B`MnYdE{-Y6HUo4)g~jj{YoFar*`R&oV|MT*94|P(|O*$DVIE zr*hZRRz2Uur~tPcJIu3FS95c`{s`n9LZ?&~G46=IQeVtR(uFeXxp(`7cnqExmMZ_k zwmIMVQevsIAT)Drc^|nx)_AZf>-j#$r>Z`R;vT_zUC6ijoz2;MX0#a*K-9$IjQbS1 zb>MwQUY0KXry{_c!i+!L+sWwC7yboRA#~BTgj}kP+{Y~Ycku4Ys5SKl@dBPONliT` z`5e~d7G|(*Bs_AyU6hf<>vdr67)-N2d#mR@>NCw=qN4sof`A#nqu1|`hw+$jx2sv% zLRU$!$G)RKM?+;(m_RXnI3(rB=&PQ;Pn_??1o()!%ZzZQ27V>H)r_nN8KEBC=DE`O z=k+=_R#hDsfq(yrgAD1{?}K$c*mGz(T(5_B=_Bm{tGZBGt)4Y{#YmsJ+~VL6$T! ze}4{-XLnyij5b;8gL+@%+m%Q0zU@nY8+#8P`5{~I&~ScC&psb`mQnUahTPhHccDmC zNOhOBVb*l2Le}B^rg?2&aGL}f{E4+J^|>g_`}xT0qTSEHtm$O0MI)z04g*2UFQbU1 z*2odZJ7ISNCF{%lDFJN;PBF{&o zU6rQq%zbqj%-ic{nT*MTpGcI#XX!bV$+xmiD4Le!<_PY-E4Edh{F~MU$K&YYiQa~z z>Qll;G_HTzY{)^F44T2pzK5Oe2W{iGm{p<6$33i*L>G5 zDf24aXu%lS)ld3w>2dXftHL*@_LQvWFSJKqubK}@*s|S;pqEXa+=*kg_}k;*=U7g5 zEneKW(WlL7+_<-YR}-WZt88$+88^W+F1xH2oQ~1|S|z{n0elPJ=lu(~pPpL#ILzLE z6f@gY(c~{0@kGOEFZkw?Z*P#%ctALCfoilI^rOP3{({41eT*+Ox9YyH55`xR#Ih5- zJtv#POAUpxZoZm*H@P^Osf!ypk8MoiO#(&oJ+H=`tcy}M7ZhYyQz>1L$7<$Z+)U;E z?9+rF-A%s#JH>lI;{T}o8Fg?vw3N#7NM5PYYDctv=VX6#x(4D2p&kWTnm;1~rKOim zTkuuL02>niK9n&yJZuoEL`E!+0)AFlMu^(Xw$Jxi$)sp@kxG@v5#Pv7^`~ra&GX_X z=P(4^wG{S>i#xWTL;GioJnOWJD9~n^R7$xVjVLyiN24W9jVWs7nFiCtSI`8BI50q# z{ysiXq%h6`p%JG~-Cp5c- z=v-#qN6^wvnAO8qrzz6}yAF})qdY1hie+(VS9`YnngPQ>VAWbCEzjU2v%RIOJz{#a z3Ry8><~u49I;2;Uv!nUt)M?jN(N&~wo?;JKUgP4Cd|_1M6E!oILI5-$Nc=K$R3XlmMVU*Bt+7v#PArhK@6^b$t7A(7SIKHF6lQ87A;yu5LWnpnOg z5S^(1(~IwSVl=Jw887Wd7qqvLgRBtSp13W^dL33_!Q{_?)XLh|R zrf;q1?Wb}I-YaNMU)I%9l+F_Ka*8LV{=heS71?hWlc}~Xh^3B55EXxeZ^2!GXhU|4 zVS5}H6FYU>dunemJ-V&;2=&4g?s&4(c1NeQ&~W58M7vYuabtVQC0_kw-@$34QXhTzpR=F{nD4K>$Lp zyiLH42#f2mvf73HM5o9x=Yz=dMzH*Uydwv(!O?qfM9;eg#*ufjKvaKiu|_q#oLk)- zUKsRB#Jr8MXJg6Ay1qy3IC7lQEU<0Xm*6L!_$$%AWAupLH;bdymDnR?ps{McHcKT`;70s-PPJkiA5w1yk}kPR`B=BQVNcKXN?GBrSNJ~AFR8zFYA&=ckJD#mJDnfp6HT;c2BMoI zHA>s)vCrPA*AblJKN0wGGEalQ70(NW>a5-0n_>@6306=3%e$&H5KX}2+L}^6x_9&5 ze#AJCvm1C*sv5df_IreWeyl=BYo6fu8p+|!fJ*wD=Lf1sDUBvrjuPkx8iJtKp?aHj zgE(&uy-O-glDkIC7l6v^ZS@K8r9$Y&tko~hQJv+bsB7g&M@C;`e(t;F8uJ4n=XzU3 zLM?7b<$Y%Y;SO7+fRpS1%s*g0^(SF@xcLP@*>V?9LyGV{w(c1$C9RGf?o*#K(d*eqXD4RPM% z94y^c9uh7dq78NRI-bM(b)%c(k_BDt8)R8$si%zHKcw?J*detxo+>)KbMVrDo3C zd1N;ObDN#bj$C~(KMGm%X_-syB`t(=UeSk>1>;HNIEcXej;RF~F4}Hp^sXyCTJJ4( z;|Dx3I;bi2aI(@w+?mDoGRIN3`H{Zk43|nruG3Pj zNwvPitd6ze+-uJ3q6lK=-?i%;m=ylXvxuII3HV)^clvza!2HOD{i;<1-XY=|j;ZR; zF-y^-Jc*d_=Dw_!`ykti6i&-h9r8(J6q~-2@aLZ*Kxw2JNX$@?Y7y~X1vEtvwi`B6 z>tGxeN{-SKR-&GWfLp8v~^|NdJQ^NWY_Pv27P)LFW(6Bec+PLiw zqjBxg?m}}QF^=&b+?)3Y`;^VYvrUvK8W%vpehQTc3j^LF6z9wIdrVzPuQ-BqsP*OR;%jG$Eh7u|Xpyc;q>tl{Mv!fuFwn z#?tEY6vcHqftx0+kx|fcK!)BZ&y4CuK|!?q`^2|PlYGkU|Hgwi=j3vDW1vZpk18&g zty^#S+5bg+tbUdGV@&bi0EjB3sLGJqyZWa~sEwK>LK+lKw7irX{U5akp^V^98)wp= z-NKd`#tN0#Gt&8SOTFpO(&Q?3{zYH@8u_lRtyzSxBRe7-jI~ULLb@_JOQEhhe@KH{ zO`)C5lRCmEA#xT>ML&+)1_M92&U5&J)R{nypJc|g4sVIDI`nncW7SY5(6!Qn5kfm;S+68ba6=XLW@hZ6@xf18~j+Dbji_! zJ{nTFYjuxG^G&>A>NGQLgtYn5S4C9M6+(>LT?XC5SxEurEMwzbWFuYmWWf*OkKB?Q zCZL1Zlz<4mI5t+Bd*$MZHfefDMABT9VTzvQcfC$Fx(J}wi+WiTab~pgf&d9^ALfY> zRg1Qi*QDdDd56(G11@YfITgBikEgplo(0SphB2iT*8vS8}UcgZjS35Fvxt zH6KK-!YGt7G`r-mjG1aEI4;W_%vpdMyctS6kNU+(DF9C4lMb?Ebm7KHMaCPyepzhnN>j&&3Bla z5hE4!?|XZMoRu2crZwKI&@W{o_i`2zY@&JmpllP~X+HC}FPtKWEjif!Imno%L z8zUU{GHRqffqX>BWU%U`r;Qfwps*}H4iu`5WupX!spbOBsbt6q2a|YugWmoGL`16r z^4_LlnV2L{Qs*y}@pD3A;^MDuo>4eYjD3}5vZ8)Xf-4j}4VPLW5FRa`AsUU2We!y+ z>&dbbMsCT{HcL8o0>a4x29u7*{nX} z_ibI-Afa+*i;mfSGlkE|mC8S!sQDCDD2|Pti>|`k!!`8s-JbQ9m0SntI3=aRa27JI zAa;}7+V!H4$%3S`+};G_Iy z`PO00GOwd3(RF!a?7`KF6Tva!WG+jbsIRL=UTB|B68~nB%T3bc10j-(!oNfp56!3C z3mOlJVJn>bQ}B&xI!|DnqrC`;ZJJ$lOQ=Zg9*%fCPfyH>vF)u$q6bOaq6?ndpHr=3 z0>wB)w`d`tWEOrcatppZ%>oEjR7976o=Fye=9aAJ<-X}LR;4+!@`?rTZg8H=yg;Qp zSw%@nM&|EIk)?@H1a`Bzi*jYmZ~-LmZxTW4J7%U~InM}^%AaHHSfPlgEnO>6D;Ah8 zIjhZfBd@;sJ~sRFey?+)a*T+ga}#lhY%(fU$uOnDg2;ZrC5CY_0}xdZPhK(9rp~?A zvGUBS3kD@;iPce;(~C35i0ZR=+D)TX=g#KwTzqfl{~cA+{}ULbX2u(R_Pb`6HRxY~ ziev6lN0AuFgRcSX!e}~U!{n2l=G5!ZZxb$!tdfDW1rnBDyg`$h#3{JiR1+kj&W7Zg=NkV^9miAPS62Fr{@}k=z1zY z#!BVc2z{mQSIMG6*BJb8F1B=2G-CB)lh--w3SeOx94M(oX(1^Xj4=R9}G%+`NfLrZ(68FYKoE$s?L_f^2fk{^>PU<6K+3Rw1C&#S`~M zPZs3oQn9RH#!zu)S5A3FWdI_Km0pNh+73l*cSvQ(;IeuC8-PX0=fi3sq#NC8Jf&-x z)Z!e<^b}9|_2V))$%NEDK>don(U>?2F)9b0(yxVH*bKKzTn>SJ9wrka?usNvos;D2 zg<_b_Y;wZ`iH9>`6z>H;1k(!aUf!MFp79ZLO|aN?)+4rxuBGxoT}UI4%}%3JeF z9XXag8v}?gtvu!wNZu)dGLb{70EJ~`dC)m%k1~~Xnt`nfU5yxO&M3^71>lm^?6?Ma zgbx-U(D;_kkkV?(6wjokII-o&sOmaQj85^3yle`8qw)KXlpf_&IGZBD#K(hK*c4cJ z$fcs&byG4%iZ#ex>q8b1h$=P3cYk27nbTYl$ffe!05J4B>+8qFXC=p(O_lN_)6O>( zaOJ+3foKT7>}DMr-g8>D!VgyNtkorWXQWh}Q;zy6_LYW>wssj4teWZ?*t`)*S$I@_ z7V~wM;Tt)Kp0=^66=DSjA1ab`fzDDl9@*R`NkVvp_Xt46s*+0~uk3>>32VVu%JO#L zQ(f43GyH z;LnWqq*ZN@H=lZBDa(_11}V>DvJD48)*cE9-|UNFn5=erg)*d=RQ5_oWvJWdqsDS6 z4etk=(GD59$H)||7B;r}Q~Yule4 zS;;>K4wDR~2x2A)5aWIQKS{=lW|T737+-wLQjh*XsZ*wa!CUtqH$C!bm9b>|Uk+mV zpmqg!*H6!jrcr)8AxK!UCE&NH$m{6l%nw;E%mR#gP@&&%q5nye;LpPp^8vm1)$>55 zwv3B4+LS0cV}9|ykeg z$e{p6Z{|I-~tg-)#=md`wFa%u5pwD|lU@e2h6TH*>tap(j-LJs9m)&=nNoP1E{ zeYSgK+)R!(pYFx?LbupACt7W*a}6J;%=dr}^!GbgHC z@t9{p`YoN;pR`{SIP5B-F}T}%y5Ykfy_00fpP~l2FBKHUGw2y&jyWIADGJ*?toKqH zOAYI6DyRtTP~FQwy%}k$nl-t+z#?Vym9?pzM2|7v??M*+sS$aI=!vitJU3mc{{Nj- zFjxYwoQ-IQ$7K7X&s&S&4@*3;U1ptgk2e`$5o5diFg{rjG&a14hIK?4t?d~hMA!G%C7ER5d0Xv#t?O^DI{dP7<^1yO`Z5spoKtWeMdHwU;xmKL*JtnQGw|{c z(Jau=Y`%3Dg|$9KNVa23txCY!2LebjR!E?ZH+d2W!CN~ zls0c>F5X|yXr$BKyxXlltUtfz4Y*FX9n=XpOB?R`b+difd|kP*uy|!^?Y(LJAaOln zK!0;?TqNGFW(Rqzg#dglVS8;Wkg+CzDu8v@c!hjeY4x;|xKB=(uorn~oRiuKxaQ9F zt88nzz8@QFiMq?UyIV^TL_%6x?#5@08&2{37f3y%Ju?T{vha;%f)^{}aDTZnyS1aj z{CzJVqILh8yWt}Ty@r}B&(_rcS)yA6*Sx1vKN3i%GFc%=$cMv=CVRyEZsUTIx>@z#ahFu>5BxBOy0qUp-sZNsCtYaN&9?CK@&%+8Ut}NpOcu`yMx(`5TM2>@yS=GgYodXCku;w5a z%w2tZCFVD|bfES4S>&ln_NrqO?mnikUJVvPlw~e%YFMVzkRYDNbs-GGjToVaz|r_4 zo09i&B8`Aub$xHuG z*uD$ywD3IOs-`BgKK=FlwGry6cqfd_b1%1meYfCOm5P2;^ma8C`m8yj%8;KuufubsHDb(f;n;pReSJ0^q8I zsi*$vhuZK{BbsLfEDPT&hk!0k+NCb=wuby*Ma7$VvQ;rpz0$djBNgk4M0})`#qbe9 zkotYO=$zA%dRFbFa48|89a-Z^O}1b`G{Q~|@zr>cX?;|XCa;ZyY z33Xih_aOj`EbeRLaV+RG{@pc=>vII$E}!T^A<3E^i7c^yK}< zWmewNHOe}xKRVjI)b0UJfXh6u5^<*!HC&GF^GUjyD8K7HS_C9>Pejc|co%h?_nT(w z(+Sdd7oFUSLej;_WGHi>ac7!QUsG(mgH6N>FQ&5Dt%Se5FynosyWpNx6W=j#-121~ zYhode-YzswJ9H$?P5uIlF-t@3BhbCC8eEmB|lWn0fS66=_#wWD%C zFL3@WH(Q{|$E2~g&HTVPxk zDPiq!AHBa`8Ev`2q)Yo^R00@ySHc1Nl7;`y07~wF*atslkp?2|SAK2C;s@UwcoCm+ z_bIR5p8TwMGhmt9K|7kr*fJL6b-^Nz`iB)kUk%gI;U+-Eqc01}&^s1}w;BYaNgwKL zi)_;y3^oYm+u-!y!+acN?ls9wR_c*-c3I-KlP&w1usiSSIXbiMud;eptJDC>;voLK z_$B>}KEdz%-kW-JCpl@rDfC9+^dc8&Nu><89BzBjYYjI!-THLf%%^41X>E`>&~kj6 z4iswQ9Ce&wg?Pt6BUdMxlj`0O;9=3f^l<2C)P~X<9HJ_vQugDefl9I6hxm?@!Soyz zXz-sv7hn3z-~kHg84cote%~I{V-5D80}F~drdY_{Z!~CQ*_zjgPk&yFdHd#XA0Iqt z-oGk9I)2z|_PMkoU-Q)3!RLFabfl~3foEtxJl*X-DYzl+-cZr$rv$**V45v9nsiOG-(&-SyfdkxfRC&)bXytRd z(37mg5>)o|GF^qw#j1oKE^$Adav?W$tEbP~y!@3j`{lMGea`dy(i=%#zE#v*x*V;9 zh?pi!%LC_5BO;Xre7MQI(UuiYy9h8c-F$m}!3I^0WUt}nuItd)VX=Rc+L`yTq_X6i z$|7RtH}^l<(|#W&4^&x9xTQ!AHx^Q;A{~$f1feU3k%%}y7^>1rY<;m$H;CTOBS_~! z=b(Ox_gS9cb^tyh3iEN6FwxWI8~lYo_z9w?_aU5LZ}ApRpSV*jjUEY`ms@Ut^l$aB zLZdtM=fB(@zl(%mv^q`-lN>odEPP+4XV+qm%V|wu|18n-24@JIHIH+2z>g%^!uzUm z8Bwm=do)r-+T`fVtQ;9#L928WRO?eCohW>tcx8?exBLeL{qmfBw)Q@C!R{Kt9qM8z`!;G?d&Cz$dEwKa_(2NKq!m`*#>u_rvQ zEq&mDGo#gaubA%;aBB#Ils0HP?{XK%Hp`0BpE%a^k+}R%&#|4Wcm>Tmn>sj@!UTgL z-h1=BRa%)>nyB-IN3UFHED)vbn7kfww@;^ z72!O&6UX4R1Mx;LvW^AOyv%&Na^a>4ze z@TA2t;fwfG@|8rX%NMnrh8)ITRbXiloW}F#C1w{{Qi){W!b1QXF>6!$sL&{@rQuWJ zeLrz=JnqG@!-XsVU;H2RMOyOZzexBmte(M?Je5nk18?sw=zvd~3qwX~J;2a8YXbh; z0dE&~AW8ywj_2CKT_W=>e@;J0Du8%2RNw1mQ$jz)*NcI@inY=Z_15+bV6%xF;Bis&|GT9&2NU$a;xx62%+Xrec(Id1aA370#v+6!(M$RBTzwRVEIO6@=zAL?pp|=SYvzVKgRB68gu^874 zVvEB0JW~|?&kXwt{U#j$N55@%{g{51_`p{?fi$k;$sthHLs?=uB(iiKg1Dg@Wpi|*z+*Mg!$Z->!ZxllpYMFVIra%dt;E3^ z7h~nR8|M0!j*f*~%?se(SNwO2A_W+SzRuromb#nHF9{!Q{iA%dejb-z@mx5E_nWAm zw>PvUy_64&@UdO8(?^s5f!gFYM>lfI-Z#3_klXO|@zMjF=AlWt&10`FGq#S$?Deem z`%jc6B8ML~%{(dY;lMNat%XJFe>ie+y8`oHlK3H?e<}kVx!t&6xq1x*a9Tg`u_MjX z6P8EsfB0|0A<&3I-A(qlc}jsKa#8qp-(0-a%7vEAL2-5U!wp-ki-kqZz&Dr>ydMuP z@>mJaam#V(a}MkyBDFETmqD6L#y`57ZN|K1LYSd!I_j&*?GRZINnXVIDUYLB{JUfh zmp~Lh>Y@SEo6!Uw8y8bT(RiWI%aTtzt26W8$RL#BP;Celz39DioGnyash~w~+3a&H z-X&!HQP1E)O~%_My+;_Ub>1$NRbeMRKN;w-hS3|o2w(&`&{e>@Ka>B2Z4o_uRa1M@t{n)GpO=wIf}$cI zIfBn8$=>8t$Mrj((j zp(UgrrhUis&Qll(2e^P5>f|urmmAJUX8JXj|1 zK5KhP{hN%kJ0FV|Ud}>I@y12Fls(UnNG-Of!&baNwJ`;h7SN$J-`e8N2)%N zO3F*b3^t;Q7WnH$rs2aOQ%{Mi@{?=Na(#*xBDld=_Ns@OYOAycfgKFydEu<_<4;GQD&F$z)dGDubbahAA61@V762V%brquywt8i zjVId>d(?@`J5kTvnift95?4*KdF zG?Gl*hvU&IP9O?nDPCXJ<&DRYEWc`qmw##dz1(Z|fBL+-fpS!7@b}A~beq&6v!STR?6DwUvY#nRj?cPHX}*>0(QneDyvZtXPH4Yd$>jjpwCIH zo5>(n;*YEPvr9=mE-!==Qs<{hgQ5LKCIg{H57A=YK;?i?a0h)v2HJ@0zc72|OX`kO z?_N&vpH2DK@M;qv{_E*lj8&;o)%C}Mrjl)44$I5ODk!%qDMJRz)|{CICiNhFgE1Uk z4(3agu6J~-;3C3gQuZz3x8>Dm%F1Qt{nf(!zdI(X5JF9tr{_lj^Cy0jR|*qZV6;SN zxz~TZ>KfcenRTNWHX8o^||3v^!uFQB;2UD8ZN9rw8T;sHUn5MU8b(1ch3Q^%(zmi|s)_z5|MDTKD!}82`s z!nJrnS%@SP+gQX%n4shh2a|dyOE26?4y1+LOCLx^(y=WbLlkBu`~qnfbuOj-E_!pl!4sRG%+&m6cZNKKve!Csv}Hq z|0B9jm4zU3g?Zt&Xd=~=L2J0UJ7(oQU5|1UHYg-9GG$ce;bE_v?L|&dGfCn69}Wcd zlL?-SQ61?ix^;cPv&Z{jw?Yw#&&JB$Le0G z&&}jxCURk2bRn98#Jz!^d|zKIn~(X?tu+Y!4ZBQGWuSwlRJhl?Qutro28Ddq-SlV4 zA2RxXtIaij7Lkujc|tZMz&-c*v*D-6pTTmga{@A`#(b9*7DMb||L5Vo&ZFrMUhbay z-AWldRTrTlVyG*F+QH?=9W1MO!-7uP9q5`kSY(Qs-!rDgfvN_6#C-u5$5hsfoYU}x zsVNv0n1Cv_q{4`!#kS{9ibURo>&tfPO&KlXmzvO_EcB~OUk+n|wGrN&?RKi%r-dV# z|8SOJ^fD_y7G@4Zx4?jP}XNoonan3ASLM z%VEw!?czK&)5&wz@tQyERZE_zFzJ1rDH%H(U^599}wWSFS8ri`5uyd--!DDdf!m-e|f+_P-K zkPU2G{mP{E#R4uzLHE@)`c2>Sl!vtC7HaA^dZVid9rralOif#cnhlCFjjX?C)CSUv2^i{5$m#`>7 ze0PaADzG1n)LF%9BNf%;HLGg>LJ4wLPBak?I|TsEaKS0Bvdo#Y2qkw#gsEb6t5nnT zHtT>51|_CsnJ^+M&^BLk*&aSVGfP1YOFW0OFtOkoU9WJWXkrN9phR0qw!HF4SMc8@n_t>pCQ{LAdT3n`jXzF>c3M#Gw(*SqxCF0 z#2L_KxDBrMTwKV!0uwx0$f8udb7O|TDYtE{5?`FDn^vIhYcGx%BZ*oNq(Z+t@>417pWV-K+=h0siIb#4T8u5gI|mu!i~Nfyd1k~y!iC39 zWvh>te&Kz{$$*YRA)ow>H4cXY&XKCXMJ;Hu_&XmwjZPzwf6*cMPSfSAU*EFiLTBPy zsB+9qprB4Q;na_wIx0)O+TI*`*2OGNloGQ$WY1KM)Bz9)5AuNpsNkwh*aaS(N=$C( z;(fI;0(Na-Uu^kZC3K|Jk%O8IbEHYRRB8*zjL2s6KJ7o}#lcAy6a=|`g2d%)ZcQza z?Xe0n*zg~}f{lx;eAU7&*>*?rA-wQIH{0xPrX_KmKX*tn9!h;Z-w3`VjdW!-pb)9} z>-wh!!ru8qw#siCtdnr>wQA5K;yKfP{<+LQ(soOOZR2OLHxpUk*z@MRvdrqP2oUJ` z9-zo#Z7}@Pzrc!>sPJP?Tpe{OXU{Q~&NZON${#3S$R~O0r%1u)T;0iR`nO|3!oj2s zOmW7qrX{Tzk{YsEChGRk!bb9!qe}UtoeDQATCGu%-2TFaW0P$nJqhYQp|{#EmV}WHpu%;GLgo?g|rl#7BIy9&E$;RJ1})!@$m+~{>Pb)V|9SMMJ{05=)grvlR7jR=lc@8Dm7Kl5qS|%=~d1**SZ?(PxoboFRe<}-)Sru@)!%K!P_k17%MotZ;xVE6evsPMe6eJ1V+W#SKVcr!T6*K8=6Q2hzq92r z`EH9u@-2XKx_Xw|xr_bKp&WGPKOXRGKb~HhoZPN*Gf47Hh>BXaIlH9N&CsfvsO;!g zegWWOU#R|h@RdPJQpZ;deefu?JV8cUeS>U7M0rGWfrwT5nBq_4A;?x_A*!91K(%%x zjw=hajN7Qga&Z`_mAkJ&&%u+*T%ngaTD3RMD#q#j%h)?qTJK#nn0s!zI4^``#TPskU> zbSck?r{NfToXacyV6lRdHNf@Q*5S?fF4_?z=3F_HnoS4aEy;&>!cs+%o1-H_0un+G$av+B|$+F5NA9 zumsg0Pmk0NvsGZK5y^=8qM)i!5nUEZ;w zB`f+-BVzo{(Y>A>0bQNm&nvJ+^i&x<>X5|nWEC8#mhGdpRi5yNf*f> zl>a<4`${wEz3;H6LhfC=2C1Kt&AtSkm*dyrnc1I_wfugKTFgZBe$nn!uZyTA##9LO z8M$}#y7%bKCpiA#9JkbO$;M^>m09FY%>kz0Z|t7!8O_0dD#azL8n4gh)Ct5-f`f*$ zx3H5p_oO5YLQ4xTL{bArbGJ2gq=-*+zeonp+-vEAYMX4YF5-SKj)3hl>9W^pfgUOy zIVJW?7oSrulEPHz762H7xVy*2ZM`QOIFWBR7GWazi4Db3Fy52+*%ak3&yld3DohbZ z(`X85rR&HK0N+nbHOS#8|7u z2GdCXd8GMHcGNx7tL+l9jPqQadZZ2tEx45#k2`%bct9#)HQ&u^OEIE$<@OdvgumDz z5}YU(A$x`Xp75hrthAY1izBvTpkhG54DEu)dIzvnh5D%Q0a^L*LtInsmwYSG+M&ZK^z{Hvr{#L!ENGZ7vIlb zr}jPB>2btWkVvDEmnXU|3C(NfzDSK%wftLI7wgMPU~#2;=aPa-X(I2b^uh8!osoFh z2RmJ)hNxOrR27H3fq%1_>vh~hueYP{Hyo5Oa>l0NtQqKmYD{>b&gYb(z$BGo_4q;);?^$(#VJw|Ne%FCO>u z&|@^IjbyuW0~ z8z{X@jSq1c)wjp}#`ALt1VsnIL$uVlz zWV)|xWs#-%VhJ%$`Ykxb_0!;mWpf>X zFU~ox$3am6kn6s zUJqPuJ>oo7hJ;4XkTJW~2cXuytx|{sW0(ZS;Mn$a`6t=&J>oo~SxBUT)j-x`3icjW)p8E8m^MB*@taVj%lahmRz?X!P<1-DEZf$mI7q0xgIv05%+%&15 zN%YUFaa#0usJ4vG`Q!CLLEzFZDDaNb%93l*=)o%Y3hfILA>AfAD4m_M%N`MC%AolF z0J%U$zbeMpMhlS3&{UaMdrrd&j&3fAV~P(ZBX_(Lg`$y|2~)PG!CHuN<9R6ywxE7Z*{WxVV)#+fpFuBJU~x zYEww>QGwz}vBc2cKyZ7>D0$0aK)Dx*$y*vKbApd)_`%W5Mc9N8I?ZdwWa>Rs+nHQh zx(WnyACD^dhS6z7!Klr}iyVj|bIiEuTsKIZZ$KtGlvU;xAJg!HqnwMk6{$Dz#@>2L zXo0tskxI=Ke3=`3RKr(}PA&>EU=3@TiWDRyS<0jtEqJqo({s^}D)@@gX+^p;RQ!H7e%gtFil3LHk@xj61-q?b0%oYT;ih|zHoGN zQHtCqQcOrQo45sz1t@U^1v~_0?(tC#UpP9sD2b9aO{bek76?^xGQfz3P;)(8C!@-~ z;&d8OaA0!-$rLxoQbBENi{Lgy;Y?yBOoH(ggNhAIFp5p2El;ew>IIAtb3kGf*_FA) zM>Krk=;orm#73;7;y5ed!NVq0lL<~PwV4}yRKr*8PC?i&rh#I%#wx0U1@k7*L%6rF z<}CB07!hkzdd3KcPb8P@x$H(9H*sbOM7gdM>>rt zIH9^GL!QjA#U-KNWMH;TN+cO$uoH9Hqr^dzrdi@N1T(_do9iu3V9`?{AZ?lN@Ubh6 zzBoF%C>zCdNGrzNYDJgXr0%7y7d?l$!)S`A_$WBGx?xHi0O=Z<1OwPhCcr=}iG_$l z%!-dRl2K(}?K>@tg2J1`CdrvpOG{!+ zghawY=_!RBrl=w8_DP&l3^HaCT9pLyA=-SY*oad~x~_v!Wnb<)EsKIynnBfq5Tu@* ziaBXwi~>eIsXN(JnYVjR%c9^A=U9|MF2R9OaS5`C892@2-RYmGGOzcYmPNsF&f${G z8T$c>!}5~1d_k&1&dL~7=KUVi@+i2yxnk|)ra{5YHz#nEV;=eC^Ce-*+~A{Hz6EzV z7aX*lF)BtJg94RUfRS${o6Hnt?(k79--0`vi}{$EiV-ppnlK8DQcKKx;Dn@QF7Z(< zUxGWEi-4H5QI>BpI@oOFrAr31CJRN(O+KpSD{!ZCQBa(aM!`&I&2cD$qUDpgHhb1G zm-wibufd(nMKYyp+B9Es$-PiD2r8j825`Z~M?);w6rzR5$WP{+ArcBVLVI&$mWZ+D zMjuu36}Z#6CwN)RG%gNb!ZA8M( z*b^kV+((ss#qP8&3Pf%jN=wk!7)>t48ADLhqCjdlil{QL_??zT!6wW$h&Koj$c*IN zz^MJBk|Y-E9#olFd=IC&SUat>r&C-Zfija=+D37jk|BmNSNN!wuPdEo3Q@ux5^1_1 z3#`d2Q~{77fpI=8Sg?`=sUYZ>UQH4it{}AJ#)#OHNnAD%%UZs?berC_if5x@1tbbRLbF7Cq=eA3=#$qDv`q@cyvA}Pwg7X%?)qj{oXwP4*fgcAyhB+C0=Ya!4{0Um6<3lC18Zjwwm#v2}~^mk_K}R z)8GR*(@#^XJN`UBx-A#*j3rH}Cv@wEk_t}dW8{{Qgf_5_#q%PUj@}gZL z+0Y;45BVc(zvxe;bvxXS%7Vv??#;i>HOK15qTV;NWeE=MgvC+?>1;wEHU>q2FsT8A zNC}iEx(`zn4HUKg#!&7s!Ag9nMzE!=X|a1qmT|#3D3q*s#Z@XzF-k2HC@@PGOuYuE zpvICDM@d4255X3U7qFr*4~S{dQfQ}(QT1o!nlMEBN;!eJVjG)06(`#ZvP5w#$|@*y zXVPVN{IPeVWj##n1a^0SoUArrL-3UY^Td%CqiekZn2^9dmx?X9B&9cHwFm#)nVolo z@9O@X)yu8^f}ita#K9RI-yGdBwkyG=+!c~uFoI1(0faW7oE}^$q?gIsn9N^y<^Z>i zv!*D0AM)P3GYI#FzFyE7ikuVWFHbHql;Tb0rvhE^1~COKL4!x?fiQ;DLYq--jPz zPCcd}cN;IiiN0L#Z%;5-f~QhGH$+aeWF#j|_o0cJZ*lU*IVtAcrSA;SJ8QFPYjlr` z?u@;h&BGFiiA`XDDu+k}%Wk#VmNHJjgVK@3+w*?!xxf4H&*ZErN`;T=&xd}PkMw?O z6?{poOa$8~v6LEQZz~qiT!?NPE~&R_?@3^se`Bim-RAp1&itcu2kYZ{HS16h-K#5p zf0dWVcM|Lr$(hE|D6zLoh$rGLG(u4Fmonx=cNeaEe|OynzD{?sQ4jp1EAHg8{ZchNSC`$oUx z@mzrH^ThCHuk5DEd^Yo6deVaht^^+mnV^D*MnRjkhNcVLf)GP$4i^`Vd^)Qz!`%)Y9!l@|+?pg{l|GzZwyB>VI_b8{2BJ_0vs)9gv z5DQ2o8Q8ep(;+;SbQpUsJ7L|MO?AF?u1@vrctO51UoW}+y!BJd{Btm34 z$7&1T_KOH0&}$LB#a%2;KlLAEn5*^$@X-Hy2xGswY~WtTlZj6fM6A@4#lV9Hp^-`E zQ-9f)uor7&U+0qemHz{D=lfg(FA}U8d&QR%1j0ijS>lfL-T3GgIJIUoIurA=OZxpKCuV;8-hA(OGm@2J%M$!tdz#o= z0Tj5FxI#i=;^P2nAVER!a^9u$2hKlVyN8MWz*iqXlAZ)8*Rf65nm51$Nr93{O-(6E zkU!s4Ik>xa=3T>Ne!HJ^m@YmAUbDk?(`7!XczsnaBaZ5NSh%3(Vv|KUK@=NsyHJ8; zBBY2%mzCpwIzOCCN|!g!iNlc>Gi0 zv(-|i(j(JTDflTv@7$T6_w~xv8n~ONAQT*Wu*9N`V`Hu}O@zqs))F-R=cY2)kE8vQ z&mVk-`u&UF`&s@s4?L)kPS%T&r+DS!@6MUwpTD*BCsu9OyJD-`AKJT#*0U#l)BQ?- z;0VDcBm{9zAy#@+ZrRpa9GipRMZ6fVyt>Q&_uLiX>^og|K0$xgH@}zWY$*SY9-q2r zEcR$O&nWqB}qkm>j^Y^t=s;5(nkz8mjz`RnQ<@)&Oa<7f86J}^ZvK%Sg9090LWJlogtrCK%Zu!jp#jAF4!8gLmQgJ>fI`_v_8R;dXEQCubG= z(4@WxE$hzxv3m#0e-d%ClWfzM`d;Fi32_c)N}IX35nBs~)Fh#V`L-Tw-A4EI!;CE| zTo=Fj9QNHrGS{KeYs4eD@?`g1_Sm8<6p{aBYZEv z?T2ie-HHEwc!H>}jW9U~=PoT|6D-b8j6`iJ7dWWYJY@U*I#-|aV0YdBSFYiF zX2);txI8(=-mnS1u|DVsAbSAw--h#kqkdxi2hSgktA7x>lz?V%e85 zmtP!G7mL6D+#{j$N{hpulE_d*5`t+$cs=$q(WIU&aZNNy!{K=i4#e#uFXIrudBw~Z zcQ02sIl9T{CMi7=U?w;GXHS*)jm_#pug+(Q)2~M_h`T@e>zVirSE#dOeCLyheofIp=tWb>L|w5@)NtMa}8c3oZfLFt?*sx)6#ykToH zuQ@e145p2qZe@l}6`lx^okhW7db#eIQPIBYB zGh^iY<`Ooi!OY^s;5i14mwg-|3?52n^sCV^!q?mxl{C|F zyL4u#-Zt*RudnZ6t`Ln6hRBJ;gc64(7C`}>TC>1XU6S604A>&iwXcL+*B2zhbHBER zzQ{oD!2iqiQea8g0Iicu1RF{xs8JZ)K9=>nU^7P^n)HgXvGskt%?dK|3_Aay^aTlE zsGNe=;BmXUAZdv`*YrS1n0%z>^*e)Ptz>5zBxv2OkGJP-&-PycN=)3PPDe4!OGHOX zxYT&!3`8{iQ~sAnviO3yS2q|q_x(07+zcYm{R0zJ8)keuc<^srCRb}-^ceRkA16HE zdfwks#txC!BJhl@q1YwKxq?%2q@-Cd2D+OO>$k zF|BLBv5h2a!gO%%^jt-#@3bx|AOeLmTc>X&%?*~@Ncf|fE=o(h9Lm^kdk3SpuUOz z;E6XO+H$Xll&ln89soADSCJpAFUWdMIqk*Vp$a+OL!IyUdje3hEpoJHl;O@c>-TIE-lw96&^#uu?8=-o&O~ptVjixZ90){oZ z+!3BywYKRC>kHlHAEJ$a%DejoNq6A*x8o6rU=2Us_^}!%HL8E38=0BtW;rv)iIba| zFBFbx9N`3f>EKq|m7Wo*+9e$gO*U=A#e$;!;}R>JXoUrTb^UWPsl)WJ?EF{v!2abw zxG}eDesp>?{q}LYC|IqzfBDJJN@^2iY<7ZL0uhoCOpX&{tXN%9y+3OQW`Wl3D7-b`xJ27n>Q0$v zaP?oTzGhv#V?p8@Wb$)%DVzT_EyU(-^FX=om~PyRY{Mk_2oH^zoph7Q913I>3RHFxxPDkF?(iHzxn``3g4t8{70~VOXi_(L z1w5HTwLPFxS zYGhBo+0opaPsi{~LpmmpHi z;p~@D6F(pj!mlq=izldZlT9yXYzL}wIzNX~MN!cXCU_;xp+dK1Y7`Fv6`8gwoHdUg zkt4^bPm7+AD(z&w$X`-MMn&ZmugEkCEb&k@cayroxHBmi`&b0Gk^FXq^0Q9*O@oRW z2T;5qzbVi?1@2Y{R+K1H^i`-!I-6(q7$8*>a66nTDfE%@@&7ABh2JpPt)J2Q+m^qZ<0T+vxdHk?VUVdy9^62=&_LD2MlUwl(8fxQ%vTWZjG|AG zQjlj>tH*`f4tMfBQjZex{4VB`QR&VvsGAAHwri;` zik|W}vI4K?j@B~Rb)iUmgv+QQr%i0#EPWo2IR=*AppC_Gk=36m?y6=&%m*aN!wE5fx`jd1Sbe7Ui zZq?U;>GizTsj34T8%GfeR1JtUt*z}yL+QxSfxmK(k^)8+BK$BEbq5WP>^5c zG>^vrnL~5?t!@s*kbsiTmr!mWW^=ddO9RluqWXo%XXV^2)ls0Jym}msJ2-VW7&%l} zZ6+Q)vlf)En|w8SU6T<3xo2`Ts~5d=_iXN@ZD`IcL5^0wpO3bs zT5oFU6ZOgHGC&3?UkLFqu?bdB2vjrHFrA>9&%wmT=TEPrbo03T#WBJxb!JzkPQ9_z zp@T{D-;{@^9hdL3_A&AoDN8t_U{#Ro=FTb*jQ>@SkT~Q5*Wv%JaIJTFU;#Ql-d`QY zF=OPKcL5Y^sVsj#GEPHyq|yx{DLl$udGranTMF zFk^XrE~>^4mQYe`AC+2M)*VYqJSk2)()V8bmzdo5cJ0FNEx8}@;r`n)E=+6j4HhXA z`!Y8R5aI5NlW5ANeBAT|EG8BEwExCn;Fb;R)WJDh^lTcD-lNXlnJX}{XtDLen$x(p zu=fU;ZthX&n3zChPZUMfcde$ucfGmb;Q_;QBObhpCf~zGNzA)09)};G)l56J3UD{U z%w5k5S{_oUQeA8)Tc94VpM7f1=S}7a6S%M!IP#LdJt?gE+~>y+`ePpcw71xPx*}!uUj&bAnb)K#MK0K=}c@LM_Ibw zSo)n*3m}YRf6?q~+=E+fe$eM0=oq=H z?V{Pb)JsnH1w2=KE6ZzZ$<_|adHZ`t(P3Ot@Hz=zw;U8FvaCN&f9hmtMI|BxXAIx{ z^z_&scixDqlIG&u>UoD>gWuG(GVqa_xOt++E>8ZBkm)?m1U;>_GLz&Xqsn8?>TVW;oB6k z3_e2VmyS|g3EH7aU2PD#aK z+RmbHVO`y@L3a7ZZ-U{2Zv5jIoKGSSD&OAxvN@8hz+pvORyI)Wv{;{ZN84_Bi(3`> zz4^e&+(Fsm^Va-ZW-Y6?$p*B1>m5Bes{R)}m{Ln}>+YS%YCGPDRjA+DaWKdr$55=r zP+Nr<=G@tg6ypw61YU<(j43r0V(9TT?zrFJ;otY27GHOZ(9-tfZc~$69h~@d+va3m zLBYB@V|1+ja?gb`Q}4U>`Zi)%4#%}}QZ7i@>qSMAn4Hg9pQIZC{~gUYtAO$Iryrm1 zZB`-sa578WsNB?}vqDv8#R9LE5(+$V`jsJBg{@?&-UeW7o9D=Q95C zy&S%=AL4&Fah}}EG-&bFyq7g z{@g5ZQBFKOJ4_rtK3yN;LX-dho4?eaPxEvZF}f*#33R%5_FT1`)tGS zI2-u<94(^X+PHsypVZwQcW*7?Z(eQfDwx>(_mr-s>=mwKjAb>fPMU<)fIIk0ER_kz zzl*+`GY45VcRRY4j(1m=7veQ^ti?f7=c@l+(c5QXv`|OcHGI3)6LBH&dqRXCl80fV z=h1oY*6ygcHA?%vw^|seziZ+KrC)egaa7|*8!i>m!cO*9vqWEb*4S>037x*~=B-@+ zCY?dY9UM$~8|{^!X%w+;X(6%AZ$}QI7aIFoovtw5>0`;lYGbbh*{qLyIVfOhf2;_1 zVDSEpUXG0wzI)9tTD&Ujzn#+2=DvlxYcGu7sl6=SS~^sxw?K5vxCp7n@p*m!f2Cx{9otJB zeD(^bv=KP8&UDk98RNvs&E}_EUDiSLPXtyyb0V=Ju{jGCzWwY?3{*Aj%^j+@|3vux zGd|>H>Xi-Gw-D@bbrI^`-jd~L7%Kma8_Yl zqHKV7w<=bCx*oB1heM)Bt7Ao^h*0Fg(?$8XjVl?dGdJsvY4*Q7?niDxH%jVBDl@sQ zyt(X{iBSDvx4R1kl&vfEf%R|POj>?eUvzdigJH_A^c@!e_R@6>J~Ocz_`f0NUnTNktOFH8-J?~1gkH9>`F*i_|CYmcCN5crFBcPYYnmE9S#RJn z{vNOLszV~an@-oF+EXI^QOxKZeLe5sp_$t=Z9V?unQLs?CoxU?9ffHu))2e9oU;}2 z619w#l}}2Q+B@ovjb$)rLzN0#KE9)(?`+PQjQYqqC&Fk3S1`;Rc|2}?pxt@Q1`2aA3{DOcE z5`-2>ud>L47+f*9cR47W+(DrWzXhXaE&IZnrO5^W_#j8p3Tp&LGqF-wjX@8dD4FLj z2jEy{&E@gau-wN`;zYNV;2ABklp`^GRv;9U!KTN8(BArb=S?uLNpIYhp0*9-Pe6^=!X~hNP9otX&N&gS z)_BY&#C6i4O?zMPZFg>htoM!x)qb>tH&_tL)cnaMZ3K8NgfcAVlo=&dsBQJHH5{)h*@ET=Vn1?@Wi9j)#W3E|>A`Kuo<3yUJoexP(moK4}4=!q= z8Ks`~5#dj14xgDASR=BdmSn6z0?_d#Qo2!tT1a5JToNUk7IDEYCx93IVY(@E#| zFMoDs{BO7-{L#xx#7!;3=s#HD2NXY@rDv1N6&2acvWqIeb*;Uj~ zen*#GZKB00K>{e1LnUxX@*)-MdmTA49OOp@A;G#)yvmm2HVfEgKsM{lp# zDgI_3PSh7;H9J!VMhT)xL)Vy30DyWl!fJ05P|BDe!jk0&j29Fp7H$%hm=GQ1i(@m zvIwaaOfC()9tW_F9%JL~J_6(N=3%|v=ZdR+|H*Mtt0jItQ_cwj2{$xnjl=>a=b!H` z6+}s&_Ca2829vVEpf8+0!1ewwg~oyC-#r5cjGm$`sX8eokP1n(0Eviu&pb`_jg?NOK(s0s0NO}j6!it>h{295FJ99y; zu-G#Z)Hp;xkxo$ng-T<^$XPIhWwi_*>xguqdqLt@1bM53-{4myv@I$|+Bo21I} z4&VLUpDpJ3gVW-v`(*c?j7EFG4~Z~9Vhz-AKts;CEKt!kl&yj3ViZK-G+F}uf+e@@ z5jPm+(4Z`y%_Aj3N;S}XNYU2Jpu9*!^#g=KEg(BpFb1Pq+8A}A~i zjj^JYv=9=t6g&h$fs9r`7?xR`Aye#f3=h2y0X@PX=8TB4;RwrG4%UI-Kwhh~pa2Vr zl)|Hy z1vQ{pkkKk&f-3|vkOM5}aad*ofFr1eNRX#iL?K#B0}4Q1!L`vmMv3v%V34;0 zW~5Mu7(_d>*Dx*Vf&SGVWDpAICMPl!DWHOqL%kycP2}?)7ywdm2Zu^80M{TWk{&y5 z%-y|ua;xsWSiB(@U#LmwrpqyNL@aW;`{L-_BtDzW&x<%CH`m;)WtYS4$x7*m-)iR2 zETKU^szad%!F=f=6GsSKO2M>&3B^;~pF40tuZhjKmAJifv)QyGorUc7e!-*~dl1$j z1AtUXoe*=MRRumIGwg87=LonPeCZL+-4XoCm6|4%8UqsP!P&u!lcq^D2BhL2!m$k;{Rv+UY76)RQ+4Od|Gx! zqeyw#OshRZ2o7_E6-j0m+KQw?Vw?tQjiQ3%WU|K)W?3Lce(z`YWG0Sl5MOb5pLPU- zrsB*!%F}me^D1dJBol@YiV6(en9yDcFqT>slOhfEL~AurGl=A&&X#3G8_5ZZ2loob z50zkXAvau10Uiq&m2v0e9Kp33CEQU}dlL>1q7@wZWaGR^FbEm6lS$4Ng5ZISYk)H$ zs+3!8crGLmgdlmwR3_qL2}}d6!*fL^0tz%UQd6vvTrCIM5M5X_6a|(aIKwsGG9krT zt3}FygxorTRtV>omu;9XG#ZixO^18=@3-8IC>U9_#vj!G!f9}zE56zQGyG(jR& z9D<#c&H+L5KvmM-CJEE7GY|?2Ovyq1emPuGUXGm+a!Wx&C=6vmDd$;}sw8(q5R<47 zph`wQ1cu0PVQOSS(ah!x{!a3M>^mpqH8MCL>hBgs7cWa1*1> z>k(s0#RFImEd~HKl!AuNHGpBcd~!D=!6YU`?X7~H7$blsfR0fMDi@4s0Z1Y|u>oyz z7|CUqyI~0@GAwE{2|0f%uNH$W2!1^FeOvaEfiT(tR(pN-UZ({R7&ylf$Z!hJl^Qc- zm9iY|Ef@aKL9j3`FK=$Mvil32;q0Hhj4KYvoo@Gr0Y-ZV3LTdU;@6O16^vOJ#0g27 zUA%>)k3p3cA=TSok5KRav2sB+k zJb{tenc;2Aquu;|?v9*3=NHLzj~>BD6A%?T0z3-L@U<~YA~%Spp$lrkO0(e*2uZ#T z7&U^lDqdmKIv_OxV6sA_jiAmspdyfy3A*v5l4wJHVPFtaU_v1!ED!h4{lFOz5_MPc z`7%POwbn7cF)~dY9y@xGjUv6@rEz=l^{8_^4&CP3@k8$avsbbI-ghFy&G^xIyLP=BD1(-IAcSee>~S7NjfigfQ3 z(+=OYJrSf-nHh9`NI`W9Vu0bEM$8AY_;)0FLFdeB-3Np-q6v z2pn4;N7WQ!IDb2o*wkE{+2h zMg@H1olJTFw#wyi%!=g|9U1+1UT~!i7uIn&MJuWSh(;-%GKG{0>$J#O4Ted1o%#s1 zoizB%2iM*>>twV*&J7(@}I z(EP7@x}(pv_&4~BPxg46O=A}6G*)uCk|X5=f=8(gSOAeKE2lDWL(00ruO!16ksB1s zXpt5K44gxaXGKmv2c0v{q9hfZDN;)7=>tAe`}^9q+`5#FAt}?`g8<3OhtOG#5@IYd z#OAz=YY`+Kj_p)7VSP=X?glxjgV=*G>a$KP75!u(sS?UfxSlBI7b=n|Q})0=$X|=N zdqK|X;P+rNU?GS1UPlB3K>gB4Swz;X4GB3iH+3GhzppCfy+q^3%m>rdfV?7FPlZT@ zm;hj<=0WM2m6cI*S&*R?Kli?zwZVbG)FRSDHP{=RlhYGpy$m_E5(8@j4lc8>b|#be zzMR%Uf~Kg94vf+ug?EHyIn)3JWDuj32^D3o94_CC-(^JeLCnTAu})cUe)cLhz2E#cIdCiDVe(4hZ`*dVG`R%m|)+_vq_H$2$=n-$XE-cGuC*8h zfq)69?iQcw%7cF(`0vTfy_ww(j%WYz`$AXVfEz2g-C@!g?M$2j zQ)z+MPz;60L7WCi1@l&ct!YyfKw&i#0uF+>%yfV0!9qd2QX8#D#>g#D8ibNaXF$ot zVNgk|;o&|r`|Ua#qk`#yvSr*`TN0B|7ZTKQTmzLCfuTo z)@6kX5_GI!pn^EDHZZ{SlI*P5Gq{Pe@%0_n{Q?gc=Cp&p_CWpWUggUw{YTcjLqbNl zuxR7=inGrVilk6(9M%hj=ON@fX(2=lfrr9woyO|oYhlx+Y7 zBC-p&3-`YJy_9tlkeFmD+ww#tv#l;nAekGnyMMtlq_<>uZT$N{plASQX7H>K0IdO{ zf3p7c`dj@z%wnwnCbuFy0FUg~jRx>?;WbO`zywT4tJOm8uDqHxkvVp<_PqXj$;13_wRa;-nTw~ z?e?~=k}j^|8?>+b_R;_E{;l`^VTRUsqWx@l?KG#;6)&A6`Rs^--;L7WvftgMmSyBlw|wU)i*-TVK~ zk8&mtn*zKa#!Iw$ZH$c8D(dp?`qI)YHmDPqyAHln>Q;DMOZ`Xo4$`*#ezl+J zPiaf@cUJ2%?w?@Fl0t?mbcbp2DUsUsJnCn#uq||=`lQPW%h0&x^2|RZZ4oy|3!j&mel@(zZMq|T~Wmbut zRH@Ok%yFCq_hag7Y{%mT4WkNnVT&s$!R50(zyR!+<0nTknYSqq0Z470kk|pE5 zY_<%U+;Ku;Vq*>hW~_bDc(UxDoJp)(g_&Gh^4{+yO^A1u!7<*^&l0h@a>+{TDsxH` zh?b?HY*ATRWphr+;iksmKHZ(tehoFlGU`5-`?`_`bINz$uT8*YL~tpF&y;D~N=rsS zbS$g-DamF2S{O;vlI6@<)I*6)P)sT=yR$H>if5E_AGPJ06G%ry`PQ#*B-O>N(E^V{ zSmbEs(wk6KoQ4%vl#5e^C*vlti3z6ok+Dbx_bUvB44${dHJt4Zl$?ciO=g*; zaTRlUur1_x-fqBENmz-VW%Xiv0@x6qP~*q-lO3v96&sr3vYGvy&Hp8{Hc~k+tqX@2 zmDuZomHc%c>%=yF@br{yJQ~WOWiYl56LCqUMwt|W>?t>Mbygb0QOn4-Ti(+Jtt(H2 z;|>Gd+z_rF+cM6YR(~F@Xh|@~&(k@aMM?3HIWf#0I`e#RAKFfoMJjvF5cHImNaW24 zxHeQW#-m1Yf{2n$YZ4QYlTHei4J2Irs3nS*baZBpP*t&Y_jZ8MWU`q1G;VJ;i9~`IifGzprJ>xo+(Q+(Gz)(dA`n zVP(P2G}II!o+&Sju@movt;RqkmC-x)xby>RYN>M(u2d%^M&6jxY10BY&B&^z^ zE-J2Dp-=jh3@~d*CZ<`uRGiMieZ50qq)C8Og-XysTg_-vh6))oT$= zl2meT?W1CxMJ-=H#~ZKb7jO z!KO@b7)aWrCW_{BlFn(I+M1gj@$2V?GsIV0k_lrr<|trYkFccqDH+f*E?3fWeyF~M z@n#~~Lyi2~N|e||T_Q7K6gH0u1~IWfq;XnPsY#~X!()01?pY|O$aDy?NP7a@J0X@{ zyi`D2sm^v@p-po2C$Bl71ImA)ag~R^e=nOoCy$>fxV3HAu1MO`+V%2(e-iMPx|OwD z+ts-yYe%WX&WuONX~u-aM@DB?o^uY66}c!PkJHMu2Yif#%fbBtzo{-)Yg!|#J!vb! zWSBKY#xZA`oZ?M(PME`Wd5bw5imR*IdXJXi-U5CNUwf#~nW#!5n^0oXm@M!pWm8(x zLPPVW(eosz7giLl#ZMjKLI3h80mxLNXt(xg44`>t+8nMsh@Qz%8#Q5qi@lBKG_uai z7Nn&y8ii}0HPd0Ap0Lq_Fw4c_kNRP{Ta=gbjKQ*;kWA$c)9zaN(-9wRM3D#0I5#u< zy|kQ9!&(HWR_EISZ)#SL$7sUXaH-O$Eo7dgOvBobx%=48K7U-B5%HykKSSA_T;z3f zAt`s5K&=#uTDebP&I&%*MaGgwGWgmBYs-g{DG+!R3jAF3IUjS6Z~ABM4!_;ak_5F> z6B;rw2nAGSUd|_I(yY^^E}5YznM;t{WruC&6JuWA9~7`nIYcpL!24A!SH`B>$Sk^d8d9tAV+p|Uk9>P_gn|uiS-S0EBp@V5T zAxzW{(_G)S%%M|kaFqIPr=E=QdpELemud4-^EoQK;z z314Wbl=yCqWz9D{h|zsCr_#?%g|@0UU8Ck_IGXAaFynG`?aKT?&*1=!>+Wyc67%zY zI@Lw4N4gsNmV?f#R%*~QH)oD-Nr<76VlumuT+yW1iQ4>+87a7PpDDo?`Q&bSp$Ikz zZc@mf;ROtTK2gR{p*f*{SFNg!=_+Z#sQEI?GRmT}aPUQB@-b19$)NlRB-+LK=~S8Y zK9=fofY8bGHDyB1X|=SAyF6((OsOe2yZ%bUp6=sk3h>;1N+m}W4-Dn#gauS!PO@84 z7({!4-dX(wUlptMtI-!&KS0tr3YE;|+>d+Nyhp(4+SGqb)r3K4lB%91C*hH5137h? zx(g^q61>6#)ybSF^}FGoyGseC|1y}J6U}6)yd})ydkY0>JC%~*PXY5MhxDA=?ky|v zZcK6|8^@JCrf2gf0i|mb|5QsWv`MUIBAucST~~uzMrKveM@3WCGc^t(&=0*nKBnN$ zeWe7G|AbReZ-4d_BM{gPWaeyyP+6qpSQNYeNz#IcCF^oB)Zre%=`+^+w8S7#X_XY7 zmQ{@N@~$A3TaA@OWKFY{4Kfpr7XHH86`o<%NE9;npt&d7gMqrpvx*Wn{-lPbkdBxawcfJm$>RmU5ZRwpv}M9iZPmxZhhmJK&@%4lW zCVnV`NgB%OVPIH8m3-66>tUKy>6M_k&XK`2xdei^A8Q~Wx*S-{VbNkA6K_1 zJrNkbkRq_i*AoXrC=M4+bnfq5!OKX~FhIqG%#Z7?v_=QV5EpOV)|-CYx5C`0`V7JA zgt4%QsfexH@Lk=>U885W7flzaJYmr?eKs-Ft=Y3fWFJ5$4ZVBXC zyIK6x#Co;@Mpy4^AGxr+kSn|@Y}yt2RC8-Jj27Ol^seotEfVaP&&0J>A8i%tb2qmf z*BkY`s{QJ9NVmO~y8o5*7o2SFR&*~K2|hN#7|Px@+x68dzujkpji(_ai?mD4-0Lge zc{}pExb~NPS~7=dznM6nbMd4aJNXv;6Um!2vA4aBoDVS{1?uZOr%#wev1Uv8^I8!) z314mOdQytwxG3g-t}aP4h*P}Ch(b@P`58!E=1k=wGX*`A1SlqkD0-Me1qr#g_i?*U zClpX(rUXPFrWS*FZY#NX6Uf3s3MqicO0Tk`cyLW+(Sr5!62H8N9#gyms?3z*V?8W` zisaeISWt7g42%lVj^%t70pHqXzsKi^w*V%NR7E+Ii?G%O|B&~BuHI&W-s=qEGSUmO z!xoLF7B9OWzOOQVbkA9}Q289*^nz6rG9t??vQRBuWL{s&O8u3wJXhT~|COiAko$yj zcELe41mc`HKlQfiz8mlIvLULTkkeQgN@BI9JMK3{OuqM*Cv2=H62u&sIwwISYvNB%yej9)%z4}9Ix*YsD&Fo_+UH3zj=`)i z#6;B~UfFGFyw&^OLcN#wqxIE@ORE`nTj~%%p(A5K$X8dGgw|<`FyE< zosdbtwuxoF;s4$|Z#Dhh9sIKGN_6G#_$%vVDJWy%JRz~Qp=&(h8c&ty zA~WSfOV$^XlBNjEu3_c+#N*-dkQvS90wai_ar&cwN}IaAy}t6OW0D40C;a)dvm1xN z4VBjOcv)MQYb&%}s5xYvp%N{2)|8)f)rVqE*Uw*G-6rL>k>Vj!4S_V)_rqP-;BDE? zU~?rq>V`SM=HqPswd`PTzLH8ut?~#c(^q$QSK4)39pykqlwA)?uyH+A*mAL_d)d>^ zYv6aHd&Ayu{JQ2}LY6{?ANQ=p6f6$rApg4~^NXgEenJEz4a6RKr)zb8g3&UT6B=#I zU}4$!8Gg+GvQ|Ro@ASgf=fNj=f%@{&V4iWv{$+-v{;*AW&@QNFwDkhB*h`b}UCXkR z?zk6x^7*#0pz3Bu_4>fS94MQ zYshHSIWk`Hp7t`>@)JuDiBmq7GY-+-u;x&@$h#|Q+namHXPm^H6TS%NLq=IbILm9% zVxecvgZI`)c_K0FmcFhvtg+N6OD}$Wz6K4WqURiQCeQMDQwxQy2Wtzt;nKNfiiM+p zUKA3O37O#KYb#b`#Y2i=%Jteluho?F??xe?aNl7m=Tc^U%3DM6%^?y;nWi8Q_2(;W z&ON%2hqY@k3#={_^TlNcUpmBW#;b%CcRi;>tb6VyK7M85M&^ooIvqv9_CmJ&@o*lD zb~S#@w&fqj1mFLi&->%3|NN_yfP4jD7({y&5*|l(tmtFj)$X~Tb-mu5UZ;6`hyoY| z@$0tscYdfBgT>0p@A?m!rqOs_`}mxEtqB0E624@0rCa3^6Y1Em`o0+t_P0MGDCp3M zrfquO>H`b9ds91=mHNG!-~PKGEq`a}g9wWyvEE_lkRc`2cbBjSZ{P+({JcqC_IO~3 zWhfIeaF?c^!K~2!K={57S_@4+d$h+J^){*9XHiF6}(# z)sIWA{#}hvpBOqS4-q(r*mvW?md*;mp}Y5(355JlI4`Y7=&YDvnTk9_I}s6206zQ& zV#p^1yx1b^6Ed#M!RsC`l^{j#b-ylmX4H8?fR;H7YQ`EV*ZRV5KYO>4o}Cq=Ym6!z zABKThl|Rx7ukUARdSlAh*oE@A`H4kj%b*^O6|e9^RW-iEu5oX%ulo`)yaJG^IKLZv zwK~@C-o{Sq0)kV|R4uUe3RzK5J)W9Y?+J%_Ph-m!37N6y9*sn+#r9vDsZV63Eo=7d zWUxUgnngza^Zu{jk*DZ?pX1qQMM3>~|3=+&`gvr;o+ouR09)$@oo`*^rZksEkF8QD zpWy`%WJV=g?mPldr+}pvsNa#Y)qO&*QPuo{*(!J6qqw{5+W}*9n)MNW96ZasBIv z0PK&ZfMo*=VLF_+n(%Cf1okInXN%%vO=#m!4b!+l1m$w^12A$4_SF7U-a1j$5&$`R z1eCxm>c6RIh1J+=zyMfB|DCnQQ5zZg*fYr0jJ99^zz_ij3!bp5lPwqk=Lp>~_4ch+ z7p&D>ZFvCLU%)+G_x_!P1D>2>b>({1(->U*GkttxqS z+Hk#Wo_0%#`9*c5@MFg&5b$&I-QwE7-9|5ri;g3e|U7&*vp>GEQe+q{%#-p zKFnN=Xx3`FWG3t<^|3+W#lY3wm$0fkz3&z}jf?#jZ{tE0AOL+_d!(2CQgkZ)%Ca}p zr)5!!7=R=$*NwDFcm-rK_+`Jlmi)Sc&+CAU3kb=Ht+Fq0t@Gx+cv&c>C<>@nE#Oxl;X>o|n$I z8P4>#wKYA%v4>vy4Zl#|DpMA~XMWbA)mIg=cTbBVTWj;5yu>&of7GS9F2G_N^k2oR z?yvtS4{wn*puRJ=9b8qskQqC_ zGImHJh7WW7_U|JdTiM*d0Ldp1G398}ouqrgAo*?!|J#Ztv;aU53ZQ^ruI`tL)#K`2 zG8!x+!G6XDNRycyM0qq-((>f~K=lhM`>_iJw-acWmmZCg7*O*|65ZDQg1bYPpppa? z0WAJtAaqz&Wk4*cyYF-H*6tL15WN7)U&5)TED_{g3hqf>fK{Jwj-vEbm6!#0H7~#- z1Qr1-XJ7(Mq=`JX{g2mHnCX&~<2!#MDp|&ShE^4KDnR%Vxkm@`Zf`N_`;N???_y%g z>8mndUoMek^|(h;o0r{>nYq{D3ojmQ!pp8_rfXFaKGrN+X#rg58@R@&XR>3>7R49y z-FSOuFdcvak6m}sxAEP7FUS3d@T)}6&7qJ|-dnoQ1#Tc+ z0s;dHf>*)>*fv)UZEp|6=Tou2i0x!H0#Fx$(2iy0nC)3U3p||nIkx#|R1MY&1*i)_ zs{n<-nvNgOZ!4PRxd{O-l5o|q^nn1TsUFL#J!vBW{OV6I43dQa8yGbJ$9VG;`T;HE zKwy~Bz?6iHbMffqRGtURihpHy=qZ{D%v{I}c1~#so|^IInu5e*qF!uPC~Gvq!2}vW zXP>~pF9vna+JGaxDOdEbjM{sTsj0ARkhxx;a5FPfc!J0pboR>I=IJH8kgf$@+x5*% zE1m$DPr$OX)vrHqjB2K>pARit<>~=snI^rEazCsr8}*J4%OFXJ$cUz1o}FQ%?&-^a zK#TAFRUQDNo-j)+Mmwho0gsY~SctS{|-`TRrsrXXyZ-a3oddS)1hqMiNt?AW(86Hi7 zA!8MR1DE)8_CWuMboJ2NV3TvmkYsn?QuJ7<-k@9eCi9xSnS{WQyLTA=_tY@c?HvhS zA?nBskzo7gHhnVpw<e9dGm6Ea!Jk>spYyGNdJ zPfjHjSOEDD6hM?(@@5IwtK=R^)ldUA&9R>Ze3HnnCqss!5SqV_gean1BTkc26Q2umRhh zP^TRQeB*znD*R2eHGw@#ip&X_@%3BDj;AK8T$x%me@qsP-}RV#lr-6v!pmCm1+Z9x z_rHdmWUXG7HNuB&r%cHkaE*iua<(NSvD8Z+-#hso_ry1zk>|y007D5F*JC9H!mEKE z@vrlmmC!LTP z|4Vbxe8Lc<1p(bd8g+4mjQL;)6$W(|Y1D`LQ04$4R3KuwVG^$SPy`AEuY@gmF;=`g zsl-6Z1qvQSsO!PS%#Q(s5DL%tpsETLn!hv?&V5IP%GM=NEPyHd9bD_9TxxI$z6*ZJ zVXa5c-_{*N09$<+5S8U%TOS6gsB{^acSzeGO4U&gz4cS7fRMRE-UNP#86`*20N1-A zigIc$$PCPB^IIO)YNbWK?6zwg4@SMbJeLrMDFFz~M%fOI;%{Fcgr&&%H=QpBmvBk{ zcrz%hXb3VT;4XqiR_ashV$ukp7-)kx>c6#C$wQjapk!KWO@~8`Mn}5Fa zfTOq;!UgwS&T~js2cgsd{JEMRicgyl+T5tiVO9)A4Tkx*c^Ef*hEbm^mu>33n6#T* zm#n%voPDW+3z=Q@(}6u`@!w#$079rBuDeg8KZ`(#0ESXwuKQY}KTzO`07R=m0m_Uz zac>&m18OPNzmWb_6HsH+?yb}K;n|@ozmV=%qvWCO5-1g*nSBnf_R%iWumqn4bY^<- zebjWd=`jJW*>?t^Q4ZMlXOI9UxkIO7>XYrGRJWC&1CtIdqUBGXkJ9kAphIg}$OvCy zHRrpLSE{tW(Ljq`U-^UhC1Z`Qbz5Z9A*}hyGpu?ct7~04gvs*nc{BH?wLdSD!TeQU z$VvdQRLfbIkI3%QEKH}1?Ir%%Rmeh)4OpCnSmG@V8D7d&vqR&;XLJsGW=>trunMNK z1VgM(SEKHG{RG~UTuLG{JeK;;Q|4$ih$}qcQ|@?c0s8VGhI0$ zNARyUzYEGeO*a|VI#7|CIWH7#VwIwu3= z@Mo89_fxdwB673tHOL?wD;e~ogCKSA4nA-tpIBoq_LB91ye1aDWM(5 zQJ=Tf^@=Tk+XOLk`rShIZM&PVrKX#4RruDf|GBOGl{^2tdSY=~`C3%Cu>O#_NxyNi z`Ljgi_4m|T@3C&KT7J%V4SzH=;hjQ_nPVOD41hZYa#r{Lbik%Eih5^y6jePfs$!`T`a_O6%3?j#Y7p}t z>L}F_XI}l)$VdQP)R%>~9xzMeF1@(m zXxEN3>KrRri3UK!D9#Tr_~!p9|vyyd)v$}4vLECYpISCb~!L45r zyTxa!AWms6bCoG*{1vxbYTSWhG0iwtb;@B2%H#|AGt;#}c0W=k@+PCZ$)GH@vMXGX zPz0}~mbCWw<&kf_YMSh7SaPO#j!;4dG{Tg$SMbzxGZcm9(=B9^h@Xe|KP9_i!ONcL zg*NHcD5timenB0xOa}FFzs}dMJ;w^AHFi_Pp}HrL^za&a7leXkvs(#1I*kn0HpP@G zcI=^dp{E#uULa-Njg@>+`HS?J66!i7oog?-*T?hYdT%1m&G|C4_%IZU|2MC zG*nHoN?1E~yDgcX!8B_;)tAs=gXPjk^;nK}&n7@ow^Ed_G>W zv(D8k#H|0#mM`6r#vj06SM|$wA-Y(3S;n0r&^Aj2Ou|UvUO0zXUNm}Gqk!mPq(mEIeVAnK)!AV9-LxdCD~Kl z5^gn}G}Jj1O`Hz}RM+JtQr%7wWyMXJ4h;im(T{VnvIKHLpswbPG8~YkM?@mWELrt+t~V5Jb@?922QV=lA7rhszt}qVc9v)wvluT%15A zyf3tM)Ki@T*g_?EnSE)weNl_p*9ePc%ABBm*j-H#MY?M` zeW%WR{tU8h&x^{)*L1LJoJqbi_8TbX6@4aKrc=$gkhpzW*D!YsEe;TzO{c1M!wI?Z zbg`jsnofP{_boph*L|RkN)^m>b*95-FZ*f?O~9QJG&4&YojGqJ_Y5_zfPqY>f6dB= z#rlBJbV@td;lky^^nWa!J6lc>X2)HczGTN0rh!eDoE1}~x2D3)S&$-~4i_g}z#3Bq zXQrRb)0clpFE#>AJ7t0y<8S)%Uuu=+K)Rhmz>NNNuOG!2iqSfSu!W`aFMZc`mPs(F z(4iCMabIY!F+5QGo}6WQ!nQ76hz#kJ(zNJMXDODl82SPvGXt+c7>a+d=2o+RJQ4%! z0~kleDZn<rd0pB|!8KuNupXmEHlDS!Um`tMOIdpvi@d96J=5<171e z>;!RpQ>wP6qMvi8?Xxjr;`I_y>YWTbzXC5e6BC;1e&;bQXYn=HWM|0gPS9ES3p#N# zkT1ufAhUFeNW_h=d&?e)WBl1EvO3cr*SVwY60-zuxTNQ}RySqdEmS4lRQN|A)YVZ> zn%*hI64|-Bs4Yt1*E(F(m6y{ggG>Cf-#=mK707OUu){eIUvf?XUdH%pPuFJeX~a~t zFI@vuU0PEwqymf~Fdo~PZDOUZ_^--^_&!;k-C|{NkN0# zlZIDQ3SDtoODOu&C);_C7rUahU<*-4l2Ny9RW}0uNh#Fc#hqHIOc_hB#?)-a6`P90 zFFlG=gmiyDiWuef+fA!%pwL&;z1>XfR@B9;hO6&f&Ur)0u8&ZLrH4)G$vs_sQZKND z_x7tR#Qm4JozXQzx0QEk)Nn>rT@-laaClbuYI?GjQORu*6CpDUt!ss{Z&nS)Ou~uz@apSvr3=HSLDO^8b4aw)%Y5~Z(`=^**-YbGUyTLg zS`+~P!lsKuOajD zs2%tJcwI~W+*v##$kMV?hWtLyA0hXc}|!c{&Y3vr=9Qgw$KS4OJ85dRMcNF z4ae+%m0mX9(<$gJ^k904iJU?H`o8G1oTh}_Pdu<2WzveP~3;pe3yXyw|?UO@c zo|sVPrJm=e=;=DNXeST_gac|Vyzy2o!!#|}rFDm5)MGgsDfDw_eMko#B33-TCg$+f z)eOJs&bZls+5K7ieCIX&8Um{;p;4qwQP5A(ogti>(wuvWpI<+B4gR|+eZ8HxDdnqG zYa!>iVs<9_HAM6po+n?^Wtm-Jv7Wx;ZM{?byH#vyHePG?C<5JHzjK}jh&XmLuc>?P z(?pNC@=l+@TZV`r+QanxbV=FzIKAPfnM!oWl=BnxThmf(!AG2ndDp1R&#X_lXZ1S_ zHrxxJnr623cva5`fo9n~r@5MXrUI?#W}VFaQbg4(?C*C_ny1+bc6y z(Zyy;@3L0KhQALh*5!j2YFNl~)pqOb47hCPxGwG=P0bE}N;8S4)f6zeSCD7c&G|E} zzwqp|=3#w$7UL9NHKi7ZZZ#5-gIy6^Z0FUU++fMiI)+{ExrZo}W;=C&?-@Kn^nF8M?^IVI#u;;DHoRauw z>xdDD%@B?RuD~gHt>^GpeRdStQE9ex{+US{>aP*&T7+z;0RlT9P+Tch@K{TVk-Hruy3c1MFw zuLNJn=gzx(s53lVaNfek;$U=E;a38On$2U!THUkvuW^04O{UtL`P#bgxS!d+198pQ zU()x*541v>ud=|dMKZWf%MJVSyPmuV+}5gjy!Cy>&YpSah`SOOrs^5*b>wO5(i|S| z$Gy$?Lh-$}!0l?=o*fhR3Fmv>R!<$ysOeXQE!B_=5^rk~iIDC2#`t&XjuGk@y4p<5 zaY;MInzghxQ|R*Dnd#Wu-mVw|N#2yJL)ZOs0@X)6HU2~#n&f}Mg@P+M1NybzJV=)3;5hb7tEJH!ME+%*27g>M=Hgxq z_43}cH%Z@vhsp2zEgDKr)*a(m!}NK~(0wfHy_&oj4wRN@x0w769*6sA+)-9Z`NBr; zm`fsQKjGtp>||mQhDv-OYer&)*T_w#@)TVDwO{$#_Fp5XdHT)QVf{sGxRq+*00#lS zAr4&BUI8V8=+xmij9b8S+!m>0B1VkxOr*K~+tmP({~zW3yyG5x;gD>PgU(1O>fPPH zi%!ZT`$b3pgV30!Q1B#6x=DA7>u~@O@+M*?z2`#x9SHx84t_~Am+<=iUo$ojjhzoC z+#Yyh*PR;dWe=8Nk>Uf5Ek0?C+*h9GZs{{eFdsK3W=?P&J_2L1Psseh%jB00U%W7v z>pOA|$5DyhI)3p6yb-Sf1%6BA<%{3C_?N+r5nIK?la}|#Atw1unM9=D0yqeda};A~ zKQ%?X5YAh$VLqJ4u zX6UCq8cEMY@JBuK7l%W9)|#@GBg4*qJe#A|*DH0kb8jcPL7e38TGT71XA4sclDKcGs2Fye~raKmnIiEFYqdiLmE zme|MdyPF)p?0(V4&@cqK7^MnZuteiwAA+rM6?f%`#HhNobG4w%XbW^mOqzFN-#IhH z$+&m_+$lUOJ4aN5jGdFID<_qb$8H5J-cd%Wx5&weKyy<`&7~(F4c9IX=*Oa@VrjMD zu^6;%M<1FO;)oCJ5}XYqc^3xqzhm|ZJ1_HI&r}tQWApgX^&@QeN=K0F$=8tOt(yFK zR&y;@bxq)dT^EKPd?Fx`ImvM=me{{l+uWC&kj57JCPmut^nPT3I+znbPt|eW{^*;c zEcaQc0{-oO4lg0fOrI%-|L^?+Ly%q!<-}1AOf2Qi#9m$wKL+FM(>VR;Wuv_gyC0zx zqhCGp&%pFzcTBGe*oO^y@mK%u_uXpIqGx*Pr2EF?|Lkr3D*o4I5r1=n)D!NsJ?Iu% zGLNW*0!6+jof_SMuK6Z^TG*@CEf)YOyTXLEc`8+4q@ z(1nI_RZ`Ipk+y}%LfA!1aoO*{Yke$E9D}QZ#=X`yOul-kbH;w-7 z{>ptOdIb38eb7EhHuBBgS%X_vI6MKj-|xHM{H#T>RQVa^zv*?CaL%+4T8mHbxaooB z@y*|6O~=Dz*1ufY4LJ_x6T448uE3ZWN0q_u>?}Zy(rD00f7wjbVY07FPiU{E81A%84 zzEvm@_tRlNw5;_akcw3lZdRk_^gxpk!Gqwj1&ERVA`dcaQKVxF#b6!jAidz>eo>uxDrAu}S?oX+r zNMGZl_TA-Xa!Ai7)AbLqUUH`K#ZFh8Dtajd=&4X0-DukJo`y@4X*;E%QPF5mqL6EK zX(`aqDCy^?b99B!jxL{%CBsNXU+dX-FSQ9hXi+HiX-_*Hq@`T{MFn0dDK`_?Xz3ZE zb;s5Y_L@}JXP3L89HNtar-&QAB5T}5f9gC**6q;2pR>-pZ`!GS`ZXO?^G*@ePfEs( z({$S1$^7`cC9v_@lGfji!ZrA?E+j$mK}VQ(jxKf5bZfLzXmsglL~uChMek1vN1;1K zx1hN_E7>GBD6m-=&$)X zDIllW@xDSzI%UaYTZoiytL>kl{lbV4FFZBxo~w%3004~d8OfrAfQ+3&W5tCMX?#8X z-eah4o<0etPwrl~!TNpp-1 zf`@+K!HGq`CF#ZDuLrUROfOd6T}I9KiKBqOl;dC~!>Be)0*h=CG^znWMY0x#sz$V|6QI1at4XJxM+Mz= zJVnziJ=7|vWh$ZrR*Wf?Ro;Hajn-Qo_4uG?$I&pO=fI;nIarS#Y}%;m-~Y3tKg8UYj`ml(Kh3nQfsO&Qj;6HZhIiyp$2 zF>mssFG!imgn~?t6fv6VUy(i;cc$)00+#1S%2Gun02>ZkLA(ViRY}^2uFb5P%cRIY zFK*0lUXVJ08BRJkO_!F0v{fX0+r*S zki=wHjd(7K)&>&@QyA=CiC6!VW!QcVP-D4JU^3Gwm|plwoyqIcDf%xoDW(n%8qq;b zjB7xJH8hC`0~V7EiWxy6-Wn7Kua)`j%f*9>=fm8Um2bn?I5YV0R5lUHTG`h zh!pqf)hUMdA|f^`1qfjpu7Q9iYOwA#7T$ichykWkg=%AbT;GR< z{pBRpXmsh6Wb&VEZczfrcB+l2whf8~DC#@jzbC8E^oupF=C>S8?FtKwj|` zpQ*^DfJ)tx1VSPN8l;J>vXLkO;Hpdl5#z?!F!5Bk$3l?H7d2$uI}H%}NUCbZqf-fM z#-#(!a$Z{J+Kpn#@pj+7{MWYR@R0uxz-D!2pe zhbn0b%CfNR7_o@zmgk!X$kmhz%5^%0s%FMlJ56(^w9{yEQedcC!WP*yG)b~@l-BzW zCTU?AaYiYcY2{76ctRL00q zkHcko4Wi&=_lf2CCR@AisF*E%17t!dj-Be<@fAUn-RjM|2EMmU4M|mrk^+sY*p+Nu z8nSAdDU$#v5EIYB&c}g06FMHNn!HT_vu6M~=t!7CebX>71EibS>AcxI9C z;f0QsF^F)LaTU0#xeBLCy^WOf#kvvfn(P%C>69vy)2<0B#6*(?DH=uvXhW6Svr-sM z@Ft{yXzd=whN%!YXOxIF(3o!6M9sj|1WX}ONq=P=TR64s3=&LtV&qO07O6{W=W`^%cM*7J|F9T%Dj4-4v%(bi zh$S^lZngsxENHfoOV$`GT1=wqcn2}iv3ySb#XwBbN5ldqDIqh{?E?5)%M|2OQ~Kkn zp$Y^{fg(a|8wo%QlxbyGlT?}cbqzR4$GxP6={howj-3hJ@s$yiLOwLH7Rnhpm$Q_C z>gf&46;*~|i@;?nVMaA=i-_=QN`w;N%R1u3*X=Nn7zRgNz!|OiYYPmb<)B+73(Bm) zXc}XLR8`Z0??F=<;TPVo^Z6ineG)3frc(&K@s;h8G}W5?ffv;&HnNd6L~YYZE-h@k z+B7Ii#3l*Tbp=ye)}vg&IZk@&8VZUDlo#M|V+Pi+Fg&n}T8mWHX)^@67hAFp3kXf;U*i^!WwKkNI2XXa8gZbcz|xOkY)`rId5{ zkR9enK@hiZXji05D~d?)TlPu=uA~Jp{~m54eOC>pf9=e}(UU@!Go5f$$~Zb)={PCH zbktdsTD6oQAtECZtzC`Ez^1|mlT8VyXkg{x!XP`BDZr9WjQIqt6%k7V6#-H07#I?k zh;W0|J^`Wa?@ITQaK6m(>{;(w0)#c43E~-FsV6bxK2Ig=xmXm}`Y^ z2Ijfm7|2=_v4o1Pd0?1$?e!189czJpq|*{IOEDSiPsynmrvOKPqK0zztqu$PGkdHS znd!3Gw^}vuXm(jWBh)l6`^tKgQn|}5WPj{32adBP1inMM@3E;M8DB(Wq^|9d zl`xp`6)~3aiZs{w%k%g_MY*6P8H1TlOrwmikim_wg=%JeS1M}8m1vmp3Yg3IB}{94 zf9ST*(A3?dk#je3IHh)qLrX|gjIYMT##d=t@s&)je1&Rl@fB3BjIScH##hPoAt+Y> z8t|1s2K+@30e?tj;IBbk|CJgmXG;9qfIVlmV4)u?k;+2-{1rx_SdyP?zv#PqKLp&^ zuTVsj!*XQ{-;ydtlqr$v*a@9%&kK;}?bFhD2obYm;05O33Xm=jE%KJIkU!g)B8yzT zLs?EC7nyr=Ux26jxvpiXg<2*%-0+mf6Hi!b;9_KLQuC~8iM0`&2em3(76~C5@j7Ie z7H@iJwFbXD@0d2_%k6KXy5&{;`ypmPyGTP3I`Zm9eNvZ7nR(v%+n}FKXzM^ z9eaWN%A~dzMf-meJB_aPtDm*0!M9(}=(UCmPxzPqp0wWNZ=*AZ3L+vZs8j2D@L}>5 za0p=Mrym`WKhgaU;Hw#?P*yu7ytDaY0?P7*p@0mYxpfX;sIlb^i{KX9otI(Z0p5`wvKSEe-Gx|7QOyIgpczpKr!r1s#MJB8e|f^?pzk(4T{F{D9>v!dAu znxZ4YT20!PP+-}10B&xm#)!HweF>^PkGr(EhF%aQUUf{##BjCcm z58J-)fAC6`tEZD$la6S!FeG4}E3Zo-Twh@@u&_~4gfa31@U;+`9TF+&@=^1nen{oq z{oe~~+NV{?)`%gz5wcByxo{vaNMg0N*Cq>Clo3#qZ-cXthKx%WwO^_US~O*4y95() z(V#B++d7L4afF>hl9GPf=l?Ft!fulk&6J%|n>Qw(vP8D5fdpQf<$UD70!1QeO4@LR z%%=E6AN*q`QAOS@Ez=5g+?I~DR3i+?x>dMBzmWVEEg(cE8gGd<+P`eF4E?^qi zUEt(Ggi1}Pq6*_H7gj1VUyp#` zp}ERbPyU;kDW5J}E2I(lS12p+GKN#Cu(AWV>aOeG{v|Vc@k(EJQjx4IYub~dt_syf z610FtM7A5aI59&J6kzD{l_hy1Fl$%%}9iE#D`h!M%AP<>Q$k=1%r+0m1kR2iLESO~rME)b)t*HjHYbB!Li8 zOwnm05+aib?R&*Le&*Ufkt(q;a(hcLx=bzTrkU0leXCeOSvpau-&x*v??N!LG&W}5=Tl3`dPsXz+yE`6w59S zj;gfnRa*e2nMIo#NwhSqo3Q`^f|0MV^y>2BIQt3viV#j2=bN`I&2p}{fsutblI@XF?HYomxXL>q;JVN!2G zIt)+WEsH>Hx1q8kI6j zOuIm`s;SpvYqJEEARs6yZcqU~a#RjDeMg37EXt!Kf<$2jEGlfRFN?5gTLyLg-mBwp z?^KTh#|Ej%C&R=m)fthUuJq5!)mE=+knMpa`ou6@(4xGqSO$$qqcXP$y^f>;5K$6H z`AKuv{J1o{IlAc`2$NA-R92R|BJH*)cNDbp7+JK_=Q7`SdoE}0+jf)u2=Y>OH=PvI zF-oovox$=|fsmA?69{P|#sHPu=KFPye>wjWNnV!E`eF zx%@1E`e>(2k4)(hEw4{%E!pW=-){}R!ee<`;{fjWh&iW_QEyFG@ICi6 zv-k-gN4_RgMV597PxVvzNH1ZzUOt-RJEb=uo&I@6h#MHobSlSVbq8BHs$IluDK9e&1Y_u&iXh z{H2s=>g^z-KE>(qz*qKL|lcMEQY| zX1Nh_Cd7fFlz>u4DPxJ;{hQM2GKDY-l*o3=g5@TP$TMW*UW>#ybrn z;3nlJaHQi1;0VkSHI$WgD3;P@srn0Jx6t_Sr#@;=UEy!=|DG?uZr;E2P6@B^6f@R1 zmKmy^Cay?uR-XU>5D)_Z0{}BKRW|?tZ*>pqKY+j%*kaEcd!P5-G`6e4B3sL-H)K&} zf&lw4Th7yrwrbhcEeig7jQ;=(%nZ@Y09b$lBPxCE_GRn0fhVAT8KCjApA>Y!fM0yd z8bAP05H`9)i4;Pby%Z%IZcXhaDJ8M?_r@Gq+P#-VA`OL$=Zr?f;naKK8dg`52@Ap=%f#B?U`+)93Q$r2001)pH8TKUe@C``_TF9leeM1)Ti3RwHtE^2 zvaPJ^#EyH(mxxLX1Me6 zTL|sCqA>U7qzLOsek9vXzqe8jY~-%4d|gW8aMk{M{4v3aVEi3tQunwvdzjh+-Cg!= z*4EwHpLN*_+g+36?0T-B+}n`1I_{PiTU*lJ-QyYUWh+v4;D%uw9h6|gl!1bh*~?-L zE(nOXRZJ7|SS>euZF|+lm)o|z+}ZdhR(F2xvdq~fUqkKM^RVQ0NW8qp;y`3}nx@3ob^cGE;3SH5)S=6A6_ z$mOy9$XF5zcekZ9_r2P@^Q;s^x;V09|OGd!a#5)BYH#F}V$S2BsI2gdk8nz+qvXyffT(Noho zyVtobY`-p z1!e9_g85d`{z}7f)!F#B=5Q{pb-vxm(|fK6#j2Irp>l>9H-_>Swg_h!%`i1w<3O=i zn6P($bJk^*wwu(izeRZ+{9xL9QXtH3yDf6p`{-Rw!``NQQN6uJt}d5e+@XFR$JcKy zIWy`wMZv3z7-t8-EZVV2%Tb-4(us07(*lcmmaXk=L1t(52^E}GE4d!lo49ppGd*)A z=G972P}7COq1L?lQkY$jVaQFB!m1$Wi4;Cf{)IDUdO@b6k>O&_ zGcaRjax#@f;8`x&Y_mM(Qv`L0(!QK*{fUn+#b5%;nwC7AH~lu$Z0lUdI6mQ96>1IBF*x3Pok!)y zwIZ`>rEsivEiAJO)XCS6yMCSO%e)_cj3=s<87mpgY9sW@GDsCaglwqc98z%TnqY*4 z7{YaifdRnM4UPX04s0vYw^83mzz_D(4zS8qyX#IoXSVK;p1M|P-*SW5tp)!r2mTYP z0z+r_wK26-DN-LFaXjXe@do;Gexff`f#_HrT;2K<-wC`;h3#3%as2GGtl~h#sIi}= zaPDp)Yb|Xec3lq#J8f&cq1idhd7^xilFGJhp(-CmkeS_1N(!+>*R~Qi*{WMM}os-h}HR6>4|vDj|bT!Ad*F#s6ljW?Y<@YjtP$XAH4{x z>=plu619E_Mgmh#wtsP547`uFLJjErkSUWnI^Ewk4>3kT!rsZF!4>X59(*cFCwA56 zKNAYO0tV-Xznmfcww!8l`fPgrPEAPm8VWt~k5iF#Z8=wGCOesjSd)@Yo_?myaKyBZ z&iwJp8Nnn^#S^5GRe?*jej!2yrXorSCfe&@DjbVe`}oY;RaG`g($bx0m_a!d&q=Rr zS`Qsk;L^^V(>HdPJfP|klD5+LdYDi!BHh>#cQ8b|Zlj2I7{pynRGqK8rpuXiIed%+ zW~(icl;+Xc7|fVkY7j2A?Yb77&y!C|zR0$<|M8jekayr#%kt$Z>&_BocG{YPyom&D zC%+@DwpZn5*5Q8jjK*3|08o zqW2}Mc+veg@o&!Y~TP z56h$Uak$a{vNbE1WncJ3!;Y=my+eUkO6P4}9gWt4eJg=xTkZ2EnMtR@L z=B-pRs!TyEm1(q61+WC}%%qhSahRK>`iyqhkh(j`1{`<8A_FO|cqCPX8CWv;d+|06SN z?)J=qvhKaTV*26fwGao#!p;T9i{sK1z&j#mEao(HBw4!dVJ^Ac*Ru9U-$H$lBtN*Z zfBdXE0HVH`8qrVkoJQJ4g`H}8%`6?;_f*Bl`+~kfdtE4=i`l8hRE8|Hl_m3OG%pf` z1aoi~tTvnJaNrqn+qtu+q@Ea>^}8=Nt(JCkw&*t{vN0pHh0M%)j8vhGQ7Zf}j)n4d zP}uW#_lf5?(6SFU*V**OYbzn&Vs#jbtyv4KPBEnTnpF+HrpMQ3f9|hb{YSP|0+Q2! zCab@QOG+lrLyUysxG>yJ`lZE0$6d{h^g0wtM7@e!<)%h!d@_hc%wfv|bcAdK2Lth* z&F7VYIP2_PpSvngORqqBjw*UDS-zo{q18Khc&32|Yb}z_KN-!fmC=Zjmi*ne|CN4x zr&{+Uc^O+W>HK}RbtECj5YBD2{R2x`*pvI^wF+iLD{>&TDF(yrE_v zVw)y~qKbF-4{9FrRD4RHVkEc5#?UFg)ecA@FZZyqmO~*JD`ukMfnfPmQbP6>S1A$u(s<$#1Tc)=@ zDmI#T<&vHq`owX{bTe&|t88!GgA>Qt>yY(F)UFx$tslQ<#%Zg=#8Qk@;frxKRJF3{ z8LW0e(_6-VT3`I*kM$9%wVq>vP{UtfQy6=~x}T~tc7|V! zw6k(#jFfTM;`O~1A%81aES_=L>NAF01(g$GmCAZ(io%=6og={t)@wlt;Up# zdl+H~&r)o8#$qeY7;MR<`!=SG^Zz>qp_!ib`EbkDFPf^we9Z`K>CE*o72#G@XJ(<8 z@z^3Gx>YV3v4%1fTar=OGK`~^hRo?T%XSkkZ@r!~+~0R#59xPtrVq8o%gajdYGWg) zDfDygGt#MLK8q?PoZx1yOkIP~^V!;9ZIY6dKY~DVv0nPrdtzpmG*M3@FZqBB& z)_OhrGEiGcdtS@38d0g-ml!J2$~+x4W(7j6+Y7akD-xBu*exURPPDPMv5qwG)9aX5 zrt$WJ66?;gmK+1_Vndvlo95#TgDVyQkDYPa(!~PM8O1~9TSImwRx_rBN5)Z5VCCqx zI}w%I3D{_HJ+GPAc!K6!tpv;RW=FT{A$+JtKl$O0jK$W#A*cSpfx79W-~W~-g*Od! z!XAqoPzcaGc>6(rV!euSAIbR*eGK(lc|asq^)xw%eKa;(8KV)EFjcWJ`cj>?*kMLu ztAFeo)2$9qij1pi(Z&dii1%Wpw*ocn6p{W)2Z~pO+fNU>S;D_EwF}A5idM4w=&X=v zYazB(jl@>X=e+7w8k8D}t@4+uMq&%p7;MSLQmbqjVx7(VY%5{X+se3XwZBvu%`Jmt zh=m_Rv0uyqqm1{~ebL2E7>KRlq}K2Gst6-h2uQ|4z(Ez&_mK(RcmCA0#-GA<=kwPm z1GDg;jz7Jgjm~mlF4#(ZtU_-`K565Z<$8+njlZvPWW6z?TO?`!ZTb=tEYlT(Q7@SX znEx0y%r;wi3U5FBbAR>8`{zcEk})O3F@92e>vyQT>YRdn#g8^<=w!Sp{r z3$i@q$A0KonhUdYHSyI#8Idjg`TtTu@Z*tDIR0#LY2vCFsxs~C&s>% z>hH~}c+sa{%0tL+@lyUpqN^x`<+GZP>o zpC8CE#7nv8JXl^kFIVQ(xr*G z^XxC)172Le^+@En0P)6dC2dRH-oIzQ_j1+_p+|s+;!NzjXPOuD8=AFZvTY>`Qz~Ip zU@}2eU^-#1V3e6ID1z52YD8NlbW3eNSb?LGo*UR>$3ZZaFn6`$j9>!cui0wWqrq8L z3bW05lGR+rd6Ezrw^!hB=LnL9X~nFF_!XFnAfWz)A*p8p&X9n*O}KNFgUjt3NNFR$ z(!U~Gwy4Onl&AoGxn*UhRDX4jgEM%wejr7dj_fK#FBFesFBQ9OaSt1HkYW42CLHI$ zAgYzf{-!V&1%-zUfBsU!{L_#ksvX?g^3nOFZhE_>zCpDc9w5bWnMB77HUQWGRD}&W zqc9|b>aP=K)FjUm8AY|?;ltl47i0!K!-stpOtta+WKcU|n69Sbn?nQv#W9^hj`K7| z(j(b$r`f#m0w);8r!T5sa-J>7Ji!E8#W015RUlRZlOUr8(-DuXul(gI`#l$6Tvu3@ z;1ApB99%w-v#msrRdP+_)nBO7qP;|Pf!1@q z6EKMYD^%aQZ@@GJtWtgHJ^~XJuuAo%`wC2Fz%$jE?y2x+Xy@7bs*ldpkYQ1ytf(1% z3qqBZg&o)Oyai~?QLS{ssak>VdalKYX&E80N98TD`GzD_|C}Wy0I+KJnfnY(p~4De0r zwRb`Z+$7&;iD?Whh65uE?z|7fL=qPF5l09r-iu*?35NUc127qc#Y7?mx6bbiSW@~d z*<0x{qdF%76GfzMjcj}af;27}LyV#g?vJJez;(fd!V=Cp4tDf;q9SirqBPQ4>-rH! zBtLt@_VMceEAx#ZQT%uP!5?5%zz1lq&Q5`q0FAZK9>ElsUH2sHwemLvA3{F_A5%Xe z??dp}{S%jwNJgds1RIAfXnYI+aFI-k*PJ7Cp;5;FEL$(xvioaP3`o&vt}Ce25F-QNRXX@I*$Mc876dC2momfc(kFoBW4vfe6c(9fBCs> zztsQp_;D7;$Y%&)nL32T203v?f`(>McZ|D>e3^QGfQ>*9*<|6^^tT!BIs73+^Lw3Oyq$_kztZDfHqK{Fgu|tS`!4`J7kB+ z%;;IwgcD_mK0MENtW@hBUi=06J1YJwgGvG2-35P`LTOo?%nJeK%^lm6;f>57)Z)PY zFMWcsX{+q0*06G|By!0-+Z%@c=KWsn=c@Ss0i95((Ukl&TvDx(K{KNWeaFVVG&Hd^ z&mYV|$T&&DTrz}U0-OK0g@1Ny6%($iMLiZ3^!JDW(i6p%CnbXJZtK1Dq3dfLBygw| z24E{&uKkuV53_`1JfE$%iF-IgOG?M(*`{fk6jVvxWavxPN|ibI3s&q`Y{EdPR)0>K z<^X$E0_*PA{7_gAQKp_-h2E&H@34ymD7}^U3>4s)M%-)31`NC=sBb5Pb9a009ct=7 z9mTYgmA5|+HI>MRv;t%WrT}$;$tYc?bkTXS6(+Z)X}o=C8%Bd|3jpJOOi=LvUhBSYO(#PD~)a3Z@WZ z1;BooL@X7o)-VnF(t$K!A|X^@Dp*&YOj75cbKK~p;gHr!CkWM;P_!nlGcTAm*?1op zvcD!_;%Y1NTu#0Py=o&;{0YQJTVi%#3Q$*=gwho_Km^x@$!gw&$Ou3nVa^~u#kG~? zvi?-ezL!)8*;;8&tRl7rCU#I8SOLHY7;GFaflvTFv=IMbaBbz^qPXDPvt=5_(p;HzVmWcxt6&gbGY=wt(*_IjQ`lhJC$0D+(}tkurm*R&++L zz@eclFs-E0719w>wt<-fhh=2NWDX#N(Fo=*ghsBl5}#OrYzj;wpdJd4F|NzQutKDB z7x0ZI85cqVg)nTVtFe}U}|KGQ=#&&SWX|-t{u>VAa z_fl3s&bJcQPlcaTIFALG2$<&I5C6|S^qDfKY^@}zktFq}WOo`SmXQ#BPoo0gDJIrH zT{2w51}-26{X_^2BOH=@hI!m2j~m-1gybzsR8=~IdJg%;rzInjIYqUH!H43ovE@I0 zI@L|?QxBB^lTTGtw7YJ1br+Q=&^)|vqQ~OVsHm^P*YQ9$gAgaB4zws)c)`R3p{8+V z+Ks1iptl(S3`7)#3rmR*2T>8VeBnhCOx5y-7qGWh@l4@w6^4^ZU|fMsdfOwcx6)Q@E@8k_Fv;lvjG=f=eTdojMFAMyN+C<8>T1+%v%u(95?|`B59q6E z#O3Lnp8#NK`DI;&!!V~vX|7Xl@4d(ClxqxDTZ@zk?X?mJMg>z%D8q7BY5`3Gd>8+!S!0~o zVG7S?9j2}nZFfW@H-6splz=XK#QuWKRK&XjNI$1@rU~)u!Y%E5JR2zyE^VbBBlrUT z1->AD0lq-$0S@Pyveskwc6_+)&3(JkK+97s!5!jNE8}BGP?ynmr6!;*7$=jykm>=0 zZ^F2kd{+++<;vUC)vc|Vx*rg_AV9uM@Zuy>saF_P%Y+%Q{-HgI#k!+mKLx}Qo*?P) zOd}a*1?HbFxp(!02jneEROvams2|1a^+0?-Y_wh=e!`qqBBrQ#5&EGun=mBuldf*N z>M>9NK~t3&?ea-=*28-+`IhgzsG>aLZ%W4%3i%ogBLlE`PO)8!PBwHMvjyPr&=H2C zBbPNk6F^g)$!vOHIdM1e9VNxxXu#52dB$>L?@N1oV ztZFn{(I^{_c|>z&P05`)o{os{?(BXn#Ju#N=!_Uz=^CK|6Gn^z6Ck1j6Ck6(cv;;o zggn%$6GYl1$keUR`C=414NcAO^Aj--$)T(L)hA5Liod<9TFP@p>)gX7Ltky!BBw)Q zd9Y@e7)8)kA%?ASh=DXnf_V1u0ANno7}qVwPS6FM{@8`q+;0h~Bk+h+wABCbh;jea zY0v*+9xH)dR2vv-_*?8RN-q@c)pm19FZo7e3(vLlYKfGtT9xuBFl0)pz)5|j&eGzi znAJ*GQ_4CC_MaQR_ZlXSc-EDCgiNCb0|EsfVQyn+)F$#0Dj~KBGpvR=tC)Z$6krND zR(JSGm~`&d=e`Pkm22(->JT&wLlI6m<^$}6%pe8SN;&mH)nUSFrNo2^Oo}lTm;x6V z{xPEu(~wgS6y7$7m_>c>75Kn64RC}+#y7C>M<+uLe5(EW=3Wo=93GrxtvPM6hyU3Z z+16-QMI}<8ofOuIm2ZN}08ndtaKAp7vD{M?LL}IqcPIXkI&~UmSs-7Z zvzUJ3AL8uG)#5wVO0#JnvwO?Omi=vDJBj$l<#Ke$@~t$0R!+@d2<3AZvLe~5R>w^F zU?^;tz~Y5!r3$oFdiun|%EM%V7EaIKi0PcETH*V!Z2`5*J)ai9=Ux9&^~zBJo1qP&U1Qd9UM=Q4WFlIEB!$AwREJ}CK|r=~>FYXGDW5CZ@N05U{GFaQ8= zWmlE9fTi7!hz%L;?%m$;*vyI>gg_mV3OioKyDy5c`{0y`LIMWL%l-Em{{R@78KRj0 zumA&BMtj!oTkE@&FQguukp8Ho0s}x1L@Og8@=9xHO)f*)>gh&y2#oc$l?R!Twc5uV z$+GUdNr|j=ygru4R1K$7WRZo2$*GW6!|)r3t&y<&0t_`4c6J~o76={&5+(%#4+22| z5HSFmnSiRh0=M&bbGn;p-ge8n-1q9b^{rh=*48ZLMk%q4ThGQ2zUt5tqPvX~V*^bP z$Vk%y5I_L=2`|K#0CAYH1jKmXFNyHrpe_7{1#Pv5X5af{35zw_YC7xWicL}VQ5zbz zcI|}x!a?-qiY%-JF8zwcT`X$~ZhGgWpUgj9TZULii&smrO>40fUDeg}GorGw z`in-2B;0g;TC3eR?CPt=FkJVAMWbzHea?-lZ!7z~Rvo+Cf^Kqb)s?j|_PLUD3cl68 zU2XIGcVi*m#?`WClIj3pzj_agpNbw;GN(*iO)vAY-MH-WsNDx@CFvCCs%bb&_4sYf zVAQp$A;Y`1cDiO?zpJhCt5p(j>b~gzCQnPRNlMnqBViA!N7b=@*J53;%~*&HXf`Nc zq>5Z-g+*JNL>3@+MdTK|eRyBlms;#>*)=4`X02u6YAUpj2pUrD`$R0e z8kHHSSDd9yB_Y;6)cigQcnIo%UaBwO)_jdv_dS9PUnNjwJIO5veSTA_b{_f3$A|&q zgpCJ;WvjM^e<|Xm-O`k*sbABiJv#y_8y1@}bz5cCt&DP~VqIHZD|}diLT(q;T0MG; zHn6iIzuV*{{VO@t>T=cA(t#i=7riDT$S%>A?zQDrQw4(iW*&xqLHRH0BJca0eB-j@ zy2OY`WGoeuE{kL%vqB;U83L%@)nQh_h4*f$Sdm{#SM*b&kEf^9t5nl~pP<+P4i zR0t@YGS-vLzp{^z!|b#JF2h`8T$6dfTQ{3|YL>GCQv!FS*ilEBg|=Oq?D!p}OYS0p z2CV8VjYZqZ^b;xA&D;R6n(eWx_qokujcyZP}U%E*oHup zC)8ekwWkoCcGqj+nfRZU65J4m1@LvoASp%&7U^R<-k z0UaqO6SGs=9%`(6x8SntKueVd1N34pDg5|^^p^wy!_c%owzfgkGeA%PofJC0v) zm=63?$*0bqhG{3x+Wd7>UIO__t(|KVUxp&<5I!>9ewOQ=bGRpj5m||hsxXp{^IN|s z^^PSYuQopbXKVyrXaWBZ@X+dZ&@G%yK@!>m$T$4NJCupXu+J<(RF)K24^QX^&V1rm7t{we^Z6Lp8 z0{wY$P>SAojMes0+eqe!}~p8nAh@ag^yEF|MIEU$C@){0EJnLFum!v#CA3+wPV-r+Z%JBT)7bF$M)YLW z(6u>RK2Ob1b;*B7BI%TNk&hUiKb0W;=X&m*V(})ahd+x*=yYZ5-|>%p9wCx{Uio*^ zW5%4sEz#j2`se9x+}V!liNH;(#q~dY^?zEb`KTeYQ**U&5Ye)dTD-DAdHW2FPqwhW zNbN@EK>&+qBq5!G~H)qS)7wKs+&XIZ&{t;;M%b^tG8?QQHA6_((RY zXR2x0yD6%EyEBRehhV1=l}=2GWh8Q)+V=!UlC>=x?N}CeYnf3k2X@*Qv%F+@U)Y(8 zfh)13787F@@-~1-5~CY)X)-$LTCtVvkB)9@EoM1WT-(9pQ-#33oag3auo3a91MeRn z^pjdFMMg=uQ(vf&rm|i0!CvC4{PqtggiUX?H?ru`Sgpj3>TY4w{u+aYNrM(6gf3{h zC3`7K=5I}zro0R8VT7=I_Iy*W9L=5>+;W0B)UUZ`Q)bFh!CVDy2>c`M^!!H6>4M}) zsN@6-Hx**r+7IS=;moh@2_pjWYMPU1)bF`^esg_HQKbBws6=IUN^fxh>Y1)=>DG>7 z*kyi_s7OS6ht0cM=sT`{b2Tn-JKBn-h)p@iRr=6$5HC5eNJ$x4sUoPHog!2&gB{jB z<;|uR-1fr1&O?3|yrx5@Q;XF)z{K2wJC)e%N>Z0K)GE?vZLu|$B^Mrcax0fmh6Q&T z?ZNBJe`)gSRfg_scw-G~IAtJlt;wBk z>zj3~fs%~FaKFywTdr%d3%lYAzgql*`>kO=cf7)fmENU$#%`|lj>9oKUkL?SX1&}X z8tLk4e4mu~OnVtv&<6X^XiUA*u)~gLg$nfH5BzI2pI+FRyo!G;?=LAlQ^PryxeJ$) z!y2syPu(x%C}TX`RUKlLy>NhW;COf%54cdcaFwu1(+(#VC%Pg=X~yBk;!RghDkmM0 z7BpROq;cdcWR<24H;bFDOjVjX94(HzLRD$%aJ9JXN*Bz`i1ud1YS{o2@0wwmA{DEM zW!s?++>8swg|37En`E3UPIN^E*dya(ai%Miz@&`Q;-)J{z#|zUi#A={1UF@y7CM2? z$c$0atNVR9FNTFA5rNaAaDbdwx3I6qvA+vrS81@HtE>kO$uf>mUT3F3T7BwgXXo7d zp3I3qJw*5#i!lEB9CH@`RF|%C-zXVVs=Bi!6324mc_c&CL6?HYWW(OC3-En%1YJ*X z+dc}-mjwNgj8g!arXM%OO|FDsnmP&;|Ab|oBEdArQ3&pq#tfH~vKl+bU|=l-7j*q} ziX_vIlM&pIt3R)DG7(lFH>XT6O{_%3XB^-cVDbDdoSj0R%2fdOpBnE(MVX5aTDL*8 z^xTIo{!W;~03mt84qfEeRb3NP5MI2vR*eBR0vUO(Mj}LxM*fd$>8$Wi&zp@7?4IIw z@bde3|JL7s0>XIxSW8im6Y3NnA3T0{C4)2%=00>+oiO{rxXHiW)x-<1Q>5~8HJ8Dg zaU8JfFDzHyQ`VDxzF^s1B!giS9zkYkeu~2h0Ip>3UJl(M@3oKc7*Z12^*$|{o&lel z4O=XAs!8e2pIQ6$2K)eMbQYO3H+PQbZ$F6kPrtgkYqpm_|WSQhnZB2`( zsjH^as=w(y6=uyO;i#HI;K%iEtw|shdYF4o2GRDYZ<^~OsRXVrH|@QlB;D;M)S6)u zM97#hbkV6ktzep}J=XR$^ek!DJ~!0y+^%l zu5aaBOf5(l(_26aW2M^}zmYjq)2Z^&gL7c26WVlunoUAn88x&WJ8ApaZ(n0vA=+p?m8wJuDeck>asGJLdJcSVJF8{IvM5%;U1ADj6TH(B3lWqe_w@uZs;Ds zhmo%JUuVeFg*?lBHVFwdW|o^Lj`?;?x8)P$)*vvbBnt6cc2fb<<$nC=I(f*QGQ`0e z(h0b_*W1yj*nBu>RMqIx`2SQm4$|yp z*DHka#)4(WBkAQfj+RqIvTRsOTDPvBMCq5EY00xJN{yd5{+gk?-X1K!4#$c9r`Nfp z`*KT5yHtVa(Ex3i9;pck(yv70>NfiIMVqj$wOK;u(4C+SmS$)5_+dHm7-g?3g~Y~e z-Q=l%y}n6CLawYv1{uYDw(}I~>%o6DQ5?GY z{~kLXy+3``gc>4#eSNK2r@y@s1Wwhl9KY9Cot`1u`f=re)AsLHZNsh{(t1o1tBAB| zGM?D_<0g-hx4ZDZtI(&>rkHqKKXQQ05cQ|jDR(inN$!`={XPRP3Z8?09$oK6zepwh z@Z!#x@@5iLL8?T^EF~Hj$LyY4-bd*^cF>ni-4oz${beh@^m|U3*d*{_6Yem8n`#FN5nM z$W(sC9Z!Y6gMJE~c(TQxt&f@bVsn-C@mcIM)uUp(VxOodoltR~rf-;DWhJZTXU6NS zzQO$4c!_YXpKG+HEq7{qHz=NF;3?6(d$(<@iTKlGGHi+Zc5upPLYe2|*FT;|+*JCY z%zq%#=+aT&p3d}=!_R)l(<+UbxwxNeBdVZ&`V|_={?4UzQo)>vRbGk$?x1~k!^KOk z!^VCaftxuHgv*TKsVzSr%4xF?m_fFxb#BYKB7AJ0`iorY??I!+lg zn1*tTjq&=TKTu85HQtl8fR0U}l$HoC<#0jo6B#M`t?GY~y1!1D43NWMr`I^F%ft3p zzY;B!DeCMeo+RCjy@soyKF&_`=ae`jR{PKTL5HaRY@c`M)^=wOy@wU;v~Nwqg*)w7 zQ!nMfW-r)AuC~3h@Kf)&fxa1bxHj#?+j7=pn@_6wrVcH9{>-=WWYNPJp%Em_z#N)a zdE2wi=>s?9DtNnQeOpqQPb+iJtyJtFLy6?-Rn$kF(|PufmOs8(skp zm!qzn%4FrWd9%Ez+!m%qGEND*!GK@ZE9Li1%>Lv%Jp~8EYvKU?JQvPvq^77yw&bao zw@*vSRyMI?8?>d|7AZNGRE6~74cFktS{s2}JYN7CyEXT9_HTK8&@9#5#&5nj0rdf* z9v;CdL_XB~K5lxd2i1Oq-2qWw=}5W7@F|q1-9ZGsQpX3ySN>!>WLpOZ1+ShY%9zOAS#I)%5w_Gd(B)m?9yaDAn}w#$z+l-2 zv(}!2zyyxUHMD#-t;f+D)dx;8xEfs4qz12*VF5M|pr<$IR z&7!H$k{jQ2B&jUGPX2{geQ3Pa=f+EYk~~x%YfzNhVI*+VY^r{h|j$r;k9iyHjnVywi}yL_?_*w%`G=0 z9%a_ZDmxw7=h&$!B@2>$nPM9MSEdIrql_&us{7DJHWdaEU~&vExAzxs3PfLsgT0BC zf^c*5!&^con8Ek_G9XVMJSU-$0P$1nM4#yAiM3z+KEBTT)ZX&EIWMv^;<#;NfAy3A zK>veDkm@?@P=<@r{HIipWf57kE7hU`h-bRYt)nxDBo>&ABD9f}a3h!^12j#-nnqb^ z#oDdv=<+J107b?r0gc%Zadbuc&UqH&#ZArDv!V3Jd}WZEJNkL=xy4YoML>XXTx%2D zE3I;!B9EMe*rqFqjMJ4xNbU;ibX&ok?GpA%InNOCZ&*K3V*{7f7v9wz+lR??Er?`J zskfTS%CxjaK!7=$pFl^C0Cs3X3)|QB-8>#Zn91u|9PdnLBnbh*P8a176E$7sm|dNe zPf%}X)vhh!l9Hv~+V5If+2Dnk4tB~4H+B9rM#C(h5F$;Do!7#CAzh*%*rL&e zsBJnG?RItb3&arM6G6qDGQf=khR+BlB`PH86h63UOp;lP!ZWqpHc}~#oiDv4+`bWOlRUgYZuxkp{h;dKW^Q zYlyJx4>D0;?dsX6eM?J)&ANdhnc6l*!qT+pCKafL81WVL>H!f*5|U%|4IJ`1>b}}V z!%J0Y*FNn@_%np1BvU9{xtjB(qK9@4Au6gHxMFOCOiWM}vLhAURtIsPoFzrL!wm## z(o>??uXfQo8b59ORbMaP=#95qPyCcBUAqF9L-vIdl8Ir2%tVRdr9!Arpf&_LhQG)U8 zj_e3D-FH2D9}ce-=zZIg384jAtcbt>V_tc@Hah~jGg+2Z0`NG%&Gv{HrJGJj<>jvP zPDJ2zg#pss6q?E?sVJjmg=mx-V1#Wh3@fULS|X^M5ydN9n-OT6vmnHnf>om?T+FxOWB_SI^Du zhs7l+qt@B(di_)r_BoDMOimK)1aO#5RRU&$${kp1n#;C}2sCoK#;2)B6#DI|>dk_E zW)~f&5OYmaoDGkZsi*0aZ$x=TQqi?y0w`2%k%ir4Rh&K9& zgZlG{HhDxm{gP4BA=_zz<=Nv`+P60Y%d@Ahv~O<TfRUNW;lQnLqXIyV3WImgA2i7EuPg$mXr>UR{fQRtE+gm7cI0gdPz zUE4WkmPJKVM;G+R<{kFPt&#-ODN8P+qT;LU6mBgp4>B4|7GbCD@Fb93q3$#QccqfT zbRq&xR|I%n0q`{?5YXDq$e>L5*AjI1KgVTrVHFmN|2|_PCpw>)QSGUMblNFQ9L8yH zBB)#p+>(h7g%;C_*T6}JhZDARW|7j$%t8$oD9VD0Y?bFmZA2TlO~7Po0h2Csq%@}4 z2<^-N*_|}{z@VSN|1()bhprkq6f>9z08XL%n6BtP{BmvqQJy_F@eNgjYY70afc`%j z0DNZgbz$E+M5btsT(y@nBD|fKtZJMvVYTu9t*rv4Ocg0vR4EIPFvCcSRwOGhkU51I z5~f`OlW^W0M7`t+VW5^cG>(?PP4#yo3Rj!DG_mcC*#t!v-wI>2>g1=|ET^he;%QUA zDefPkr6Q%Woq?P(W$G1)8195PX<(1xx4S|GLNK9xc~`2UpC5Oym`za;c5-Wr$}*(F zG6<=ni(3|jATVwAPrPyw<=iR$5(=RG?h>v#yUjTjK}gfepseY%eTVHew~a7{z2#=D zt%+>$-dhyRAZI&CSz=G2J^*D73~8Aj`htG}XpVAwtfoMs{Vv zhmVdz5I~YWoHWvbtJs~h3kqsIJ8t6AuZ!lqIMrwC)(>-v0n(;XnR1z9%$ zvCeYq(7xlu$&ot?xQfDeg|G#cDqYjxkgx_KFs4(B)&7mL96LKfg2Zy_wKEYUTX+`9 zTcJ|z6s!#K)Ho1FkF;p+ir_^M!mbebnwdZ~U2dPy_j?Zqeu?F;UJ@VjYhw`@>F?;Z zQa2nxzo0K@4yoS~e$*%>sB5&XuIdowGA)8Je$VbfipAmxR6`=lQ zg#UR$P+pPJe~=JEuZlfW2&O9`kjzntt*Lue6Vyf*0K*!B0G0+I3qZ6Zqu$%vEI{L& zjkVFz`qG^Kx0o};|LrlaJPE=tU?HTZR3S_y66V^bXNiyp!>~J$9JXuo1l`%jfS59J zNxC=FqJ#=c0V3E)kj)OH5r&xIn@>xkO@gRs8!1Al+*cfsIN#wdSz}k+Db=Y9-ZzzS z_B0DAEbZYM9aAKcvxr%Ag^AI+G6ZQ|p^=AjiCY2_skXH(GSIDT5U(*7wiov3SgAzL zPR^nw8rF2Rw1!iX%s(KN{wwTZWiJ?>L&f|*@*{vw3Ei60{h6GGqxoNr^=RsyBH1<2 z$!srW$ZI;2vqx{_mUfEt9ej&6bQn@XMl_usfoE2-l}ls(7xtmAB$;$u z{^4YXm`sHI*eSH z{s>j?E@iF|2Tq}u!^;tjG8&bqRJUOv3We#kJRT}`?WF$cA3Dn@UP$3iiA%zO2&O9t zgB8B=!@~uK60hx%b;mX$U+Frz4c6T3*#DNUkSLlDSD8o@cYQwqdTbKG-5P9lrLg!- z6%>CinmQS^8RFt>Bgb@2-_NtS_Uu+%Lw4cp*x@+P+lM$ax`0yFF6M-BS+)WDc`uw|Hl%a3 zvnl{<7ucQS7Ex=I=lg%weQnZ2Mxv5-MQxa(v6>b@ zT@r-@3{m3(XQlrs6=%~DRc5*ZDA~{e4ai7PZR`|8GpSj|NP$*8aFqN*bQQZ~yiig_ z3^_Yu7AvETrixUg>4j9zbc_6jq`fjNi&fd|3cP(Q)xM@tB&I7Zz$4bk&q5@hS0ubw zM3kR-Ws>>NDhB2rGWqSov4$!dXXR zYySmJ&C#c*p&`=Jq|?(xZ=PW3(#w?tjJ-ANm)DkW{b=PB^J9o}2VE*h-=kHm`FM0SKlhj0JzVSETK--Ti9`PYyQfL!Zj7MEOD;izRKl^vw;x9(Gi- z@>M~gQKqQRrMUMVjaf`FNKrDgVzfWrpJSY40j)d#&j#%X`Kdp4ypufsd5&zDFTwq7 zZjB9tj%T~=R~&RTX>F^irDxPp)N>`n{Gcm!owIJ}v04_D>sHcT%BP>6>Ci{%!0RhJ z@on`A_d&x2`*C;p=-uEiFfdx;(9N5E(PMpcHwuWk4`#q`(P_Wdd_e#WWXNBitVTHD(FoVxQWQ0y9ct6uAggmzq)_}+q7 zRcqthAC@KxgyRx%zk-)bU#ckU+=RZPC?YD)Av%RCpb|)1QqV8%xfBSabhlFQWX}TS50;uO%{f_%_;(MDKHsodJ8OA!^b?p}VS z_9s5TvBX_yG*$N-^Kaw7C2+a*U;Yn&Lh6g{t#AA;0Bt~$zvLO2!smI|>?hy|>O&pEQ3w;i6~l4seYk{NF&vyvWH<|Q6)pFyMF+H4 z;ad4h?et^>g&Cz;^KaC&UHWBb9^JKt2EX5t;gso(HERHprnT6u&$Q0+TR3aKBuOed zg6%8YoeF+cQ^Uz!?#<@=`cbx~KsO3*>6Z8n>w2(+*Zyx3l(0>Q3hKV}nXYQA9mlS} zHon5u;F`sbutdQLY-aJkIvoezkJ7#DwbX87_jK%JXIfv#6O0ykjB^_NAx*z_IMJ?q zj5XabvoK*r`}4nieR6nR5D)|a1pqQLMK=HdZ*_?2Gw>esgei7>d!N1YlOvWD z1<(n=*ur?@%agmC(7l$ttCoaqPZRgweEa|~BSc0s0AK(GK5Y1}j?MyqBLvz z0uN^3yR6VYw>dhx(gN66wi0rT7`MXu7H-D4$NKvqm7}rFDxkToK{=|FH^>-NR&9JR z)1#|0j$ZJnRmCEj%&1ezW@g3mA*szQ_(_1#0|1$sIFc&>e+O|4A50GTfbF=Z2HSwa z1($KQwl(sXl%;9b{AOvSl(Z*lSKyLX6@Ez)=eOuj=_l_`6#2I4Qu4u&9J7ulzprlnoiM@vpiA*t##!q(i>-E!NRH=KHVRfEfR z$GH1mf^lK>gq7Lo%x>`)h@2SGi8Cz53=U%4Vb5(phxTrM^ ztFC{%s#G;;IVD86on33kzE$q}XBsbMQdDx>gSxh>E?-w#z93!~bRhGi1eg2J%F(mo z3T;)mU;BGg-CC-uvAtB)1zQC4Ek)MfJwLp6H zEbaQD+j8V?9k*&VO0Lc-X$DlssO1n|)~&fa-5%Pi=#%U!tGbcY5BaI;9c??V3LhI< z?x5C$SlTu1OzjW@k3e?z52w`rf8siC-yEU9ELn-N9w*Yr*j zP2l728({)>oTZ?ci3!(9s1Al7;}-c#AFre%BW5$-RjIR9s)uy%{Cg=+?-w6_DnvOY zAmqH5!AWt8>~aL5xHGYhA9TV#3y8nBua*iUyLxN;XSC-(@0~SdMaAA`x(BE3(QMi} zE~f;inT0I#8DtZG2R*o5&Mb6J9iMmY&$wLh%JykLKWa+BE%eh>ywL6d2j=O#dp`g9 z|F~G|#@y-6?FPU?`zV}4bi>?zFBIIPZdBS3qt8`!)*9B@5~3 zaG$)BhjdXOg5-3TO_-KXaYGfzeNBJ7ZU;=rM>3R$FuC67lqT0dSzKvuXv(UF$+z}F zAfOL8+3;-|f89ekDz{;Au6R_uhmA?_Y~6d0$;ocXC&hH$7($@ zm>MkW?Cq>(_~7_QMrcmKJCbKGc{`QkOuj?i=(-qO@b<^I&?)lQ+oY;HpZ>V=*;zRX zE`;TTs=@8*&O`PL^y9dXo?6)cH_Dy-PsPz!)j|vYBkV{2@126xj!k{}c>C%=PI_2_ z=-qFdvD*Fff4KQywwL%-;dym)&03s$)o5H*j`pw&>zqQ>@yz6cw=c*zbLn~vbL6^cL9u~rSUhi%D7Yf@i?DR zQ{HXT&flIZ%H2zsk13Ul#>?ETm}PO0q!e3Z$%@3d-xAz(`C|HiHX6zvr0NrcTLq6& zO$UCVegq|Yv=e}BWWIhh?~`JRC-A)G`r>kBTu&r)L`V zI+}GK%?e@Y7)1@a%4W)yUaKD6O(B(Sa8)(A#|rVUdLh?t^}ez7U}Vj&@(T&07k{C~ z>T33s+bCICpi}41yY<^SPKpii{bKj@XM0v*%3{UJDZ}L(eS^nM>UISu?KP!ljQ_jw zht--YyJ9i;KrrcWU|T2iqI}!2fbZ~LUDa+R+kx?iH(u`%es{BgqB3JzU>R$c0h;lK zJGZ1W!e&O!2kEyTVk2OF_4RHlE+^auz2tdIddYJV%#w|BqY~VW%bgA=v^E>}P5Q8} z&c7XBa&FW4%UKoS`J5b|Po(xt*r&d&2^K>h6J6toa@*1eC8rA@@hs1UO1e;NrWnz~Ta^Xaj$j}=F2b~~#E zM?cT0ef5Luf8A%vH!EZcvg>DeTzAjiva3E?Hjaf9K06)wWWT>6(~M23U1(0f_$zL! zw$=No#rMBo^U*FKcN2&DL*h?;oanXHS5?!=^z<2eWW(!> zt~TH8s_Lnw+0~_Pg{!5Z7rn==P=mCz)vd8aKU3^Ka`%^XxkjrypSEF7u5I$&?q}X@ zA$$H-;!pzob*|gXOjk6;XWd(va95)XLvaJI3J=_V`}3`Zj@n(XyQ*;~v!goxwGSb4 zLits;Lr34vw@mQMV9w`j%RI^Ms_>h@ z|M6S<6H9cK!h5EcM-Wm%Sz)z1_I!C|kQC3iGOp##osZ zw|Bn5pl^Ve+*f4XW9!`x~zs;O!lGMdrIx^@ah3Ug-t?62CZ(Y^&pmhbdKSJ~5A zKm1~u?5yLU<48%$JKcnCIOsQ&*a(&efPg<*_>bT{TdCGb_dDsS(>R_qbL5?+Fa};C zaUmq>YI2ge*Q8S!N>|6pxDyJAsu8)-OY;$afIO0Cb0J69Q=F1*7vK?g5Ys`C*}#FM zmkU#;2;c`vg6?IjM`jf3|M<70co=xMG8|rba)=fuDk8;IK~lmWmlow%?#dA2DrNsl z$whRuUyW{sqKan~>cn~S`vRZc ztEKmaCsjjyRqodtb+!Lgjeu}ds||Gn!jIQ71JmLC`Oc7rl0S~H(-lMg`_FA}y@1@D z!Yu`Uz=Q1>AG>jkZ!EFEU)bZl@-kmMv=zBwfgdtr&&W|%)>WrzA?Q?3<3j{DW@6=+$!W%sv(br?~34N1q ztH>3{-jvH#y463&4M>&Zm6fI(ZC_Zj|9n9`XFnu*al8*Tu)vA^zbU&R7(16>W#BCS z2ZFKTtrvx`G`_+p3!EG1cL(1C{R;=yy}hBM(}ieisA%+bv~W#2n@*mn;jvbVYJ(?w|MzWwM$LXs5YS~`pybi{S`TNIw7>C$Oo67}>% zOtS6h1SKvldy=)K1V1b3+`SZWz_0YMbQhU!_wE0&y-9$lPj8cYo&60zl0KH>J*oaA z>WT{v=~8+7RI%J9lnTn98E2U8i`_^d9csj`c^2A17-c<$iGg zs)S!`BQmqB`>M~Z1MX9MTHj7PquT>v_=kvu!!NmG!2O^2g|9BP@EbVh{%g9HDObg0 zx=Na_av=)RP2SGdXoZgL&$rIMId-=r7CB`Y?kvfx-iouhF{+PdN^7z9P2Q3|V3K@f z4VjK6+NpbJkLktbH%b4J^-V1nQQz*1w_2m8E2=(!m5hv=R9gUFr(h6N4Wu9H&uMVw&D zb{(U#byaOmEKF->k(*X2F%zDAF!lk52c~Ea@YpLFY2|=5UZb$cv4z-$5CNw$Oa?jt zO!fdw_9{+Dl_e2-pM*e^lr&vEMNKI29Y$d7;aR}=yuh|=k&0a`6_Ihw1 zbv`tPH!?4cCkZ2#e$_6e?}X**Y>P3umbfxdnYB^k%-4b_Bwk+xB^ZZvo2bM-N1jc} zp5}~4FHxKG$UUArY{co^dtmX_q%pMr+L65E=uJf&rO$m7d!2w*RPs*XrPEzOnlbM! zTTvs#MFfb%-@y90u7;Mj;Z2f?%(K%1jcz5FEn$Dd%4uP#6m#yiR!td40QD({sEzfh zpG<=(oA^b3UKTCpR1GDexq!w39sAZ!lJlR+ym~9_u91WUg$9d*yv@WJG?i_ zBP7{et#w0I{qG#^4o>6!+fpvoWCwx`m*(qO5Kk75A;#G>>oFbzKxx1WZ8;n%8%K7p zATG%5k&mP>3BxCCf~K_prg}@9RYzrzS#*^emB6>bM0;-S^M+q-==wT;l1Yn7E!DSs zF>m0azb)!XsJwh>^v*X`r2>|E+x^yCyk98fP0xB=yNwyh^JYR;tLjPkutUJ_w9CX7 z7BZiD8Jw=v>}q1&s;L|Ld;j`H4&`&wlV>0MVX-Sef`6aTONy>?rH`fp^p zm!;48FPO5x0NJo)mX&jO_z7ATQ@z`=Fo>_;T(GT+bVU&k@D~X#r=gCVo$c(V0{6)4 zMIPPo5sL+y_Ye8c4SuT5B!8l(ip2hb{{qkP^;Kt2i1%>SWf8OPF}}RYe7WwdtrgU; zrD}2s1HWs1*B!cD)-xWN2QC%jEx!xdnrD*}+T4~+ zexpn$y#MR34{lV`(mmC2(p>wuzp`Ji%1AH9ye-Sr+ zS?75rXTx{Q{*Avgh~X2;Sfck~EBS$a_!iYLwdJ|B@EqeLVLCLf=Y=Qii(^;=cVqH_ zrOI_rK1Sy!{#NSAdaDn@*&X`MZpo1%82I~Mc^Vf^gZQguVq>Ss4{j~CzrwBcW6}3V zuN<+!z}=SdSQ#g@jJ`V|IPiJXLkHpTlSscbCJ)@bfms~W@}uR6bMW=-O+Zs zK+NjN-KS;Gh2|#pCS@d(ydwv<9etrgRtNYGGIWv$rN|=EqU;X5p)z`fBeF?%!|_s} zGmg$%d&Nul^6$T`3G$`>samoiPWhLLMj^>aR`@P+*_+>6d7F46bJ=@|hkwL4)9jtC zZxOWIA8GebUHxP)S5?ZTdq^ztUFUfsG{oL}UM~>yL-tFzntY1&k}F6CH)Z_4-|MG* zO`5R{Mb-dZ(zN&ybk?0NBJI8vBqA7+%cuLiuON_oZAME*`+^aF^dpP@c-J}Ovq*HM z_T9NVA)L#@1@gRmNERBIkyKL217795J-7LhhyTnIH>)5ZZpsz-r|m+H_m198MUpRz zO^qCWHzXt$#(cRejqLINyuEB+G9neug3{$ukuqFkV&@j%kwQ|NFhfcmJBHvygO+m*RMZcsJu? zaNgTe9iwmN0(yI|v5P-8RpPo(1-0%4KO3BYHD;^XfOv%q4? z9O)2rhJ{Qu0)ypabYzznS>TStWKgRgVE#UA(2-vNWr5?@JQowbEbw2t7cdz-Y+$}F z*vkxyl$tQxso;hQemN+3bKzg#MCHfhLn zL%YD3Zj{5Y(QesU2H%{FBiXJgNtqf(`AOvPIOTC4Qie|&Pwc0UxgkNFkKa>@Nt@Oy zF^U_>rOsrhBfS2Y;#r~u#RU@`v4az21%F+6M0CWrLci6ox!2fxheT&RV3aUyHp=Rin!DV~=_r%iO{39zE+1^-ETJEEr^s71(Q zp5sU z2Nuhlc*L5GaBizI^O_3&z4CnfNcH*FM;G9?;p!T57~64WKCTF33PD`2vW~oMnbb@r zQJY*3QGh>oygC)G^!p$6LN@ec`z!bfYZ*-Bul7HjQ!$J z9JwpYui^cGO?qq7Ii+W&=o)DzZb9NoEWG%SuJ`F`WH(dJMXvZ*>t(aat}NDtdyVwi zHO@}5$kVLkVEOC;9n&O8*qN}k2W?0?)TEod$}%3=!%VR^oarWOXT(BM4x~(yam7fr zGihwX-dc|#zn-QVm1P%_Q^ID`t8v(}OSV;B+%83$wOc&AhPM*SgodOfazz-=flD#RS2bt`tJc^%U-HC(fG;?c+|+WO z&W*->vHP^?NRK4=Yi>#8jiG_TU z&%xc!lcUyGBkV-xKuZ~xel<##pfwC@znUZ4rxX#;m0=A~e`bkLLdRG|S!T>v)Ps=< ziO?CAQ&lsTn~jc?PKU~{sj4rtmi_4X3q7g~)T$D>-*BZum0@62k--I@ZtvfJ9Br$r zd^GyVn>ZB^ABIQY3@-A|E&;>Q>H8@QJ@mzXf1lt$HOl8R%>IWBKcArICv5)b4Gi3b zu>P=tpOf&(88%llxOIfX1HV0$=LLQ7CVS}Te)Z_bGGY8J>6=4x0n2y3yb;VM3)p1~(*I&wRtY=RKriCY079XX~e*@%;3 zMI8PP%S^u722lFaqSOe@gj+~o0g_?1Ljl2X!gWp^z@ghb3dDd;5my|38}p-{iJo-n zEt-2iKe9l){DAom7;K(lV(hfPZDwPB_kc0XHN(cN1%76p@H;u#{E$pGzhsgP4;*I0 z(tO-quwj8;p2Km{4L=-{!*5Pu=0#%hAj$&k8JvJdNe#duPSM*STQLoIriDnvB4_{P zr`7?|H~eUfZvH@qS?)F!zy=gY$lJnn3IZCZt~1sh9-5dH18N3M^ zLK%`M4O9z3Pi3nPb)tgfQ^fg)Z*vVlmxz`iu4BBUxRFlV0XpD;ez+OUY~RrOkTcU9Lyxf@V@Gzp&pSoBQ*5PHYaj3A3ejII#(10MZG_ zfPEkt01Z)=$C*1KbN@bXicKOHVHTjSqXohR4GFjLGTS3Yv#W^;OEg~_#&790#jcSn zG%MQ5-sUK2y==r|NK1?rxNcq8VtB{4PBH&I*SL%&AXIZ)G|Sz}S`5NX)Bz8T$XJB% z6=Nvl`c7H7oyYs%|1$x)eOwGH+RBCsj#plcTz#RQ5kO?LNd!(9f>{1{;LHT*j!TAp zWo6t6q;(>Mo+*Slz^1xml5k-nV2D=!2yh+O3 zLazk)j*DW2*M-IEw6Mr_qoL3Xh}ek{A{)D6M31kW_(H1$LXS$ZDC=yVX$de^XAe+i z7Y+zoLkzyO)|EI^%IioRE5b^_69Qv903WQ0Tl{}F&g_5=$WF7u z5O%sb(e5iV!$kkd_JeFzS&df$>qd)(i0qVIl=kGqf@{7-}vakq3efn+(W$9`n@1z{< zfy8%o6hfkR&>Dt?L1K;tZ;@yf!%84A$E3GRw~k{)ZP>&d9fPQY$y)+i%&N>4l}+bpfwC@gv1WZzD1x_42!bF4s*U`p?sozUjaGVe7+$5Lszk8x&kE| zD-g1w0x=u9)ia9Qo2Ize%GTAEMqy!V@B>;oP~R7Vvf%_#!%tv^vQYsk`aaT(FkDa& zsu&_7ibp~kvtkwxZZg*?-I~0c(@aqpWqpsTdUVe~t?Si>l}q=rB#4-hARJ;r%sAN; zovzR}kkAg%By)|;@8X%@Q+z-vu1DC)HT_!UU~N!mHH1bW!f9~i_M!-QUO-|?;60lx zJlVoG96whc`8yfeFliNvhZx>Ko;?XuIzbnXuB>FbiaO-*%ig{rS0r;~?Z4J}T$iF7 z4>!eYuX|BKabu0dt{wssUXPm`jM>OH>>7BkEd~;k6Kl8462J@v9Ic8eP7VVB12&F; z@S05)+U(^Ub}c+t*9d8)3{fPcY3PK(1lc9%#xY%&5p7y0eDgOMyt806P+YDo8h8OA zNQo1|;ku9jVSG?nU!vRmopDz)qu_$zO%?*};v0M#d2r}nvL(_AC@@17)x46sxS$O* zq}XhSQix(m@DfcH7tMh4DT+7krA_9cz5ja-_2Mu4;*s;)6AVYpvlRtllZ+HPN_XKp z!x|+S4x`5rvV<`#O_JiU;X=bIY%{TR1+tlNn_;%J*_gOWuue+JVVo7tg~CdPD^!LH zOfFPoOX5cRM{g`|7#oHk#>wFqVY2v%kZgWq+Z;(+>`Qt=oz$J1qNE=gW`PW`!>_HC zpW$GKv#`@{5#HQ<8Fh5C6CogWt_SM`wfG3TZp zO&~P$v*6TjSviqu*B}9ut#Bs1;Dio@_Ew|i-fUjRGtTbYyy-%_BDI<5lWi272|l3*Yt z1c}q&+9XHP@(saYS?W4pd~-Y!zsx}Awz3IwKtM2lLRSjmm@xI%3eKGJ(%Qm4@pG?8 z*WWPM{AK*aEev$21m8=I0gD~t8RG*+h=GmSZI}h1;&{|)u#u8iX>EoZe)!)6jwFdq zqEX)@lLU%NqRag~o^h>sV?1qyTLhyaA=cVtuQ$ysB&}EM3l3R8oAs06WhN};84WlO z%+XHjjok#-ky4!2jVslJo8(Md&EZcg;n?-p@H1;T=7?H*8H(csK}1(l*noMPG6pnA zK-m=|h5`0P_LC_aQ=S`fL>TRvIB19gtQbuLLKSCpctg}yjws-`VomaD&U``JXdQc( znI75u5r>H^vBeR%;ErYm$cV&K2s(xq$*Vi_#B6&nmNB(w7my)R$_$%I!%Np`k&HH+ z#%CLlc}ufAY&)-l9((PXTVlxkCTT4PDP~Icp28P27=jk11dZqM?94T>%kp74$J+da zEev$2YtL=~hcJZ6j2*@n7i39x ziR%7H$~>hE<+Tk{MKr%niw~%(GE4p>+;g$*|P3QL;bZ3q_j@(>)?3 zO5icWa5Toj{mXhvfDzIDP0ZLHHc2W5!3g1hCgyLAwWrjJL&sQxS!G#RqbD(YSOZyQ z*<2PuEP_2TB|?6|#h@lx4E)LZ6Fn$^46Jl)6ZqJ!uD4=cWI7KVo5Mkv)-F(f)xs)#v79uZW z&BOt`fV#vKX)Bu`$8|Caih#s9!Q&J78+VI^d5zX5uVZ1vD0H`NXdapEQUxV_BZNA! z43`=}ZoYcsaw$&EA&&M647Wjlt4L>21!!J@{#Rcc$G$4eTNer{gQ4>4? z0YY^Jv@SMM97PbpUR9l(9yoVyU3D85ReH+ zc7igSkxJpT(vU!kBU;?NyE!v}qA7sf;T-{s&?4O>E9|eRXE@jtYlJsUFq?&J%oY&n zyc{+y0QGE3QL8IewgG(>8fY2r0^SxBVu>{`LZS>rY=Jy(z2*CxljBftqRgI_rlwfI z1@GX)!Y$=4(-Czv*fwWIB2ouDiV=y7w9YvN%^?%qOqszJ?O+j%DrgbzX>7zx5hi9Y zgrN|{P(~<){dVvYv$ue_ZJA0H#wk8A8MGvK881311yl`iZauX^7qYO78Y)biXFmjS zE(}mbotkXM{Em1GjB6rL)m1kNXr6drHRU0R21z$TB+CmBBKL@skI-XgwDj8ZMqQJN zo~WOr(9!cmcil3izrk6HLE_2Vyhc_^wn@JTB(czZ3E;=a>=+Syu+0oc`ovd{(rbVbw z`Jh*J^#6s^Qz;ZWLkE!OS$Wcjqd!p}r#(sbdPd-fI$3L1D2;f@*#xcyBl8&9G^k`# zfJ2qD^>~*nLq#Y@{2+p745Qu>yML-`qrh;OKp1F$s?52HOu?%FALCyT#DVhjPl#m0 z8{*mUh%h$%B1jFt-kD9cCsu$jenyi8?}%i>L&DhbB~fp2!>T(UD`#v(1B0N=D2Xuy ztwrG>Xtd9PEM7a!p*PRczG#o>>+RSl3C3d^PI%`TI$qb3rmQ+gL;|mtyKv_Zd(q8g9rWDhV8)!hONI)f^V`#JWtI6;_O)l>I9UuFPkalE4?Iq9= z6!98^F(AMRK!o6J**XA5*}3uB-{iK+R1}(e+dm2Lygu4%9Ozmq&QZ8Twq(*)g%^w# zwr=bV@FymnSc9To#OJ1%GvlU}KoC1PK>mpIWF&GFyj8g`OWy1g7T=`3TJwxEB z&yHPu1biFC5S|bk7EHU_m^p#lR+i<|)Jc%p*6S{jpteXPp;JL4B5K3o)BOG}17;{M zd#TYc_C&&*`!MfP<2vmy%ox%B>dY(YIhGyx)e+NXlwlnM9Sxab($!}S*>@^t@IyQ^ zG35BAoNRu8CL3QM$%ZEgv*Bkwav4{zOi^6z!ziqQ&7MvjV2$fFT^|brU22_`NE|W= z;)xf|c^x|A&eNR4&2m~qAf!j;Tr~~6V|SItqnGN@XlQ!0Esc8ykmZ8o-yoCqkMGa` z*z7wbGVs{zJ&g53u zQrJ=E+f%aoDuYdlS3FT-Sv(Tku^?CxyZ z5#%x&aZbnxk{B><6tLVAcMH6)nJ2MDXzBWNJt})1KICnLp7K?Lhxaf;KDve6`Aium zF(caFH#i!e8@e(j%fR)Z+0g4TvZ1U)x(=->sfQSaHFgb#M+bqf$7F`C=E5A(CH{OL z!{8-(w6Q5mI33eaxJ?k1bx8sS8KU0ZYcSL}Y0uaH_?|GoveR7f?lJ}g0|O4M&bvCW zr`Qk>1ONp9LPJF+004h=R>>83%CJGXDJJ*cy?58$3Nuu+q6WnQ$xL!CUsJ0474x_G z0OiTK`|mye03Z=6qZt4=fCE23>QgMA4*9bjGc!%v@b`Plnb{khy{GtfdN+$MbyP*R z6dSeCdQ>;b>&1E%qsUm@bg#dHVP$0}JrYHhD|_q!1FNR8Zu^E>RQ6^!fmlRxGVy#z z0Lu zM1&BC)f@t_i;*bcipT}UAVtagBI;2-e*s`*2q>ymbF17rwC9}mao$?pSyji}kv2({ ztyE^t0BTPI(?&E}t+R8c6njcBorJc#9Tn76{`}7{XJ~uy?#BQHwH5QHL!W-k2_S7- zgi&8s$h)Z|d8Mynh6qL7URJS|b=8wuvvZY{Qj1&HWj#eDQnAz4{1|b#Vq3dHu-z*| zK`mZzyh4SDm8X99y%I8iHD&B&ca}AKCM9^{qej!|O*2zl%u%FLk`!poc=enySnxk%t1P^%mpZi&gr1s`0%=d47BfulFMl1y-(~QmUP{Q`P0S{PBekuo`bs zo@b~;_NL(lqn4|;EYIg!)z&X+R$W!MwN`1fQ{DcnbPx`i0C7OP_Ay3`bcLFTM}UE4 zI6P-Yce*rObPDxnJ3;K2wubVe)d}jU?5V2c|0!pUy>H$!9S4v}tPiWFvZf>2n=tM) zZ0msC*g8F(n_;P=R9E#@+Eq=@vpqf6Z|2)Tb1(lXxO+9bg9vT8bY;5>sL=cNzD~~F zOwiq&%vDld9qms$`br1hdO4ofHvoTvdvV%1+8a1``DTNtf5Y1zv19c#V$upBfi4aa z1{uI;?n^`G^xkwi8DaSO?vX`FATLsiq?g?>Qm1;Itb0ORn^pdJtDx*+lm4Bx<`#sf z&wUO!%Vf>FSMGAV06VKQb>?0Fzp{HBDS4Q6Qb&vJ9>PbQK=amC5wjn(ip=i$)S1xphGSWX$A*9bt*I-LfLmHUU8H_R1Bo2{N>!V@_KtWv>$ zavvi~d;@U_B@9wTYdxbOLsa&?K=nh798-xhPHQw>Mz<$CiI+gpbICSUnz9Z>%m<8?ciD=@D*+3L2uOQEqo4H${|$EdF;S51Gf;(>*H3 z0x#%T4;pk@$yon~WC~tq#Z;iC) zxaFN2;&|{T+RAO_Bgi2a#uS1(Cs;8kVf12L@;wcQKwJB|*R7>B+ue7rW3wlmo^V4^ zx}qAw#Y(9dBIoc#gP}r2wIC$b4+Y~u_+|@!hJ^Oo_|iMdxIle{uJCMqR!IBURRc6p z#;|@Eb3`rL*A!P&kluL4_%M8prDDI|f_y!)-{8u=oxYO&{728iYb(QE!S%TyMG=rQ zLp?~>aW(?jz(T|nMZn=4Ms6@>#{IqhV367+FB8S3446zdDk+F+!b4|zUfWPGaEDGI zNz%K6dl9-Fw_cS{RA+xY3@AYE@Vj|EUm^ZDmbhiWoO?<%2is9H;Q9`i54XL@48_e$ zEHxpSa^o)*HOn~M*et>EMp0sTIEqHd3`tafz_Cg%`OBZRf#b}J~iQED5Fk;_5M&fpx(KG}$%z6TSTf_jALs}d?RF~8 zsgswPGzIdHaD38>{<4x`6mAB3QFtA~!54bbts&wHiATog=+E51C2W=0 z%U&Ek=`j!_ZPA|yzxX<3gL=^1nwy?jfz6*)hFKsvKPyy!8qZ@ zUe*00E1XPR2uy#haxWfOZ2jmc#j$HRW^i%m8~$>gCZfu)$=YM0IaF{_fFBM+JGwn6 z;dNii_YHVOmcA%K5O@`d@L*pS6eE{QOyI8eyS)X47Kn8x&G*D>1aBdXi8w|$T>=E5 z)-Zr0fOJ-}J>0c0YsSt)K}Hv$QKcq)9OD+7%G zU=Z3RmsH`zSQL3Nww$mvI3krG{^H~s`3;Ez6%+f`&T>Oi8TaG=cX{9-OGzUb@v*Wi z;TYf{@3=Q=p%McY(JEKeO(JCEG4(4od^PEq^HE|&nOOun#;B}p3oto~dMl9=tJ@10 zveGQ=OoL=6)oEN)y=#HbpOvbTe{qm0alvCg&t&_pW$XRYja^4M&S8WEEF(7}#hH zPNbVKJOn*q#Z_?FeoWd|NtA-ai<)|~o)3D?cUL$=XOI~%kXAlyKym2gMCL&fumsc+ zC|*(3#eFjXjN);6fdgADM<(KT435GmQSn87?6byeqy^UM&sV-#I3KX!7+{u(9Q%$0R1}f(RTN1Kmi$iL;(k+8P*Wb`DqOSTyb|Qe0 zX_r*JJpm(94UdGP^uJtP3NJfZWXq@$Dib;V;HA`*TP2zlAHRd*5oXu|mUE(tjai5! zUK3so=zCX+1<{$}g18){6G{o#m3Gmiq17-INs^2X9w#-vP4guXVrFDGmn4*fb=C_v zdRwD@`d&<M=3ydBX1Q-X1knz67O4s|zFl>fw9GhtoldX!MQM=u%mN6E* z_hK20Y)@vG?{-rKN2#_2V%jnNcI@+u6Z8jq$PxxDqgA=KYp3L-0faJi(_3>SP4YOX zykA2Wk>#TNI|o%N!jk#`vzi*rG>^dg?n~RnpPr{{!t+e~LXRUt#F*Gtg!#kLkEsK+ zjW+-fjMtbzfYcVbBT=exA$C7=A4f%)f?OM@8@@uA~(_Q3ohxVjvmk_M zZ!1tPd%EJs$`cIo_(<0qLV{MHq1HftuSDM<&Jbu^hLeiQM31v*2H|<9p;cVubJH16*X0hT=hgqoG(ZOw|U=eoEU&9=-J- zv#Ob$bk~md&2)Sw{LBRXy!Jdn%=ya<6~NP{ll=cN*@x*)C@04Kc$N*#sLj$0v*{Dm zhVy1-nKO9K%h~NL?;Orp6)JTT+ne2o0_8~)0&yyx{RHstEs)I zVrp%t953b-@iu%~uOFw*LQGxuTk^f+YMPfAq|E~T1lcPF=4wlz)~M>tnGKY*%DEgm z4CUnX+s1(ti@VpDyLqIT^so9Y6!S_xc5*RWn2n&}xBG5o+~}IexrCqcE!NWuTT|_v z%~=Y1W^GL$PtIx4I40o8z>F_*I?sHH1%VY=sZVRnP)wI`?GJNCo$fhd7b%nK=e#P& zuR6Cg`vu_wb4d-d^iutjxKae0UsXn%tuY79!5lTKMpN~6YwQlVw{ub#*$+%ioO>l6 zv@KJa5f1x^@2s;ocBcQ+T_>gvU8h|s%Hv^a#Obb*0#Soqp<7b&nx@PhW$ax?t!oSS z42o@*HR&c<4OQaxg+6B^n?tfsyw1Ge6$_Mn|>ozyaVpybab4Ng--Ikry zuiGN$OO;Fwh|Y@u0uT|HVf1K5nnb^Rv4_C!I-wGccUn@Be@xNW-h;o6N3a9#l}hz3 zZPVqa>$ZAcX8$kIP-%YOOXSLc|zkC^8%s5giDpY=M~{M(@}fz@va`5(Ad>y1K@i(v1*wy@53 zIM~n7CTdsU$w93nG)xT_S|=MWfILohRIlk~xl;VCm9NfDj9c}1>yv%^1Qk~OvY+Za zCir7qYEN*fKQ~oN3JfaRN`3jtj&p6#*IV-g8g;dV=uVxfG-?~Q*sMnM`Y9Vca7TA* z`qiErwyb_f9F&BCI#jeTpDPXYr3!JYY7@hYFKeyl*V&mFah$QKh`AEzecb*O9jjv1 zlo~`A*5|zvmhtaAaWx2@S0w1>jpN`0CTQ`8o##Pq5HlIe(ke=h(DNzP{a1GtqN zw%bQB(^P8IOQ4MA<6Q&FZYXlO&CKrF-M$|T#U$Frm-pQaVle+KqSIRTh`Hf!;-M_! z6+)0%>k~F&xTl6c{I#fRpNmYk6HPca=;|0Xt3dsicw{1VxIHmP*TbQ9_ipgy;y%$Jc2Z_=+8%>Vd!zW?0T?_pxpRe?o=J<>)T6Bcu8AaCrO|Np+ z99CiE)@=_ytXY$DrcNyBj)W5D+^gkZI*;aqdJp4-o%6ywO#+r`c6V_L(6E~BAH+IJm%@+S93;f9f?hBO*{a_vkl?DWwpY6yYLzu_ zVE7cI=bzYk1bd|wfS*Plv;bVNm}~FklCKC*H$LQQT7N&8&U0t37SB7h$16d`m*8l^ z9pJ$~=M~+se@+#EmbW5!dD}y3T*N7JJ_FSmNc2o#ruN8o4YQ2@%*fxyyB+OJ5uIfM z&M0MmquYODvIg#Eo&@^&oyMuqCFTSil#?Ut4?GIIcjDgizB|>A-5&m&ks#H&x_kN_ zOi%cW-#nB-eoLDJ5h>;-)h*G-5SYo##kl#J$F#Pf{Wow-o|gYQM!o1`YiCZ_>Tuq+ zfk$55p25}i&X^D=XPU9d>V%B@zUIIME6xTca&r~u!1ebar&xMI%>V9UHJeeqXgvBT zm}B^muKPM8-~Mszjg3epNx4|WBkviJQN-i6LI+N)iA1_QpJydHcbi898_myOu*pS`Q^Y=CcPw0wy zI(?)t=VBfHMNNQ<|3e(wv)-DgQ(NnabiTRuGn@dE)$&V}bZ!$OnJ?QF_F z+x{(u<&7?aGXLf+a|XmR)ms+#JH>^6tGM&jQ$|;L57UqS+%w55``By!Z@3PIJFn{O zij!q0s`kzKe2CP~rC#2LgJ-49u&QiP&2-v!COGjP4Jk7k`aK31w6#6Z5JWJU&@iX> zvL_u(v~6w!G|t}@b@5mx(s>u14|pti9}r4*u-yvmytC*x-J0ypUp?J{0-FHdb@Re^ zx*ysx{H1X#p%h~qc3k-jXJBjL#a%dHU-(Vhkz^n~+6DZPjAq@~C&n4y;M?>6w&=6> z=X~{U%0@%V^6=NVx>d961`$g21s2S=5tnNOm(F|@%tH^PW0LMUIXBXAjRm{hnzXM`sh1m zRfXffl{@gO|E{OyfIp*-Jg#9F>c*1)|J$ocFaHM9)I5^rj)vQNW|_?9Fnk*FKhr@2 zhvL%1qoQY(k;^Ywh<~DId+j-Yi{P3Gu>76BMi_kP(@X3ZNTwu%uU%n{_5JZCM`~6M z4_l-R@48zWE$o}l*_4GR)*JuMQjt?AV@d>nV3sm6qpeQilKxk<1vL%romt#}$Q{Lg zYWzKa|(m3WeWFyR5-A2qw zbVe8FqY~eX<4z6;Ni8q#o7%THhxuC|ahO^29Ea8wPM>8`QlR+D_rrcpGnOkI;oRn! zIQ`0#bYf)sp3~FcK%Ls^nNcT2o|?hczwEQ+w-w0;VU_&u8F1KzhG= zkFO||F}gf&e_Hc3&3_(_S2C)kwm+j3PbgnmaV9}8Jp8h$UY}2yt7TJ;KG?#`T_pcz zo;f}H#KmC)_-VUqi}*8Br!B~IcLoT2zQJ+l?w;7;a#gFR)=O1Qdhfr|VKCA6({drOM;}-DAGK$Y=hmyElJ6^8UhZ zmZzoh#`~dvGB*20?|GsX{x?oQEP#8=?TB{=Xbest0P*?7>?wzOOJ%R5JWjiUR% zsHgn!hr`3iZBJPE#YlhC3q!$WvBbf#+FW{*HJz`6`O2#9cg%|0y}96^b7YudP73Rt z@fQ!8aZADJP^vVv9|w)0Po`L3L8h&0`tS5mrgwou8aCMLP5jiNK3Tqjn3Kkkl1~(j zSAoP2J4u!yK7 z(SO!oJBQcrjT3eFxM+DA)BqrTB0Sk=5Fw7mchp5RSt8CrfJo)fao~Z5Ockg}6TusW z4s!<@wlaGV4+W=D1VmL>&^#g<;K;a<0FDERJcBBC2BlaX+916!;{Qs?4F}$++JNvY zTyu~`vU25q-MQX#KW2Zx|3;a^HaGBkY7|86?mE!o^(-;^LjU^A#;l(+sXn-Y?US!R z!$ABoe%erSs5BU89hP;99NrgM!!^)d14s}`v&h>gg$BI8TMG{5XNq&w+IlImf}&xa zoNh9&t|25uJZtp1TyXhqWglwTSWq7MVTCwqZHXM-1rYjZ%&d}{Qb1r|vrm;RE1p8} z2!einkNO+O52vSRRVu-aiq7TRdu?glCzl=?vX+!cIy+Hp`f5gGlrx+Cwj(7D`h(T1bW{4*rAj6u1FAyQ`FkG z6Ku51+2id-`J3K)u15N^>~J~L8{VEt&`Q)J+l1-`h>>U7ML~cqEBQ2`i(+|`@lW-4y-%9>nBcmc z+_uv0^4o$qx@XT-{G!g3x`WXDP3(Sgh+11%&5WWOT_OQS;H=;Vj6hr@Otq@NuC3Fb z5-#wk$QiJKbpb-QS3tF11z5{%z&?8q#(CH~=V<&O?uh|r7oQ+vtP#W-~I~+&WRyeC=WlpMDA=EPEaT8`q+Rzq1z=&Lv$tINe zQ1_#vJBT|gVU}rxqe{T`fcl$xmUctA@t)&7>fJ2x2JRls=2dgjwWbOMsyvc3L9R-L zLC8aay3S6$)`hN1wRW4c;cam0Jhe9(FhG-5;m{cxwM%jWg{dMm2td#W2TWazhY#gk zLlO{&_%s&KhQFnPcD4elANw-4dw}qYFtGt6sjx`7#HOd|iWCu=1QDWU*7-c=BJrWe z2I@9_Z+RYXqu=JQPwiP8Y%Dhk8_lBD^q3$=wA^N)ciRfQ9?FAy%%|4Gqa(A)TnGhg zg6AXTf67klg3#Y;B7{n;C_b7AD{~vREe}z8R|eP?2@y4gKmcR}6-oCGBvxC=x@0Yr z2%^^OPGjU-c(*5Q%{)yK)~x_kt(8DAnP`l(q-in;(k!orMCFxpjm+~&LhKr#$cb`! ztly>)hjmkp!GJ-YW;jbxjCd?-}V~s>AJc*h-su&^N=I_nVq`_Dn zMTxxl_)oHHE1*?lR=3ojKN63P)Ma-}5TGd!C6NFFQ1Mvc13sWhjJT*GzG5t8+e0N- zB=B&lF;N9kummOhZA&^)5%mmEkc1{7f*Q;4@bE_Mw!h@DY-FRb@gBCe5>d4);#Dog zJjzG;*P5(61RjfxGZR(leMK-3D%I5yJ@=3_o4K{ZJYdl4q$)rRKvdN9P>@1+h^YcO z!ImYF81q?42cIiuqjyvRi)M-O@9ar^~d+Q4%n_AkolH z&cRU7G21|tyRMNy;xnY6fK}B(707}_nqAOVQ&#|TJ-;qJzrKws_{>S`LpMe3MTNJo zIVxMQnR9CN`CT#4y{?gR{-kP8h}9TN8g2{6YI`8!(E4jzL3-?wkblpv@9OVUY3GM@ z*li`~%P?&S2(_#TkX9O~S{w*kR>6{h_-17o)ntW}$UG3sthJ`V<+#&85G=0(YLy6$ zb60S4WDb~RB_P~wuThB=!l#z3 zJfy|~HPy0}h^dwe2vf^?YnB%sIxoMi2&=IP1ZAZ{s#$ShYOIVvwN^-_ax9WOwSDC; zf6gmOFvF%i7EQbh{D4JQjio4tQw{rxoYyr}IT{yp&sCR@ z6bU$@s5l@bN+~XFeY97xPch!&#RLtg93$)Hdp~e*>|p)Nnjyx5dnGV4ZQ9)tk1$!6 z$k0(v&Ji&p4W@>dcxE&eqI!rD;TS^*Q+wBw9OFicd#Rr{vwT6LuBhQoNd<4Upu_>^r9zev*`&mszHO^_ivP1+~V31TiH8M#@d#1&(UB0;> zYBbKRt?G6))m0=XTr~xvfN+n38jvY2;39HFOu|-vb|Z?;(`hU6o_N&E%7&RCB5GM4 zfm&ABmjoHy(FCt%2y~Y%LEYBrJILy0@|^5jfy!jy4}S`KxKJ^&di9h^*f0l`D5teB z|K%D!nrACo*coe7gz5Fa6l$w9UU`6NZMUmvCfW)-)CH+RT@se0^A!D>N9yljs~;e0 z`rlmyWeI>D#X1IPCzi$5tLM z+43d@gM+gC1)mJ)r|Itc1zs6`BWF3dek`a5IrVOZFCo(4O-TNQhLTk=Jp~#7h*}RP zx}l)|2Y?xrj^(Puh!}`ox#^E)4P8cu~(&Q$p7OanChkJOlv`qG*Z= z47qvwx#2AwrHkJB8?szSe?dvkJy6enZQ9~O$<##J3Ib+oR+9iv`r2T8TV}KFOMGAG ztCSso2O#8;^U;{*>1VObc!b>eG?D6-H%6inBd8x8(r7e@!Cse!1 z)x)gx9TTqZDjckmSDL_cX^6pFfuUq_CS@g2uB?FVwbOC03!bjG zq37g!s=Y>-08LX;Rp2AnBnc;<5ops#{lOw$=r_kbM~Ag?j894lLt0y9@dHT=osjhA zJeIzF^Ooi@BDEC^q_Wb()T}r_wN}RPTKZ4^_q&-8DzdHfeci>L>ylSze4ufM!GbRh zFdKjo6*P`j&_FfEp=zF5Gz20Wz zW`UgLkkwYE>!Ncjc!C7<$zXdANzm6(ZSRzfB$jB2t)FnT`!o-cW!rF< z2qGP}0w1*J^R^#C*dh9CD}gBGfcVV}0-tg;23CX!+iTteYy^)aBxzc4TWL^nqH0-2 zWLj1dp_Ucau;IHrC1m@v%oFXw{@n}@k}_a8uyG&UpSHi3C~Ob{4dS+8%-2+{I}G%f zJF))>#U0wqLV#RC9yJi>C*AHPqLpo;zFmu6=+IaNAS;gb{sL3~7twlAfqE<=qg|ja zRFen@Q?=c$To$E>3?u8UUTOQnZVz@287Z9ZPgX)7)etv`bEd7kdo&RxuS{SA1j~wo zT*?4m%U0eg>l;5kaW}tZ-WY|N1{Q%KNlm>uuvKIaJlBu~SqfDBi$}!2j`?#R>Ks;_ z)Sd0&rY@ouC&XXUd0T4z+$PEHfkLGSf)xm^wMBl)=U&z+PaxDpK(ehm zr2D%l<#6E2cy78ih^_7YGJ*<(I2bIsGNBE>23nd!i<$8o;Cd&ECtrbUup3{iI7s_}_Ta_Wpw8T*| zU}w2Pr1-BtcBs4++(f`!R1Iey1xcWm6Xz1~p-9Ch5YK~&s&BPr%BUp;62xUh82zkA zj+qfB372v@b5)nGnkA27SL0xmoj6yb2S9L9Gc-N6hC{kJ)Pg0|^EVW0o)^IZ4SHK^ zFK^D_%!UlDgbA%HqCz}9y!-agv7^xmSm7za8pIl~=CKB>Nvr{(U?o}qU0|=4^(V*p zMgZ0}*1#Ia8rqQA_SrJ1uCBM7$bXAk5^lHPV73)GO{Fu8@kS%4ikdF5ngy&_&X?0v zSu^^yPYEX;L?0aXe=?M}d%0_@DP@h6$Lvo{u8jMHks_S5wvB@=D>!1Z;+)X3GAY+9 z#C9#|u$9MzmI~xw%gCXYl^CPT3NS*Ol}-t(Y?S1M9qea&x@_*L`I#q-1R@%YFKtDM zlFeW(D>F>XiVRd`Wpb%U#-ThJhCl6jV$W@M3n5;4Tm2g$wpO0vWaUn3F`$q&Ctu3k zh8cQ~@8RZBI&B3?lb4%vWlCBiipr9)ssZF0s1vv+RO%7usWYTik484WkIl>OH%(vC zL4jGyLb8VRHUxK;nL^c!Jc|ARBCW0H3s4&-^5rL=W+_*jO=ZnabS@|D`(Qa<_V+?W zU|SIvTHes*g)xre5V5=>$gd1#EVTVb3MNz)Tg;S`-M|RoND_s%y_Q}?63YtmRH^Jq zJ99NzQl=p>3l&tS8fK#~rV$ZnAh*JY;e!uQT}5M!pdW;Tf(y%JOFwA9p28llPvUJn zNd0IiUAyBpb;!(9Dmj-co^P_-sb-AY}a+|AZ+<~iUuqSs-i4ZAq~~3 z0`!0pNc0G>)PovgIFn}2fN#E9#5`%X(nHAeEX#@>Q?fD#)vS=#%Fpt}<(zU15(D<7 zmtq*bK3BHY8x9D8l|AXU5>B;xR}rLSM2I3CuJv$y&L98}5M-KRG~5XTRIb{GRxhW+ z;6su~HBMPZ)*;i+C=O(BrAWQ41R<>z0lb!Ajw?@k;&C|>@IG0@#VZX+YvMrEvJA+z ztOP%PAkSo9uax1X>6J3|bkGeOE}ewvj-LVbG zkuA_C!dZ#~Ya?j-37tF#3cSOwNbk|EyRe|Zkz0M7Z^7U%Kbf9doA0LTm(%>ck2 z6uu_vhl9=w`rfo|9xLMp-``zw20d-x+SfL2Kn6~>^kqOvjK3GG!%hr?^yv-`B_!+J zhYAJ<LFnkv(o8?x=%w0XXi1iHIVyOwH;cSiM`45ko%^0! z;h*-NLDJ~>hG9_3`tK;wgX3Xe(_&5QxUAogn&_Z|FT;TQ$nG;bSdaG#c3$7@@nM78 zn6KB#U6RPbqopV=jO9%Q~k7MMUPHgNn~J?$hIb}x{k7~8?t1d zj+Zu*Q*JxbsF~BzrlJ|Dso1Emh(}N1YQSx_3jEYPvlstU-l^%jt38dHK~_jJs;E!Z z(9={w8An6YN16&x=TBW2^|9zH5JH@mdz;SDUnnd6Ivw<^*jZf}*}1E9L719b#80+)}fl*v*pU}x_78SQH%HWLAh!AQUYG(ThhIYYN=L*yNrLqwuce4Rwa>j)mrpX zp_V~)6qMDKb<`A`J8wo8lW{%a=p{vBe%SvZnMvK;X$tMJ-`i}BbZazl9nei{*LN)` z2SxPbyXscFk40x#1L36F%9`3W-3SUA5l|3%Lrr!%tsIk6NnN&S6R0bjYLhwqo*Hnr z|GeF}Bww#iv;JshN&4B)E#EMy6W|*My?_UzgSr7exkaL_Xx03ylC5oQt#WQjMGN`9 z32U4TDXZ_R^$oy$ADAt?-=U#q{h7;oVOb`G$UkC11MShE>HdRlKj{tIDQ&4r=HzL$ zX-I{MNYO50uUmRnXD%`&XdOwef8W;?OGZhqr#IGfw)P<#;mjCaS|(E4wr*$VaAF0S z+HnfBAQK1MYkMPCE*(hyAZT-F#DM^v*Lkzc-qQ4?O0pmTx@?+;n1qJcCmI2rKmkdw ze(u(z;2N2=)FdyVq<8;sV3Y0KT{0w2gNBvS6;EDo&t7E{o8D%S7V<)nJ}{4wcqu6X zh@A($5L?!*H%alFz22}4v-ck!0b6WtS|BJRFVW{;=Bsaw3y!Uk;~nof*}S=%>F-Hv zTX%IlcN-|nw!XP(0p8M@9{>;=(bnAF$zYR5$?n|k3-pKcey#Ov)xf`@p{&TG^L^F- zll~XAbE>~Z-jG;ugUNRc2Js0R@mKR#&Zp4?Hx=9OG0Bx&Tt43el zaolbA+Do6RWmrqL=Dx*GtHEXZ%vQ4cNp|S~kEqviSVA}P;=vqCmBK_CO8UR*3ix(t zajLUjjh3y~;FB1zR~&9A6XEbHn~u0GsnXx;PyHpQjCxt}t1@-{3jLJ^CCc(I18H8Z z3p2e4fCP0RSPF;b*|l?u?Nj>K#Xskd9y6e}z2@bf)~%<*%=Wgm7ptNcjY5_RN@R*eDK(FAxde#sr>5$PDExc&jvw zYQL-|5vO)#hf00M2Q3UtuWxMURROIu&@rv4IsO3&9X-Q9|_Kcd5UliA> zIm$Vj<9HXnHa6R}kg@vu8a0`gmy^s=V{G4i7(-+qDeDGgs6*^3u!oq`Arc9e;S^ zd#p)^m^F5KqP|hSRO}Fztsua3y@d{xRSmog`9*8ddzRkCt{my?+@vHKi(mX^8WzE{ zR0B~ahz+V%isQLBjW%K4FRtzTPvWUBe_A_KFVb4>Wm-7Hfq*ZFL{D{B449#H>Uci( zR^h2{i>zwMnPa>YDOf-6>R`zK44pwP>VAO{y@U)q!IBuiEhkfENvgv&c`dO_d zPuK)aqFeNn`(R*20XxK#7SrhgAK%(P@Ri3hK8*hljpy;$dEw=&yEoq5iP5fhpC`_v zIKpF{&m3d!%cS$K>N$xRkb4w4=Uj+y0L;J%dH?O0J!Yc>NdfQc=o7oip8G%}wthP! z;RAVgU6=PKF4j4({cppuL0KHR2_KKl(wR!6{PUF@(nm20m?27P%K(4qi^9QPUamf1 z_GFqTkGYhDHi>T^Vz29=jclkEpWYS^VrV?V&69u9Fc0+z>0)n%PxhE7of(Orp1t9i zB*eI_Dti$mX)|M_saIR;muN|05 zkiuf*w3SQ`)c+6&6;p5)K{IGs+sgAk-?~l1y3sd6;W!qBt`@(#O+U5!I~VT#9W3Sl zT`htJ={RT>0E?N9Et zN2L!}_WNdY@y(aCuu-=%Zop<7nGZ9TiY81CiVPiBV=-1lJ@D8G7 z#kM#Z7Q>(hswRHmwIfyrkfbGAE6X>#07JrQ&J9y)-w}T9o&KLS$HjXmoY^~8>Zc4d zAC)Uxnaj2lp;U45qrxq|WF@3JaZ_Kr@}XhY%cQZxfquw>)UwE*&==4) zgFoqp4BTY)MP6fy=K$8Q*4T_MB})t&Z5X+-P$rVkDLh z6Ff^Lrk}NM%Tx|V16Fz{M6{$l{jxD1IKsI@^~&^K^PZxYdqyUZe|Vppmk?#<&*UNh zz5n5nxMCPj?~){45H~XWSKk)btMZx1KJzi!^vY_E>dTxyrvYRkGiP+#{U8q?K2{dB zSdz2tsGz`_}X?PqFd-)b8j1C>mfmRE+B zr}Yi}H+j9uH;=Pd3eWb|51p)Oitn%S=71pJ?NPm`BUuaC7JyO)S0#944#DhY6HjrxzL`zx+r^*mGQf8&=VyD2L5^*`1W325tDnm zWEX#5^idb0UGdgOm6j(oN~BHIi-S&)T#w22sq0^Q9Zh`|t=f)_eYAy7xN`iSd1v+h$*r+tdJ5VPFuJ+>(R%HIp|W)t3`#*ZCv^B;3_pr|F4b~63S$8p>{BJU6f zhfQYw!Sp1wVOm7D&pc!HLg9+~zddI+PM|}z!}o7)WxhVnd-=YJPdrx1-;4YC`j)?U zrU#9a-ck8Cyp1+xZSZzn8K~wzDL(W!==@G19;vW2XfKhCQZ?Y zOx}N7+nX|u@GQ4k!N(&*lTN>3)GG2e&NxvN5}Ftp(cGmYq1w|<5!fx`jT(-A-Z zn&U>vGh|^j-Jz_F!et-cqiLpfU*luhE5$w_bZWdhVuYAQxHHTDLd*1fsP*B=`L)n zi1`$x-}sl2Ts*Ki5)eu5qe28)0;v8cjDq;IwgOXPCx4LSYw@q2Ts|~I?f~jby)=+Q z9HBg8H(arop?ZJk{tvuj3(XiF-V41F9~<2rbB%l+kG?R+zH+wPXQEV}-S~jc*Pr2_ z{3t(es2t>tx8nz11LggK*ciX}I#7?Y&lV^jCbYcvq?h&MlZ_08p~J?M_4%b@1+Lzl znp?_TTZG_~@-5fU353J?VRg#aJ{h?N=z}3)j>`IEbMqDg(5;3FC(u}F`wZ!OD%KC2 zQsS`^|Ao8i8+^+Nk1L$KES1}>?e-LIfLLL_>6aC3+8>7KPyT)Co^t*uUV|Fe5A0}V z1sm&7vG|eRVa_Zr04-({tx( zH}0xqdTA?KdZ36uPW5{)ni%aU%5KryrML1`QP5ql@q$G77pkbgsOQUdOTbo2x~f_< zqiMQy0;oKL1I#I@s?en$-gJiDg-}F{6j?u>q8l}IcBngX{-?U$2uhaJPjJ-KQ}W*_ z@gHQw(R_n*+n-JtX*@t)9#>_OluWWF3_$Uiv$KARMin;Odyt#9EB5`CacV`@W<09==CXv4I@@s{ zhL^?4eiXQ~m>I8_v@fu*8Y`y8+t+liOu>EWz*^h;S7U%8m;A5Pg#c!S1Wg`-@}Fxg ztz5Uu>};|aSQs7}<@-;~Ms?->^_w+(%dmU)Z}%NwJ;##Kgm5W3G!@kaIhRA8wupkT zCPY)f?Gt{9y*C|6LpSCn|Mm8s{9nJ#r2j|b6a4eE{pc812hX~zo8mX)XQ+qk$83kL zr~skSxXK!$s#Sv{1d1+goF~}W%A+vm@Kp9nt*H*EzR<#f0++^4t~M#11Ovn}g?TRb zlsgE& z_RnZ&*8vRdhvrmaXDX`x5!qKW{0k!14|}Tf#EvHq6WkuyaQ1kJ)5pV{wGVUY95$!OnrH4gGZ%2L>CKvRVj}wp= zdbefwp*+GnfnU*ecYp*Wf?k=JoJ>`<`~xV|K#8tyJsk=+=$xQ?oyy&BT9pf6zbox8 zczY$m)5jl|!)MLwDNIvMfdojhk$BAVymaFYzA@f@=!I!>nY~?KI7@P(1MWhIg5yI&KBIL_( zK|wy;kr!kHJ-JVv;=Tyg`c$*68sPzP7RQ&mH<%24zXR@AUa^V>YkAHm zk{*Uf5xvKu0Di8rv~ztfvyREB$-Mc;r#PzgtE8J-R%|V17!m~=Y@n{wxLb+7E&;8enIe=g!;x)Pa~xt)zf z{RF(wweXRIVvzn00f0Y^+{*YGphQsQ(g6?+5Y`xqp0UwDK7#$rKo$ZsoFZ1So{wI< zA7E@k{u%26Op4?VsAy$8s%TcckILw|oC~(6zO-zE$7lWlf^lx3bp%r^xf7_+AOTR| zMtZs<)vF9Xlr z3aA1HIT`jkauZLsvU4(sqrnZT$^nuqhq%1T5)%UF7rZmqqaUOBU-k!bA!3cjX*Kf6 zX%ybSa?S^^KDsTTnE_xIJB8%P_8ryaU)moWYvm)Ax#T=@W`nQy>%g z%A7xdR^z;Xl&qNvdEGGA67L)Utvil5Tgd2&+&@A1DR>gi-^puBBTCiFKMU4aG^yqk z1Q1Il6j$}Cg!u<~tvVw^^_eMWVB>uQkgE312ig2M zcOS&$FTB=0fFPAJQ{Krn>aJ=0at0l`o+RtjZ4v;}cR*SPiGQ%ynh21rGW&zyJ-ChH zdnh$8p^eLG`2S!&6p1VQ^d*oVJhkQmr5>kTx z!Cq^eK&i@RilBE!5pcAWm?tU5FFBx?LgfSY|1QUl0`m{@TB-!rK+8<+GNdCm{IPU! zML8!a;Oa8UA&QKOd^i4D^GNdb><3wT_D95Jm!L+jTOlqAI1qzmHS{`JpBSeP#xzpdpwYk&{+oQ4lFZ_eN)-{4;mDwK^>xoRC#_WS^;#3j8 z?AseqqzNmkSt0TNV6QcbAabPa4Tgf3GY(G_y?mp?Ig3DdOwRHZrGE5U6A1E0 zs{SCe%#d|dR{Lu0f^{`|CVVoSE8L55gkwv7@wH|V707F< zBG{Du<_DJKbaHCx+;Tqo{9MPVNfUYip3U+Dx#6|fnnjQ(Rh#2j_JDGE0=jn2Lg)w* z-o|nFI3&rC|2$b(Ak9C>YuO_OQYQf|zy68A}%gQHg7q;bzJdPUk5As?D z36NE1f4{6JF&j&OoQ&zt@gsMpeOZp3x$}?~zRWMY)+&NIwDt#?WeLl$oODtK?2{zb z&2A?dyOYTRiuW6)edM)O8Dycc>|9_vC+FN2Vo+63{^d+6`|ioSlCfJy4>jQ+ubImL zu>Xz}=&;N^gcDKXDK~1sK{GjVLNwtn(px|;j8+1wjO5VUAAYP$#lX;56Rwh{xuPN& z(YMHHaCe2p9)lAuzeQbJnw!vL1~+yG_DF0BIsW#eJu-9{;pQX8or z4><2Ur9h=2smn)Iz=@g65?&JzlyOqaM^(TeSyDo!h*B9xdBDqAR)vVgDdi~)N?AXF z-ib;PW=f?yEP`cb0ZI@SQJR5Q$G?*yiNmvi1zK9Rsk3LF;VM0NG*uk&xLP)^W4L z0ByEdAkB6YWcdymx2gU|vpX!)W?_vr z+XkGo9gB7@{0xm2KC&MLu1q*)JBHJ6IL{u0dNEAAodEB^8LFc!E#a~uf;ykxv(bp~@oEVnx z~b(?VK$XaDRUpZWr#)3~|amBZ$)p;mGC>Uftq6+Y)gv z(}rXkqYry{)-DM?H56Syl|dq~@HkYO`W6y#beB4-{{@Du@L66q1+bv|8IN9%ZHr3m`)^!ZuNvugin zJpC|&XDVo>nlq>p&n@R7bwPqeLAn=9-v%XKHPAnMQ~ZnII;mp&t_@9Be_@f&`YHj! z1jH1{p^6@+=ZG*};G{+nxQRf>u6?T)+^BDW`!gwu^3T*P%5I61UDk!^pWA9H7ciRS zF24pKHZ?!98DY)O`a}g&H3T&ukxyQ>Y*ddbhw5ra;tliDuHDApIs6rFrbPGt$8lmF zdH`OeJs$1g^?T{iP9cRQgc|8EkbW4zvnmLh5Dz3XRRoBI`2wIS=?z6IL@*jIGQ*h} z>)E=V%%9)ilqckaIHN2)X;fBz%6`!31?tauUOxx^hwY`QWN8RG>oyZUPV{9|Rl2p# zM*yDWfaX0Cjq9RA$Wc+EK`b#<6X;y<90833BG^=9ZglW|)WZTO_G^Z=>?0y)Fhos7 zMqG^uYs+h0Z9XCx2|-j_p_Z(3;;O$cytLW zA-TYO0%!z+RbLl{t>Mwg%}%x`z?3?479-CHPc=AYMjdmqZmL z@#kuyEEz)GyERq2(otE5M4}vmD|+DE{)B9;(@fMT?0}#thqDZNKmv#cTYl=&bt7AjsWS$EebeH zKzKh6`vaoeVIVghMryM#2b%3Y&~b;&?T-R_k3q$3haIiPb4P1-u44CLA=~2^qF;o(d1R;w!G=imteeD_`WU)a5N)aTiw=|8d0@EF z21(8$R9A=|F1`DcN4q=Qvsb9|7cKj7nPz)B63Ujytf}d z>s!xY``cj!F>{A*{)BEjOb=&4RQj=gJ`d;&a0*9MC}cbAb397tI{)m{xt=gr$Mil! zpLVXH%{$j&dmN=L{rVw1r?34@EX0$fQR7wR%j3T2V$Zyw=VN1a182MKb?z6$nG75 zCV`KdlR`JLsyw15M;Nz_=%5h71pwNBRU3pj)3f`Zi?A+WI!czifAq%m z3F-Hv*we{9j--)Dte4_BJWGM@V#Murnc~#HK}(L#OtzMq zvlcGSVJCBcB2qJ|N3w|k`o;j)1Yku_KHxSNMP3rZQJWX;Zdzq^H2bxGu!h;t2;Mcx zd?5OjkyDSMLZVq!13XcJyP}ctRN@9=l9V7-K}nwh4q`MX0>$km;i#*^?tx}9mmCFI z{AH3$^W0QXo)D%;+@3%uOeE;Hp};UT1BLO6VCe5$qACqqLN!n8hjl#=c~AF-=$d(# zL~dV^xQikr0Z~nsGw=$b5(`t-Sa^7K3v*et02ZEWJ{dnAWTB2|sOV48f?_Hc@d0ll)Er(XqO`6xK?IF42z>c5s3>GqAjlY@{ zGq|8XqHn@El8!_0M2R36uvxHo=jzctJiLG@K;@>Psu*xcQVK+brvgDWA`wMNIOK#n z*LVgyf6Kq&5hd&n;@3f8QO)|vv&;j)^mehCO=6drf1;ww#03Gta~W_UtJ8%5836}s zJP9uqIaQ&l=`QNEbpO6}CYf1~f}cgApL`3So$(AK=K<{Jy6bGZ0c_{|uLD1S0Z{z($>67y z{m`&R8nhjUv+OY7$%~BUxi$47&lDOt>p|af5xgL!b5dwIq*P-OIhw9j@+wT9m*kvPNQDomlV@MyM}(P;QQ+rv5y7gGZS4Td)z ztgVE>nMlG2z}}I_AOHZ&0M*O^KtBMj{kQ+U{k82`oAqr?cebQ0J4=$a8%CpAF1Y~RO)mV?#>RNz z?`!`s;q9i=ji;Tlzfe{EZ^Qp=z%+b(stGS@6pO`7OKKr?%NvDUyHO&8Px#pIiz=P* z9%2^}JnSA1epA7X`|h~T;@irmcwNJ@9|`T(+#W-C=9HW%0D(S1z3jG`)9< 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

    A7_kx7LgK0 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 eOjj4%x>Q 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

    0=F=+gV-_-clKmFyLBozrnUysqs57)RXrro4>J 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 Wv)`MuG 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⪼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⁢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

    sP8KY-rR&xidyNvfAobmKYgH4uY6TMOlzt-(U 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%0DCxW)mV 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%0AqmbgG5tZXUx`tdE#6C$!JkR#YalmjH| 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

    )2>$=H^D@!sG#I`rJtB5 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%0Ab15j&4@82B^ijYAu{HZ!8{wM_GgnVLx{ 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

    ndTA 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 z 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�J1KD$5qYW&UDm&xd1jd5X`N$>K5JFtu+ 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

    H4EXk53^QK3qdcrINd^OB_6&jx& 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¨S))Kr3`+3|s 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�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�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�f%qD4@u?vigpm;ox4zm* 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�s%`Q3*jw-awrIQq^! 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

    +zyb-`3su4s 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�%H+oMRWbBC8_mwG{cvXWo68{c5z_PmH# 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

    %{x|0^PO3mQSUSlKD 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

  • -ZWZV}!>kFm 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%0Aqi0-Q7S!{I&q`@XyX7Zm4$jC@5uoF zAru+r=oUe*bGC5N7~_PqI`E~jJ2E+ur@eEzTO!0KlrW(_mB`v|36?e?r)uWaaO41J zl}g31QpccD6l1VANq8{OTk<3h!_qW#i2!w`y8G|nAsS$mTGM{XH#ckTm>z<}K|(%l z5ZP(aFd)QIH?so~T*bI^BMih{!HC?H!kZd6GfhK)Y$r*!TbkoEJ|F!4;O0-YU z_kwAb3aVcfg*7r`>*E6ZlhTH-60zy=+MrVNa`55>oi8cW=Ma$&LN5-OW?4Osa-QA? zMF)vr(HX9yFp9#Rr-KL^`R||PNdj|+Arjreod8PEtW}99HUsOr!FV#Ux)#V{d| z&^-J8t(XA-?6CY|^9yt^<#=%LQy>&2JOnN%s_K2cEQTdG^n5zNAXHqn4>MS*Za@~@ zEFR3i8d*7cSCy>IdI3G>54sVw4LG8hIRi5)2)hV$_8hjG%ymqzL1DL=kh1h7+T)&7 zlq^j2DcGGdgjsckf>Lciv}N)<(4SK%&QgL3FRU^kXIA*X)i^6-LA_2DOeShPDy0xJ z;+SSwVnJ4TaD!@a8wY`(2900|--j#?JN2%AZVQN)b1F%~Mz|VBAlF#V5k)fs9Lyo! z9FZVH4637-(#^0qteT7QNmvuBiHTQlgI83nl7%*b1Y1lZ-<*(uq2{o!pIPA(0#%N~ z!o>?DXi7uOBl+%Uo}fnyL6IE>NuZ9n1|$$6VzwPq&_pT3M5J^0Fi=HVcI*;vehKBr zzV0H40XW(qQ22td{ZspnF1)mnGp(po(Lx`HOv5&l2eW!FsKE$s$cLKn13G$7^03dC+;!qHdP0H2I3gAs4=Om!g)HY4XOWHO< zg6RRfGvWYf+HfJmDA8qR64x4wnG8PAA<)e|Ims`wEFrvb5y0-1JdDs2VKKUxXkb5G zvK)yc?!JOugltjdlmUV~;4RsR(j?^p7Ib_nVOErz$>7Z&jQ5F6y=F)?RO>w)$q^a? zzXaMJyxJJdPzhv_*OBTObzTZaf;ut3VrX5+J6ssB+bO0#W*AX8PK}I-R?BgylmX#Y z?F3B+pvpMsLs|jY+`>`~qCf{4(#iyk+d-yMV_>*;TQq5w98D)BCvdHK20zJz;HDT+ zI-V$iBo9VF7zOQa7Z6yJ#g9}Kqq{IYkoE9i-*kb9upL3C+oQa_`-Q_oW3wawzEPEA zbBKOWKmK>~-jDngwu)3fGVea`m6dKq4(T$Dm7-1$wiNm+bVi1aGM8Ha3EIJU@npYxre7G(-)%x1w@$1K!yZ!W9)NKd{!a2 z>X3euB)&+ALV=eHOaB(pri4@%xk(SinEXeKWQK6=r(HdFGq&rmff6Is=NF|iB_W-1 z$Ws=eyq7OSLj{po2E#?>LCuOrJ4K3}M4ay+MuH6T%N3d1_g1;OX%;#-Wr0lnCx2sO zf{?P&{mU>4v?#tKDu_SwzuY>=KLva6e~ha7Cc2B6pentoM7Ez%1%JSScoMFO`xTtf z0DGN_rE_*Cn+*1^Zn|#}04umUD~JII1ZX*!)e{y1Ai7PyO_8gQz0E`bNdc_}wF&ho zUUELhRI%T&!84C2;N}q;6&jK#)ITM{2&c$B2&^LU78jh5%#!T^yIu&avLMp|{RZqd z5+oP|#KdAcyyhRRfU=~Vlvj1Dm!%E}u&)(FPSg*8tOIElx@6_$yY)+_vVDokX3V7i zpttOnrc?Z>A>HBtw!{r=>YZ&}!nrxMQ7S*Hg^mTShg4!RuT9G%q{0?JYD zTv`2z+4hIp9jhrJRWWO=3iSv0OmXQDsDTjn=>?C)ksl$>uBmn*w~unD&3FH|G=M;#409VwThkEbDAanaxUgFTf>B>ItOEOKrEDk<8jim^ek=8nmdc{;-`! zmHL%FxD-v`P$6otcdTn+cqTS&3ZBUzmJ^1CxgcgiS6EYYWS<7VnoROZNW{TvNKk#h zRXr#{5Oi{vf;DR(K(%;{rOBeI<_LS!t+Yg$#`i&`a#RMt%{?b+<^hoPY!aIQVU;-R zO>4waNfJOX4>}v`m7ipl`uJ0!avyy~*mnRtLr@efeNFz(m3*1_!I`24T`2waABga7Lq8BMWK9pe);{1>-saeZ>2qG}{UwiE0*vG87y zTz&!QWIR3hE0LHssv~8Jk+P}ZEZScL85qSA%X{Ja+u|pm>I!I+AP}IH3cgMyQ*Vcl zAXxJRpecY{=PW#x3D}P80W2K*0dllhy0o%tboShlv|yNs zt18GKD|M|rkP zwOJ6EnddbaBF4xmZS{EC;YV*#=^GfXFtlpc0Pi8t3<1%k_(iv>zXMyUETKsT9NKIhK$(mx5x77!!)^7P>ySKNs6FM16Y9~_3FKhmZ3zzDD?F8d)W zVNR~ze?Ob;iVr@LTM$UStr5}VVGR=b9)K`F7A(TKT7{dkF$xn1 z=#<{^e^}9BP6s%vnqn+(Iy6$`#4QxvTS4(nHO@x10*ZkLO1|)v>c(Ny*evb-+z;e5 zp2uCTo?xXGwUy{sbv|0mE6y7IJiRU6z=kz$gFbva)VBL&6JQ|sn9eLrKuh@oC}I=! zz(Uh@3-e?9ZCkoEKCu%q(Bhvz%w^3yBgv31v6dNm!p;jIC<*hi45m42H)EZpc*fvy zQTv*b(imRlv;5*vyq>N#O8vUe2Eg2Ymw-!!#Dg~w#?)17&*LiV@`JTl==Q#}3=Fh0 z9_Gb<+5ILsj+y9FGuRVnhM3V-YrWB;CHuE0xWoL?mF_FbB_yVSR}@n<0t%>z{m{_8 zn$ys={EX80;9wPnOP5sv+f9hSAJ!H%*OL_33#8R#?iI}yl+Gq`1Lip!WU!I@!}1YB zIrQ6MV(1QyLaGKN^tW!LpKq^J{_O-)qL)0E{y%T# zpjxcd>*wR$Msr185oXQHYVy4NASdsb?AA`EP<+2zn_ij!ug5Zorj9c|Dmb-1X9wbN zCjCJC{Q^-O1(j+tgdBelV6hAcw8Oc;)$GBIf(Uv`@PeNmWkR;Nonxye2=oRFiZDH$A%sYT8mf8N z&sCW2!t|_d9Bi1sV$xcDUMv51ESyfTG!ZqiQ`~$Am4o>hK{U_dY15Au(&}${+XhGY z)Tn*m7m(@4UiL;H+$VsG`YR5eJ5c(_eim=DPpaAxy={{=41j4Zb9d>Jl&s;lX!qxH zA8=kgaJKM#og5LlE`7k=qQYX+$TD)+)S7Gj?0sW=(#X66$<^RDrTXT@Z&Bt?*KzbL z$2b$3kg}pR+-qAzqO|vP9SygBtV*b>*tr(<0*91gNp0$A$alM?cIC^NhQ64Ox6Mf1 zKR*QpxIu;9hz*-F+T)~pq3~@6v0&!#U%8)nd|hleLxHxTtWKR~pCeto%xjxy~e zJi>8#__30+E4QUAwmOvIT-hZkBII7Q@vOv`iEqhX1&SRJaD|ACSTdx4^L-2G#F3^k z*A^k*l>~L=g&18IMZDE3A)6}}+w+IIMl>43UYmV=Ud9~9vL!>(P5lM^P!Hqh`>@17 z)KLkxFO;L+_1kXsFpggnQh0Wb=`BT<7P3R0F{Sgr&_SGL?Qa>vO0O3bV+vaL*rA(jJo`!CLsH0?eCl zpyvL(0RIPt!ut*i6VPg8iNmrPs)l|o_Yv&X)}wB)!XPB@?EixpmrvYLkWsBT@(NR*kCjMt>Y7eE^|YNR|bgr=OC-toV@% z8NmG8LIEINq2a+?^h?vcxLiXa1}`8+B(6$yv7348im1XIY)j#2$C1@(!%p;1+|MvF ze$RIT+c++f!fjf*!}fXTolW>TZ~rQ>RS{a0VS|cxbva8W*kO%HG}>*#?NVt2V)=GD z_sB>pb)G34>K_0InJ5yawN0Lymjc;eguibV`6l4zEB)qx5+LgRLE zKjlAY4J7?XEY!iO^sSFz%rx@W_(h}!RcMzGGCaeD)lLxytlFvuBpK2M{&ukBxiT1m zNA0J4kxn?yy3hs&DRTA^+{)-o>7_cTfW#kEbH#=r22#2rLVeXjhVP~uxZ#y;n>)LDD%c* zjVGqtP+yc?6P`F{eFwIvkHgaa!?O-4Qrffj!lvLP#2bz=;)=#Zuf_njaT4d0z`W{I7n9 zgWZ%@LbW+(VY;$X0(%YMNWe z4xVf)xeSuzuhj|&OyPWtV0${O5e_M)&Pw);34iEjIO^+r>pEs?AOG1spK6vGiU`_O z)^tn>K?9E`C;d72kE#z{%|>c^Cb)j3VdmwTw7~J95zb=k^&?O}7JYi02kh8_@R%D} z$jBd%Qn742As#i0V;v=6j=1IgF2#L>YTFNUZLj^0vuuUoQ#P!AA;$;g1C@+;u|+5q zb_isS|0kOkQeFSc&mSurl{S+mu(g5@8*2%rM<}PC53+?%MAv^ic!2DhtLS!lzTf<> zJHmU(2Xm0&(s)_9(^w6pSXeFlRV{OrnYf?Z8^Ug}UsPRV(mw>c&24iNH}-o%dxu@U z-#_x!DW0+O9voYXV^gTU=SFpqnIy!W5bcLUjF~AP{|RqF&s}ltP0lUz#>s%LYDr>} zF|9Penghih(#;N*e+EX%cVvA39e_qfrDHO%sz;>Bko1C@jr=WTyU&O<60`UELx<_v zow`?my^%1$k$G8Ff;!WX0k9!TgC{$YIg^`t=iG^;cjqFgIO%Lv*jUTZgH|2_$14#<*B zNh(USGo9KqWm)i>TN9=fatT3aNQKp5o_C_cfGNY~gMdWy(AmBH;KN74A?eTaV0=cH ziT8D>IqNZsWliU0*p|g~Z|?59J+yd#b$)&E<}bSnS&#dI-xV8&(lKft3eqlt^hXkj zu*5g@SbSW_Mc)bb=K_89yS#2}vQ`g3bBt`E1V3rY;$7`-EMh zN8XOeUxqDi=gW)Ixrf~Si2zZn#%_=d#dYp$1RL%qp)9<6JRM{8j8`fE4S|p*ulYypMs98YWIS*mK?lKXwP|Z)?x96Dc(vY zuA=H^wC?p};#LeE9;@c_kr^ZDl^sxLqP#vvIOTtuhe?OVg>!8;dog*)TAK`U{2JT+r`6aBn)B;3-MduTw3ua(&MYvnTU zb9hFV{kyT#z+5&0jQ40P72=|U>bsZE$3vg6tIyt6f82c{ZgeH~*%RzwgnyBRTZ;JK z?zE3l|1bj&AKsb-cF}8^5BXbTHw!cjY!RGewkuL^?OrY!K`+rKz8p4swP;ZnIbimu zXS7JnFx_KC+EU4}9z3KO?Q8Wpv)w5uI9fwwExigc7hKwIC_XveuK{2C@3`kgkFbI7 zVa>s=k58&Yqxvw^pU55%$Z0zO#G_k2C@r^dP?(}IyOy;FdAjd;&x z*HA(+L+F%1BR8Z$p|o$9&<%|6gQ*))gYq6Xn$g=+!3a_EjBbhnv58be@?oi9MR3lD~^D9EKn3gF|vz6B8|4 zTeht+8c#zeZ1%?CjU809K}(P^;A#s|15Wz2(|wATx!7}Xgz*0_K3@zR@W1L(QDEb4 zU(M&OvbM@V7~)BM5|~j?k^P+(qbgJ<1i-WH$NT@(JzMP7z=ITnT1tMy^_k~g*1|mw z=)J)8?kzxjeQ*rXFT!7yWK3jq%CfZdGOn#%?^rdx*<_i)`;kf8R&X;Q0Si40aGL*2 zyT~7ht5<<{1`-%pOIe!i8MOV&g+f)C!S;C+(78y9iN7HzM0DVgCX}My{*vVJaiMueC;!m7pZ&8&g!B5khSc$Q#@$2f zRX~d=4BS11$o#1Nj$BZ!FcPI6UFZBRQ2|KduFcSZJ6%QeddP}*zn%H6zQCfZR;U=` zUHz=-L;R?CI-KyeL$Rz#_&NC;<9(yowML-$k>{g7e=j>TdN|^7Yb#vqM@Dn3vV09A^6cF@eb;oyJm#+d8(qfBVg6mC5vx{1*CCy9YoGkeM?bn+X zGnbZ0__=Wyf_U`cHs)n)U4r3?p@M&x zFk5TTprUf!O`_NctQo1gQaASNl7qyRXo=o$g4;`SiihwO6(6==+TCX}eVX`4J#ml+s0MZs`4y1uIW`3lPS}`DfHPqMUGJ1EDD24ijE6F&oDK+O|8}@G_#bYXwt;t6;6`I!MoiuMScxlyyTO(vWRxxjLIA>oICM;#BAv3=aGPNyq1nUR(Yg)ZBhst*Kj|0V#r`?P_fM+E-`A!pDZ^ zp~ubn(C2<3=Q(E~=cd~E+x>Ch*zar-$^F8qrOP*?En!=b6Ya*TR^P7mm*A(>PI;h9 zPm8yssR#FthplgiFAs3dBQ!Ec@pIyQ(=K)J*PjHt+V83_MHknl8E;6xv@&;}SG(%u z_YcU7+(UEhr?77(5>C?gSwG7jhj?S+T{NdcSop`X3s;YQtKY|uv4@%$$Km&nI{YNt zk{OZ5E8bl^I*ha#30LDp9joRwxxG(tzQ4P=jzr_{Rx2)KgvBS>w(J{1QWVcXXiahF zjDQx5(fle#s=0ALG|Cq%feX*iQ_qkj2_0*c22T7be_Ee z#K1H{xR*pP(J%b$5TLoB-s1Rw(6s2|<%c|r z%11!4rRp^c<>m+pR@J6sMR(mdO@|Z-YAuOqD8y)g!RVS0$0w*WqhS6WSYA)mTTFc} zdg&FaCY;v^^V05&veid$Vf_BDb}s`Xt+wo{*>jg$d}v%Sr&fe-^KCP4Qr6eqifA50 zo=wGLb*26l_olWiHA}-)`}i6^Zq|)krBW$7mG#+m!gtk5{2PzpB15wn@NU*!-^BYU z)V`;2JoSr((8UtlidLh6B8u=VFH4T=YNi^h* ze$!y-2jvppJ`@8^(AJBSGYl2L7!2vrKP-1s?UvW3C8z`ah7tP>LKG_k1JB7Y#-{!m z^!<@k0x2>3h+(*J#XmeJkE#8f4kSct6g^%{x8I#CjNuSIgOkg1GI~W#Nlev=6Kats z44lCa*)C1eRwbJcJGwLW1tO_`y#Nw8H?9w@@dD#-#Q%w94=ayvL1V?N&K2VKs2C#R zOFIp%k_j7Xn8w)qw_VvRhfgzVH;vg9+#5*lKd~OkXQY#g#l}ft&aAa~5#^?LY!7J;B-ZdO$y#Odyfm zS6LN}b(F+Q!Pnq9%{^6*!BuY$t!e9A)F~B8K$V;%AW2<}0*%xNY3B2H(TOZS-2(3s z`V~uZ(TD5~+xVX^1n9{C!=(43*)Dd0;j55K+7IPaNV4LkIn+A4+`atLxSBhmT-D^#HuX?L@u0vUZ-?=aiIl=x@0(v z?yL6cY}^_tD57zxs06pmwqt^cjpjDeME8J%)poYrnoRTLu!K4uN9}~6yxN?XfTE`$ zI)nM2nXP32Tzu_|&YSlax5dg$&F_Yrw3LG*9&l|LqW(80l%)BNLeB*9;ezUe@38d% zxMO{(P?SH;@kP#F(z|3KD8S6Iz&sVfwbyRS#AAljdFZt*%bhuHEMb7;=~Ggl6fEhH zd%|#8%>IsO1-6^#@G5J(m37V)aE232nN2u0d_EWlSUiRzQ5PYe>h4rSxk}27w%>c^ zz}KC&@$fqqoLjavJxEd+pZPuFU0csg=fjy6Q#)^ibp67j=NX9>-*zLYzl3`7zvy@z zv3mRZL~$cGsN!ucv&l)IKl-LRBs^f)GDLKh1_6rY-8qv4X=0aV186bClZ3>XUT<)Z z2+lqz7`n&>0B0~N=PJD5W4Arw6+Ox#R+J^NVabS|*=opB987Ks{-?12Uds|ljfg8$ zMGL2dxc#FqBoS#dgD`)`{@^yFNkEsJ^ds$BXYnmRkn*?1?Bvj-@nL+wxBPvIpip!ls(}`T3R#_n zc_AtlUq+CzDqy$m#ePCNx0GMV)Bmh@$&2VRSJYd?%H`YxvBUi!buUD6K|`C4i6R_3 z1{F}rl%kG^4Oe|sG*cu!IoLh%Fd>xf@}g`FXMaSU3UQN3?zeq18}K_hk~SY-ou_)V z^*_~Mp22PNF~eiCCea3=*lIK zvd5--DQ^`0S=!!I`2BV*1`08H+=oRhhAut#I|QCKXNg^*mma_Nv%?aH_t3yAvTjMh zN$?W)*xauEyBD?aVi-Om(n1`UW*EyoF;}6&o<-tv)q3&{=igpREoskIB}^#BB}7>= z{L^a^b~DRKYpPKHX+1;WI+?UFHXS)6e55*FJ)lVw8o#6!0z5ba{U4lfbXzB3lF29* znY$u8YT;2^m&}nd8g!e6%Het_%Vbnf>wj9Mxh;2BVcWxW%OsR#x&l>AmP5tR!6Jtj zs5qvdF#Y^*N)ZLBigu7o|BFYp%M; zbqB<_?+(NLC=*wHc#a!0({84CM})si6s3dA>HL(v-==BC`kys+!4cCs-MfJ37O-fi zN%j{71ItL>EV&Tp0IZ&$+ulQZ`atwMkQZ^wS0PbjY*W$+vUfw~KzC(hWtw3(fdW~p zNVFWBxdb}HmbpgeS0RO+Y&IM_%8jG|$(iVaJ*S00K@c)lDb}=CSGoi|7WJZ|3a9iY zb8(of3Tbji^sES&Ube8B*7OM~Z`6AnKX3=dM@g0t)~EYBerS;d17aD!WXz!InIPIJ zFxY4Pj4VlkEn7O|aW)P+2aNV7Ni4H?GKo<&y6yE@!s3P8NjEHBP)WD4CbDfwLR2#< z#OQj1mBBqK3u=h@-iY7rp4CK~jmggG@MB7i>dXT>{dtVO9owm+SCk{3V1(Rw~s^$|i| zSgP^RH*8xRpH>A&OWcLv1D0)a&7Q`P<7s3Q!?kK)LptK%B#uIm71?(#w{ESl$ zTvW$HFIy&8lFmpN&;Url@S(Z;pctl;t{qfoq;8-19>Q9 z{d0jLj4~z0{pQnku)W!jF1rQ$0~`MS5H%WK#Yr76GDC^xQ%uXFck3r17l{k@J#x4SB?$-%6G+j|6Rb%H>K)YHRDEt*TH>nXX`6B zxSkIIdSvoF3uI$FSPisNnvl9IjfFUsQ006qw8l5^Tk%)+7kr-CL)=S>B~J83P#FZK zx`-%~SRrcAP*UGdIFS>moZs>Kx+M5PtnuZMa#)Y7p@mi;e0NQV$vBVpe;sEXe zIWjb}M?#8v8PlG!g_Qxjf1nQToLTp)cPX-=u57yl1>tY76OMLmu@R&VliU8!`(tJt zHIsI9BY#Wwcr?redUA*s58Y=PTqh5d?-X5#XJj1+!!lI=AQ7=yY069eb7&J65S~c& z2K8Y&hp<7+2!bvHyDI1G*OY1UBjiIQeQtzc<5#nf!rrY~UvvE|{E4%J&RoCh6_T8k z4Byu+?pnL9suBAyYB-3a%v8Ud5Js|BOCQ?$SFbFq@qqx3QgWg$%8BZrW;kG5^f7#` z@!;7DWlZQ>ZgLOmUmjWay`n$MJvf8*l~Z`%1K{;v-FuW>f&w2>o7?ObhN*pf8M<57 z%~kBuzpC{|%nA6mg}C^U*gvQ1tL3|01UN15zq8;jcYMcvzMn^ro9lgUN@Tujx>EB*GEkbOIPh@Bt3nJkv9|@0P(_Qo84r13P1eJu?v`9OcT~DSrn$k0~SQIYXVc7{b^RJnIM}*zHBk? zSG$BtlpSaH2-&C_k4|bk?KZSIw-r`Ct6zKG4YvPWyTpEnl$xAtXz_3K?$VZv$|V?x z8A1RvZ!;#X+{p>np~JI!c=LQhLjIyPmQDW90-Ud|{{sWvz8IHTdo~p&28tEv2S^8q zqe4)L#v4U*|LU0b;G-6D^iU{EzsOP^#JcTc#u-r>A29++fo^W;$64T(^)e+KJr0V= z;ASidmDq3xi{RFvz7wa4o1d?74S)-i~5ES;Q+?*q~K$v2gKCvtv?*CHzWn?aJ zi1Pjg#3>Y6F|c0sp2OY1bwQxrBFk}AkXM$mb%~ZAPOxo?6pJp7m1vj4@*LDBg;9B+a?0fM(>C;iVOI07@DE22g$o`HZn01T;ZBBO_0%<>nS85>0q|!i;!VnQSoz{m;cR;!Dl7MesQYH@1m>n z`)N5hsD_Z#kAe4hWh)}P*A-u9<#ma=n7z8FhD`NsTABooLdTjbQKPEUea6~C$~t1l zV}+;tY^`rz$>}2eCrl}e1Jo~6g4#!+?aNPTa8u~z-3nKGuPD&sCEh1b_1|km+;S15 zy%e(|8VCp25)Ya**7MNgb@85xDFY}fkj9zA zxlD`N|F<1gVi?~rn-ck0jaG}hm`V(K{g-g&4pFEA0xS&QZFxY#fN0%ny>;#joDDP; z=*4;~W}Dsy5J|KwECeFgeNl+Tu&srzRt)|mV?P_7%F5)|Vo<`{v^O@FI4#-TP!SXa ze9AD-@**fT2DTVC%*JAXQDGD|kGwY-*AOk#9ZZpPJ{rBDzf1QL_`2h4teAqv4bOz= zQX~>YnR|#(uHm9VV7hU#iVz}%kWErLHQ)FECS8W%{H}9t{1{psZi|`p?s;jg$+YwH z%+Z7E5#3SNYb%hLb6%Zw1rKwSph#JIa%c z1=3VVu=^HyNz-R%Wr2&)I_a6mAYot{{k&6Ta6Q=aPFVhq6rc9_O@GG{7ALi!j~acF za?sd<`dm$Esw=Q4LAc5P7mZg=v9784Bfha@9>fUs(W9)ps0|;v@-yd6Ajz=b0#WsJPLCIvV;pzVJsLLb3+H##x$GS zTW_M@`ktA(5hc=v1%-9x2brzTGTUR3m?uC)&iDa+2|zg{K^5{m$a?3ftuxz zpQPC{fJ{e9clMvBm{vx%+=gUf442sg=mh(buJr4&a9Fl2H9JTlma|2wKaIu-!~Qf9 zd%-qsy#1D3Ph)SN+^%*ahb^};F68(vu7}y-f_^aV$Qg&o6*Bdh&rqr2#TTOx(B3K^ z+=7b!eO1?3T0f0-UU&mmhP{A{HHj1M1oWjglaWn}$x8@1ejo}8$vT{=zc;jWHYPPM zp^S={?m7vAGAki+;muRXGoDyNn$8pVRDlvVdU87chtHll@5%0slkv9u6&A*uC`R@Y z1pZrIV|87Pl-?wn$72)6qV(Pwc$&{!<7xY{dEqo`-mM zXan-uYKo5|K#Kr`Aj9@)zXUWows}z&Iv{%ue3H$pK zbkB>r&}Vf$%dk5j>N#=GU%K3ollRs+zt!cvR;NNMRRHWER>N5Y`~4H%mcu}KJ^7Lk zr(}@Na&d>R{zZgy{V%Mi%5Wmh0Y;~t_voOg55i7c+D2O|eAhVgbsB%x;PZNEw5qA- zWN|FQHLr&O?F)Kz%+=$wmBps&MpAl*J^ znb!p@Fiw$urt1qNg(%&uDEG1atpS86F7Sdepas3b8UZC;qgR82%o{V~Xy+x}5Z=7+ zK6|MxyEDzgZWt0}!FMy5f}1;V=&e61NhhBRY~=wHrqij@kHfo9$r)$QCdZwJNei+0 zRcl%e5HEv>{`PpCQnnXO^CZH&Xbh)sw&qXx+aI|b#us>K?Xc6s9PeL~wl&dH?e^ne zP6YhhJS^|JEGFo4vVD-|=g*eC*7-Q62oM=h+`D(`a84>(*_tksvBqernLBGZr}M{z z3tJ)w$3;$aazFhlgzI6(|aAp_dzL zYj}8deh@6IAw$Nvc>8LAT6%1dQjWH6Xt{W}mbGR%(VK4|H}w>ZMPlGtsru(z*RkA~ zDl{puwR{YVrc9>q277u@QJ}YWI55!Ez0cB;e^xVkrrbJDY4PCl>t?3qrqISkk;=kR zj#7^DL%-J20{diE1SY1M2Yvr?Db=X)ig)7Ci!61scY%s0$8ucOUgz24Au+48vMum^ zqo>)!y%!gY!{GEYdobnTZQ=`e>u*5l-m~z4I~=sRjeN!z**FQl_H>B!$VzbAU~YD< z;_(doE-`WaswWZeAcUghcNM^3I8@;wMW8N|uUwjPbI0z-sBS(N80hF+B;)qMPM!9RU#EgT#=L84@Nr&#+kx5U@T|OW zZ)yanTlTmKZhW*gTO9J55fAb32;e%E))OR+GFr%{zf_Ot)*~H7wKIuL>{{Jf#`mL@Z|GFq2rvvzvuv46 zo+UdUB^+MVdG7!$g5)xedfC^Y=fQLBoujWP&L|Dr zfJ0i}&{~R5oF9en1)i0S>G`Sqt|XGsTZWpL z*E><<9x+|6SqHWd)%z6q{=H>J+4Ksi_uL|-fW_>ZH^d^mDnVQjfgN7%x47Ca4BeD3>^+UIaH zvKN%MJjrG-e+!ncAd)|O|Ba)zj<8J5sv|5uixxt(@=N@LH5v$3n|r(ZA{;%)y76jlpxEYtC05bp?_XvvM)Q6%G zSc)S?`wmK>?ax(~PZ>%Nff#tTpZlo33{6LkrHS}|p(o7K);Q0Kjl37cB?Iu^%X_=V zM{LVQzAjckT;R)?L~LHQfjgme#s8f-hc~!1xss{hB_~xnqP2DTKJ(iO;9&S1%L8to zFf8FT8O+UPX1>%)j)_D>xs}rIB1nfNS3|ym!h%eP%wvfmG3WrWUS)| zNTEGZS4h?HO#Wj1z0?2tV`1N&?O~8yiWjgi8ma^hhwJP^k-r%w|97Oe1)^bwT!+ug zDTs0pcy)d0A4JYcKGcIzRfLm5V=Up1Oii3Dt*ADA9w9_*I;Dd8=5f~?x6~G#FQNR0 z6m&3(fEN=X#AZFULq%MGTL-Hpl-f$=##cG;_wwHoKP)6aGjDmOtHp2iK6ed-zks!j<;bJs|pU5&0 zCO-p`VyQr_sjq@YOe;|^8pWbDC6Ih_3qTE1gBr-C_*!+mgq|gdKf9tT;jv?1;cZgt(c40w&%K-zHLPF7`ca%Q%4^W~ zIjf|g-r|qgZ{IxKsjswR!&xKs*?0xC@T4^%X|WrQvcSI~Yko;+Iqfd@O6CM50{ zm7~z39u9jD+ND~4o7!?JFVb4v2b||NghmX!jHob}Xg>jRP%uymoY zyiZ*_zSk>6EI%$hx5m;if-zMw2%%_fCMVSDxdHm@jEfpHAo^B_NGD52vhxYTP+^=a zT(&P1A|gZ>S(e*ac0F^{5czNuvJd3EYC&pdC31V2vxP7SkWlLcDHM7~0|g9{@&x=?Dr|3np`4Z^U7fCV@x9P>;1Cn> zPf;+pg2kUXha~!RxRkQaVshX#5=PO)vcnjNhC3E=jgfz{A8O}HG8cs%y^2LfuEMoF z*>6?IA%38%b>4OVAEw?hJhLX~7QVxYHE}YrZQGvMwkEc1+qP}nwr$(_^1Sak*ZF?$ zt7>=m>RsKvyJ{_;@x|l8{T~MLsXer!@LU&KP7>RY8$1zn1SLV)o;4#h2_sv;c68J} zoSW6V)AaQB#TBXu^}XWOEueU#^PK`Fms)t_E}RfBrV+?bnoCS}@%JhgNzPHBcP$b2 zGR+vQ@giw^AVjz7gy*xF0e^%x5)fm7EGw>&9CLss3V5!9rfU#}T=lvI<@2_RUVm#L zg>cQ+q_7nU(+^NgQzhb?wE1ZLGV$g{B4isb@)Yr6bmx7L`Zabza&QtwOh^~?@yfWL}9;Amja3~L|h>cTtV!Xbcqv#$dN|} zke?0~A?OBSE~x{=m`sf%miSB=9DgYYKYB zDgARt^kY&%yoMxG(7~}H8FoLnzNfh0`xE--yLe?p#OYtgF#N7DO24gizi=$woP)Lq z38MwC?_xz(eqAZ(o2}hT9tpPi)Oge>QwgU$6bCXdXw}*3=7xqO528Q!AQ&oRJiv=MMEc@p=EM!tS z>P)Ke{%uIk#}(@G;(q)*^;~^^35+>Irs`7Q9*%Q#LmHk!75!3bcHUkgObOfoAJqbB zALsGlMXXiWp0LgyxG4axr+*vVn*~;ApS| z*GK=^;+5bXr9nmst5*MSbv>gXDBX|Zy;3&$FhC*888;^#v{t35kO6Yk(h_L;N=A4v z27AKp8|nKSp#tRR53sWc7+?(W_wc0=<4-R)n~N6Ftp5l5lmoGj+r z-6l}C>f8 z?bz>D81f?^i<{7@8(VF9G<<@w@1g_23e+X0YDt+J)lTK>A1;x^`K?K=l;-@6=h-;^ z<|V%FdT-Dk>Pl^1oPTRMh4Xej{hR5~esVX1+UBAM}_T{Y{fv?bQ4?ddu_5`d_x7$2-O`dywDCK3qVx0N1phZfN2c=Bg7fsu+kB(9=V4*@>@aWVYwEUop~<{AXRTbLKwM>pb}CJ4 z3#eS7o&e+XRae(cUj>RPDqw5N&PvR)ZM7i4;5ts-hbP6KJ2u$zYptH~nQ z>7BvKc6+tXb#2+W;+PnIQgwWf)3t<%8JbLK`enKN+0~sS+T~;6PNzKfk^at*%Aox0 zkSdQvFkEDpVmMU`xZwO>zhJ%R>M9k*-)6toJpQ2;dH%-4axYC=5RyX?cZx#=`GxjK zVcvX&ls~#KkH*M+01VEF?ro|jK6)c|N1@W~*=-QIr#{~kIU6i=lSA6Xtg;Hmwnw={7! zw$3vUMdg}AJCko*Q{_+Fyb{lJU+kPms}eM#z&;Ys-rp)LmF!|iG<$Qlo^r^*nwJw> z-Jte8xm^2X%<@;==TI|S_c-jhz32d!RUsSC~CVt&b9Ko z@?Aki3`c!@R9ox&`*0DHn@-MZruWFLO_}&L5eoYm=j17$R35jvfp!AgZmd!a=e%O^ zHk3s?nx8M}UQQP4P}YmOpYiS=s%IGd$EJ-^U$S|Y$sL4D5?zLcKMK~rYW;oP)0(wI zct2i`!Up^^)1kA`p_%t9!k*aPB#n*BO{OZd_{a(BBy)(>jobR?{0|4mGcU!hK|vt& z?B9vC>-Dj!bGfxYS-sKudNloMa=uv%*URJf2+zHFjlMNN9(z0g)EN3g?14suvu-m( zfErzVKzOu}X_<}1-SX&NeLU@b$_u|0q&^5V{~>+Kd1qz~SHOh%uAX){d%81MzV?Qj zwqTGfqs7C>JAI2e;X1LIxLHoVkw0`eba#UN!@7oZ>9T$(a=}AOS-sAqkLbRtXlQ&P zp&hA==(*)RI2~lBS=};}>AE-B!7IZ{dH;d!N-Hf@PH4%Cm=*rnrQoRxf;Q0dH%+0? zJ9B(-ZvG_sN|`iSCYtjKp7^H3Wx&$i~fkfK;!k79GaSkHTfEY~FW-i29$Ua3PP88R0n&yhyKz59=?p=YQTOxCUvTP+D@=oe@scxk;CUNAo1x z+H#;6AWxhtdU<$+NLJ4170>^GI#zyn*|Rn`utnS|s$aon@DS?3D>ez@eqM-nZz>{ATz?c<~N<=&r)Cz`ZwRYPO-k72pqO&O+slJ#_(v1Rdu+XPH}_ zsutZ)b9y*w;}mo*)(E}q4c?^%<#Y-y{XELL`P55RG1)bjN=D3kv5(6zJG(P;XiXRz zT>yOA)hnvY6w)!_=E$ObpJ1(Jl zcgVg5<#)p%kf1~erER^7m7TKE4(~%i>s8<8w?ob5#^QWA>8 znmU&oTqLVXf=q}6Op2~hlqv+l#Y))GKdx$gQRy?B-&;}aLfRojOg^p`GZ~DVNFCvVL*|tvOt}d zEPHe9fPAvCAa1sRZ^=kkkhktfrjl03)3ken8Txnz1)>E_U!e^@8hk<1N32zpcx>Asm)6Zb6$8DW=xQ;Pn-`%HCO zF|EIZLJHtqbOZ#1KX@BO@C?Q-8I^_>&056y&&s2*63`4pQg@TT2MC ztJsg5N^0lR=#LBKtsB!s@YCpbd=U%CWrvZoDXLavp7{fV)j}DN^^Nl%Am$Vo;b%jD zAR~yJ_LREjoL?K+WS|*Qe49(0>odiqRsPT0EvcHT85~-i%2)Ng@NuhZwxJnBBs%9p ztQJTg1=;j-fC&{}yf0C*h@amLg4&%#G4d^`h+Y1K#&EftW-P$XhWJ87=s~&gWNAhm zUSwVyqlP-A>nND&m(@k67i>Ws!8qs&MM^3MLFJE`UT((x1eW(GhW7YHztv9aaq*L% z@k#BmjQ?1-`x5UbPIpbJ|05o8-4y;V`0l@N&2J~q5kLS=MCW>t*XhYH7r{OdE)tr^ z(7vD-HRgb;p0*WnP~Z?E1f!(uc;(&bK-k?BeT+wyrCDp8j(pHJmpTa{a~8}uzy~Hm zjp6yC1%(*T7|@p~j#=1vn?4j0DawDvfD%&lUmMYM1Q=><4=Fx=2pH=sTY-Z@Qag^B zdT!T0hD017gkU6evl*yKM~%o#lRAT`RTsN5!^y{Mhl}eCKVAoM5#-QMdO`%#&T@4( zW!NAM&6<54}KPjD~=`I8#_AG^{_Y`&;%1n*S0^ouoBf?M;86#!X+xA?}m=UT1L}(CX|2_ zA`D}rE952lM(J0xZg4|t(Xw3~j!^Nsy#UN1b~vsNtOSCMjyNpty%_0!1%qYX_5z!! z!%d^`}2uKw7!Y)!WJXx42TXOB;Ef2CLU$M{R*MX}O?TNGMb z5joGQ{u0*c!osVGkT_ndx$$7rhe0!5`=`(4*_>1KZI>tYRIjc!1f~W)ycKgOp(?tw ziaV1%(!zx>Ns!duy@qkAtHV+8g7lD=l8Nx3!dDZ>g5k^hb@?~i)1=U4G_}yd`=|-b zrT6vMz``Pf6=OMfL^cfCWU#ii`%pSn(8!BUt_au(C$`7WUdwa6ZFmuf4x8Es%f~jb z8CrC!z+LlLi01fP0>AI{`-XOgCGdPv$MW>o-Q-5@$u|g=xFrBETaJKn^A)3X#ECh~ zWh%5|M1d9_!?=c9l8F+e4^F=OJM}=KuqpchWz)?R7VF8`yf}6QJDl0r)j}m?I*wF{F~|j7!P$RjTV*uF(!5vUi`c%oX3hFJ!jU3)Atx-gL+gGBz|J|{vNNHF#C;#Bx$2?@za&|)67pqGQAsS20y9I3vOjoWtu z1p0t4&qKT^oVZT?A7YWd;>pC<%0o4y-Lf*owAd`OX2B`RS&f{aH=UdDnjv~CN2xPT z34663vrxJ6vTZr%&Y;OtY+-;o(lT_N27VJss@bCaG=>VhH{K76v10GM;$TUEQC4<( zE~rL@3n_`Fv$RQ5Ye9y@VFBYH4AW-3?4`GNm=O}L_DCXZq7)?3hD5BGWw5=@vQWge zzJo?=lI2?|H3E>Bi208M_Y3$^O#<`19;lgOcV#gJe1HIqz*Opj0dx! zE#>`~M5--lW#Psl0CsI5%kl66(*AHf;{81*~@(TNlc~F3(f22 zVb=@m{4T|ZQ}-GCUAPo)`U(++cv$IVo>PAue?>1J^7aM&!)cdGAD3WUf$VvWEP^u~ z%pmT!{c@|zFD_RotyJ*a3OTB6fG;u>Opz|aq%oGwIid}!Zp0ryd$49GSr%=5yLM!b zamVa%rMuIhQeli%cCXj9N*NI$SS0j@(LuSR@P)LpLVE_HeY~>Yi3Ww@Ss~I!Ge2=O zqG!y2654UhmRX&OKbWX6M0s$K!mjt{hP7)KeWxd+F{C_pPO8t*K)#Y@C9wUbA`wkW zUrc)3&lcnlI${`NYl~vA-A*+xW zpO6Ej)HvI*Fc6_64oON+WKm}D5$O?p@y8G4m#N6q29fg!)7Z?7E*`OkL zrg7KSCKycrY*ClQqw97SH;Ccq_Jk8`ej>htE?#J-i23wLTv2Xbdf9U#mHeVb`$50j zlFd)F7S@%N93djSQ_ZQ8UY3_2ijWKpQ_4ILR9*VdR$doIF?U`QmPDzrgd}uSOilCv z$(U5(qGA-G=D(2wi5%d{32SZkWgwHDimfoh_%q1l0Wp>acl+OZ8tVD?4|Yc9h{U-f zjy0lwT!pwxQJDZj3Hr`y2-@l>Y4`}lEQ3g2o4;M(82ScI|urr&X6mX3BoDKqG0go%Opvh+Q^h$B)Gc8#s5Dj})bahNS6i%8_v;;7nui-4aU zh7r>Hob_2WmnJ;`1{~2ETxV=^7J6jd@6&z!6?!Z`yS1}$0U6RiMmz;7E04X>h0A7c z;;hoTyvMgK{>ytiFgyDvoHx%NH!PLzd@SUmEq4DRt*B1>>@b3-nK&P8edx~9r#;r_ zK;M9GW}|g!R;1T?YK|e}{r74eE_0Ko`Ly;ex2iAl86HeJu6*%@@}a49{DocZQNN*m zBQsGB^P>ztZMV|`YdGl3KYl;`fSgF)gpSvPr(?CRTu3J7+nWOdK5S<`=R&S3&rkP5 z315p0pd!aZx9aIJg=$DbMu1_})nfvCkc5H&$D*T810E(01oekS$Cw0?h!gPZ1&4_^ z;#(2V?bQVV7qRaNERfZ$0rJmlZT#DYO!hy1l1-uT68^`JG!qzw#Q*pqO#{~d@dE;j zjy&m$_T$GF9471t!29Ee4+LD;9*_OUPY#H`YVrTc(F3Iu_)n30iXs%4qFYiA)Qc$# zIFeN)sAv>5tCbcM|8gcq4&i;|>l07?hbxiLg&7>M1Hk|REy|kF{hGXw1h$!C z0Svb*RhKwitA-8nP`j^!$8nZLeGMADOL#qK!QzG=0-w8aSOkRk4mtY~<|hWK>r^ze zNr>}@8}?4E4i+6)m&6YXaSX1`VFtHOXrpe%!j;|2JCboYA0__${bXuY@Cy!qIr4#Y znvgHLl4--P5-U@~52CQ=TsnsZx!|W?#LVuIzTAYKI5Op3v}tXx6^Xpvv@!H@vgCr# zPU7)Au7%6=EhgP%n)_X=AciaLt)_|n!m%%#R8K`AXD?n`$ZwFbei91|E%6-1t0G^r^#2+t%!=j+h3izs89sVwR zIw0|1?{j^wyOpaH`dU1|j$o_3zDw}0k@?l@7(Y2EDu? zbp|g)Hd7f4P2L*>z3}YaaZrTvpOr&$5s!-cDS8vL$Ku}XZuMMjI6dB)4~?m!z?#Np zK^I%)?Co(#fbyS_>vG4PGW8WBj+RI|D-9}Eyjwo*L6u8>%tlkJ`I6X+DXB8+0g6nAP03j^XpnLrR6k+BPN*O z(K)I)_tfFIlStb9xjfNDucsRwJBmdwhCyP~D4X+_Z#3o1kgS1W(q+bWgWO#rFMk^c z*fLurYbQD44k3GI`jz|Jke?uy^`R^EDHG_=;WiLeqXNDe`0ZS&neQJGU0liJ!P}FA ziMNZv9+;0$SK7DGU)*fMb?2?8w_?HM{N0S3V?i^Tm!M=WrG4pqv%x7)N#Dl_eB5M~ zP9*iMT410AcyrG*#f-{naz2Www7~*$?*|8r(V`+^ZwT0CC6y(2V2+jKf0XMoM+EVV z0@DHgYgr=F139_;*uF<77PwJ|_i3~;@D zdvoB|V-I`TB=2J&*h~t-9B=aFP26&6z0AVh>LOz(6^r&4@1xVR%kzVwc8Jwp+^G?> ztRy~_HZ)Y6G)Jo01co$yM-!#GeLVy)SNIx$KDB9f5H9;Kat9v!9j!mLiT3+0zz-EoJ8&!eXLXQ^#P zRV=umuR|*v)5f|(`Cgo7An5Fk*B?_C%#M5!j`B4J_;5YOY@a6>D&=CZev3Z2EWS=C(;)R9X~~d7FO+N+iqgLr8P}8_C11ss)yGsCi9H!b zs@{wOta8|Y%ShC8#QH}y+Nd=(*~CqzDodoN?989FL1R*VS`NwY*STQ~tu|-dY7UKV zk%{&%mab4X)p6@Z)h>G}yc{t7c3G^-E)5`;RS!M#3}sIt)mNLU)T-;Lwsx6w&9^K- zk-0ruKBEL86gGuP#ZLCt8K;4ec5h~lzmE46SLkdq8LARwtLt+9BK~Rkx-YSJp~-f zFLz^f;CAR-E_RV$b^Fwn{rTyjJcC0FSX(K5@Ngl6_-TmBhi+iX&*sEcyJ(4|+R8x(xGX5yN zNzmE6G)Q=9m(47B^l&am^dk`=qK%4%i4N?t0Qp?N@y3O0j&NyoF!j*Tv6ORgARZ8J zZ9Vak5r8?F-DIeDl`p_js^0O25%_zTvik4>Xa~k-eu73Ry6YF*3vU~ByY5{Qn!V|X z1i!Q0r0a3EC1AC_YlrvR8gg>`SvcCK9N6<(%R3BmBrlglb?;@-sXr#s#J_-D#4ig@ zc9J#F4GeG0ymELwE7U;Qp5m7=*mb}0mD{@VSA~cJ(jioIaHM@nv-v*nY9zpWwK36@ zOIQ7t%{7y7z} zFF;Jn4P8{7x^5O}{@hhfg{SFGoBn~^BG`E&GxySUI2TJ=xv}po{-DwtPw;Y0Tg%@| zuMd1)^V~t{!Qv`l*p<6=H~0NYYpyifc`!oiH4#r+%G<#p^qn>o`4+;ZM5J{SFm!ck zjgtXp$fgvq=8qUWuxr&SWrWdCH1S-w0Fzyp5N3UIb5Q_$MSqi!G7_kPV_FYKGbJCf zv?kY^e8o<#YT7dtbhQbUmFRduPd}Bkmy-XPR#f>{%6)DG8yOg&1lN0m_Y&vx-KJCFe5Xrj8}%-lO$S zq9rO)WD{Wk>a8`2D4cp#G0J3cDM|>(b?1O$t^}V_!5&x>zk7!>%_sx6#&0GzT)%e^ z`%8(FXPCXKI{|pyfMHih9aZ&(x3|at9MFC|mDL+>sQzk&Yed3}wT02v+0635wGZ&l zvwJUJCoFPd@zP80H&y@hkqMB-9{h7VDZBSiCJOBKbILMlVM8z!wZnkSb28dBi?C$w zJezoSG)m7oyk<4!CT*aCm#<~p7bYqvl8{;l!SgH%0V>|bAC z{C!WEpQd(fK&K^!f&F*u%FSo`2$^%>5SyKMvCLky2s72Naf`G6Qk?wSJI zd*0w_=Y0pZDA)Ac~3RfKo>3H-josr^A*};EQuxYp3-j^Jn*is#-Mw!@fhG7b$w5 z!Vo_m*zWJx8&4g38AmiA<3>s#wn74f?~AdTIlA_8mJCp#EV=Zo0=Pp9T6JAD^1dTZ z>Am}4em)rP*?LZ0xHhWor)4hM^$hM0WzAP~{eZ-JDt>42Xwh8w&fa@a9h@#Npl??^ zPqHcIHS1~AN;{|%7i{y2{e(Zbn_6X+fRe32v3qEbBu9G)4G0K`=j;!Q!W;N3?D}v zAD4au!6vg|5sjvv=MvtFm`7fWAV@xZu-BBQQ0;)qc^nW?vW#8cG?^@upHUZ({tv{_gc_rhu zK6;uU)m~i!JD~g?IM_=9#xVfU%$wcf1((_Vk^YUH)AMi4p|B#V1|fcck&Xx80|S_x z0HFJ$EIDnB$mu(Yo-bt@`Y$G+F>h1$Jc&>?{iEHqv{>pywkc=`9qCJp-INGs4>Si> zB?dw|4Y@mp{3gY^SE|sm&3=352*Y?Cs9xukyhx;ivGicA3Wj(0AMt+duwl5dt+|QL z?2)&998lYy4&@z;{~kd4YD&}XWTeoQdYa%v9u>zRA=vaV-hMq1O|+elZa{nfXI7;3z~Q2_Vp?L*vg`YgWnHckoca-^lGU+MOIhy|)MXn)Yq z$m&j|fs%Cg56IK-)V;{7U0b(tE3OPvp#vuaaVNdnj7e?5#N+BvZ(m>GK&F2*Ib{?^ zORB0ZhL~rMq`^}OlElaG%Ad{SB^w+aHvS`=G@TdL&UBWPuR&vmYQlJRYkExkI8keG zb{se>-_1qdFtY4pam^i@n`X0T=Uv|X{1>*p*Msm&&Bpu5*?7d9L3Fm16_*r+mTga3 zhY$MEE$8h40>8sHQ>atId6lf4{g- z==z!R&gi_UgZrG%n=Z^n3^?b@E$q+7t3&!nV%z2?x-?!zB1=}-xDJzR_T!=z9~n}h zJh92KvC)w}=qjf&3r%n$bX(13phYUlF#eMcG(10-t@7+8;VK08w;FvrqX;ga~@9VCGd@wA7iNHg%J>_Q3a zN}Nno23X3~4@-hbo^U3|Jj@=5G_IV^j}Dg_#m|UeoIgC%;QBIsl?s7?ZRl9dNqv^A zF=8_+3Q3E9tr&p7>N?D}b7Ifa1OG3RHYO}cS zS4j!QSoOBy)qbk!in+WsZokA{q(yO%pkh?BOfHF5pfZ#!bZ=G|>_b?5smDGdg&<{R zK~0b!m|ofW>|9+>x?LHtTh>;OV)t}hbZ>vWSOa*g1|K_iDQ3sg-ew-XCmL0@-7{rR z`Dq*IO?eoAoxPvmhFMj?c`xd%J0>AHy5BaeCT=-{tcRQrCaa&0p7Q@L&|JIHS4emvf%&T?TK(kXZzw@20iM?;Eg;5|66~4zD8R2F?;A5j+W%ge2S#e__-~v6ydL< z>HP4^nkKnaW%<=hK;@UWt6+HI_YKZ!=}+=DEI#=%dw;bb+edK@L8h74n?vO!>Sk^mSt{Ci-SgBH#^C3i^Gmk!<8d2vYzl4W(q^Eo zyzx@oM@4kR)3P;fz~t(iUX9mh+VdH%jk)#cBG9dSMvFo;3%`5FKEblsJPvUce0V78 zB?j)0Sw8(gG7*21bH@t9fw6#OkHTWTLhXq);phG%E=sZ4^1hAe_LUjItMEU z9&A1L4*u0jM%mF6hEfZ0Yg{=D?B$7WqIpx4iz1R+hrd5Y*;0yG*6Axl_1|`(H%(^i z!#KVrb)c2$#BQsGT~6(5*c!mvX_BBhrvDbPLi3(OUe2yJBeS?c)8xjENaOM2@+1n< zUexBMSt{k_@Ay|^^qd-A&Jt-*eaW=chy5X{WoB|=r695D)!WRSEEjxNY`I~T(UjXo zYxW-7(>?b(z(oIAPlJ1hYOL_be zN{g1&C##uvZ9b>`<><)R@L%Jw0V`|Q8z-&z>qI3O1a!%%*%|$goXc1C3+`D49|5m_ z?uI5wUw^Q0Z(nbS@Hu~OE=mrot8XNQ?l@{ zFq#&GBxMUN|F=B6a<)`XX_XvoKib|ko<89v(##Yr&%bDvX&D#6Nl!yjR;81j&7Rsl zq&`X3LE~_CU;^B4ucO0h&7qecSQCSY*?g#4bXBt*(V(QBzD+&)+=A8yby~al6k70n zUUZUl!kA0JxRb*4xsblyHFZ6OMwXw-;zgCq`dBJ!`Ys5ve9WzNpl>+y1kqfm*2?6D zGqT8|gFjuiRF0?^HtcWMiJ4EGz!8)Z|M^Y-dC=a&e({k>Kuc0#`$t0!TLhVaa7c%= z>VS(l!F~z(Pg8%7^QXRrw4bteD2#x8o11`U9X8L2o8a*^S14Vb&3x6kw030J=H>Ng z{L9JqTedLXz2r!o6YWHgli)=xV>tW!6b1D3G||m=Is7Un4eM%0;r)TPd#vYqki%DN zwA|!)E1mQSEE({4KWcgmn<%u(w}udGFfzhBZXDj`TcP2H{yuKkIrTidB|~P!G??xPs;py^(fVFi zie`Y~gf@}F#3_W@;t*j(i(jVhoa?d4c)QZVS0I2l8T_0{I%$fg7{#JYnUSg|>kUoQp+8X>3jcO5Zo*iyu9%L~9L3b> z!e?!m!&r+7Z->l8s!FQ?{K1;%5ariaGHSY zg`>zu3yzPCaI51|aP(WW0YR5LcfOm@#)65Zl!t0p`Qu6p$MpP!lO8T1OSg!#w<`+k zlsWg-BYAnI#qo;Uv5}gZSFt+%;U4jB%B-B zABbX{!?c8d;icy#U$#XfY}SjGT3uajfLh(wXgY7^y4tb`e={+&qp{_6KH(s_8NaWG zuXE<|+znAi1wDjUo8UhTGj)*I61Q#+?+ei6Irx~meOTy_fW2L3Xru(Mg<@#utxF6k zPJ+&%Mhx&?W1J4)J-|I?QZW`6(~|r_7BrYG5?emeva>JM1Qym^zw@cw_K)g8J=tUF zD(BshSwIl;2<#cP1R{1EVCHr`WnAFwVAet$Gn5OyZf)=ADa^M7?$N=~GPLrzhqUhz zjs7}g?E@dFWJJ`>T_HZ=FrgPiZ3YLmXgGQEW=D9?7~w!}j zY-ut&pe7fA3j1iRb{Iv1ZD`_CR0=^t=z`SlzjAWEe>t|lMx)Fg=Gj=@o@E4iK3rY1 z$Tjdr-Xl6af*LJl2`g|zy@x>Cyps2N{^b}Y(O@_2EBgJlVK{UAVo6FZG#{*D-y8^o zvHW3y1#oy6kBE%(kVq5L#~|PgA~I1hOIo-lipgQ|UKjao=3zZ`lc7tuN4)i`FhB^X zh&c2nVoqQUK3h+n58OihbJaNHvfU<9B7j^9C?o}{;$EzWW1+_;)7W*l zl@CGV27t`O6*OFLLx->miRv=Ga#zIilcbU#XArA|Fo3NpF+OMu`ma_9p$su34~iey znjPlIrg|1aEMS}jsIW~wWU?X0#-W+Ith%Zl&ZIimMsv-kg4%fjhotJd!??03fsoF@Sz#JRrms zc@d%*q{k6VVHAWyjU;8?k_|fK5EP{&lo=DN6ii?TPbNa1O`}>Z_H@!KGsl$BK{s)zwOew&~*|Ig&dn<|^dq7w5mzb0X3 z^)w7Sn*U=A7+Kb|K6%{L6u3hoOaRQ`1mqZ$57eI4%>4V~GGcx1lUCytu@f>0U_dHR z1h6xefnOkqds3teeH0gWJ{6+900aKVpS`v|L<eW1FTuM>pyd?0-uBH~5@$m?( zetIn?6hhuatX+xxzu6nxRNZWu^dp2atM}zU`_(Ts8B&ahJWbQ?28BKq{F`nXPS79X z?Yo%V&->j!!w916rO@7v=%>)3jsyfrk_ipbVS;1fEYgmkWu^hzP>#o6WWD3pck&^4*y$&>zo1@lEY8J>4ye(Y%H=T1QDvBy1QjG znyksf{|{9sr&^c)P)*4U1}B{~FH7$qB1;4K%?M&J$`Fuc5>si1@F6HcB6*CT6TWV_ zJ0xq)Ai*W-IzrwYHLWca(iE?T48o!S*RJZp806qr^V3DLQ`?9^Q=_|c3#I&?zr|Gl z1u119ix)S}KN2I8-9x#~5+zY9^g;6G{-9}qgbx)D&|eqy-mE$Hp(iq$>KtG0+4~*L zwMBd%qGuk9*3oHSt8M|f_VBrNO1bsi`vpyzM&Pmy{p;OkQKe9azPlT=`u0W^iC z9EN_{q9ySTL(O@e_h2hnkJuaWY`-{@mm#}gj)FBB2ywH=p`SBzNDo8K#N>A3I#Ge0 z^J2$(M}X7)7WemNXUF52LI=oS#ka``jYz4OPlbB5S*oc^LDM?YJO{ zfcFa$j8RcM&JS-1s9`vnDA)N9CBV?$(m-L?ELHZJn~Af*m?{nmtTcj{^2#&d7PH@w zW7ryBf4oFQK|U#EK#X4_Vqd-&PpPW_@TCR*P|o?alw`MTvqi{cq@d)%2K6k<(sE}i zt6!3X3VM0gz8rJp$PP*(Nqd*xG+-!1)Bz%0FBmTxh{Olhjfda@Nk!We4><*OEF2HM zS}S%c8_&t)%0x!5C<_go08ujMq^Zq9MNJmX6hHv&_;DA3DLKc>4E=iA`xA9x53q@6(Z}Ph>r{s}hFhsN- zDIP2kkFTUg<6?PEs1w?qKPSxqqYig23sR^ejW~siECGn36pWA(M_@%F;t9hS#0R%> zMI-qmSnwP?ga!(g-zQF2i0emg4}&H$(NJ9oC^z1oDib*Y4i;xpLJ9@B5P&3?3hou; z93^y1p)rF`Z12{u^}+XeF>^4RJMb#+C(i+`$%C(~z747KkH&-&3>kd7ha&4H*EfGP zbkt7(AqQM7B8a2-W1Nn*hwF!kKIbXEk{;G!5>5&SSptAEO%@OX}8BCjFag(C7MAW7d_1Y~dpq0emn3 zQ^TIHTqv(cF@4ZDEf|&Y4JXJN;zidFq%}c2HLIW`lwE&66xlyS7j~_yQx-s~x+YXH zpUQpwmghH_+52k zEv`xp`#~kz*_1)m#`~&l>9;q3C+^c!gnPSC3w%7Tv$CwL@&!0=VB6OVy>okDM%f*&%zgE!tvB z8=)>O$u-FEMSqNUIIMxhBV#*HY>RlT<8;y0;$b6kcMa#3GQV5XW*dhb-a9(|oOZsC3KF1iYD5${PDds!G2nVsTFqnxTd)n3f~W;qXN_v@BxL7=c}1n@7A9%zH~v zlDkhm#Fv;MK_7$$y99zz4prbX1OImFx%&2nMV~IX$~~X~0YuV_3~#ps5>1T)DIS|^ za`P^x?3uW+6vdy*VTCX+5JR;ws7m=SxsC@5lfMORm0pr$7%O4TW|e+GFoOGMs?*mck5jv(CZa%3q!;a zxS*QNh3PC!SvyGU$R97Dj~4QNl_0qlZb&Z->&0pNU;C=uclUvZ8(H*C4n~JFAx)N( z-uvq-Po4kUM%Li?!nk-}%8q?W^g9p)zTpKk_U1b$ zshxd)a0g!N3BnW~JZVn0be)ELP$)#I-I9b_kOr~6N|4?~Q00FSVoE?FvXI1mrXy;! zDO4UlHdj2*MgbYzank;8j3pb$Kw5R9LE(8YvvZzGV!E2!n5is0GSDM(%W-z82YQgu z$3(WYJ;ibb?MU-o+em$9;+jTGJ!{vaX+ zhgSdU{qIXChA9-~aGCy!FaLJl$9rDz4@YnU6--13$}gO^EeY{lOCHg1JAT9;oq#pO{nZjqgQ z;>K*6)mm)QKjnKe-bwRm?G48}c4OsDE*G?V{r&$D^^W0zHnGBRZQHhO+qP|++pTTe zwzqb-wr$()*FDcU-}^gP?qrfoFmq2bPi@z2{%SWozHh2}^f&i|7uwEXP#WFsQC@@B z%k`|G#A037k043xH|#}I_YkoaX{W{WUvV8N8l#9s6kU!4c`*#6p#FUM$`eYU-?p_$ zHMu;R?pq7YE%&@$wK4kA8O@p7g%>{Om-)rVT3LT5oks=;ZoY>`^b|l29F9`^k0w_< zrHqwY{`7$3dUiIzN7U8F0js5keTIW!b z^T%Olx5nccGi25sNV`%oko^?0$HT^Gp1rwCSmI3PmL3yHzG zQ$gmFm$>{e<{6$VOxut&@V(K_I0fh}QP&a-e;aneDHGWKFm*)UGj8kFx=_5@w8sg# zmIp}$H_)XOMXGyFHm%K?&m!YLnErrN@9Da|SuQTbY19eohwipUDgy#Zk)G#Vq`i9& zG&l5F(+cnj0L@;fy$cFf%z~1{3uD#H05veA?Ycz^-FE@=!Th-#h=PSWJk4gWL6MCG zAc3{%xbc^?1g-KYo=lqmxMRl;&a96gat27v3G0YD;t&c~c4lO@B8!s|{^Yo2Bk_6V9p{^wv?*Hjzo!q_mk)Dyk+M_R? zfd&190Ts%Dn23j{VIy4(QtJU~-uZFR7n<9dXJxVV$JMR%$`*C)WrI$dqJF22ESyT# z0Ee}P%mLBB>eznI`wud50X}gfmi4uvQ>jomXd7z@q)}ux&?P>v$I0*)yhiHuZE0ac zuH>focWwj((&ml*_iwm5z;G~G0~T(Z_u`zkFYld3kH$f`;*3i=P!kG_o&g;TC(;hv z?}vM%WPqKG)_$t4f?YHiI5O?2^l|DlPAnOzRx)-4w|ftZK3%U&bt;yEew~IO(MXAr zUUFsI;@>3uawVL>6vgP~i$aZ5Rb}Lex}3 zM0+ckHt7Trn1B0Nz-hn@`XZ^$=2r97@=;NN<4VxJ>Vz`#N88HB+Dal}i*;9K0@@$k z5LGQigF#K1$HX{LAS!stY)JnySPA^CXM8AtZ?|9zRy7foO$)O-sup}ngdR-D8uXUp zDQ3>dlQx^y2v$?!l`2R!6>!0^3i(ZmVB9i*!Gji69I86=k6Qw20u?1?xFxg%Qd^n& z)AwO$LiC3Uh;|FNe_wUkS=KA5AJ+(R6f-IaPo$n1WvO&*`w#YeK3rCm+#~vgGC?Z@ zb4|u$S{2pl)Ml%4CIU)ilx89CiM5`hnhyohiUX1$+P{@Gk?1tnbNIFv`fVX()KTAj$}$iVG4v5Mv$Hg*F;i>2H|j~;g+<7 z!CvdOeIDG!CFu(Qv7;)%5_qp2XhsI%Fs3NUfLKCKuRm?ky{W>Kgj&4d!qFoHsaQda z9bmNrUl|hMmldKZysUtg;|(H!VIt}kMWC7MR6$H4Bmx1OCZjj7oNc2O2CFEO{g!k| z>OXX$2i;&y;~qK#Im{+I7?R(du7BCHBkqr{J{$azBe#qn(jPQn0b6 z+BqUIkxWSH`#&veGHyN zFeh=hKqMQKf2-FoolGBHusTJ4!2KeBz8-o22m2nk-Sc|bhIU6s?oJ03-Dz!n84IC>m^KJ@%2ySFInr zQm>z#n|(#GQ4(b%xr7&V!9+4l+J?NUv%9-BVr)KXY#h2=e!sN1Tg12C&b^6)2{dYP zAu}YB^@MOyGgg9s*ad_xS!(<=)4}z$3Y%a7_cLfoVT5dtce4ySqul@#@B8f*PUhB5 z4L30XGVLfBX)LzycbJU}(Nt#h1Fo;UZO!M=?lO7x(brwU7iEP4D1 zc(`ad86C!6e%wWPS7MB+f;M{ZI8Redb8x#myO!(H&G=kWWu4}F$T_oj}CxH z;~2|k(LN_9x{kt!E*Cm2{-nS%Qj$Kgq2#VMrN?=Nf7rT0ztn|Wy$MlelyrMJkhTuR z7M6u5h9l&qeU!ZHr$0(pxyc@kyR7d>(ST2gl7gWK7XBdp;sNiTrCwOzev=wXkBdoQ zv*-oM-%GQh`jc=xHu9^nU1utLV1t)rZ4?`A1&KWDwc!hXz~_(qlOtEltyb&fS)&p) z!n$ZWC4831xUy`Um|5+rf8Yno64k;&=?QlrYNB7pyyfzN0@;?A$P$Pu5|8wduUFTj z9Io4Q?;netU8xupN6mUL$1ti^X)1Q7<5I$>^vrNrH~Yk=9B)pjXpqIA148*>0J7pI z+sH>Ub~fCx&C7t)`=XWf!>sWoFR#&WaC$#1^H0&wu^s#TE5BmDpq8c*5z1SQEQp>7 zLe4*MCV5+VpPBOdtnZH#+dSFqo3pjU&bPT8-q>gOFU#Mv-)!5`Y~bI@JNS*CO=%=Z zmvFg3e{JF^2eko-nXjC;&u1Gvdgiyt+oPVnG7>*lo_nt(H*w1GP`pP7oe_C-Mcb&Q za55u1AZDu~z6&6?DiarGu?E^vUlQ4`Huew9+4Y6R?7Sb!gqOYFJ!T+_Qmg1q`!DRQ z5!PwiQZQ?10-&Fc799+L*^SXW9a)nMan@=en+;ajWW`0||ByYwkS0Umgh0xMNGZxW8#w5W24r4i*4a5l0IS zfC9Lwt3`h^Qa4F23H?x@f#SKSTW}?z!B&w0oj34P5`S*6r{R?#GSSJQc8$>;);bQR zfx!FXb)z6UE`{*-&ttZD07OJYl_0=*3|xe3Bqgd4wsk)MJel8Wvi6!bsi$x75K(@7 zze2yS54+s;D{p(a?eM?fhZ47M2K2vPHV4SM>w;z(uEXNHbyd`XV2I}7Z9i6e^mBLk zN1H=!ZeO%xd5_&=cpsMUrtQBz=8e18v-s=M`ES3?r}y5hi`*pf4@_+AmkiXjUeT+}9Z8LxTy3w!g>B@=uWfxM5|M8c+^Ys?H<%9bb{;P5H zD)qbz*Qekc{kl?6;~ov}xFHI>sRj8c$27GJ3k+4p(V+Pn6Q z;_aY^&(}9LhA-or-?tX6vN+@$)yaSNjeTLc;rR%8qvQJJBBO(D&&ns}UFgM=B7~}d zQ1E_E95WeI$@b41*M-=chX{4BHjhQFhxsjY0hAIVJ0wLe@q|LqSeZQzsyoH{nn8@9 zxqt9ut=S}2oRykHc<|1AG~US(^zwSk*in5U6-~~U`HK5}pM@eDgE~9@p%eP;q|7Al_C7yM=#Zbv65f@uR;xU-+gHA{UHSLi-f~Y=RQu zq0QD_iDoJV*>qRt?5uy)_P~D2tO!?5kqC0w*f+)Y#OoIf6H#(P0VAP->;jrymx8v_*3<~;*k+}YVGT>gn)S0DL;;~VOjK^j4TdL4ga^YmSD zZLkt84A=3e-O+tJ*j+u8%ga&(wTK89>36mFV|v`R4YoBpU9aW$lhRfOU%P+4v!V(C z>U=^?WtiQ#%0cDdFjGh*@ux?%_37kE1|j;OvH%rKnMt|cbX)o7h`ws=l^~?>blc9q zooUDPx@AHtK>`67o##s2X-;gk@_?-+u#?6-R32U|1HnsHih@+FB(5K2byM1#eo!tB zd#%|02)>OxHk?4$a{?GQwO8Lzq*n`wuP=_w_mH>Lh8PR=lH$7xq`PaVywQ zlc&@CMK^7Ri>e|n0$;+@gA3;AD6S<=8IAU`2Rqj8N~|mAmc>x$xS&jsN|S`SXPo@U z=}(gCmH!o%mn)||)CoTFEXMqgehoknYK}*VHP1xXJ63Q%GRK6kwh*;ihtz@~RWF5UHS-=VO8b>8sc5SNeG%?O?FStJ`{GR%0C9 z#7qWlg@kA`Nn&niFso*Bsy6nS^SJ7T&sWivD8uv?i(+s&MHI-ItA%+m`%!o2epHKt zxoK4$dO&yDai&|v3@T|n!P)Ji>e>b6hS{^=G1YEv;9qFF(dpYuhJ4m`btObxNG*R8 z#@eT>L&VUpgTj`*?#FAP=Y@xPSg7oN zKUGLYkcyOCM?k`Vn=Q?I(<^Gf*#6Fl*Vx^WMwwySwOu72RW*)a6c_jY67nY#)n>HP zJ}`Vez5*XLgAMYmp6`MZT`-pjd5iXnOLQQ6td&259;)MiyY_w4%kjN()HTe}%TNsd z##ARn>RiL;^!RzhrG7XBYqo8P;nYR~$A9k5Ty`Rhq#74-B~dMEyt`fFp%BBreYfIp z;gz_I{m6?ggi?Ll1r;$PAJ>rjve;k57qjV6RYL+bj$9;($vPS9L92!PZ!b;|TkY%c z5YbO!%I38sqnR%7Wza46AvMQE7)wS0?f8?S-7n7h+qk3_5>CVZ#r06sE~iKUsmb)- z6Y8f%TN`N`XqlU`aFvx7IxgwJ}8klkn7&R|Ws)X9A_! zbp$C*>TBRMI>JWD8(zpa4}Q4N;<9p_G;2ugWi-_2Vpgw4c1%0;$xV(bk>&rVd5Jhm z)9U(OG}K{}EUl4^_{Lc>d!i>H+Cc)a zXQRwT`_N^|NoS=79qMd72~8%Y9zi7$cSPpYEtJ_&uWg$ssAJrPVt~);(ri%RbRIUs zN(!QPzlz#zQB-$U1b3xodNbD9U5WNj8o>UOE$eBgAU*&d+hPj9oL|;-I883WTNFPq z-vlO1AK+a*p++;ds14?^dTyEI|FF1HRa!R7Tqn*Ul9aXyA~D!&^?KB#wUQcRAapiF zFch2`GLx%`q|3jCqqx7=2qWy`=PV8DK{slYL4mh)vFX;&AHWpHB??w(cczxZqi zPb@RVMPy%7bu~gSPG8lEpudY&^PlzW5ft946BF5;sEIkW?gLcotrqxQ)tzLas7i?D zlQ<1?vJ)TaU>7@qO8IDT53TWO-H22d5g{YJ5>2xXK`~b;IgH<8(MC#?n}F6XR8R>K z3mVdL^u&M_*i|=iGq|DMKe;SVed9=fpuPNL6|TuJRv7nf_B|S z%t^$J3~N@`O6k>GU!NY$n{MTeA?b~)N&nL`97$cwwg{2HkTX_rsosJw`f3S;D)c{_ z8k1;*pVqtnI&je%9;a~_fMhc_(M|g=uDJ>WugYZ_1ukI+vA^881p*qJOFRyQX-SAC zk#LvK%w_>y4li2p=3*e6A}3J487j7`sQk2Sd~bEqYhE}*u*K%|&XtNYH)Uwn`TQ3X zbcpMnljNS8R$!}vPNRGPjatl~&C>pp;U4MOnPF{Rv!ug#p2{4v->QWH?60)4YLz6h z0H-DYVrhTfUL2;5`pb%ouv(k2g8z%HE0kv0i@yu&Iki{P4h0#%Py9gliImA6S`A$F#)9jZ&@#QB^ znp#fGaohEgXU1h|0Kxif`+T^)@vH<^=888um9}afa%k0%hvsB4#8?4e>r#%jc z*cKHiAqB%R9oG?OL_?zJaD;eEBD2i?2l-?!8;D*}$TdS6J}Ee; zY9T#~O!Y(*g+wai4-TFb^U0Xd~d*ClfFdlybpa@9` zD{8i3F$s%YJ2jHHbzc@O|s;)02EL;SHQfD9`vWrZ1bej2OHvlX8b4SPa5 z0svqF6#O(!2WDwpV=-5U^6psQ?C3C971{to0QHNz_MdFl8QUChBP|Z5o6JnD4;pHM z%?2jj0N@wU?x!#RwWR7_=J@LyX!rY-<;dB~nUa_5!HWz1S226m@w{hwrgK%bkFR|D zjlA9#H_5$Zu^1vbb?~eaqre77JY%xa%(VBl|J|$f$;~J$>xZ)Ewda24G5-zSyS)3$ zOwLCRo4eZ^E#0q>lq@)K1rV>?D-=?>p)0hfh z6A66N>RPlp`g*@q*^j`>3BglJe1t4deP!Q8_bVB)^y+r({K+|V5PtIMgbYq?iwaOg zx7-DU_&|1#{Y*Lt?fMZCsP>NAj2W4e{#B2X)w+OEIb6d#DL2&iCu2EG`(Rjf&)1j) zE@}%+tbqKPS-wxQ<36lxDc7KWas~x?Gf;%C`KZX-GTAl`If3nYv-v>tLfXd`Cb#X=Vb|+f>R#{9^3t?A(ik_*k(RtP*_9!GIn1;r(0PICcC;M=h7`HHlr6k+vq8UH5*NF<9dow@ zp3LwG-16G#dt_$IxOc1dETLxm>$;fGzco_2GA5M~MU8Q7cEWZR+WS(qe{KogO**2% z!2E)2xmc(nF1`-EdXurym)G9qR+jcva!F$95_$UdCUjI_9{JT`mR$VKD6zUiWJM5@ z{$6;ZetBT5^O#m2e%;8`7RS5R**4Io*YXahRYX{BR$e5NplIynP#sRaRl{?tOK<&F zkZBv08uccg&*-5|5IJ7gdJE+xvwGX3vp;NlYWQFmKY#a#9QZ*;Zr!Q}qZ`ImnKEEb zFp;dw*;VPP-ll_~`jtlihozSd=G6 zh(+ivNNCTOn?%2}(Dx`r&6!(qKguhtz9=LuQIr_U#Y;f z6pe)~J=iDk|IKbXsT(O;me7;b5om8^ zOP$ax!%M7#U1_&U^vK*nc=I1TcOlUuap$DlGx9p3O8N4v_u-(_qRVpo*O3E=fxKKY zS3hBrNPBA3x~D~HvCiY%st@Wl<4v9(vohTcZ=Y%a1h>#xTk~d(ym-4#^2F7VX?yYp zN2DpmOZpCaUrsiaYtWw_-=ufQW%91T_eA~*eK$HLC9QCH@KSEfUCYsqIhn(jr!J`@ z3(uM%K<-HDT3WhucId?F?(MCw#~8$^yslls9AbdG;*5=$95*BHE)O35@k^UVcc^d} zT*GJkK^mn$Llb1ssInf78Rno_vg_UZdbv+xg7*_(8Ys$?KRdoy^WY{93wXZMqpK32 z?5y*1>u2y4M8*zVU%`Jn+Jv!Jo#h(}kH#Czk|KNWG9{t03QUj!L#fWNR2p|9(EWfg z>(Ay2QF!6KTrWiC27Zsv#chC^znx}dqII=sXgx2%g=~QcYUedLZ_28clz7H zj-K`Y@&&PU4^%;Sk!#?k0p!8T#OY~OxNC&%KM7A~zEou1_h_}O{#)BAh7 z^&sB+Ug;H z>~GQ*7~WQPf;yqqE`NLf&RQ>8E#57SjkeugZWvubv?O=a&~{?}QtZiW^Pjd=%gFRw z?NmDjYd5iN6!On=+OGS zyF0GiB@tHp>*xB7iv`k3v1!Osr_=>TT z&L3$3d6QdYzg=w*+-9EY@Y+7Qm-Ifw0A6m@GYDXzs?F7X5mweLww%YQOLQUkC&U&t z{Ja2NkpJ=91Icm>WB8d4Drz;IW562E{k*jpZ{y4SjmALy$RDIDb;_+Vliws*O6@Mg z*d4Rw$HlH6CzI>)F}3sL_lGBf@VT|c_(<8NAidR~9r zKToz&2pFec>kouD{iOqp2C;K#=@Ki=-bi_(fV`f$Fk`aX3vPX@nKW@vn*o4+3!#_K$yRpnczZ%%YL+5(z)B&_D(&;GB;Ir+Wp;*)s}m(x3L z>6``AJIUMeI#^39p}TPPAb+s0MhorK02e0;LfH8>ze4@axtw3I3r(M~{zuDoi}iTq zs-gg9YzeU_!fC-L)~1$Uk5=~uGQvHf}+0t8zq+t(3XE927)Oo!m zaxiBhB&)AIv-RN9PkwClfy9Z`=gQef#8YgApTb{s^7@rdl+2e_^6k;e+|PTUJ9PNQ zd@s-Nf|(1Izv#e<#bgz;v;yg%>1GYW7mnoG+ek;O{o)I6hd)?^#=^iJgV4ugcny&`bIU3?{^qrlLr*2DRXBwwTBW;`VHyI$`YC$)_S9$@L@EV zP?ki@YPnR;MzNY^>(F3@5NG4~Ef(n8Pf{pDoB5MxT4kY^?_3IL2Zuo?R3{3CaCyf| z?hilAH!ccVwD>orfYAJwo++#!^AQ-VE zQBiemQyb%viWgME6gHnFV7YQ>;aVD)uXi*Q!9@2rTtdWc$&+dm_N3njudJIgKh-iw zs!=p>yw78>z6l_hT3mEoj8@g`-=f+php@vL&CjzrN6eEJQHxb1i_&&N zOo6gW!Y*V;4(b-IsHp3U6cgH#6T)JPjLB1CoFQ z7gSk+Z_SH(vZqr2s2_<2Huu{p9tL$~QdOe@s~f9rtPe$!0#{f;;u;6voKbs61*@83 z=>$TGB2cqq3QRmuKyK*FKUdL-fR*aZgh5u3HRR7F6qf7e81qvNB6<><t#^L2&qPEDtrDex8ED&P5 zc1n%KD(b+E zsaProK`WIWO=gMK5R5>kSvKWWj@OKlNzu^}CIES4apEuEdgOG&zA^i+?ywzhQrku{e!+Qcljf=VsSBSHc!p)2fk3}dzKqSz=D-8AI)B?>~TU~-3r7S`PpxN63HX`#vv$p$9~jnzqdGXn=)p+VMSO^- zH9>z~?E%b|m06%Kq(9!VnpsYyX)IKlCeelDPC7)}B=(V?=d*=3upKD;@eZ*tN6 zAh-I(-K){`h~TW+5yQsB7Vnk6FayM#2S7~AGk-0g8U&385_XW{XjBUh{CDW!Q|=Ij zhVVCJH!$I{B){@6WgU6-agrp8{4m31vmu4Zh>QNIWzz%A=JeQCm)tC6>QSbh(V9gj zprx#`k`OL#dby?y>P>h2RD+kMO3sITKloIodw42YRD;Wy3Zo=$+LcBOxDLsy>o@yr z9gem8m8HbJ<5^&D*=Q~-)2cQytOSMC&hEuesP}pLx@m2)Tn&|-GAkCcpOcUfF|4MV z_55k&mVC~5=zN2u#2OEvXl*G;BW&hew&Bo&nOpOtOBp@|s-h(Uq_*L?y=Koq<>~@& zGmRMZ-1(YVV}NubWuAs4L%bjuBrXpM#q7vk$p!o2qkUK^wcf%BH73<0_!vQH13{dl zBh0GD(NSLARB~tf^CIZD*v83%%mb75A@wB6B?ckKZB`1oZq*R71C|yx>^sh0&L;!H ziX@D^1E!Q;H5mHa-=tf1SHBF7{zgg5En!$F%8KU~e%i1pfr%=t1HGyh=~=r>`kN^; zw3`^jhAu>+J5LT?OEVPx^yH~#zB`~n$gROV43QZckz8HT)RiMc+@+Pdzw>KE3dQ)j zz5ZfK(Qgw_VXMbLnDX^r9P4ZIdr7>W*0nvGAcIsCEl(#V6w_}4VRz2_vzUDRF?kUs zyun%sEd~ub9v|sRh<1i~l$JZ#l7g&XT*yC}94hB+5n0K}D|zgJE?b96NC@L$2=<_M z(zAu~aAYIgbAk~bE!rTtXQArtj8s`pl=$aS4IlnXN9sKdcDQwyc3N3yB2Ixal4-sZfPBtL1R-ro43dsgPYVT7Lhp{TB(ccU#lSAPEe_TL@Ai|Lr~SYhiY@MakiT;1}sY`1%rcn=n@w2k0tNrupeb>?FyQ^ABifvU3hJS=2Qn)u-44I@ay$V5{RyOecFl8Zv)=^3}eD zXE)yGyQ6bSO5PM1D&L5RF)O+#*>ePWnV>wH9{cAly{$GKZ^Q>J`Irnz)G%nE10*`r z+_=~YB573i?|t2eyO9^jY_|s|lZ6KBSypz*t_5rbgrG6ihNC$SNsZ=NUB`o{PMhz> zK$nLi4}KgWXAc_o8j!kqGe4M2lZKRh>BT|f^cS1XP6NCWYm5Z{vExXu`Z~qA;!hKF zb7!i-NhWqh%(4SOfx<|Xpsp6nm^@eC$O#1(98KaX(Kbx@Jrv#SVJV!dupvEhgGJ|S zoTv9Lv`=nU-f zjMlc&)RrDBm+MEnhi~Y zpi*+fjTy0Ka0-OE0d3lGmou$xA!K?moJmLY+@?eI+>LM-^U6mE%9rWdce7>rx zPhW||V**U8!%X-!kT~sxtD`Y(bg=ajp{3ZZWz%%@sDX}+N~zP>rL0aU5sjfVm*>Fn1rU7j z>-(GVxRK@l^EDJNm7f1xT>c`zR^2R<|FAHDWB(s`_|{YcsK7|ynI7;`S+UVboZt3*n+JunO<~B zR%mE6fYO_h{QAQ6peft;w-fb@>kK3- zBx?PPIR*gSj7Wq>&KBxqKchZ!fC^{*9)z<<;?iJC@spx;xPKl)v=|s4&KM&vdcTT( zeE ziey}M37i1O;&K&%kX$0i`t&0kWm;f5P$E229};y1-w8!m zrn3a3Tos29STaT!VIiy03NX0sQIwgpT%LJ>N;u@uu)m;CmWE?cGnqvQe8$68h;`Gk zk%{wIXhX?&T02Aj2nV%995P9atg?7H7Pw7dUR|b~!35)tRg6e{$%G6A6C4!M!C*MC zJzeNp9bBdi#f+?0Hq}Q^E~zE^5Q;yf(C|P0DIMLKCT80ct3YxtmpUM93G+-fh8h%P zaMDOj!coOXMC9QJ+qrDsTxB+=R^bBU0@$3=gf$xndcz3!s|gr*6A}_Q3KO);t)(oF zge^xu8Bf4S+O}jd>RvW3{*QwV9qBrRK%S$4QmQ|TnPOzvTh;*W`9Vhey#$2+BtRMG z6bXr%*O~P$6gg3}oInp5EbZ|BbHIy4xhwAhK_dzzIHj&CsFiAV3m4;PwALF$xc^T> zUR-#D6Z0qKWdy8R*%eN;*;&rX1a+Uf)M-(`0YMK?m6=F*3lxEWH8DljR2bMQZQZJ=H$VayT@8fd9M$3o$(?ZueL8unw~uGu zPtPmx$%_gHw@bl*UP>ZX<7nAK5zj%kj94K&m`RRBkdnxr+m#{O{d0Xj-w9rr4nNAg z0=?FVxz&x{gHtzT4-6)?`S?rNPP;u#O5P-|at94>_gEVjBKcVTL}KBCkTG)$L@o@u z5b_pmsS!+)R!m((Hu$gQ)olvJQ{QD7)4Ir;zb&7$mou2!Tpd50r#tzEj_p%6+Hs@L z$Sp1IPhvT9=JA(hK-s5T-amcZ@iN7aH_m3sLyvQ2#=iAn`NnKn4BMFZ_}@~+@pILS zv#;MnKD5dk>E8jM7#=>OfhUG~ukWat75biBdG$V5zj}W`@jd%(e_D4^AG|E43({Zo zNqtYM#jTaDH@5|fw&1VinK5+hUAKh+e;!ze z_9fqN@H?;h;wm9p`Q)ch6z;hi!Z+{hIP?Abf{d@nO*!j(xG{=>4P4A@qEQ|VHH|S^UhucQQ?bb86{`Qew z%kk$h>)_EIwvK(`Q2nq^Uu`nO>D5^BQ>$h}PqO8UHlF^e>4o$)oPOBp-8RcRHsR9{ z`0Mid?k-#EZ|JAj)t9Df<;&|}?B_GwC)uy*W?g7*{k@b;B|D*Cc%L~jRVDcip)32y z-9C?J*T;e5C=>jy*X*{h>^(DIz~?hCUtiQ7*8y}Ff{>pkT_yW)T#vSZeK*oUeNch# zrA5`2WGno0GEy4}0vn~Yg}Kj<*OyDmmUDqJSSZ*l_;6~gm<68mAh#mjH+nEdHaIF* zY#&YQScR2VEb-O|_Bp&XLU8BWJo~s?5n=PD{GYStg?cqF&~7nqonD&+7S~}|p4^7ni5cIM+fwd64zBj>PY?SXs`Mu= z`h!Q7I(rGKIo3ZDriO;uZIx_x1UhP+tD{?Wb6hNI(zU}|3u8>C!hWgZ%>aoDy3H3c zK#}*Djs=<@IaZF*lIZc*hzxA9c~lNLiXElfD)F^dZ;-bN$0sN&OkdCj>hCVe*3g`CQ=y3oGfe#(#54A#J{K0qy! zG*pM@`Fs$EwR9xV!?vB@E19KzZ%dJsoSrBeaeoer*Ay-f@WPnJ z*}(eq2k$rpT!A8mpA=U5&rT~@Hh17r*#jS(ZL$8&NNKkAbkXi;-F^6)hrv%bV22v% zIY|NN{HW2F^M{O9lP!s5=VS(hO1Fu7tkyNOPOZaQdS(K(BQ={g`*Nl6Jz}*GGTSX%rSA1+N>v1JY^?;u z{&<>7?DVxl@+9ZP6ZA0`*c~juo5Vqqp7jp!RA$4pOa;g;ztuMjxzv#Y zL@zdf0I7EEcl|U>AeF`6r!TW^_M&Uew?9m8reqDyIF~tpTOu*O@)n8rTZE+p62b*~ zs;W8P`aGhGjySA3mrWFo44KSdKF9s)#9}mK4*H>(`q@IAQmEAv+JfZ_4b=Q4=b&-ac}ox8ZBqv=+ol} zz69OtbCg6)$(s4}@IxxY_cqauN((C|jQ#aYU|&L4A~X8rH^Tg}tL8f8{zz8Q~*jE=^@D0yZ#mqE2EL1 zu?Z1$V>@T}o#5F3-s;-HYrwKs*a&-}mO$`GdOq2`Ep+vIB)aLMR@az~td(75fS+Jv zUB)r#d1iq@bv`JAvsDsN@atJkFOnQ~MVth?y)LtECY6;Eu&hj9ACBa}|2fY|vR|AW zdnJuzG_TD8uw5=bLAVYCMBV6;w-s^n(vhgUCM?(-G-*-<(0Jv)wl|+ZXB@S*6k%r<8 z-Tv$=*i%J)X3ppngfRazd@@{zNS+FW38;*(%P)Uliz?nI2bnh4P=*(FFbPWh{9vNS z{D)wWmj%Z<$_%##QOr)AE*YNqsjgjKMpyMpLR*m>zyKBoq}jzS+Xf#H;%I|G%P%|g zk8-YtS~zYU$!-7Qu#!<2%*uFJW!Rpkhiv; zEx`I7MwB21xsA*4o9FvlsBw_!+(>y;mPG z3zt=jK-l>eEba(s4*fHo>y*mOp~ssOj9!-{uX~zlU9y0WBAsTZHJczt0{!_Kycrjr z-QQC(_F~ECO#-rS0!<~$0ww|H4LH$ZDOhns%)KpPWz{0^(D{#xuN+BRfZaO}_4Ujn zYuNNda6~8z?QYW-kdC`lns2!6Jaq$!=lHT;zj=@dDHnfcv*Ac$WN2!@ImS4b;u|OP z`v~391@Lex?nCHjT6B}prcnp>S0LFsvJq&WW6Ljrq@ zY6#LQagZ$ipe3y<`6(jfC=9r!ecE1-O#kWyGF&K|W?>YF7BE|cC=UO+{1JCTfJLvv zJFUT=b)km)52RppmJrw*rCCQ61p_q)z^T5B2S`6DsUefc#2J!Y)gdW$2MZzqFU5c` z%?~Jv;V=Z7_Gx)RI{o|l8Nn0+!<@g&9ONbyt`#*5c}7$`MoBG=m^8;vHA3hJxMT?7 zkd8$p6t>ilx7u{bZ?_Jl{*+ss^^@txbFhrrVR&XYnxd*5S24`A<1Vk(?y#T|9v4fg_ zd@&-G5JbZ$G1rq>hgk*#XJk;d1ynpxL$}Sz{f`w2A2BDLQ9vk0tH=ToSJ^iG6}Ywx zDEq;#{)ZiaG%u}XSRaH07cw}(v52ks5sXNE*C6miThnRpFCsMiCQ7`#=Ga9b@Z4ZI zZ7b8g=y5PIXjFKqnp~`~Kh0r$=kCa=)UD%4+#wg!6H|E#1~QssY_pDX0EB8xEae{g z1uP}8!phnNOHh)h@;*Vz-JK>g5%uw35`t-$ul+A3`fm9qUsCV2?Y6aVv`qfmt5-mb zTM;1I9YI<$z$s{|e#?)!2yb4%pMGpev}YSxT7OcsdtPwezHMa~m9}uZc{uA$j6uAs zfPk@3m<51Eyl`8!#FOSh#h{Yy#A)M`ONcoHvffp@*j66>KeiWnzxLk$$k~@W|hF*G~?y<3hp}$J%_*m z{o*ZsCTv_gPqiy+>KB0c|M)t`AWfoXTfgmT+nBa(+jdXew(V)#wr$(CZQJfX^PPwj z_e9(q_kZoEjLh6sQLA!4i!xh;2(mx2JdM{2NH>zeP%&xS1%$FO878W0T94)c|Cqm$ z!2z*sAcILavr}$+ykg@Eoo-4nD`)K^rvvUfA$rGY-n8Ur3GT#&$hBlUt=455* z?-z6;0wKk}KMwKoO_hj~K=68HBF*dWZ!%M}>64f7rpc8>S_EZ;Or@h3yC}Ga5|EJs z>nrn9k_n0$sN{^Y!4(W2)|G#Q8p{zw;}%7{OBowqzTezZUn=2jKehIFFzRTT z&w8O<>bcG&6e=_U7fwt-Vg?sPnyX&+lf85A&T-e?)Sn!#AJ*-HpZap2rPIfE>>-A6 z;3oja;Fm`4z}w8kC$b7a{(;>+#yT zc2l{aX@7>}eu|kZ9jKJ|4%)K|I`{N}`ID`FHxWqjOQ>WKFFF*;p1suEY(y&yjkXvH zj)V!6ERcNCqfZbigb&o(j06a!S_R7f!}yl5P*@RO5@EiONeIG46pAKRz4!qIp$(mF zYiQR&a{P{4%=n99%n0V;*5MD-fuk1}XXL2HF<=-PmKn>_1+6pa8-DXrcf3 zQr+cCz)vavkRlRc#2VU$(yp-nQC%`sTk(Yw7Hm9zB7nYz`yR`q9RMLS2s1OlL>{06 z+XQ0j7ci$H#d#VkH7-e-pp3;^T-HN=7Vy)k8^ST!`q z-`qHGYfQ^R@#B95zl$piSJS9XRhaf<99xJuZ5-Q)V#~L#Wc+<>N|Y6hh6M4XyCIg# zcFfjkcM6-?nwn~lsIBI3-qfHVw7l83;=z$H-#|3fUq_w!gN zrFnzb?yTx-f2#T8aH^^6E~50kHd-<`b~bfm2C?h{9c|NZFUPq^x)%DJ%V`U1#)8&+ZDAn3hvJ`iVH6D`9XRuLrYECGn#m( zRJda2#XD3GuP5c6Tyb^xjhQRsR>+euS3?}<<1zycz65;=l9alDyJ0$+sIib10y-kl z&|l7`=kw`Lj@5g(r(v0+t{ZqZsSYbtge1AhEGE+5kBuaeQ}$>C%-N z&}QB!1*t}Zdwba0vgH`}riv_dyl@$D0noh@l14ZAdn_9=TVH*BI36h{-?h9=S2baG zqn=y|g6VEQb<|kR*d#(eEEEvWOe>wfrXcoD@wCZ7EVHgOO6yGpoj0MgJX28rlxU|* z@=4qT418nxTw8q8ZqfECdOujxfqU7My9QdO#JpT4WlY9QRy{u?Hat{cc{&Q}WpTYM zDlCSqo4fZzbzH!R!4g>GKFNJt`-Jola&9Pii_3|c272h7PoxB}b7i#CFV_DU|Lj&5 z{pM3oSg`0IM&BD?%=oi68@1?Y0a>~OgG94RORGvtYr`rUNU}vzB6sS-b+pmto6x0l z$kpUp8Br=9KmLrTp+R9j!iffW{LIp(Er{`E{H^b8i=%2po_@)e6>I|z(!M-M#Xst;%db^Q4&)qI zuu&02mq}x7xw)2jb;<_eR}|aHUg;@lm_{Z;sn9b|nd zY8GQ(Shp6${)aTfwoNz9;g9f3mv}j2UY)W8V=iu5`m4p)UZj*)=BNXL9BQHTS-uq) z&z*Z#MMK3LpP`x7a`e{WoZqzAS<$HecylAn$cX;cT4lZ_yL9 zvNcExoW8KmC8#oXv9+SNa3@XlJvF9Pcj*SNsDW~Of63sW%hB9K{haV`mc9nAfNLtt z=TfXDdqwN%Dk9`6F>pSFxq0!+(6;;jv01jv44WKfW4=#ruZ#&J~L*Ti|b(4Vq?%uE0AT!;rDInjkz zwPa&s6Hc~PKe?kFVinY-{8`>_xKIN zDM``|ul9Y5V9u3vreY1Y zh#JU(W=GFYK&{t$NAbLPfjZ+;hMDBVL2Je$p6B8w*OZmmuV_sn8$TLkO(x0m z8X>Tq`NTuI8v@7Pu&yy{E+-EN*F2SP_w7j)n$OP>UaJ=utvtpbsh+px`f4?|bWZPt z?Nr$g?}HSb60zuIrI8obAd+J)?+>GoljCrSAm_*Ly&qC`adcOumJ4Is4S@x4C?p_r5-a4e!uPQbsLb%xy(ST?$^GDer|Np%9lM+|w;e z&z=GtH|z2)&Uyn}mjs>1w~AFL-i4maJY-3T+7@9O*p`)M8pnXAn}v+w>I;%k4f9}& zt2~aU8QP~4FGtgs9I^dQNrKb%T1{ozcuAxOf6rDuOZ#%TmuDfbT0g3k4D^#Z^>@52 zju7LGGG)*Axd6$`ORf1ghln*>>3o=R|cmsa;F2Sjiw;;9KjAI51a`)f-_(3)3o1(^)c zMo z(a5b%i`ndVyNi-^(d*uM&RQltgU3qm{8~NFcjtIyA2{+i7ylSy9_qke|03}PIS*OT$KS!7IYU*QKumFR~1+FELly5iW)>B2c1yjy`yIIxk|R+Buh z9-xv~pfXY}lXB_7LMd$m7vXn7ABbPq{MyQ~hOH@duPGqiT5e`~#gyheqxHgN>_}@b zuzkuZPPI#OacqCZe&`M^SyACWis62fyUmhrZ2g{PHmtkvyn=zo^ZQed$RMUmu-G0w zCeG1%gTnPS8V0)`*f5}BMXwS%FMO?DBc|99T@&%OxHk)FL4{e!#%Dx*mWRSTsH5bp zyE9aKQ+>w8YVwKivnt^CK0AyC6r#?WZuOFWg7ewG?}gc8r}z2&9!t2m1co7<&#Lt4 zuBjCJ9w(R24XUrSGxb%OEjcgsBk4RHPH4t}Zik}nj#|_nc1K%mB8DZ3gALSgS7<`}+qO>hot?hYRk13) zW?Yih#o%wnPNMFAfC$LdyfHqO#YMT(6!5lERJM~oQ^J<3>sd+bh4yLb($52AYP?fzagw6cuX&&Ue`qbDQULuCJ`Q7auEGQy$YK;G%%5a z`Y#BV?JWsxqb^V}L`exceG6-boHY0zBjZ7?8&K`-J1|L}G-JI(Y;Kye^4+g$I!M2Z z;_S~@9(SFp|3(sKo0V<|Y&mZ0kU__J7l(7_=^cC=4Gk@&q~lRnJ!#c%=YQi1tU15P zou}oXD>070XV5~oi7rEGplE32ZkV5S+b$$$@iIwm{Y>l{9-Vw;+v@9WGA{I-3y3fLZWTZ3}-KzBSqV4>y10A_V&_pg_d{P&RKK25bjduRk z@=&dXHR9y@pR?L4*>s^c-o0;;%WKi2?Hva#+uz@P^(k1g+1dyL5GzGp8rSd832+%Z zhm#KX4R@Jr<{DS7uebrvogfwK05-|nYRrdVHH)BqM#mhdRtBwSHd{jExW0$Uz8=E{ zN8jTZ6B7>w!tH$@Q?B9H2(3e+mm`hEx^dNCAwa;Z%n+f!@DkaM<`^(v;9@yYF>+!qMs|6F^Fr2zX65L}Vo zmr5v#99SlTLa9tY7HR@^+%Oj`qqhB+(ybrpRY!uW$K%T$7#(RbU;cuVTRC|;g&DgT zNG}#e3+@ty~b^S59bz%9QFTd7@&r} ziu#bLzJl`5^N@Z<Rgkgjsv z&O9OGb{c=W3PUmErY?b$JF9TPnE9*ra4Vun@$TTJe>(F8mA3$_xO#3$Zwav;3R9XQ zpV>dvLYP5NC85#`TrV11y9A7eES_Rhb3BhzK7smR_KN-A&`5X*{HCY0M?RuIhouus zs`G#6Fx*T=uNX@KMjrLQ^Fkzs{#K(t@IJDxl^0$qI_s$*sW(dPWIlPe>kr~kM_Y;| z?@=US%0dJJvz!MEdPsPZd z*V&s%&TU$VGMV)*c-SB5?@yhs&Os-TrZC6+QnxQ4s9`&hOqX8B?TCboo+5yv5cAIh z%`Hhtf(&S|J|eU~9hmfFwk*G3SpS4*!GvWwtnmfEAX&kWR>-5JV9#&;eZDxb#Bng9+Zz0HImfqc)L*2@%tpMl^IS?@587d(|CPD&cP+IBb5m zIUxmA032n^I>@PU`f@KlN2wlld_?F9oHwSTE4O-_i>#2|X18%8@i<1KIFj|IWq1O~ z27~~(_Ac*gm;NkS<{0{43UdJiE&rvWn4krWMX)EvdX$wLjBFzSqktf|Oza?7sX&E% z4BQ_Y5_gCijxYnKJ7NK%U-M(-f1fbO!PPWL$sGq}NuVgqQq@k28PY|@66jjX9IY&2 zz~j+Fay1~$^Mae=8+rB<$aL(ak3oDH6gM&rE8vr(d+eLPi=dNcx2-cD9O5nVObl0Xy^2b+iO=#N-rB5BA(`AC=`3xeF` zz*x7rrK1{=X%wK|qsN(T?2Vx-`9>h=Ena2XE|q6a-3+Q>SC_qind`8OBLa*E63fb4 z1C=X`5bvEB_lDk05A|5 zXmag6WwRloMIPc0D-VqZ9c8;V0=) za^hk>_Bz42-e#*UOgofAd$COKz8V`Z^1A~N#f@}OU-$}Wp4@>nspdiOB24Ci$%jd z_1^S+*SDu@^89hM|3?`@<}x#1z3~NP7{5?Seq9l19y)3G)ILOU24ICJOgUUD2a9ZO z5;jRii5^)F6xr=+Hgq4viY3nCra}G$x6hF)XaM{xN(7^n;-be(?^An~SI4M*u4X`hd|`TzkH8N?QU~ETOq#^hkoI%mqNB^Y zH21n*Q&&>O8w3v$W zj#FW!Ke{v~2z^xUTJe#dyz?0u^@>^d{a6aQNo#6nrs#Ht_sx?7;nUdo1@4c?8~*1C z^Xugx78jK%Ie<;TgqOLmZlUC#5#Y%B>K~l@gIvu=nh&T&X{x; zv;)2eY#xOdr%1yV6@QV96OfxBT(Ll`2%bp@TbJPdmPI|2(DJIM1aRhvt$XF*$CXa+xsq#U_` zuP`gfa(J5igmF%;>?ElVLI+couI{IRSPV^oh3sD^GQ$e9Ibxj0{b^kc7bZ6wqiv`x z0&YF!Sei^)LY12@=mpw-Ab5_Usm#4>f?__j9){r|E@F&f!7-y>ZzNXqCpmZDpAx75=a*URJ~@aveWaw6<>DxCr9}zrZ&ACWo2usK zy8%2c{Q&fz8_>2XG}y`BT*-(Mbfr`nv)m+*Wi%)*AhpMnM}6$qL<5tuFkD4|omA=1 z{5NAWl2qKuZmuY59pwCIyc^2K!mx_>*44?Zhv_HohRa!)e88YFSo@D+vr3F&D&!=U-&+c<$%&zH!+o8@N39y*SB`5VKpHcjB(ay6 zu?Snz4t~Y-tm&5-%-8`_BldMH!biU;E-qkUj9mUsg7=N@E(P+M>jeGWe)%>qVmX&1 z2p?~dD4?9?fR?Bd|JHK>1PQ*!p=h^k6MF;VCu!4mkk!k>Zs-6l>m#%JXKgseW$P38 zX2Ko+W9i$)CpqEX@Z&Eigg}o!n(iojiWfN;Qh&ANa$4(JVmA-p&691Jf%i-HFbUC% z{>$`$(l26gG)4a6x=4FOCcgTI=R}UnR+))jE%#D`9(Lx|s_^gDS zlZ3nD&rhNm*~*h*X0H`+#cl3P+XFJ*%&#`@4p&|GgYO*oA^pTXGub77a^zj*_}M3U zg<&wzLJNvzH5OuO&Y|#&b>-EKrW_jTny)`nx?3#|Y;a%gQxmw?N|S!V#ahFI#HfHY zev(%m#x|)q{q9xT&ekcGost1h&tHLW-3^~a0XG!!~b>Q-aD&g=@4g1}q>pTZ03=b2v5IzOy#aU_HI#~fF zNLt2D>iRIu46t#3Keb=_>hSWVIUM*jo)2x~bfe9woaQO+(+)08T(>)gMQz-4?v~WA zHV-;&c?&-7=dZ56P3?O?_j_lta@c$Y*WIr+vRtci621=hrRzPcNmWwAoA4u=oK+@b zulU1=W0IOu;4riFnDETNQt!p2^oDV>OjEtMiW}G!^mr2dPS;~;P#VK>agb(5*}8+N zm`CnBZ+;S;h$`sx5)+@>+lz#L)rm~R``qt0NR?xg`q99ZM*g46C9FSiQvyY`;10~$!>NrA0tA|k3M;gtdvHE9ua3+OvH8r&&)*G z7si(u@G2BEMsraAb~l+2=jey)k9aa4fOIjR8zm`Zd`;N>R>|EdeQGP_-DQzwlK;UI z>P~?;^hYXnmGQDU9|x()x$K^f@8fqemlI(1MsYp}hdxg&QUKu|w+gM)C7gjg@ID8= zagwQS@zs>iDe!3nXF+h}Quj_S9GGBT2y?Lhcz3LO5QX5n4NT;6IFHuL=P${M;uLQg zkIOgiMd#P`=W5Qn?!b8{yo|AT%t!Ws){&#A^>xP;8qv$kaIZey-s5sc#s$Iw<*mo= zz~QE&6n*Z6px&m4lYYH56gC$lcr(Ks^4a*w;pOW(>{!;4&bhce6I2kCfviK>V?;>J zSbi;Ea9JU04s*r(E(#P(Zi;{dBBYj+QdsLkz_44RwB+v}n+3P_hohAi*7My(<%8QU zK>+^$c-4T?0|2_pt>kzh((X4oxf@`~f08A)2v<6r_lCX+>@K2-RFSeme!dZ?K>)(S zuA*RoGJwl2ssiZ88n4w}`>nPct~k0*kgh;7Vxn-eT1p3Td3#SG@p|pYPodlM8g>$K zVN`}3mOab`jFrE4+q5@~r8q?;>8b*&9g#TAG93T`3?R((OU(?da}rK72x@z><>$x- zI8XDH>=W2OHMG;Na>9OXt3#>pZ*QF$3GMsX#P_aym#gb8Wc2sTQiJ&^wP*Vic~+bA zrv~p7m22l}gV}d^rCQANncPfA&iigR(jNT z&dKSL+VhR|sMns@P^8cMO!a(~&O1UurYQG8KiZ^qU7`K;knldmF9k2dAg%7lyERfH zK!@qq2zI)zcp5HJZAw{zP$dv8J!iS=ku37 zx0wyyvKMI1rN+@bTWQN`N2p?EAT$dfFakS9L>|Vg5H7P1>zA-zxZtcgCTPlJh6hW_ zCP&J^TmLksg1l*0=)om1S=0GDi(}W*3;Ydl&%qp+##rU^%$IW5lLJ$CjOnl$Xv_{! zb4d2UNTwT44<#&aq2QcWzV65fG~HWy67xg2XBJ5oTUoW?`hRvjU7RI&5rM4)z zF1PQdJRADDoEvzYSjjxi!;_z=OinN`^4L_9efkWf!Rom!KF3@i{^geu@-mv+4uhD(+_+az!bD1q58BM+HPk=k>qxZys5WQ~RcEa`Gc*ojSk@Gzp z`8M{fuGzR%7xp?!mN+$gErP9MSAws%{kt-!~N{ z8Al%W&@m&}eePZLHP#Tcnq6v}1MF@q#siEu5z{1z(C4TiBQ%DMiuUB#?QQY$<=bqU zdc8HFka|-!v8gJXjs9|ByUth0Jr^U$HqaBmG($NOa6EIrND%|O%}9p5t$mCX1!#@= z{>vQ_UD9|Va{!qQqsvBWVW)#e<*I>3wJFrRJ7-W<3%c6!T4(vE$Ug!`-qC7|x6_O)GM3gTsd2LHNrBXZzA7%|SS&55=FCy? zCN>}?y9z&F=_u9qqLxuV4ZL3m5TrqtSm-LryECj7$<+IiaBwWDO0c$fn3xP#UN#n9 z%Q7npZ^e0&m9p9DD&)WtsfznSJP$7rk%U{OS4Q8_OWWy8qT)espz?fbA51dgC~&Ba zkdgBN9pf&qx07CYlr!Bn&Xgtc_VJDGCBnkLO!r6jXZH%wpB%i~0#{NSt!Vf52bx^C z6<^`L#QDhVwUvIxgTT+fdk(eB3P}$L% ze2SD;k&&9oGB?Xgo?Sk|6Y;#Gx-3AG$s*>vJ9NqV7UP0USZ{Af+mCOa3CrXe84=*? z;!A=0-Jldvzu~K0)o{?iF^&KtQ-cUJ>ef~DWI7(hUXZGc+d8UkGoU*}vj03Jc`?DQ} zJgCyJgP9!>wb#X+U2;Y639B_Oz&m?vH6&M^@h5w&#W>+1S-+qQLR#T=5tOBQ6%G5S z*%NKW@ODQcP&=7ha9t=aYdSD02c@8K^Jhrk_ehp&$Yfqgq0SIB^Y&7D&m!^c%<52k zv*$}OIa#n-B4ugjzKaGf7_$PlMTMy$F3MXq*=y!%Eoo?V?e%C3Ugkj|T5c8r`l~Za z8~eAj=s8E?UPuB{s4c<9kb(pAlKYBc4fW@Rkga#0oMC_`S}VQM$(19#rfXPcH||6U z)=p`Ol_!sUt36Wry-|hNu6=!pg~WbMLl!_NyKljlZgJ^xmZG_#TRkygVa>K_E8U$f zoF)JdI(XgSXi}wnof8N3Caj>)rJ^l0#W%|<4V_NcD;(*jX+iCscx#gqR!dXdG185w zIr9{r)lVIEg&v(4dmUBK-ZHIiE<6BN%9p6SbF-9%x76;KjO|#~y6C-z`f*n8o;;aI zmc5{7{rpKdY|RvVH=ri{O8q@VcN!Af3sj+sp;K+MH(+AUCe&7>s~F8VJfj%(^sS4L zyVjfc#9aZ6{fAE1&Z3#KU1;sJ?$-76nx0D(dF_C;YM)lx=zD5$4PI&AY(4S29T{e_ zKslI=*tx@1bbwOVyW#PSmd7L5F<&$5+dDCFWf)(78CxlwmOqJB>>%t-`RUZ z*J-S~<^&cu*3kp>e1$Ekx~`_`E!9`$=ZLJuCtezZ*2*!Z?aw#BOFdgIzNvuz^;LYk zO>1ht$X)`1f*UY$5s)#B6cJMXf z<2BoYqt2BN5Jj%#);l|AC0aJNW+QT>TOg4JQ6^5FK_dO(#SU{vm)KH6IEmBr zc+nzZ-k)2nwMHy5zl&KWjtX$OUPf-6f^XTXikpcfGSX+%yW8cd(kE0hqk;Q;76!MK z*z4NhrF}Syl>1**tW}xmdYs2!epo3N9c5E^u(iD3)h?+Y&F!8K*x!n?jgM`Qc1~t| zCYZFPPkdYQw+#8kBh@{ln20@Mttq*Oj=a@~0@DUgEgv1X-X7u3e)s)!CHO#lX8{?T z&+gqZ`*!Bq-B_m`ZR;BHt*^F^NW&F47hDE@I3XB7iwQ81T|KxJi)VP<%<1n<@L6X) zIRU-nCYjKNWdH6rlvmb2dMlfE*Jj#NHn`YUxE}1;|2z}Y$&Af!C?d2o#;budI&-1jXX?&Fw(~2GXyW`gr zn&anNCO{?AleHM@O8XbA$~%i{_33-XjTD155RA~r`?e9fN$8&Lf|@?ZwwC7N6W1H< z=G!ok8t{UR+j(_SCGCRoUGfg*rTeu7Y(hT2GbZ!>X(T0ipgJQFlX2isX7fjtX329Z zxuzh11UiYaWZUR6>5kD4NYW2U0*c%W(hV>si$wthMiK{?OT3#$LKX%y|W13 zM40Xidbptuz-@3lezH51;cZ6h85R;s$f(!KL2K3!_FKu1O#p#F)aM#D>K03fo4ni9 z35MaSoj!H`u|BC;{ddG+xm>TB9C0qFxQAQ1`k+dK>)mHEArArdr6)kH>X+B}@b{O8Q_#OeL)RRz$J_?HBD52FWg{JO;v z{V_B2XOwuwNz3^fI3?`h-J(fz`>i>9CZ?gxL7>7JG!#$jgu>lJ5AC3|Xob@BP^nvz zn2E5LgUIx*JUH9uvgP7&c{u~EeGnJ`Ac;qjpGCd}#Ah-q0z*j>;tELg3Q5W$0UZv@ z9k#6DR{Z_!$RO%@9(x9}9)nhpHPLmC(Dd_p1AvlKN)q`>An=WdV{HC&L0~8LJrIb# zN}8#i&ndHvXyIR|1OO+ZkqqH#9h9pka3d;R(Ln{rsYvEOV6~^eW;%621NbEr2;I=o zkBv@c@Df~?e@1GEB*5=#2dvpSoqg;9jS{~I`5hIce1|?8hb^^yJ-Zsi*c}hw%BrAK z#=1)~+EZEq{E3-Vz>yILprrRM%)yGhJBknGU94|8YEevP_k4CEmQZh;|0+I$WD|bZ z@RSmA>)ve^v!hZou1_CjGk~qJ%=&oiCJ4p16vO!ofjm*2`~~Tsq|+9q&F_!^F6k#A zQ7A+%;YL0NNyKkVTy!cQp1&Q+^GAyPh+;}PSF&(bGQFdjoxe}3i7rCe4>(sN9uLX^ z7@XfPK|)gK-(qrdNH_j51wt1G<`GdGIaETWIznRTQ3G_I{Dt39hB?qbqjID5lAsiT zT$0^9Vls08D0^ZdCrZ3a;`t5M;<+Wd3)fyx&Ce?@yh5cZ1_6l|%ss8%XXIWpJ;4k^!|BKKqrijW^jo<;&5 zi~|S+zgL2oBrlhE9wiZ!JNJ+r@hB64vQ$CN@>xe$Ulqd&^DlDAy&_4<&y%~?zq|ea zI!*in=zyXL!;4rUOn7xh!!b(@HPQ<8LF?b%q&dW3&PkVVISDq?rxZokCmjNLyf%$#rAwueA*Iqpa`VES)($H zNXjKi#L!e4OgLCF^shAajK3cN(e|8PoAf$!1m(QjG`0*@&YCe>M zLA{W8_QdF$9^tR5TcQ&Q@K_YvA_C-Jdx|*chtaEwkP zl#+9DV?5te1-%?-Y-5+SVR=y_n!%E06>We z6dwSPQ}!rV22=5Mqzg+!5(6W53e+o7*Zsvisg2X!)F=n&kvQK0%pn2@(*aE6fNU^3 z5I!)3!R)IPWT##Te17@Y^IUi<{ES-=ls@t+he?|H$qy|i@zrZziO};uC&LjCiXy}8 zcn2uKdi+_d>>(hq3gn#2=0jn)jVcu7bAv6BrT}~p027lQzaH4yI)rnm**Z^?&AK{n zEm#2AZc=X?R1%g=nZ&v!mxpu0v1K|^MX`cad_2%b|pDeX1V-`PTnS1ysPz9LRVN#FkQhR)qml#%x&+%x;+u%O*T$GWDj>oM2;$=aJc z$K~f_XXUAKk?ZA%Y7gVD-JBL2F7HCkft&?ya7A74D*>$)giM4`Qd}%Z1`EMp;J>ZH zdk6w3KSii^()2Kq#ELwN=bJfC?0Qxi)6y+2-K=t{H=#o)yokcr@Ztpg3M=ye_iDrM zV(Vj)QN;4|B@73Z1q%m!;=laQ_{SZALrxP@$0r8{ep}I_B}V;uq4?@j$<-_sj125_ zpOsuUnfARu!Hmt0MG8?zNC@omf`9ofbcn=}-}p6GCxe8oObiOYnZE;1 z%L&Nw=iGBG*jGGD1cUc%#?b(ImoO$(V8vR9cXE=(Y^KF(<}C+up(0pt!1=U)oA2f5 z)~i#3{Ni|Flv?umFetGy_4=US~|OjEbjDr+-OT1YQ8aPqwc(ah4j6~F$yN~)Q)fMi$$({^w?|s8()Mf z#5<|nOK|!2Ft~smb`rFGE$s#-%b(Qkk)(>>^7qG=da1zt9LNQ{iP_o3Gg>vPc%(jx zFRrIWg(19>5!OXLzN|XU4{qVTiIk*-sE4?eVl|Ye+o<3avSm`Ta=4|0<~}K9oEmtMUK+>LKjRAr7;K$_ zyrRrareY3a3OIhN_ghjTSZqv3FVt<#^RZ&Lrd1FQGIxKl{Y2Y*8o7b^sd;UDTwOGs zThq90}WIUfs)1Th>S1jCK9{#G1RCOCI(-bCtSECXG*TtH4ZRm4J^!iS$C6-dtxz26$d{&e zO=7(wt5BQx!bVgmFH!Ox%omC5Rk59%swR)^=BI?TGZHC@QPey+-0|6HE^e z_A#F(+aNIy?Mlm+*ss4;A=v_k*BwUw0{nV892W?d%jUr<= zCS?mTAcGZK!tn%vgx6F9Usuo|gyKKWbhiZik~e-rdeonFq(u(;+B4+3V(wC^cF3LXo#3;_@0S7Z52thzma~s@Fx7p zU5ZxUjIW;EGo!@ECahi8s#lI6)Tc5btMjij9xg5#I(_aNzYL24YhMZR0k~dsssyT;Ju(_DYZzBXLDhZV!5SLA1))osM#$cqg3uaz8%?O zmM$}(SXHP_wnA~s;FzXTL#%aV3}&j!t#8B>>J?|JUfk#NNyGG{jw%|>+Q5SI@%mu0 zNJS}S9|qZdH1b_I1T8svYMnAPzOoSBjfxW9IOBBg(==z=MvxYt3bK(DF(+3wy+TjN zT;<)TSu9(#E><-Xf6Z{S^mnR7K7vw-x)8g@u3z^j-Ta-EYRTwlz1_~d4+;7Uy3;#p!suz~=RZG~vM$?apLV?{G*t2i3i(m?AF^7O$qjNqW zIiB~l@%&H#e{TQQy0zXdB@SBM%Pq9{$QZ2jsIb$et?_)J%2RffQt+{;><2je{KloE z`lMz^*{^_CKhd5gchZ-R}D2RZBnQDyf;!g2v~+n!kF6!jLFC zX6iL%^l;mgzWhG6iezgAV|)EJ5;645h}bS|bmVN5>)x^QjZBd9-TGR-AImWo6FPv# zTk0EV;d1d{?(Q?I;(gjd)LEy~r$LjyGB?8aIi9SEQ2pZ}sGEi9c>{{*OI46=&N;Q8b*v@8$WAyZT4PsqL~~RG2+gHv(Y7b``}S%rd@vgy6LLRS#ns~c)vWQ(Z;}?dfz}c=x#%Vj=gX)` z>aYi2*stX0?WGTiA#?(jv)G)ro(|oXe}e-JZvPz4RzzPMEWU~~rY_qbp(A@*!bMai zesx~Q!N%L%_xvP>VKpOv>d84rmgLb>P5qm{k7-7Zi09Fzo~T&aF`%u5W6B4O>M9KV z++|Zp7Ln3YTgRUF@>@|dXJdL;V&kUqrOiG8Yg$QG#L=8ei?!Ya`R6)Rw&DI*XDzgR zEN3eU62}-^cSGm8o0Mo3Q$-$w%BQs@Xj$~rrA3S@?S(s+ynQ|CV*=72U*f4cf%dFg z<9^l3#-K z-{6gn={2VEq?4UwBfID3{>%Yi<=;GX%;VLCQ52;*T$G;;+bBuvF*oLNnVh^hWc75z zb7KrfJ;VCOL9(E693myi=>&{-4&k}>j z+h=w+D=4n*DkSxK5<=6!LcfXp3=J~zcitMRBz@z>q_=_76Q?+Y`;KgW;e6~}O+xoV z*N5lqWe{FTwEE*VLXWP;8o~g)joYFhXwX~c47uYR=okvegg9w-f{_WHh*o%#F0|~d6oOET>&guS-bkWzT zr{zPhBc3k-&_4Rmn2;)qgSV4mU)cfwq%JPMe1<^atx2Z_P?|FNuQ-%-JM9!JGO^@8 z5`CUHm>z*wI@=U~*tR&nbkU4sXrE8}c+0D=7V>J=oxKzl%3v!=b0$;C6&SDWK@ABo zejy?<&qrm#Kw5{M9A-Ig<>SFp##pIo{&d^3IK7IV-eQF!;)3tAVj5fURbpw3s1FD@ zYv$%=8)nsVNW={eQH(n94iSk!F!=~ns|sdcw)||S+h?_&A(>S+EdgB!E5Hov&%g`s z4RIYv7n1&w)}=EoP+Lplj@0DF?!j;3(!V1$Ga#w1L89#;r0xlpUccwsJv0Szc>BKj zoAzrSu>=`LG7f`E0hFkbU{i@qAjL5)ac+k@;j_9LJsAxL+Y%NvS}^mj2=M3C7}O?G zhn__Zf^>YixM20fQwm|Vf|DJXe(|4GcezxX0egn8^cmY74gB zT>uQKx~9a+Nbea6z%UglSLnEhNjcgp^V@!4Nuwr88YGMiv+_Vz2ys3xI;}I;prv>! z=}EGeA9xBymOiwfkVIS?mWZ3`9m8D%X8qx9(p-{;0I9!8+A*?09r8UAQU#LCEp&#i zaiInOOVwxaCwXfL!`*WyBp7HlQiBj{bRmpb-{G7dqi}F#(9rqkuHFX+KEsnYquG#4 z8RLwhv}I_Zbzvv7>I*c6 zdk(Bz#Nbp|&0axLDipTr`|5s%-7Qm&lfY_g_2-GN#|dBiFrtR5)b~T0!WYouAOHY~ zgP`=+0VzAY6isuSKm+9_O5kW5=LUo38fXrr=%@Os_0H`~wl@fCV?)hxf3Enyn0m+X z%$i_rH0H#%ZBA^P6Wg|J`-yGawr$&=bz6ZIZ~yL}ynkU**?E-G=Px ziTRH>WzjJlV;&2XIb8Va4r1ngksbXufPNy8fRjgP!CoK=i6L?z>WMP>?f|?ad3*#M zi~(IJv_Hgfb&wFNjJ>^xlt8!xPH|o2f=k{#2&HlWHWHOsb0ZyCnFTaVY`8QO#l{X} z#u%Zno3)7?dY-Aj zAE^K`O*6b7#>6D_ic`jd3Yp&;bag(j#6>PV92zPX9SaL>p0yftLa{Cx7J_|7Xe^OM zEGT1zgNT@%kOOlfA2kkmf=KyvPmTf*4-3yIB>r?BUIHx_8;%53qeJGvWimJ>kT1rV z*JluyDh7wHNfKmB-oF{2=)uxKS4}GxrI=YMwB7Yi4{u(begX}+#gyh zHk<=WXaSTg(ul55x&}qvID*teY77)h-u@sr5ShdfJ&@0zHzv=N)7A)HIGYrfxoQsp z0iU}k!Vg9!K7 zIC2gvjDw2G+Y|rC89Ok%+4I)$hXkpFRM9EQLV>@8xj-w*R@-S_aClnaUJ>VvdO3P6 zs(=^Rh`k&#kOb}?3bgIggMyHVjDUTvz@nowh<2|L!wP;`8!0l=8RxQl-t2!f9zdd| z_c}g|qIx^P=P>cEFER^{>kjo9KGpx&ojm*kkKny)M#%Q&5w>YO^aCG_xf@eAA*+!i z#;}tN58EoI1o9}(BkF6~Nw{Q(yxi5zv(riW6}xdZZSQS5mB>3PFatEgjD}=IEHVI; z7iy7D=owet?0dm4u#Xkh+eJiqnP?6TN+>sXiR6vM5iMY!ty9EgX@d zK>SP`vnGgCPZL^3jGifvHDRey|B{X^vNvHzjdd2m^je=7&kfJp{(g)5>5-r+@JK$r8^kbk6f4 z&*S7?dakc75hWa1N|owM3`C$JcibEOoSTYUl$Oy1Np2_?Vh+XzK_qoF##vRL zKmNp{3N|+Q6o?kk#3S-JC;k->p>2TQtG~SQow|M)Q|ForJ#(xr2|XwYRRIO#kZx>> ziVIApz_)ajl{3Yl$3l?kb?`I2`?7wCg+tZQ4lHL)InNY(>U1Z%tRf4Gvwi(na^7JA zY(F#-6XgKm4RkWF`AHIv;CdefP`)9|fnkOdyn`V4Lde=9#b`f=>l7glr=o~IP#`m^ z7#Bq~Rd=FODC;R6fi9uaf9qNaJD6CXK2WZ+TG@^*)*^V!0-adUY2oe#oG>Ij&3}&+ zSBbJcPqWH6{5&~flf-2#;2QN#5Mm(&DvfY2ygHDI81Jhn#l6PZpSmlMiq*;2ME!wF zcTk`R5eWqm7mJKC`nS|=jEX%J3ou+>jw}&^RUYU03o2;*Uuze#ZwLgZLk6-EgG?Zm zAgVD9oa8JuCtxMS3pavRiVfd_8X?1kNlV1GT8W>c5+lY0q9dy72h{#Q*@V>1{S6CIw=!Y@^UqC*y#B^n0orrG z&O`-f96%TU8x_a`ssN;KtJ+nT03!Kh!@v0~1A+@#R>hGxq;;0K3uv~1^|s)ovHL^( z{rNv}fe?S=0%w70V7~|hPIWuoF(fj>adh$YFbYC)V8T(!l%>h2+MhA_`YqqT6ya2c z8X!&bCInUxSK?RJMvRSiaq&QB3{Dgbp|zdY#Q(o3o{6RobZ5`TW&ZO4A}|SKFyKv}yC{tMhcHb8f9uE2d@iH`-ZK z@7Co4x)70ZztwzU8~^Utt9vPFk6neTc=>Mk zgJ1Qm@AGvl{(EW9=WrXAe%GURmt9q@E=WR%@ zybu0Li#EM76({7xAEWZ3LQa}&k@P*K^g_|-KVrofr2QD%w$r`s60~V)-!b`Xa$)#8%6tPcB|0{vua!aOPQ+L1cDXv1Co!v z9R`8&V32*>F@JXT>VHvmA{OHHqH@+jR;zU<)k3?|xrPS!o;`}8CYkYs=!)MCWT>st zbbTSzO~RJp4jt~LH0Y^6!2ijVk}#9I!*IiEH2c}i11BzC-9E-(jexTDRz@VU`E_R; z9iHDf8Op;sVd(=Z|3|id%C5J!^vn6Sw|R$obk!?{|4}G+lOW=@H#;dJ;okMet+@vw z$eaG_C>Pq+6QZ*7?SiYJR{*e*=f(dU*`=hhV7{Vh`2dX@-&i(Spk*R8t{D%)cUw2k zmbbSgb8@r&buZ^KO6a~!6CN`fzgb#e?UVuv1Evf!WuA>DmFtCe+fCNV-MAKKY2j@z z=K}Ws`7%|!6qA;fNu|`u-2|F`xN`d4$ru$SJ$~_6PbIDKG{Eg$47_pd5>Y)8ae8G1hx=i zWp5A7VT=bJI89>){GHK?lI7Rj? zGl=QZIwcmLwyw^6x_b55)C_R2Q)VU-WhYX5lnMCtvQKZ$Alq^f^wDxf3ultq*8juX zNC(x-=of-hfjL*ui@KQpTpYqw#pN)t!9vX#8;X_0N{Di+G~<*WM*^j{edaQDM1-XO zP7XK-GQ|r_gvLt0CpC)FsM*vok`Qz%;Bk1`yy~n6N`6Q-?eA}w`7s8NxXqx$JMHGM zYxRkgHvUP~oMNHA{!^lm+IWQ`zij|I%41a#LLXN;n2O%6; zmBz=*FjNd?=6PjOv$VwpwGjK0%qBAQA`=lG?c&=7J)NCwQIo`ju%0`J;XttTlA-6V z4>!-`qfAUn;^m9h4B$jQ)Y!Eh+f{SQT9_!g$uRKxhkO6SDQZt+v*mT6jOkm5_f?g^ zQUx&`j5j{hL(S8=sS;8WFteb^Dit-rovwVFT9jW$+%}YnlF5`4Abo-P3Fxe4_xLZ6 zgLn#4=pfR>Pmr&kIu7i*&+n_X@s6&I8>JN*C8ThD>lgan^X7m4E{EKxb-(!orNVu( z*E(@KFZL|`c7MIJ`@B?>avJxWIM*ueoyps$m-p`*nBAw}t>3-xKvMJNMS~|-uiek- zlhqg3hp(lVI)V+f(}T}GzdN^0onA@~!l`?EuSoHGJ38heM&SjPY~LwF>)mTucX}>5rUoEcqWES4nQUBSqsLIjsi?j$=^p*lt<;1fa%K zn{J{>MoRy~0Z9p5dlBNuolH&H6cm9Y@MQ*dLbwSs2A@;0Wg!E8@6I7>U@O2kQ?b|Z&(np-N z{YzyL{ieDJBd5u6-F4OdCklc5ugJ7$3|DspkD7tdpRU?DksIjUF3$r=DNyTCD zmhVoqjds-4kQ-M;4kgNt@8#yzBmbkfSU%>vZ^%2?`L{7>ih}V}Kxs(BK`y<9GZn4J zirU<yn^h0Aw7jfdt?<`6dn|<39^{OcwVgAI>sRUy3X)6@w{njOPc;b1@@x9)7Q%fk-zhI?#B}r-siLTD6{GjSO z%bDv<%c>>bppdqG<<~!bcv*Nm1u|i5Kbbxm8a1^P<_i0b`sjm2>qJ$HCN3wh0s8d| z-Cz)0zhbj-?HHcdX1;=)IX z7aXB-(q|dhNMa61?p(|XWT95mJBxL@JCFZVuH{?RE~YLxi_7HzdTW)_k*tXU-f5OR zrPyDCoh)gB5eciy;obgD%yPbhD80Jd^|UtO`~mE|i1!2FaE19%l5 zo11qq(7slwe(B7P7Y zH{N0z%}7eYq7*Y7IjScF)KL`FvrVy>x@bPUC`3x^d2}*BVti~AU5>mj7*g4`n9d#S zhKgA=+ypt``Y$atRYGC{hQb0wniN$`8#D|)jq)|BdhEFHCk2Q3PE~KhPH$4qTB$URbii+Wvhy$yvbbxs_-9b zNILv?WgBWTHxX&cQ85~ckVbs|_A}O+S%f2li%3hLqDw4bywL0%RRxmyB9S@(7xB}g=TyQxO7L%oHzM?v2ozOW+Vvyvd zsXqElH6a6#KjG}8Kw_ntD0qQOT6Zwo5m97-WW-Fi$b54am+(Fh0+{%S?Fmx)`Gx=& zQ}}3U@*5|}>WcsQC*1G5&X;*1{&Tx1JG08z!A~#EHx0akHiDMYDCZD-;N~F4-@5uD zJ%zP)rK|M2x^d22)P|=!=9Bc)x`kAwO$U+%RLcD^8B?q3-2i#I49Dfg%N2n87i8EE zY6I;kM$*NSESni}l1m{C>B^T_-CeqDKda9h7K+Rsjh(mLB604Gw?$s3v$H?Hrb~A- zGmCRY;Ks5kBERFl#V)N-SyicfmMhy4BB?Pm)jQY^z8SJ^M|1{1&FK+2= zS3UYJUUpxCS-YYL(A{?*>fc3%zC4X(_WUSv;gI?=BQ{b!J20G;(eXO-Wf<~)m0Pn? zmEL|YvfT+kwh$MYR6tdtFqL9w^qf-TH0PzD{^qW-G4Da5105qnWoDibkFKFY zQ;Mpk(HfAFN(Q2@?g-C&6@QE-1SpJ;4I`SowU^+q%N6P>uc5%COQ%4#zMQfS z=C%uh_59{FA45VNWG0hjW+(`$0;{BLVJRWyz!4by^=SUe{+M^@>!Io&~OiBO^2Ar59=hGO1EpuuAhuh+L_kMo?k|UOM5sN=rqN zxr!Big>n68Obj}bMOO-YDMGX^1^K@HA#K>XDNo-QeD2T*4G#rGf8dCvp920(z(?qm=ZjWJs3S;$Q)^!N@P-u)5@*TQA3 z;a-468b%hP5wHm*ZGXaXVFKB%zbpbFu39fjt6_&L31ZzLjsO9r1G8X*^x5@!wbZGU zC3jwN-)Oa%cZLgmfXX7HgZIZ^7(;{x3pi^?Bq=Oy(iR8PEJjj9`Ekb^XC%OPoFpAD~?W1O`V*1Y@(y{Z-U2} z9kHrCun6?Bv&Uz*UU*heDptYF@Ct}BY~!M7MSuC=9o-Mg_neK@u=ssZTRsr!Gf+zK zDpv@oY7Q1`GYKmm^=QQD@}Qf_gM;tXRNV{IF!-BHAeA7Z2NONHJN;CtGf>Z07|y~T zA(sHl*cmiWhW8&7GvowON1k5B*rX6D6WE|5SI47Mgo##AZo`#2bQuByizab|?ykHo z<%K{~#8TkuS3;~0C=a(O3n*Ek`lG>{nK>`~NX-Aia}d*pIfmG#N-F2Z z5<&zfdRsD5%A@cc583`nPVN{G`Aj#~Vq4NoUIB2)>*;M956<2U-lD>{1`Z$y{44N)q{ z8$5X1Q;U}|q5qd&2dL^FeK@(wq1e`FU^Qf1bVJaU+8xY=i=0>5=JIvj#Tcx3UncR6 z*b9FOVjI5=mauZRC+n5w+Lqfp>~bZBfPaEWti= z%)dC{KYVA^%G`iRjwQ-IXZ8Dhg(GelRSaADzwyidjekv|M{^vBN^DMYTHT7suRyCR zu34bdW>)VAuAqOEK;mM{w15j3X%mD9@l4Ir50yQvM<@k_>rWo^k0N2f1wN?>`T8Cv zOrpQD)p727?%Qa`R>pqPw{T8g979A`^E4GWLQDTq&aE1N((Lho)jc(z^UcdMcbM~a z#n12%#L2tXRoe7^=+kTGsz3U(++|yi3p^u-X7Uf6!&Mh8x`g>d^vZ6Jl^p|)qe5sF1LQCuOXu*odN?;kdxoB)kIEKej@iH-e)YgTl zM^*_2)IzJdETK)jW+v)lDXUzCTE+K+6 zlJZOs6+_*2zWTZ7vk)&Qlh6;uMVu1kVRrpaU`zWhr_Jae%h>y7PFbW9-3U8u=?T9J zIq842Y2IBY=TT#mQ~C7#zMJ)=m24}njOi#XDQgpKJz?nyQ?;#OdR?}4&Gl6a9gq>+ z>5VJiyR{_EEcnCl3k|4lhOJX&=ldp>yYRXfb=>kM-)-zTi2ra`JS_HWIq99B);+>+ z)h8|_h%ai<=b7e$kV1S5q}Im)B#OA5_ecMpPGVER$(QbQ@p2jSyGKR(%WhZ7-RW(F zI{q<#tqo>#`ZNmUpM+e5ocZ!K9_~(`0jJ4J=!<2cR-@Tc7p5cBAHV*%QFmr^Q;`@ZeV2RO`XFvwr&90k<|^7hl<8 zp|wnsFPf`<_&AkLReM!}nH1F^`Qd;2lC2d#pug1qLbWbj5jVYe8+Cg=3qX);!HUJ; zdxuSyd*LP}T&n$&<$&b|MUYM+YG?W0{*))rXD}MO==!uO4r`7$8s%)nPc!qIkQqFo zflV)FPVY}=SVpEGc!!6qeTz$dSK>yj#PW@>#6vdd{8qllQR9Z1#V~4QzQ4IgH3jzl zN#13;w|mVvWp*=ltzq1|?c%%Uj{njFI*AQRUt-!~gRpGLY46~2m4eACz7csK z)QC&tp6aGzR(h@Qhqd7t-s5@dGG3px(m}^vmaF>~i{}O&M@v(VL)|9TO}y9Qv&@xR zR3(Jd%nk@6KUP!s9t}9WDW4B`EKY0uO()pQ&)*0i_-?T4 zj`x_l)vq%=O8m|J$1zy!^pqdzV5nmR1- z(@VwB8D$S!LovEWo#py;b#->74Y+0#I?ZGg+ z5wuT-2Zh%C`|*3x%y2m=bE_xq@`3MgjlW(^?wh{WtRa?9Cz=*OB{ZA(?~! z`liWuaoo)(r?r|vul6d+=8FP03EgInFA6ms%1PL38l5w5Rbp*lNvFCG9CP@OEL$4qWv)j|Xtr^{5 zyw>rL{Sfa{Bz79P9g?DDH>ZYaTq=)l)NwSIm5il)A_Em*WFA9ekC)0C(jq#Rx-LnQ zsp4$nH?$N1l%R{3>kdNv!$o6b@RqPi6={Nix1$I*B8gKSxwe$p#IR+ew~SzbLZX`- z!TO0j$S@I_)`_Brm+ZB)aATmD$bX+N3t`q4fs^QOCWn0UjS=~dJH$kEOgRi;b!#Fm zjntFP64RoQ#IY%Xu&Hnl5NoCIaHeIrqm@uUHGj%Fr(fO}hY)H179CL#C>0QW4?ng+ zW$CAc7%5i>itG0IfFwp3(FC#9;RNioDl0Ti1r(p*CO*=@U?o?*xB0%wTGM!V9_uD@^#ni}!%A9x>%;KODxR}Dj&hd%4F zW{6uk!6>z-1@%cx%^ugu&x>{md2#69JTz4VvJ+Nh@J@L^!bc#&w*kfX&=#e<`p zbfQD_eh=i2XBzAOp%AWTd8nhw3t5_i)Do}EW?&@tl|dB&Z!1+S z@Jd333tSW-&Vz|AYb+eEz!{kQ!^`ql z(4c;(viWOyRgPd~6jY<8vnc`j4-)f2)gsa7jZ&DwTB{?$lYsxc2MRJNmhKj5+SbHF zL>Ny|K%@m1qSbZZv6w%I7%Hckeq@&{Rtg#k#e>+Wpn^s9Fq=e$Yxzo=rvDxZ1un33 zxG3`57Ae@GE(E-G3qeVeg!QoOu3r`4;vocWMj-X*uXPJ1I0_j}NJNjhvwuQ{(ejGm zgtL{%um|(1?lJ!JP}W2$QI%L@j78+0WNd!);GrEF#PS^T_-XF@H;d_Vf*>IYEpP;j zC+`q-ha+9}%P0T{dCWUZgcp^8;V~nQq443og!QvH9c!~@H>)RB5_l&OKW92g+9}dR z+gJQKQ*o{EC22FbV~Goxv{H-3YB0BSF;`*BA(g*#cjCO))KD16hIJTuQ@6WVUwk@$ z(DSU=8-mQX^KbPHEGus4>j_QjD40A~DktH5AdK=OAWPj2re%UC-l;Guk`n`gXgKzf zDnKPlmKmWUM*c0pn9Nh8u5a62sFvP5g`u8jtapEujD>KTg=Me7 zVT9rRi6kjv(hy0ZVbMEM=_<8*VG>G_v&m1SPC{eb7-BPAWmbLy` zLD)odcv|{h`gp*@%jBvj`z2%yx`^+#WloGj6{^mm5xAOPvy= zZ~Lnz;HCkLzEHdPtH9((uuEH;;LLM=H!rktHLj-*zyEZ?_lMGK)^7R0Ks+KO=v?d0 zd^+{jB9+yru0!h55N>!_0HEYY)3c=T4i#_u6{4z0Emd-QSZvNtw9U*s{`3i1)O$@4 zQ)LOd2}7Qh4WKEIwO~`;;smW0A#N)5Vs+cgcBAM8%I3TXhmEu?-F>^QUe`D5g z#eo`8ZKCS17z)>9d3ulf()i5338xY-4#fg=Zj#G0yN5XqD*U8tR?8RTYeo2ae!%O2RMSM=nnC<#?5EQ zv}+iz+8ejl9X4qL1=7;N>?|)M{rbH3hBe1b9hB%i19UX}} z2h%CXi=c1Y21;!bOFWZEMb1SjQ6(aZVn;Ni`Ege<<-_tl&Jbrs+X=I7NSfa2`FpuZ z5m^$appecH?&!v#oH%>`=yxm|v=$VKhO7$wNi!lz@hZg(WPvSR)@_D;Oet~XhA$wK zt)8f6B{88t#Nr$~;$!#Ox-f&Y`a}YZC7hx?lBC+$al&v9e0`bJHIxMhkS}lx!UGNG#e>%|wiT#B@jf(r`mX6DTq4K;M^-})ucC*Iu7 z=$&HzDe;*n{5qK5dm>(ow8Ge?5UOs~XzvoGFXcnxsAoB}Q?!qPqu~Gxif4%|N;9Ul zo|d82{b6NtpZdwSY4a+8kLCfzGExyvsMONt4lNpP!C7fgR@&=G^g`V&(UVI4%}w$Q z<;u(S$13lGuh_v&!B8l{8FB!%Q1C}2{$bmaLWBi(s(t*ZL%Q0m!K+@DHEk^Ba5&Db za(!=tD`U!>^?xdkeXmf#Q zQ2|Qnk)cfKqYG%d@%rqJ$g}dSLAqX+EiE=R6lvt`@q%fZvqpaDey1B`8Y)S{KZ&q&3p)cwJ={9liZc22w0< z8Ujp^2ZauBkPx;A$4m#D!wJiVqcT|!%8JL<=VMoJ1jgooViE%ZVF4GWg8|IE)#1S@ijI&g6?%_lpg#Ef2WX>?LYAf|YqqS(>Mk>|kw&QmeaUqIFvKw^BBEkqY*lM}yx88}%b6;8_5LX8ZNa^ui?Lr> zZVEe`Ip^$X!3?8YZ?GK`86FxR0@SJ#OTPv2KE3U97#bjr#*@e=XJ8(@#_gb;BJO2a zIfB>lJE^;VLE;}K%;y}%O|8;{Klcu?f=DAecPZ+LQ|(>4V)X@X*sw+14UeD9b@dug z5*M|4sge13hVI{eW10^sJnROkUB#)A%uny$!gV5k_+vir0+w3h-P%PyFzncuA#0cP zDt8MBW_|6BOrY_MDO_SZ+{T zEgwRzc``e!GS&F&kYgg`p!4vw<&e9<6OTg3P2eie$A{Deu6%6J^-@ul1emUIWPfS9 z%X$BV09m!EIli$bz@UnH6<^vmbEVLAp}T5H6=6@W5Z`?zS!<^2^EUMDG1EQF>p4{j zbuznmOejNR_!>dG>;QP}&2iPgV_erz+!D5mYs|mMWEY3_r>J>*o1L*clM#ATDeqQ% zt?8DyP7Pn22r`VEm&*HHSReg#D~wkQP&hiiDTkMAQY5d{tU%ySoYz75EXePuCBas8 zb(M36IPHepVbxAz!o)5}7x51pae|-CFN$u}X<5X}5hL%;F5@L6uMOq__2H!<^ANz- zE()94>cBQRV=ZA}0uqghz=hX6rHinL3F z(Dq~FP;i@?GBl4gMFGaep5Zis!rddMKmaJ2H~F8;HC{y&afsbuRrZIv8WE!iTd>AM z?9VyR+~yo)ugl2lb~@?|^fzu`b&{n|#QwBb>SURon4#sDzdSn$LV5BH#L|p`miZwt zZ$um>+{fuLa*J(fRS0b0F3`BT#gT-^MRJ`JpsQP93f-yxGyrKEDs04x0;MpQHocEM zo4glN7?#u!p{YC02jdX(9&+ui+;a1zaAWmzO|$Vmk$K|trs+1Kk}8{b75uDo&Wg)=JN2nV z7o_9s0pg5c*28D@g-VBvo0spn_zD94lEb+)H=cq9#bVoIUn{67I(8tnkBL>3B?1UO z1`@yRRd?MqP}_9Vqdw(Di&vSbOmq2rhSZtp)ZaMiHA&Ct?3Cd{Rh7!?)7fUkN1P-f z2CiLosYfq))-rsLJx+xOiykqxX~|N7@M-9eO-#(z__j-Jh46W$jiC;?*A9GhB%PO< zB|6E&7blC+Me7a(KQ?YhH4bl1bDxgEUOibaol6k|C>umAQ=!(X>L*MuT?Fm5rDW^N zsV9@pw@mNb^E^ybn-4~_ZDAKWzKU*Fd)N%GoXKg%;JaW$7XQP&+YQrm)H|%RKKX>~ zqqFIeGyCQpvgT;i&TK+0%L8Hg@QKfsk9Ki4C(`c*;{{Uc6U10cKT zV`^o^UG7Dim&n_~lA>#u)e#wYX?^yvR;_I$_`8~pVoEUcQyIUj!G-+O z&XUs%z9ThL3c5na4~3KqYv#6rQfpYdYSW}@y>{H-eb=&>=lQOrJNJYozz&-qiNWS4 zB=q|}bUQ$_U2gA>x4z{@W*pyP$K}C`j%cmlIPr z=b7y037Vh;pYuoWhwEi0f>(bCq6v1<@?zRlRhPc_2Fa17RNzxhvlaJ!ymrAHQ;Twzh+DdiVy!x*8@jJ1bLkMlDwF zaudvsBD(C6v((rs$3KJK;yzgqGRi1!SY$^$FVUbC`*v07D6#}SKW%5gPrcQevz#C- z<7&p~mA^J54oZ_lJp{tsq6d9{bZ2(155qu`?zcXz9Q&Lj5Sf_&xSp3G77#WH42$rI zMHV`JVR(e{fV&AB+@gUK8p6BxWo&`i=g*XdKnO+!jTY`?MS-xGi=W=FoVJTl@5<-$ z#K}wPcLVpkNn+fV%igl_QCb_mf#1e-5a8zMflpwqkaf}L1d$#j4R6t*n_#yBKG1UI zH|Or|Gq2=2nYeUBu*9JuAs8j^53{(zPSTvSNru`>@d4Q+GZ31;u6E;Hmx4}6PPT+P+Ad}RoF zNl}w=HMRce=S|{y^jw!G=RKl>e73R=n~CID_FT=df6PhM9UZ{=9*SnFtCk;1N}O;5 zKK2XPPxh|7H{XEDwl5%kZ+os~SAR7G>~;zb9uq2-GT6MNY2#+e{PaCIKl~-9^XQ>f z>SvZaTlaC{_39$1ey(Y#ke-{N)#e44 zr+sFXd2W|fHoHiuWz1)895p!rfB#os-9=-qW9+VSgnv)xRlQGBlUu7ZLHUldw<>Ms zjNk}EutP2EcilBj>9@;L+$p$yTt!~@*dOLM83P*39;0hiq;*JFgd6sdmsl^qmtE5_ z1#=lwL*Phk6i(c|UW357cdrGfA-O3~j>L{X!&oHNJXIFL~4h^8Fs zjqAg;Fd2vYjXZ1_s3{g~+V;m^-H$ocvK7T0iAYzKO3=L|VUYs%STHIZ+E=sw9{X_$yBY8nx)xPIw#Wrli(3Pw3DoP|Z1^gLR=W8@6cV~WAREi3?- zSP4`Zrz0lPPQ>gEBRjH4yYP6n4pCQDoP&)Eghbb%&ISmdkmfX0|}|KhKWV=Qhaxr%9zp_lDtt^Yf4lu9yN>*0A(q7sure~|*{K!FkD z{X*Wfou%yWhcryyWc$(3_FfSTbG#d&bdi^Za{?_Kk}6`RZB3+x86@vgLlE{Ppcz3< z6eTE`5>Z)=j4j-Puk#DbYc^<}g$PN+=oT~Pkz6;R*e&t{Dh=P)HXdBaoG^rln7FtA zxxhMmM5Q90EJwlf0qW{3X+fS0SC&eoZ5K~u=d{?PagL!fT%o)Lu@y4p-j6>BWb$fO zrr^t0WOdI%?a*OA7Wy?V%DW5vh%d4V`l<6B2?u}pBSP{SJ5wK;lheh|&Dbh8xI20~ z{I;>UmLh^MQgp(nujg%vDz&f1Bn94Y@*YXK8RMM3W=mp2Ld8ZiS{h2oH5ore$3;QY z&7oq?tRN28q{LLa<^hwYRnTfRojc)PhU%vyf5cYS7&ip9mcReeAE6Z=|BH?!1A1;O zG9ATzwE*JpPm0JhsJM6$Dn=SCjk#)m)aH-VR(8h^J#wAm_3Ddb{8b79%Y>EHj@q*6 z=PTFGiXI2jbmeqI13|k23t!ZBXT*)HFH{Z;vyOppwIAyzZ6*FleOZYvN^}DWGz{Yr zlsMR0b3=Z4U;x37cAH74F6AGFY$;0cB2y@CFWQdzW2Er9j}Lz)ecQPqU$V_UaM3xY z$_*T40}TQC{+Ps;%8Azka~fSO%Ss!(=jg(DaMfu>NoI5@_$sROKT86E7Vyl^A7vFw z!z2-9JP0D)Tt$U#4Go$blWr}O^NZKMzHJXKe|j@deEb$QC3D?}Oa^B2wt-G4A>?tx zItdfPlFRV_y#xFk-`O;F!TH4kMnZWXXFEIg^U}LS3U>Ea^Ykj)@m8`i==smOk)&kz z;ODmg+uHqn3iQC|zE<3t4z4K#&tNZ?s)Co#G}z1*Jnn0I1$wU(B)LW{Q=UfsNuw>E zPz1?QXb?a3Y5VtN^3-Hu5j|d!h{9cGe164vhN>1D-9f%qqy~;17Z!Z!+*r{bC}l*{ zNYfl~i(pY`3W-1DZ0o|z+BRcsy)gW+j}s8(4Qim^rlL@>qFzyYkEdHmGf_o71~c3| z!knctG`wyiq@ZRzwd8J zBcV22u#GlngGa~90~2A1 z%up&mSxTZ@t@EcFeX-Y2h{e6VyI!=nR=CSo)p@&++6zvk#$sxTE3a!chu;Sq^HEBOgboYyu7N;Y?mQ~f@(2bg6=ng z4dp`*lPcbd52vwtX|ctn;7fxaj0JbLYP#Rh{ zMDacJknrnjWX9hcc%Y)zYf{1*_i?zLgnR0VO3{qW$n}8&3%~LVV>1J$3#)DhsBsS) z63}jPy4DQ(VK-I;lS?rZhf}3G+Fx2jhRZ!~NRej)m7<2tlA{r`vY)LZC&sU) zn`4D8>ez2lxBq7sH%wUmb)gHHtCdPx5 z%zPHuOIEjTK^R)jeRtU|!fUH~^1dll%VRgPb&>D;46U1zd-WT{)Gb6Fp_jHE>lnav z2tQH(pXdF;?xD8*DmTU{)rHAlnd*L>J77HDM{f7wfyygAMdLm&8H!!Lsv2;(S}=2 zNOaCf9xH1H(qz8T4!-sdr)dgKIcJb!a-$NTlSu_IT^}*c2ptE2j}fASCC9T$L^^@q}UPkLxO*bMJ5adhDONE}BE=mO*_DydV2Acw%+w1u*-;;$O zZ7~~jaewPQPTP5TiuZ~LpR8K$79<8~8Rjd7hCFUk++8-Zn`Zv%%-#LfT7)l2-cV5= zVHqFxye;!{oR-9Z$t>{aa$rZUWc%ebFvvp@1Fz_}`TFn+_qgln<(v;_u-WOI>W23s zUb!fs@HR)f_N>+ZSQn>vobKf!z|N8<##6}UqD*=1I;&v%Er~uwPd%wD^Y0^a0#vur zi(?z!hka_F!Sn{g_2#}s6kNP4VqPP-0j5q8qRE`l0lEK6>poYZ+}!38^bz?9pYrSG z$W&8y2}PevQAUipq@I>yEOAz`*p)0MV_C0sZ1bRR z_+7`#@aTG%t9CAn1mr8z z=A=OJLOAmh{fA)~E7#rcI%WaH+0xBIWrZ01v=G(I-(_tw zw|P(c%uVX$Y^zdfbgq3?ZdbW+{cQZse9z;#-|J!IqY;k#U=n_47|`DVH;8lfR|PA6 z0_QyRlv6EenCTf@4j(uz-!I?=;e|S9hA?adI=Ejl&^$X1luO1Mw%{11N@Vcm8xb=@ ztkIXz^b;Z)O%$VXRw{hZWLw6@eRCR*QoCNfT&Z8c^Ga3W;cux97ZyBpeRHzpPk zzp;&ublf_phx)yoPCuc|UkhP+;G8B?mTZz7P(oNPCbcI zvcxV9SYNiNI&zLW-ZsLMWx6@ET4!;uh_HrIw%rg1K-@PLiMwuyTjFRt882>ewB#JV zH(hmdnW(x~r)n(G{SheZcv}5zIP4MrQ!c82kE3!D_vT_Lkw%7ZTE|gfUt>?i=CFfj zBf*f_cXN+5u=>R}F$(Ed`8v+T{e&H9YJLTR_H2{eXMCMO9uN~5Ao zf14){Rk+FrFGZTzm5)^!VBx86wrR4oKog;YJkF>EUwgxhWZrbz+k?b?*=ptACrE9= zy&Avj)GiI!CoEEKrN&}oGpY)P^#)O1`Ix2@PR!}o9?ZAV=k{jX3rY!G%rR8p{^$<) z$$loxsI>&~qBV!j4#zZRjCT4&Bcw8VY8=eRp%+9!l+&)?RXx(s%*@MC_h>-7ow?%< zgWYW-+vQxjvrdO!bxtcwN0D}y7lG;NtXOlUf^Yk{!Q%l1tu_0#$MVAPe9KPI+wDoy zo!`^ugxALP)YD6n-XrYWgeLG|J&2yKb&T$8EoO8jwVcw#(Mf=Qoekf(c3o|i27nVr zhR*7Ac6;DeCnc*h8EwKFf}gsnkV@(sCB#loBfbB z;W^4QY|~z6=req50ci=cDJ6Yn>5ukp4^?m&Rz<9u5D+%Tjq5SvtID6P5INi0O(Vam z=#UKYx*GAISSOXzO|M% zTm~H~e#(Unt|ug0<46nol}a6CEJNp$y_0o~+O!fl?O&IiNXBxydn7l5s!*ELSynI} zVZM*48aXeMQp{K8{r`4k{$dU7Nw$+wtYU_sI2qhu#U3w)T_V0G;P%Mu%lR}Ero~%t z{Vl*pafIIepj$6OWu`g4cQ83GI{uiR$!c>v#_K5O#Y6dlk;TxB)OPY}&0)h>_PHK%=2dEH>%fSBqcAIi{j;=CXU3s` z@To0AYEaNuj7+o$IXV8H{K`xQUhpcEm1fC4e{=C6u@#Ydb#HFS*H6m9aT3CsF}jBE zf*d73M^`M`PI&z6)4|df5>qrV(LSGJF1EMVK^3b_mSxI=|21haQNgkAzUL!H!T`^l zLqgE}ZdjPI0mlfZjmm4E`&2;7)%>$}k#q!=z2kT(78%{32jT>)7$uqJj&Em|Q3zIz z8Kr$#pMYRaZ7|`G7nOPq+T=^$vRB!KG<;OU)cHVoD6eysL*AR;!ZcaU$4Uj4q=`L5 zur$d@d76?fkjdRdc)UR{?HU-Q9Ix_iSf#xy;tVe%cb7&7MhVS!g54S(%Mfv*1F!$sW=?LRdYfT$bs z2ZrPo#!Z~VI7M8Go{B)#Mo)r0_w@0d~nm*{6-Ya{*7EL$U)%j5M~fGroc7 ztxx1z6~>4E<0OqbQ33UCr^y71iHr=Xs+hfvJ5b~{x+h@bZZRaEH@o{>^d@B=MSH(t zsZ7sI0zcI-07Sm8h47G8V%^xDY%m75 zJsOb_a5^~8e;%e)*0(22iYm25`MQb z?l@0eHa3jMC)9xq#nypITXdl5)!je@`2=MhMR49%<{fsMs)x0-*yhl1#*qL^Rhij6 zh$}!#l*-?YNAHj;<{h|-^N)%7I}#Ll8d?ytY!J+eyUQ`Ye|m$AP~6tNGT3wJ^;MPW z8LbK0L1I|Hgr=&lY0_3le~x}f;T+I_e?8;h(NJ@7I=nEeChZne3&L;R8J)2hl|0}f z_t@+C(1Igwc5njdr2`-FJt73%j>F;G0yI?16ouM*<8er?GS@Nb2vrd$7t3jFeZ<`Q z!oH#)L=VXyv@4g)z-ij+x_MlSKm~-#p2=p`&DKZFWse?|1imciz~KB34UmIL;+FZg znAf10^@kpS1wD%Pdc&U^5mOQ4u|^SD^q2P``0O5Mq)dM;@d(vyb<$Sin&s$4DC!q; zj9caX8)niXZsuyLiY~@Wd zc5&L>KArg~Jx527sc_VucFd_jGYpDbU9e6GXlYnjL#8yahd`gQpgMS*Ad!!Et}`}~ zHAe;J(uHGleR4MKYv<`^HKW3yG-}9E$_Z!PMMc`oZDU*QfUPe-2bQDi0m$(E3)pB2 zZW2d{@R}?y(S%!Q`qsaYF_DJKT{9rxPdH${*x^Qr0;cY%nj-A^{D(s-)r}iLapQp* z$5x>xrp7}3KL?UBFObQ;G(uouOK?OH*FPx^n0EW=#7AI3kjT@te~@EO68|qJ36%E` z8#xxwRyv-%eDB9jU`Yskn|K?-@li1}2%|h8BJ2m5P_aa^1I2JqEt;yBO3t69b+Xp1 zuNWnRQ<3(lrHE-{{hV$aFVCgPyteFAR@XuSM8^HvSTZBM!wALo^9$?#qY|~#8nsSg?#pfHx5hEeOg_~!4Z9HV>A9sN-l+sn44|ulY4@Y7{u>{ z9|`(}NU6Ro!(y$mA1-Z@8&0|!Wq<1edLk5|18Ivjj3*o3&r2GpC5m%q_@=DXY)UsS z);`K%U@?`xQ2jh17qT8*UU92H)h6aNjsBUsh`+2J+HZiZ4K9YIB{YtiU~4=Z6jQa0 z%3TOaM#hral$OuqBVd3JiK&Pzt)YUFno*9v!bC5o4IO!I=v62TCzOGWwh>hI#cwKg zE=}qfXdN2y{D@o@Q<%!g$~m4UzBg#oh)8HK=L#GiE>kJ}lHp0-JZSS7eI^YPfLzT? zKu@^f+9JwH2dJfkhQ4`0j8rwX*COu7(nH}Nn`w$YdSMdy@|?X?rai7$`%PRX zJ}BjiR7J)DVUa_Op2lYAaK_1y%VVrZ#=lxX>g<_*dH*#>Gc|^|1Epg>?%h!OK_B~kjX-L~i-I$0Vjaycv+^HJ#|}NuehOK5)al@^ z(KLp!zrsc3q|=$LT?i~JkNGl0q(yX%mJ`XUoTIgSnN3E)MJp;6Mg1R3y-t?SoO$WG4PIf;WE9%NCvncG!kJFRNLk&~4R_olI6-r)zk8D^+dvo;Q zASg2vOwI0Xd)Mc$3@GC6WQQ1Tc&%x<2cBD9_&e!g>k)r60NWngf4D&v9+``iga$VD zrBVG-{YWUmO$p4bU6HXaYpFDf`%T0hJZA#J7>J)s6|$n-`P1?Tn}O580(%zUQ`{7K zu7Ip`>M+y<6X%a}4#llEuQs%@zIz zvviFMsRhL?QY#kVXa2kyMY>3K#tx0VPLL1F$fjY&W|_tfu#{84ex-9|f7Gj&ir5$m ze$Ss+K2M^4S$=RbgW4Q&eXGJpHdyWMl4tkXmxHVgYjeHscC%jE+j~n}QqA@UZ-5S^ z#*$_$@sq{SshDMAn49WPT*dSa zzhn^Yc)GMan0vz~h??ta>%cv_YI{Mr0SW!jckLn~pEF?;6;vxq!$IdaFL;=o(!sW_#g+V2^hx-_MInVUSiw@r?)i3cj4Uyfh;DsiDTj=Wd)goP@Ob`*5U9{Pz7!b$Z~h-n^#K+Do9(X0b8*dB$oSs zx^jiEh2U$FUWD2CZN|PJ$9xOq|L|i4^0g-O`}zJQofs(|zuVK{{(;{rky&zkSd{&G zBY!Rs;&Eu217w=kAO}}sgi|i1)wkPYYqUyI@V%7`31l6}Eu22}(|(eyYQApVe8&T3 zM|(#{x8_j>ZWJ@0Z$8~gY&1`W?C%N4UHS7g+}Sm;6juH%$}Kull7T8}P>}Bs zb4^jt%^XjR;$WJhwwkVAK+>1T({on8A}H{SR%~ z)LUZZ`TW@3b-ty&B{7Zb&f>t@+_FL>D|h=LKfBdWqeJt~!(}In^0hZB+9iU6)z|Ro z&G}^AclmI+&XR!=xvwMQz0K?wfeFX{L@Q%>^f7Hi*OOuxj($J*L^Ew|h+!3a1nzj7v1fTD^bn42US z9*V`}^Y1yQFfbsKh&nU>w@C4TGTAh#on|z>QGQLEy%v>@4vaX~cjW-}?kcyaw@@8f zPo^1%i)bqXrLpEYC-?~~ksn3q_5%F+XEyaFag?CH4e3zzeL`)$6?DZGLJ<}{%eNaP zHs>NKCKIbqT|NY3wV{~yk4?zTgsb!>yx94aKTd9KZ+h2k>}IQH=9-R^R7RpIhSah; zCF=LyTdmIpGbY?oU^-&C-sd8@JU60!p))61tu;N}vZ_{HL*7h`)E-XE*;TKD^n%DN;rx`{{k)VyiSGW4+)De#FWRWc|iyC*L%e=oV@0CXyREl1Bm1IPwr z(6={=keIdBmGM5#$~(%V&+^@-N1Tu8?l60HTXImX@0ML7e9DFOj!ld#?O)m^e@0Qf zQ_9SDinaN?iay*;j8l)|bKS+>u;9C_kL5bu%rI3tPT_GruF$j-Owx zj*jxDzpS+R`L^tazTi$Co_%27Y$@@1v^=I_zEKL?7r)$cf4@_T(!-Oke62Gp6FDq6 zo{WmYJv)#5@x3Iebb3L4BB3p$$v})j;r32Fn7?j;$?2vR?3!5-;srSEB$s_J6}2km z;W%-$FqLV5Wob2jd#iCW@0B~dYxhfm{gtJ}YcT2!ZL$G+x4OXQ*!Zl)l-S>bN0CBQ zHn}0NO0z!LCw@qmeXn`1Gxx5^bI`6L{$DZqB%5K%t@bX@znPvq5|G}dRU^g4f~A&F zb*4)cU4Y6qa4MN#A7NpKy}+7l8k_+P9j2*vwa4_x(I%HtYy*={s?{jsACaWSVCC8`n zMR@-1ZB?#1&iTlxk`VyQw`}L`?#XLKdkN3sx4{0?JRjlXOHoPSTddH#kwZ1UVWl@2 z9UZ0uVH-xEG!9JaS5_lF0?Q; z#FlSqadIo`r*|%TPMb}AlGj;S`-i_Tf@r4r2L2xC4S)c;eEVsDEBGvgPLAy@=Mzma z(5_JpfsQU#s9m%4cmfCd^FJ!gKwqc4QR=EZ0 z^4YHPeQ7(+!}F^j;YUSHM~4%ivqXE==ct)~)xtMTgPHxjnnHab|N|{l9 znhRXSWXu%FsW8#|yeBJH>4e?-u#GNC)WT&AN6+O*?{%zyKgYj<~?6YJdXlFGBJ51)v&JzFQd)H5dS^CmJFU^9vd{?Ke; zfpky#UqkI0r97UF2`2-5!V~0jg|p5^7+gxD3ZzYgUPlWY-TNQ?EBSF*!tg z?d6G*Wil42LJ&;^ZRpw`bEqmxpgtyc&fPH+!rcO5+L!n!f4_?y*qju!0)uJ8y4IY( z$9Z*w8{~3X<(Mv!w77_wP%*tJEHnIKB%GJyuXN=%<1cklaWfn*u)!^nXvl#T zp$4v2Vb~aUZA>$}RI$X5chitx=8*1z#*g%8sLZZ5x#Q;2UKOUKaPIZ7m5NCq@i3$H zMBrbM#O`rL!N3Dq3f%rNpKAU68K{)S$Rsb7YAiQ0%tIrxkqm%~f&T667-ya6mF_Fl zCKtTjAcreLExXpg5o=xANlkYlXm-6lnSj(UCQ01F6Z4llY1}zqjlN&H>2U-40D_bb zbGiEN7om#U_63j4lJqqO3S>X1$_Q*$_q;Z$Ka73#+fOIqB)Z1$I@^j@GKmm&VAs5Z zO#W9LOC^TQhH;B@T^Qk^r5L)PzbGLMub%rD8b)*H)2Vy44hI+OEMGXrn z*~DYlOw|{OX*s`8+CW)a45_YRJ5YFubWYd1o@t#iYK@>(xnn z^Z?rkh@wO&xHb8RREbVrr$?bIVxwE@e!TYV3MvuZzX024C{T}Oqd4%2NjGWXgZsXL z#6q6y4giXp4NOIwtnGDCk>@S08L32|l}Z01=^lbFP_tfHU;iLZT`O@hB1m{Wt<~dy zcqS#!plG(|N(-2fBBfZoZ6H~`Rf@APG&KM8piys%umwm1ujh8oe6!NKG0Qxk!rRo; zP_%|OU`6!A0$1nPOT61Fr3Xn-ns{iFydubxDjMt^s#WFG-04AaFSsol8R#Dhx4ODj z%IgW9SJjz#AfWr&T6tWqntIXYstvl;UTc0-NxjZ%01gxZ7&=ZIF9Ry!*vL`CLRj6eE}YgOS!3>F_UcrHYHn| za$|Ig#pJ)VO*|La@9ew95QWb692Z6Oqd8yRn;X zFE}2O9n;N7&0brJMrfAczw!IqD=(y* zK|-A!{S)0qaVnr7haj70GJ0&NFXcQ%Oeh=v^hRJ~_4_*^AJ6jVTS}Jf1YFc!?+B`y z4<8~E=yxKoMdhs+{R7(fG0F(uQdxGYBc(-Q`@vC30o3#3f(^gPk3u)P#ca%|4R47) zRGHbXLxzADMAV8g^RWCK3JCU&bUrw&j5UY02YTZm1{JzI`L!9}( zL91Dv6h%L4LeESVIvM0ZE3TQrs~8$uaAL?5#-&`eB~Uh3T2nxpGf_eU%iUA$s_TA) zr4I%Ir|?+p6bLm@aTIxtvL(AH2fB5~w0l-%oP@5-5+1~|V_qL}X=aa2uxequaUmxG zBDoZgiqiO*Nzlhtq-p$AA1vwKkFdVq@&4#>q=tatye#SO_XrY<8qUuXBkkSH)I+hT zWYINZkH!l>RC!4IIOQSeN?{AWu>~9+Muyi`i^7raVT6$(vfx!PCZc-f^y}l#G6&l) zxT4wcA}lYcb1m*btB5vdRMMd-wr6wM+sU#YfM~SMzrnF;CFEm{)6}a`; zEF0{Ouk4Tn+tRZ%-fa*og~JfQUJ|wmUPhuMq zZMX4=I5Mf!d zau`pt;i3se*!O@tX^#D${dpOY(BHLaR0Rhxg!s*A0JbK=OpGK&-Eho%ePN`Kd~^DO z3H|zzXh_>u!68WE8C1@!vSi+2SQ10hDC&44nM;~K!1aYol$`$!7O*LjpurP5;mFYJ ziRP2S-nc{dcaI={cH|hd#J7}@sME(oruhTM^`;g3pr=HW(O1#vZyT(c*b#72hm;VA ztrn-RQ>2HLI;*BkOeuvI5Umi3wMO`x4B8-e*OG?TzF$@=gfK(=KfEcQ#RZa%e8XGo zF=5gdt~HLsoufh|d4?l$lCS3!PKnQKLJHuRkq!WDtU+ZW&xhX-+(GMNWG?z*6@3^F zw2CYiRf^}IA@WQ-RF=C2LwTJLQu!`)+c$C9fpYpJ+?%pfF_ytB4v!LpI_Yl-0-) z#|m1=Tm}?%ec~w^Mrw)&kAqENIL`DlfjH>ci>epGSrwB62mVv*PfrFVG_!#Hp0l9s zO|joXqcew&!JvRq@m>643XuZ>T49qYz@D_g)Cxv?sDSTYI2X1VX;vR1)p4f}`7Ze& z3AqU3Tck+F9xT*cAb7qDVIe0gme4_lyF(BbrT@?Zks&#nmI_h4xM?H-?xh1{U0%NA z=gQ;`=IzLViq$QaQegn-il|U0|9y-oNjPl47Z%Ho;Bru~Am)_8y`e~s(7R<6ih_}$ z7K{O7Tvt2Ls8U;sN;G>-mS~po-r$sYIf9CRty6ILKkez`6#f=Z9Yirf|DD|2<6?ex z(}3WcC%C9NCjY_hmqjEFa>YwD?{x_&kaU1TIt71(@85S6ExL&WzC4%_3!k(j$b10; znBOp~?hkUbGb0LB|z1rx_|mi0`)fV;jEZ5aSZ!u#p5f9rR)qbO#czr(rBk!$gZquwWu zpAip|fqkna$FTra@C%g$cBfQTsC5T}&iil8r*|cG8nB?W21*1-evOkx+|87o7n;jyIlk+8yJI^ld(gg8#fsJ+}N z~_=Rp-T8^mYDM8rNNyNBA>>(={$rEO1Lu5E1KEHmxM>LsH zhSWFmG2(!V>efoMx)kd`=#()8=>Y)|5iu2IRjh}N21QoAuyxlQTwh~xng)kx9n^z# z+E_#U&HPbWffYHT_XpiVLc@U3_xxDl^hy2pbg$L>5vuC#)UT57wCT7?@9k}0UEpBI ze_i0^HowA;;k_m>>&coSE25S+u_+p-P2lKpx=7c`>WZ<=}yPX z>;6Xr1MTMP<$BxX$F{=bW!vkuo-WpVy5Z+&>iyooePZs`GOW{-BVJaNSY2n~FK!!| zO%J=kpDB_U$N*duP6<;G;&qqSmQHa~>#0St=52<)ceA!!jBHg~5)1Lzd}gd;;yGbX z*GOxHu3)Ge0p{0whh4-HJ*a zf4=vS`|7rL)*UYXW$yD3^Ge9Uuk%y_4_74+%C-RB3~0kEE(>Q8P8-7pMcEcJuQ1J{ zlB58_p_O&^hBJq(i+Woig83Kf4Qtb{mQK!`{m@l@^S|63rWj%T1W5WKOO4UjrhT7g zXJp>}QyagG`zrwMJZE;IAl!^Vgfe&jWm4-yW~ye76n@GtDk}=r4nKlFH;^!sJ8)N-feP$Q+BNJSlxcTz$ zsp0PBK*z?ukR%Q=Kw)=w-Xipund8~YRw`sm(ToWzOnr?N$6G^}Plm$h84I8ZT5U8} zR3kqnE^~3=+ejMFiKncFlCu3*5zan9atQgT);d<;@B430A*ScklD}*FDpB0+HANiz zzrNNNcQr+WQ{PNtxA>S1=a$|2# zSYxwX$p*gyv{K}4J1F~Dx6%}<%A?Yy?M!DNfuAoZpFn612Z3%bSt9brO*Pwj}u zY{ta;gWu!r`7ryiRDJ*&53{q%AY5$!P1Wcl@7mEXL~j8UBmgMTgVJa8Yrt zSZyTHkhPrC#qzkO#b)L`K0MmIzfg~T)7q7L6I?%;BrY=G>c&9lu|@EKbY7+nyUECR zaI(@$cR!DRudz5=Y$c2+T_&^Z-z2^otAq&WVLajfl-Nv8yYh~MEp5Nl*Yh!Lpt+dr zStm!>uot#e#ad<&3sc5hJ2ken^ZzHWUyFTMOW4$_AE?+mr!!9CZLNB(Up%AxxVK_> zUw2x|gGMVM3E=Z;+|xY5#18cS8>4PNznX*Yld^kH@rf1A9YC@Rxi9gxy$j=mYsd*J zu+uzXReOVZ%U0~~I^(<7TT!y5SxBx@3XqK-EL=b67f zY?Y**f^p#>yqw0Vf&unV9#aoL51;3=qe)Q&FrNtP?6Ivh{dQo6YH^i=eDveSuW((| z?a;eee7b$s{)*b0j)*K@v+Q6L2Y&tznToyXJHuT&yjhsZf|+6>F`+P}9=I~@RO}a* zn@7Eb=6rCIGESOw zR*a#^v6=|3NfkqFscPw=!f|h5sRMUIrbsC}96%tn>m*gItjmHyzw{v}wlCly(-`$y z=0{t9x_W(HEGJePMpW8#Fp}BxQ*AN!$%r~hN@u_G@SpoG>PDC?P6I&F2KmF6=GAXX zMMSouz#lBp{iztyTN;Z7_rLNJrX^hAqB=iy#*_R)7Ey`fNvhLfqcaEGI-6ehX^s4< zH*us+@743BZZBq$;Vq&`iL>KzfvQa%qwT1pMy2$30Hg1j9t<-6cUUAf=`hlymYw{G zmj}(qZ!GO^ZZ2a#-D63j#lzF7oQd&jY1)}=#I17hqXxcl5D(6M#bTPMH3%y$N9wvD zT(R52Dbx?~o%z*EqZ8K8EMrDGCq0yagj9I{Z^aitrnwG@mwx2Zb#6@{1LuTg9 zL!|<*#8#T)wjsuPn+dT+sb%^19lQ9k{&@V%_!m2B$0=OCtJUKg1|%`>2*u4>irW5FvJ3}c2=&1I1zsUv zfkw;nact}OGert-_s=zb>i)@!bR<|xmqub10FvP0os(BJC9Ot$NlUyqIJJ}{J8*#!%KA}ZVD2D`5cu3J)QB=*1zN2DcdFlm zHfp(nmENhhZq}%;!dvVhTvjRD&bIj5dPW{X3HZmLr2t(=1d1!C9qSqF{+VHCLRW)7bK>USct|h zuKgJbj2rv&hxR$6D6(Bj9Hbn3eXW%0K$gfE>fhXml#^2(Zq*-{UwXl4D=E~-Uw*dM z#mRtXu82^kaQT;sjd@6Am8@@R`(?2j_Tm7@M*U|qp3_ACGBy5YquK0WOqER~{BQt{ z(5zB_4#~z0%bgHh8ID3^hfG1}V&~8Qus({>wP>J5`oUztz2wx2jrj-)bJaDt@I8+k zt%M=q8&%@4vO8t$R3k%2wQ~Q64n}#)+?iBHjBS5=H|`+>Ah+lW(%xd-SxHlf3`WXiO0 zmwgj+p;ndvHx0$Irx63T%=$Npr^8**K!*O$VrFt2X zI&$eJeV@1s^^7MxNBG%tCZvPmO2Ztg^~hMHX%&lw*XBIaB(D28c|b83QDgduU^(vP zLx%$s-H^)T4I6tYS3*N(?+(x|@>!jsO7rlK1tfEc6i0i?y;_;k<~7K#|9t<%%m$_p zqKIgcH7D~;S-{q*?L2TjFuq6a2eV$aKq@=&$~x>7dc$7z+XLO_ECVqxaZwN`d+@E+ z37bSgcE)z0r_v+2H8@OAwi`o$cv zbF*RflE3K&=o$j_*+`jOEJDy5Z0Cr3^?D@STpzwad+|PG%3jvZPWQ2U+iH0|FVma2 z#Aw1_;>TzoJ6PXN?{=qdJrlLtiO)VN>x!X0I1gAi z{P&1qqR`r$Vmr`~v1UW(#W{%O0+75kzk#$O{%v91=p3#J-3zQ=!mVny47sqjHJFPd zS@mf?GfNyWG%9+mOPyWu;9n$i&Rvyd{&5)C%5 z&Jc>1#d^d^tyc3EGUTdp{~3vT-CK&L`c}{1fA(bbbrM<39bEg#DT!eYz!_M)584hW z+q8=m$Bp33*FC;Mh}acSBOAf|SI=|3!LYLzpkTY;U<}HW}|sQt72A zM;Z|b{AcY*r*gORy*;R_-x+kE;m%DoDW0)v4)TBN+t?1OW&lN0iAN zSTWtI8W6k}Jm`yFq^|qKLvq1}obb zctecG?ei%&$d6-K*^#$b(a=v102LqE+>YHkb$M6h@2Qz3 z&K)0HvE1$ry5iFvDgE$`NPg76d2gKB=BxiI-rXrcJ-oGA$j zqeykP$NM$@J7g1d4EqU4(G~A^!e9F9vP1GTa(NXnAQmIXD{;7qpDT0M_z?CK&wuXz z$?`q;*YutQn>!P*i!B<5m1S5w&7G|3IjlB;(uwCLjj;0PKCIl|k1qDQ|Ixpkie4aw5GpRcHeO)uhGtA9esVb> zMyhV9&XGdrD*9W=!b^-noemw@D6Y@iHmWD{=Wo@_X=D0?>nRRAc(+X}e+~b`ib54$X-k=B1;>)6ij^K^DPR#RRr{#5ha3f;~4RCFl1|(gX2dg zBJRUzA?i6Jn;MjxUbbo3VQ~*?6fT@HRim+@SH+7%kF-uy(}^W)4SnB%mZzy0E?IhI zGB4is+?o%~kHw3_J664W|73iGcUm|BFcC2oW+eje$VK8=D)TO`!DXPGEpuR|X=8NO zD)W*R?$Og;8gC(1e(xi6)t~8fk=*O^3G6eB-#-da^SOl+*%OjAW~=b_nZ7c`#Bq+S zjrmBdL6ivrRN2YcckLcm&l0sV6~|8tf?~wW^%-_ir?yhNwO<^;`n3J!DU4>k%?A?= z65~kj^Jy_i_4M4PZ3ZOq<2CoFH)%fG;owT_iSQPFabTGclw@dhn;N(s%MX%}`zpCI zHqD+j9O5DS#Q<#qMO2j1@T7f(6ajARGzC1gYrS2TC&fa)7T!3zX-S@xiI4seg41UY zsE^WH?Fh4d;hRzk%qS*utk1K89rLjv?Z!jzDjnp?@!V%<=t|xp%DCd^S_T4@uPjv= z?L_}A>(X)C<~U+=_^|smKwUUB5CjoplTJGMS8feA<}%9k%M7^5yepav zr~XH~50}I0j~(FNg!k=~7VU%E$&lGA(2fwUNptg7{Z9V&r@&xU)iKt`hyGyl)AfD( zL=RUW*Q4zjzs%#q+<86Cz1#E6)19wbomPL5uXRKy`xy+U2f?M8UAg4xS#y;GiFI%l zoi?cJ_-El;ir6thmOl>J8o{{vwf?bV(t^8BY&6>Fl+4dJ(dEXlP;+tG?X-dG`@EtL zd`$B8y?hf2{E#@v)jFQnzx1`W2Y)vy64JM8UL>aNI0HpEws}{e0QH0}?b}0h)aHJ! zlK2z*?eXLGUHl{abLOt$+i`JpkpM?**K(8Jqn;NM$nUFh*ITAC`d8(uR|{vw_g6Ot z7RH>G>+EfMr85{8llK!u#Jsnz*ML{zL87p;r^gr1LU^S47F^{3qx4~(w)$VYL*GIm z4vwFFC;Jz2c^*FqWMoceeV_R*7bhC*9@qGNWZadakvQ2Kf$m&wyZf(q$_LET;|yx6#w zo8;K!07;-Zqm;&ZEf-GIrtLim3t%WGa-GdL9ytvN_^hS;`b;D}C4uv{BU#>N#J-y@ z$T(2Lq0??(xu=sG!?9?k6Z2^t*A>(J9}dMf{wQ|MGyTZtj!)tk6Z&=2CoQ*U(rSF_ z-D^oxj7qzD*dv{B^wW~{6OG&}2$O9vx<-r|`rmao7cE zRTBZlpxY|x;HQitHxaFJ|3Zgd zf*=ZaCj%b;oY59Lvlcp$Ufn!*z@b)KUozDk(A}?({2+vDBua}>s!jZK9fNsddiCZ;M;T1!H+U`Lvy^JqU)JJo`cH?##@* zPD7@Yk^GSBYKi4@8eh4bk*7*f1Im7I;!m7Yv3t-D zG~6e{RG`tJ{rSC=K06*o>ZXm|HE&2E8D!GFKF|Ojf;BkmQ1-7?{lGB^cCoM^cVeeR zG+5Cj$9k;T(XgtYv0_oQvV#3JLh2KAC5zQ=xYZoaijUqk5?=Waa(}QHTrHQ^wct*p zCM^AHyU9V>oY5G`I$h7($c2y_nUQ*1vLrwq4_^g zA@VKnf zWiCcg#C0MN$NeJ!sfWnAZkd-CSiHbOq+J*vMC^I|u&U=R|Ehu~>&QM&FUVCLum7(- z7SX#LLnfm0Qw&M`{4762+4X&xg!M_IpNhsfE3Up`gyc$f3ggEmq*2jDd)C3`!uQ{C zxQYd+lJ)J1%KqlFJw(R-1rKG|M%+y9EHmajPc-A#i)V{EDRzn}j0_2@QRK3}jHxiM zMLQ-QpENseBK$(AF^C>m9nfGQ^roF2rPq-(@h|eM0@a_*i)$o|tR;uki<}mBNamdW z^>!oY7xmxSr4SRaJOICrN@pn;aACWTt4oV?KmxHnHxox9J!>?`Ob3l=^C>U~WE$po z*VvE3#w@@Z3IGlepg%XXZP=5k_c7D}R2RHAfq!Dw0|Y!f8*8GrjLe4k=38{4@cFe; z1IewaoD%dGh`*=*Z+|7m-@helfaKnKsTU6SDXHO)kf;70f&d@@0U%?7FtY=XD_%NS zwKx%YZY5mTECXwy-vGb(H4Oz@VP8tOr{Cvu1JRHUxf%bh35Z2#_T2{XgY4jA-vMWH z1^Bv-gJAXpB}1lMM2wL^3;Y<#tjT_TZe1bnxPRc;{y0g7cRNlt^L~Fc+&;PDamjOD zpz?WL%}vk!IGMV>KkjxswB2&2a&bB}@O?O;;)Z|D&we^{{zi71S;&6<*f5~$;rZ=~ z*Y&t?)$lylrg^>g=AzrhCGnXq*Ax4@eQ(M9dAhh_VDs|B&AItwK{2UVkCi@wCPH{=u^S{<@7xI=lR;{IYMjr|X@1 z{cimF)^wXrWp1(f&32Bfkif>Cunml9Zj_zey*gpxEJB^J2ZhjqBZJARPDLKK!VD#B zK51FKnu05h9Uhvk9b|1DuJG(++*Tj9%Hu4IJ3Yfm>jYXj`^GGZzDT5QH1xF2 zt@V}lc8J`RiJC!0K4<(nm3=^}7SIquNV{L&x*_$1Ck0zU;yvclN_lC_XcW*r7o~43 z0Mz4Z4!7ipCdv8u8xjtp>($B3(WTmGg$}1dap6*;#ubi*rnDCcvTF3a-F%+hwmP zKZ&urKo_sTGo9Oc*CK?t`Mf6x!K>Ec&f#-eD>^lnUp7Rp0?hAO)?K)d3FiE3NAa?d z^HghH#3mI&w149qW}WUV?8Oo6K3Jvstep6pUt5We-8d|TZO(o>SEHLT zD@IxV&0#|Y>|Y-ohX*%kE5Ub&l?EQGGA^fk``cav6c%1Ka1GoM2Jb-t)_!T#p zw;L?bFw^yZ{;Isy=gQ}PsfiSIa`@`^&}3Oee8ZU$pSmf%9j%h2krWyC_WEFVJ<<7y zemwYx!>@9rX@49A@n*MDKpL|CGjcmijKjL@Aa0-PFlbAwMP)IM5j(j9H7_l@9KBy; zhE=53?PI8d4iDO$`N;J!75|)UAH3tvl(%LvKyr6) z75M|C>NOK2UX=Xd^WClFn5RP?|HY(?;)^Axo5PJeQgq5x7s7L01 zNU)Y4b9OkiKi&w(?e0=BCUCJvVjPyP=={%aQ?3MwP*nZ0;vW~ODf=NsVc5grtRrMS z0hbdZ+Vro7VLOFiZ8fbSx0{0bQ8K9^`oUjl&g^aZSdD!invaW!_8jGJ30zS1Q8N4M zySf#EQ`uM!bBnHw*vS>5*{-zb9$l&=ZLI0?C~kotcWad^8ZJoHLe?vK2jn*!7i+~rmqs+;9 zp_Y}cDXT{YOFyC}(W1qRT}pIrnU@xL|6S|QZGlalxvqgHH`CI5IcChtYUy_;=qtrd zb}i)7F3WC1|NC7^$2kMcQF?8T>ZJ2Pq{M(`kG}*!P@G-zF;c9A@loF0%***U4B1Pnm9b~wJmObuI?Fg2>hJ!Swa<9Qyu%R8s>>OQk)=rJ%8ZOU z5>YF#Yd`t&Q-eHXFz|be9IO0Mx>yMzs>z(~U{Tr7o30MOph%r$oeGQhm}L#o zn?kUJxdsr||L46X@nGdgqEXDcuk-2jx~4p>r1z!&ZxxnI1f_5ehrq9OV**Qx3L0~t zjd3#c({1`2PYLRM0Qm7WKVz|^v=O6}iXjOx@HAuc;}2*tD}QBBW>l+Xa&B^QAdJT3 zs388y6*e>)kqiakYHT2-rB#P{W@1tc!A$iaZTqCD!T%pCVTyr~Lro$H1C;|2WI9O% zA9<+`#Q!fJiv94)4+K|M3Br+^#K8ySE^5|SxuD4^qK5uNbJ$`mC@gN=1 z2Kj29@~ybsylf+_zXe`3l06;Y5!lqyStq;jpE6)%1qfQ*Qb$yw_f3cI23*Qez)G8* zNO*9sPJbC|);+eY?ptqG>{_p%Tj;GnVR`MXRnZmpLS9`>=Y9K53SH1$WY$-pO*(uA z)(=E-P(Y%Zqp(7=ARZPf$#O3c*7csvSUcO0-x1s0zHhz9o@V==e6baVp3T2HQD=W$ zj1T3T9<+LzZpeN)6(E7MjAW!SXeiE+kkcj&ve5YNp=@^p>C^16rb9cPoYylrfW_fd zN(Q863`iJlW(DnrY$=~FvsanRWQ%#4mh`YcH4B^lDs;rjrzdNj-p+RT+v7U-+xeR5!Ta6Z z+s$`ghff~Q`g7N_(763@yAqVOw??^Fox@&1j*Wh|h#8e+rgmsWBXJe$d)GVDLxC-uUJpAC&*c2RVgv($oG^Rn`+|iISVeN ze7gvat1l}q@5|3q;E9*#x9kAJ+WZTY8AKsU1J)uu=&Tqiv_1;kP!<2$q~&OFwyVIE zkbnk*C!xt8~nXwGjb=`clTv{{JQnE)b1MDIQPC+g?gWQ$3g9{Z+5~CFkpC?J9Q+_SOd!ZP*Ol6<4ORUt*s6o0cTsO$0;_4 zhQq1>ynRs-0uhqanMnu%-MZImPXl|qM*RyLZ`fI&7RB&@XT`KGIKL#u60 z!j~I9u-^8t;acjFY@|rbDaAdQBmB{G3if=dIAR9Y*RgQE9o99Q;68Mgo^``~wrPD> z6JL~RhR?o|*xE>J22w3jmrDL{k3PC|beD~jaH<^ERr9^eIQx^{maWA$eNxyuSZ#)1 zFEUoj%DJPTmmHMrsNo17CoK6P7d0s=)b8Y`tUILY^^|ZgH?8(@YBnt)#vajM(NWNA z{X(9~FGh#~0?DU5(Mb>;N%djPR4cAf!g27fE7whw@&qSm# zg%;RA`Gx^$ivJ>Vxo?)Y$ef1v^sL?L%*vsk#9`5QnatcV*y2v2y=}7Hn`L#HgV&h+ zb%a8sV0Qs@Sjot9&Cb00nHs-0E=}R*NQ$cfIaU;;zl#!{lvxXI$-QZICM0&)<*#Fd0@QveW&-djg~OhyJN67bVrosf`pgHC{BZkAv z1+#?V{f)QpsybU{Z$o~%CI|zCGJLH8@o3P57_>S~Ge0+UA%$iNMW;#rbVfgVyPxX; zZZAAoXZ#*+GkLV8$)EeyPdm3=K046D0YVZAh*YqbpV6Qum9NJXTz7rfy!Vnt!J{ae5Ty-((>9Z=@h8>xtrDy6 z1fE}D&ChZ*o&Hc=fA>liH(gWK6$2~Noledxu4Lrh+P^~`g%C4`dLF! zNKG_nE}l_(+-Zt?IT%V?h!B!>4Pg4z=~`x6-MQb;J$D^jOl|rmg^$f>O4)BACOn8p zvH*ZF3`#E5wPeW=^P@A7YT3Jicr z7?>VF??;;~iP-PeYhC*N8rB+OGQ6mr%xaG&!Az6}WUXaz!3sw>A)EC3i+~&mK!{mS z6ck_vpoJftoBQ<~jCwcgM)n1AdUutGa~doTl9hi*JW+ju1SzP<`yEHW>8S^|Hm|kT z^41@$4k2YRNfuJp4~TZ{b`Y2|tk=b!B1II%0C4)R*e)>u1Ry{Z%-_WjiA zmJXNZMVD2$EBnwLy0lPaAY4L`g3Nx}itNc2TB7Wvc*JDFr!w;g02n{vmo&2Ec>kv1 zeplDeZ}-6WePq7J@o+hh{VCYTdEy>oDkk))5iZ+3F<-CS=p6SEzQN&_@vrah+ac4t z!|6(&-Bi}uV%#_0qSTn#!RpEN`?uLy!Vnwoj&CcQ8UfwAw}z)Fx|5j)b0)_g-rTO? zuj1^f>F@7S4n0evlQ0+>4jjs$=QN$!^i{4W!^yZR#^u>aih?B$kJ-^5cj&6r89rd<53w&?c(dP$QOCME-w#KiJTX()Hu-9UZ z5(1FqlPHN50#|gZ9-UE7LDY!T_wTG_|pKuFL>i5hvfG9asCJ2)NJ#>bXWDj zj<`ZYA`gWTIPpvN_SlI<(g8ZZ+>X5hLeV-+OWJB4gMW?#lDBS0($=Qd;EuRQrg^oDOrioxYnJ95CBUX(Qy)e*pYaqLE7DK?#xk=j zNC*!wusgu+%g`{Dpy}J%1yKCiuIy1xn_}2Gl{rw>yb3{Esn0z^A1Q*hlQA(`8-u@A zGw1Ddb0zngTlysKeIZgdbKSA$1tDTB7ko*{GXvp_^o!BlMgeqw0eJ=7w0a`7V${Rx zJF8E4A=k#EZ>5BbvrkytGjkbe5$(5<&6cdH$ggiY3!j=?*#;raw{q!BMC*^|W(I0U z&+_^0r(TN-uXkHE_P7QGDV*>*|0^osi*?qmeJ8@ud~SKH}ANmX~KtB#GCx znSiz#4c1|>(+)f|i`uMGHp6ZSE1OQ{l*>OqYLUDaS{6xPE50wIrep-1nSxou0l4g-}le5z~h)&}I zRlzysNq4O@oH&fNq$n?i`*Oa&kLnjn6$5*5KADy(N&%|9|N2{h zSEJQJ=Vk;xPdnk7dycxJQr0dCXKF_!(BYNN$#tFdR!gjBY|bI$)L4kBFPoAjwYhBl zJtn8`-HK;3<7F7!B1$K;`Ru*_(1jv2Ez9{c6c-yKm)lnMkmS4dwS1DDcsO*~d2^d) z8%xzq-es6q5G~Q~tv(gtQsOvaN4J*sbv9Tvq<||Qlta%h8Hd^MYu|`e8+Aj~ksRP> zS&YNqxIg>kz1S?HF1Xn>I*k(Iu zE8pnv_cfbENrvTz)NRwSlXGR11#D8h><}N^A$vlL5|5Y}h z@2m2*ZDifib~w?{7WT&H>~FJ6mzH?$NS*Rw`X?Ff+9~B*(+gPW7u@?VdRNyguBps* z6)W3nU-$X(_T%?#1EfEigF?&K;F~MUeif*1DZQ{p5VH{rExlB7E{9FqzfjTZ4aT;* z#HH@^%f0PB`dWwo216y9U!7QbV9R@aT)g6%T*oGrX)-_h_C8CeaTTe0cr&v+G~Kvl z0nP%zYweJe9mXIz9`)*oJ@%)nq-sE3)oG)jf4Azlc>OV=A#~7UZi4~>2I21JW9lf! z(KIzXJvyB3`6%wttm{~Vq5TwYt2c)R033K*L2DCf*N!<;4Gx%0xzt$?vuWs%z<%Nh zma^;>Ll@Hu%5azDs_k&)*MQQdXwlPfc4xb^gX!D+kwPXCT9I|H#&1uzTp||dP8H0r z!T#N|3^CnQA*UYfi4x@ zJ<);IY?c@V4Ulpn@}hwbL*f0#MR(m%SKQIoa@3QewGI3Z@_7oRI%hsb>*FwHPnGxaKICLYE%Cdt6*?w}9r_M-RPDat(r33iGpBY}|);1=th@aGKOR zwVaJOt9)0e_#`Yhm;2sP^ZJgsP{wekPppDI_{dnNWun2DP9}!#&Cp~4+UeUCd#{3K zTU3>}$t|c;Pn0zN)8Kpee!Bi!n$5prH*WQRb#pe67VqXc)hrQ-#7$MQFa{23x=$+) zm7b?wAIJ716E|_~jzBoXBwid?t3e0zMX))BTvnI58!zo4v>5;auyfDk#YEobcJ`S4 z%fTo^9xq|!FEyHZpydKpul}Z8m=GOmK7gR+8`jn`Hj{#+i*%XTXj^(w5-0%^^_}@& zOSE5s;&y337hIsGm_zabw51KFcXmi(kg00mdXGf*38A>nU`xUxK1R) zDw2k@W6XInyfD}Bik$<23xQo;1+g;Ym%8K6fJ<)+W;QU@P`xiR+2}yNT4Fo&z=*6b zXr^{eVZS`;zHo$mTlfw~{h@IYJpF3bjppls_RQawBKIV|kkwqT+sRC94y)$Mw;#KR znQw%jZ4@+c#UpeuI$Y8vbH9>t-!rk(J|b0lcd0Y^U0%AuzLR`gyr8YxHrF6>SDewS z0=1)9m9J`vli&!-}2x0B9&|`bgdxJe}@) zxDbmCeLeW_xu(3MN^EbMez)LC0ot&iJjBdcc=lHFPejqLL_UIGPr%VL2o>W7a9$P_ z2X^>0Y>G>787a!s22M1L6aiMNr^Ccv$b37!%eke%zQb$_zn)QR3~wjh^%x$+x;}Ef zC*@!;`v0;0x<6}gkFcb3*FA3t!bb!48J0uklzU+2&s@#*HEZ`xZEqMSukiI`ueOIE z)?Gzpo{(uB=rP-MaZwLTt`yun{!!d~-0t=q+18spmv0~Ia=*TL^z==;X;U+7y%Azo zH!6%_`t59Azv*oCJxswA{2f%tH zcCLOI3HM2KNeMpNalZg~Dfew~hZZ_#SD<@R|MgMC0eQnZ5YhbL>wW@}$qAls{W1yy z@WF>c1as2U%zt-14@ce(i0u+cM#AWZtQD>Vclz48ER#cWOlR)qId;06+}ZQK3M*8W zBI-oBKIHT7(thZ+GoIgPc}`%_@r$qdPGM$)u-E1|3|LpZ=}N3(b_*?R^NJ1i^rY>% zYq4FAtoKL9*G9|HiEsVz0!#e<@j_4%0OU;{j&l5A80|#ud7$=0LEIl94zA>GZ|<+n z>YC?~I)~#N-``44JoQIg^^V)HMYrJ>t*#f(u7P}?MDJId-vXXmXRYr*=&w7`b9(qu z-5KWK^$4MrjSwL$bN;oi?mmXr!)yX-UQaftN+`QjP!Y+E)u+Pg*pBMDtqbC)7(ov~ zw2Oa>+4%*6=aJTc$RDZ3)#4g67zC2Ji&?4X6h>s7SC)X}iv2XH>&NUxWPV>5rYvXd zQr{MEB#RSJ@v9n4nqplf2ZvK#nz`I;TW!Zl2)T4hMz~XmM`X__jm?Oth&0sWl9zFGfJsLS!%a`8dRAuY ze8n7D{54u75@5%@6cW)0vJ+m~Q46}!q=u6#{ddikdd3%YHpIk2ONVRa-ThDzoz~lD zSkfIlB~MN*Jv|44Z^VXh1lec~FOY+&f0Q6F!fz z7wXg8Mm1HV6IZ0Cpt`|&icgx=Rqvc57VE#*m}m zoS%5kE%ts@B5N=Ys+U?kURJ|HU_sjA4o@D}nV}!4P0+*R1yd+fYZA>SzzWV8kdkTG z0%q*&mPm8aOrx|0L37%kPVa!uWFPa5sXgo|?O0GI@W{o zTuE0vAJ{^y1H?a<*oS2Bd?INlyzW5B@dcL$G^Oy^T4ZH^gJRP(s!;}sv`&tY+G$l& z5a^Q)PvhSwCt&OMqg!D|Q^Jw}f+@D)FXOza3z!IM0Sb!eiHB`d64!~Hsj9`G~WBm@M4Qd zlJWkUmb5*N4XzIk#_i$Q=JYRtQuc5G0w1 z2#5x>i5@8p#VWs8wwF)lHD@~#5ss>?Av{{t1LVvKw2hwYhWS$rwTgpbG4*|%a{9A!_zS=mYB40s+OZ7vk1XYp+pgJ zPX!`dmcZ+^0z|r$0;R!CIi=!E_aHix_MK2BQNa-ci$%ad8Q!vNBFFWyCLT^3rpflaw_5f zYgs(bZ{+8$2RMka@PSBmQV3&!It$gyk%Ha@3;HxMVzDy>X$8W0Md>GvnS84V2D3qB z(2~)F|5;&Zuq{xKs`ya>&Ix9S5U8y*5+oPK=zGO1#M1bQm4Y57`UlgH`KzXiH;KYQ z;Bh2zKXPHgI4*j%@X~SgL!$%;_5)yOD#;D6kVm0J^nxd8)yfc~Fs&Q{`?xVUAYk{J zegh1Mk_wtz>Fi58R>4Yo>kaBhVoM*zk08$Vu|rr6myX3I5on0)p@myU@l*~fg~JNLF@~Zd!r)1rcQVN7Vv^3QKcCk3Lp3rV}XO za86&8Gl0r0ffjR*up!<9E+QGNH*J`hjd&t0p3unbr%38s$5F>f;T4LtTVR@%Ay$U} z=gTlTq^iMp{(|Z&vm>)Lqd@@gtvYokx z=@wK1>J%B+G5>Gt;ym=gkwg{16d_M)LnTRu^f#!#!c~5-`Af_~Jkg&D!2VC2C4LQ{ zo(VvYNgmh;U;!RT>kBcn(Au-MtB=`0N)nauj}Q$2QuCj=Ei$iS>w@NQ+7w>^hyp;W zAAwhXATR@H-K?`wnAN_Oz6*c&tQ{?OPYBI$Izb8%BV&mt=xKt4tx>X|za-Ef@nBPV zj5`Bnnpq6iut(q}f6+Gb*9!2y2MK}z0L0;@BA~7^d+G7v13LU2HJ52Pwh>xi9Un}b zmI~04YuhmdA*fFDVQ@Nfj|06Po>YE&ywjbW_-g7>Zl)?|I(9x$r($ll>VQD(iTm!&$R^GAkAO`Cc|^_j`M)fG^u)E7$w{;;JY2aTU7*FT*)qw%gIM>8=0e=%C~G z*>d|6-DYU?#@qRm+SeF<9Sip*#_@pSI_C{;3vnU$=!kP z^Mu^)K;q=!x50{j?hW0iddJK4op$4W&tvdv@%zuQzdyXAIri?-iIZoPNi;8)IIrdQ zmvkR*c$X0jjS2!5Td0tG@$lnXcQYxXqxTRGSlVuKx)*b(3?>Ru3t>b7FD+u|tG!BW zm5s3Oi)GO9x$+kYQC5z&7^vdW3`D}o?U>CUUgxRjKeY(=HSA4jXx@d zWj`VPQa5_tW$d$0W+>^|?tELn9@$kWu_!_jP@|B$ZLPoMY#GTivNFmyV%3av6u&*U zQm(_Y7mo9Lny9aNNV!Pfr@NY^+nLASacMe~ps>kC=W#(411TF(sv*8R0CG&Gg0ZO& zYNzz=IH=gOb&oe(woi(~dKGSR#rWE12^>;vVaD5HQQXV_7*(S1$wmit5ye3)8s&Fs z$dCfY_PCD-6^lF%0OFH!_nOV-B69hGOtCbmdmXxMo6<54`w|Eg+dZ-Nd4b|88y)LE z*7qFWH>FW6b4V&X`DmO67PhuRM2&APD~KKFd9L)o&3%nAb**y#S)Iaei+ zN@mr-wb?*WWp9j?pmjyixlBc26^RNVN+oF5kI?h3Byj&uXR-n&W20c+7-VE34$DR? z1SxyfAR8u?8%~!cD$!DJ>Tpl`FoF_0dU9tH@y{j}g-}EbSwdgBv7f0W9}jm=UJNe* z?5(&BoDerWHb^31DGs|jnidr>S)cGP<`A`@k-cyvP=w)NdR&RdAQC6-5!_vTvpk?D z6f_Z$%H6{n`(8F%P~6~PDqq235RSXz+0l5gKK%}0vVWN|*@l*|aTUoxQpDk48vBo3 z_loMH)7`h0606Uq{SdF=2>V8b0bxSi_;`R^z~US+Yv=}kkkvS&>2NNSa##~pEa>XBWUTDI=s37zPi?l{W}pliXVKJTlB>3J0`EbcmslI+1&G`N-myZ`IiXJ?0`I z-?R|1BMV*R;tEIWE|TCT;oEYwV}!VX#wDUy>>jTlocMA0MR>zeXQB3=_Z#__APpPt zYq-aJ%#gUm(jxzssL~OwaIi~?N8b{?dRC{Rrq{r(F+T#(UN~^2IMA)(lac1+F~;tst4Dk`i^ervk0o;sUIu0*pEiL+H2$`e6*MJ+{ou^V1G z_kJ$Oh!PnzHz@Qkgi!^+`&NV2kpV3nFgas8Ggfw`Y7#5&)z)FcDdCVHzK73bY=ePs_Ef6g7|1 zyn575CbWtv2B1;R@kLqI66Z;w*&G1?WtEx4)}D z3+s*>+8=G(JZwouE@6v{L}(w2`F9`#Y!&H>BATIAMk$Vh9LYX)(zHl&>NO<(FkUCh ze;6-MHM*`aD^VTk49F-dmQ-)Wnj+`FoP(i=wx6^_Q8hD2?LD;SPnV%mR%}F^q}MSe z2HD94k!nr^&v?**%voJwTW)JA_m(Tam9;wO_u;$*Q6X^2fv++@oqGo1zy?PLLpUK~xxYyU;kawT&87DqBY z^9HMZ-KTaEG&_peR1}BHKlaHEO61aCnKCu9+8E$oo0F9Aix@N&#pC+NT&MhNnPBK~ z9HfoWC4FmYn1cd5bkes5$NwtMH7eyg+dykdK$GpSEQ*#`P;A>)rpc)PFrJg5o-H@k z82RlKTti?yg+AV?%M2#PMb^LAz$TjO#_WnVmBp*-5_AL4j|U5yRGqh&r}ChMCx(Sk zG{`Kgtkbld^@r1b77{o97_ls9#c=!?czo+E2MF3|I^x3s4%q4dFmx4KT{L=^y1yD*nk7 zmi{ky2*)`RcB4C0f|_+}Tz@{klbR!n676N*7X~eakp+7{#z6$p zgmgLUzOxXx3skHxb)F{!I|7!Sh)qWQU_{RY$wZc>$z7v*Oc+`d;s3J4k+4<}?=8(6 z2GUhae0?`tZDL*UKYke?7qT$K`HeT8*MGm`SlUNlU%Vpi65NYu|HEv?*He9@>yW_T zRI5i5Umk47gL_HZ?Y|A5$3A$VttyqUa|$bw8YO}|h7VN3?uM~9=F`Vp z;P3o&*L$wEzbBnjzj~Y#*q)8H*M9CM_5FP9i+-ib=6rf{)_qiS`}O=mmy1tx{Gr=x zS+yv)p}IvbU1-DYq3KNK>oRU0({mqrb9Jb*IA759KqmATbVs?i`+lBP3A??uReb>D z#$iA5mr@S1rE7RkYKNArXcJ^9n=NInj_W+`(2~!0r|yU;ZLCe^qie?8uCH~>?~aeJ zDpVc=??5Iy^>6k|r096lohwWK!3j5x-#t0|riZE;TqkqtUMEUUSDeq+IX6O_N2!w@ z6BbG!?Elhm#6_2Np9@;y+G-Im>{Q*u-MnE`)2%o>gxpK=c zv;F8s-_n-r!a+NBgNO<%lbOfPPr8;qH{kHW-!4~soIm_*eW5k&6=5*k)}6Q3upI?R zEYIE_eof529OHj~aaK^{BD5m1Ry=6P%~48ONZ%s9AE#cvhZv=6p?`hUj27lf-sID* z()WRP#4MY*s0LUssvsP1-uvplPjAguhn&v4^kzn(F4VA@tMPSI$?~_Ek%qxgo~No1 zAYuk(nm!+lOPw78Ki3qS@;)_mbw+0Wc;r>lXblpnqX~$aQrB~m)o+?fQE-7Bw0Vrj z<{Ba2c639>E;Wk?!iLqbfDsF8sb$f8PHcC0FfO6eclSy+IE5c{)g*XyI(K&EU zidFTlJE-(jr+8-4)#;%%9D4q#OP8-GB(k7vRt5wW!;LhlnXMu!?xD{t%tEt-Rr}%u zZuu*!gE@kbr?%BGa7}J6H)v{EyaI@35CFttpP+T- zEg>;T!!M29$pXV{^sC8&J&OZG0k-y;u%Kt>+f}U+E%4pCp~kv$dk3&{w zX^!HMM7zCGEAM%9=KRci!GLq6V+GnTWdNIhvr+3kfW9BCP-cE$VE_d<2)8jY8#32* z5NnPV!UT1LAZ&003cTR}la^STW;W@TuK%S(7QWWwa&e z^Pl-Bsw`w*B70VFJ>?@bxNOm+FW)(GI{VAd;$JgpGuTTW+6d@lVDsMOmk|IU06-Z< zeL7Js7I-W0-#seM7)|?SUE!X=gqaH6oOrVId0>8+FPi7H>(7sEbl=yGV_t*S_Sfti zJ8~pyN2$4r6_z*y>14jokDhy6_?L&xt1fQ?x$EznKf1oBUlQYTzV}h^Ftyt}Lz!>i zo4Pt5w|_R@Y-_%*i=VAeQ+qz!9GCA~UZ17-zV^PWYu<7P_A-0kJ>jnmeRI7Z+FaMK zdxpPfH#~V>#=oz&y`Nu#Ho1nsHz#f1d5oW@bZ2*C-_{s&{&=O8dtS?~yW9&)fjkgU z0{cGvXt|^mt$N&b7Q;_sG1JvUy&dK286TyT9pl zIoTF6cBncL4?s<32V!27#oPw7>PIN5nQPm`b#~DYvQkkNxP11OSH%0U|7v?rEiIJE ze8c+yL7apAQc*+DgjPY#gK|o#ABm8#NOI@b%D5)unK*VM&}XqyQ4)~7I2fozJvh#g za=~Gg9qadkVYB1g*0 zhmFt(!fZW{+Sum$QUZZM^TNb+in6E8Z!sG0f%(b=J|(qMSJ$=Uo=0c6f0(EWc#s`} zVBF>GExFMHzcypIMz3;HK%RPD!0P-%g-m4v_WL9Ur7AX#HdxBlM;rX;J44J#5MlqZ zPrzze{@hnYa$a+CoCyB4v&OkNUaBx%gRO``7G2b!q86&_1fE=SX4cEYdb2~BR^a$g zaev0XlRj#*M=8O}1*2eS4sPQ}*Nb%ubj>x!xpmmYMAxoTEa$6~ok|*lrjtrY+-az| zYe@h!px-sX_AukH;4}AAQ118C3P!D_f-(ZEdGWbdSC^s}R6d>0$@Y}gN^kJN>od%U zf8h3Ii^69Uc*Qc5!E9CgwNZky7u{!3v7-*)d1s(ke}|}7vx|_{C*V11FlgPLINq-4 zhxi?&M)tUqPKu9}9hQud%*>)szB>2ZHhAozoM0^F?qrizI3E$@DMnG-Eq; z3~bxTDxIwpEpA&6x=ezpdr zTv1krRi&AB%0_*bLzkPvcsP6aQB-hWl+QV8x@I}QH-+x0tZOGoI zK}_8?RHanWmp1Z82HSk1L)PD(&}{xz6Xe-pVJn^abf~gz zHS73Pfs<*wBx1kTWVghlD&~T!FsO)xBCbD+@6M`r3~vr{$EhxWuFUOHMzPtQ_+VF+ zsz8S_Fv~@L-2}aaI<`yLQ~Gpngkhh9nqX_qm-;|gHK=HWI^=^nd*}AF(`6XyCTX`6 zIC;Epk39}yyxmu$snVegOWJytTLXTV957J)@+gpS7o# z>&eZZ-pnHjeLX?*0NNrsZitj6pW_W)tV6wr83a5uI!yACuCB)IE(6{d;)u7V2@M%-k#Ki=x}UK5zwgU}k``ZE^y}{W#>qkMFF4y! zw5~Tcdn^rmHwFER&NF2h7PE8v_Pg+OB{PeYiiFFe{oR^u*qV-mD}z|uy(XvR4GeeL$Eha5i}=*Ns;wcO|ZwT`Rymw(XE z2A+Yo1{g2{3kaU5d?~uCtwkaH#9pxzgXa68*Xm4n8a1Va1Oon9tHe32Fg;yzJ zWrDRWX;-wb72u0D^RT<#hwm)(aQGZUzbl?UZDaTu2=neroap+!2EJs-I^W&qa4CnV z`?_%bHCUhbrGMkhYu*Gm{y7Y#xl&L|*tA-9_NEh-x31I~EFax?$3>;F?fW=Xyea2K z#sgDfKwS&Xu!nH=uL0u`zw1fF`!2CFI$HvC<3sW^Xjs3|%2-)&hu!C${QCLptyHS| zY+ZX@X4wNfvC8LQHsRrOsY;Xe?7OL^& zx&5296b_(|SbRn`X)h^U`diasA-X zN=a=^&IF z+r;dIZ)R*sKL}uEm82_{@o77xyRU#g@2(a8iq?nnAb0gcbvg2;EokavsjT%>W9jPc ziaNHlu&PL^y?{F)Y5_i?%1gCV1;AkuIs}@fWhKtf0aakM8L{okM$&&|;?%VWmPMce z5Y7>-tP60N1{H=M6vZ)eH)lwA)ZGcEX(^Cq~R;Ha;arg1bQJ5q}s_t82jLL}JNiB^+FuwYq< z{bf}HG$+I{`)f$(~!oxWI6EGAgn-udRDD`PG6)Q;)O0B z&+b2mDf{)bitl`BGRVn{s7BO*CZ!*d=SMfRSeF5ADXf>>_!S>nzbs6V;RBz@&xX~> z;~eaBMJ5~@iT?t=X~fF^pd=tCHpS%_$0jRItfE>niY!Gi)M7Z)!Fdk#%aqvK$7(g|xrJ#(tf_GMEpDzrt&28=`= zNtdjhsCZ@K^ArR$bLVQfKL!=q(3r}=yErI?nqlF9#DCjh4%*w_d^lfOOAsxRsGbkL z=}{y*+M5s~mV$Ie2x}qRvfpaSqAUP4J$5T9iOaNfi!?KSkB4jc{IUP#v}MEBwU$47 z)`*+sYhO$=we&6`he%wOP(O@S#i<+J1yEhhYHJl+ni4dXqICeoPCFvQr7n&5$`~?* zvfYgPXw`-q_1l|n$_VYLhd2U7SM0qxc+6*Xm9jrjSH`vJZ!MD%!0V*dhNdcOIC7F1 zlsHSWrEq9SS`~F07F)b9zh$bl1>P!L3nYorpj@?315+qM!tg~~_PZfmy2(mX0fO4t ze@XP-oLE=CQzPXAg>eNOPT9slJ4EmsSkM7gU9>mIDM{+=0S2%!Fx&MW zj$IDTKNE*5>;}2#KyKgFSi%gD5DSnU={Isik}pusb5x3?)??`+Ftdg;d1lOwe=Q5p zeUn*rDc#}aB=m;mISIz1BYpz{0s#_b{;m2$R9|5lTnIB| zzP88V5`>E%0^&+QL|MQItWG2_Uc1)q(AzIG^K#krpjQ!^L^q8 zi|@(u(YHCr?G& zYA%+2F(#tOc}h+1T;nurO4;^rGO}%ZVwv;(v2N#RNe%uPx#d#J~mre)kyh;@#RlN3_FEnvHWyf z&0T**o7`=oAjgYx{fMQgO7`L?+vg~Nn5CeMKCR4gBAOTh0r3z(ht&${YmfY`F!)0!ds)tRAZ{4Ro zk@f2KCHkME!4h$kR=G{n?uSGgKdozo9FHiL|NOq{c7x~0QdXBiFv<~3-)Ra?ZnBRj zb+T|z^qFhs?zLdnFkqK_BCnheT`1HXF0%a1=2E9bQCFD4f_?nz{}V=NfN zsAkl5TMa6UMwQ*z(CKR3j(mMjdAnEip_!G+@%aAP;eMm@UPteYiKHbl88g1x1=&T` z&ysL7YU5g`T(hK~yb~qEtZJ2mgI%XGEsfmVBj|qD>q6B3>vxUMD9`Fgm3^@c3aphD zs|r#%KhD-^YHo*7c;uuCvC=Nhz|hOUGNWv5t<}7msBye&?rlnZoZumYkJTA5=t>Gw zf_;h%ilLP%oXP+nHaou-AZ~T?eD_Br{^?|vUDuJAZWiyX2sVyNKUy8GhKNJO$VvQd zrz#|q#=-1Po{wwmx$Hn4BkTCL$K~_?Wg>Fzt=ecEZM#^VONXel&Qud%8$9?{@>0<(04+=;QpwxrJim1dq<#!KmFF zGD|T2cA$s%x=+c>@pWEVFWz`F>9wLS^7x zNxX@-_=gBr6K76FE!>p6txtT?*)}NibD3NweO_PG>Rh$Ffz_!h5J&%6;!{jlxYzoA zRLkL_4a?E02wOF*%DEgse(8H7A55NTJ(wxZUV>38c`byx-!y~$BdiLxJSv%&kOeee z8hSD!>usmy#$oVQAtS9%_1p6u!i%}CjsoYmkpZ;9CAvkFSRaX|pR!4Y)E1b;O{?W@ zN3h0Y;aO}1e|NxsO0rz< za~x1LQ~}ENrW~#9=K@OmM}OXw6gypEIyR7nGrNG_WRXLH7at5*@qsxkZGP>{v}Wtl zQxey%>&BLl2h+*BDhE3B-Phu@ z+T=k7Q7d{CoP9S>_oD8SNl%#zFW42DhrUOGEc0VAG_7y{chpS&a-ozUNHuqwmp|bB z_Yc&TQpRWP;afUm6w=qd(5P)mo8|sP_k{z-eHZ2VqIt9TNb{QgK@rZYr7En-0HMGy zzRI$Dac;jGV!aK#nRHx1zQZM)b)3i4pHWLyT;*YFc-x0#C?l)_xo5M@Jb#_)xF3Qx zvi9l$%~6wSCY4Ly`Ncr`Cs?yb7#_t>v}4L^<{?R1B-0_5uLw}N!+i~NLxrjiHH~!BP-JVAc(hwe0P~8(DM`&?4CtJmrMM?t(7#;zY zz$j&5MX^>^S)_-K9mPnz|Ixy-4RMDkzkrzZS1<^Qp-V@V-V+cgy^p{&!SaB~3YFZzah25H1i z%;hKEK)aqbW`<1536D?Pd>p6I0;0Km%*wwm6J&ncwYT4 z>wMW}xU5r%!C&FU3Qy6ZZEjDB@5n{@n-7+HKvhU33iQGS>12WL=i==Q6A7TJy81sF z$yYBam4St{J}JmIt~sd%sW5vHzfq{6Ebn7|-=&Ds2!xhe_&kLaG$%@q-hDQJP_R&U z>R)$v?}dI&btN+6RZJrFMt;O4z*3?&lZW5I!X|~NTB_X!G`WPo z&hd;va~AN-0Ox;v+tn^%;>Y>m34hm7JJf{|1neDCq);A~s<6w$oSBO_!p#50ha>+L zt1Kqohf7PlRn5>JUnfCJ3`h!kWc!&2DYbuXXT70I@NS0|idL5{4!fhd&}ql&->O4ftfAsh81hW}{4mmmnRL4~Y(77l{7;=KtG5!z*4M~gpIWcCL z9*ccwqJ8CKN+me>>N{+LEYhqP4dDWfX#-uB32x~`u`^XX#{s4p=b=6*qFKuhWOp>h zwjLRXOF^-Vr8M?R1Kt8w!qV`#r-`yZ&=@`V%CWeN0Fv!%#%PAGvxTZCBxfNba3PW+ zS@xEt&aR(yB2G95TQT<63QsFXmS5|)7bWW1a{)mZBv-|)ugD1dU-T1}+v^8PhW|N{ z=u$kztpE%1aNqdvL{W*P^{Py?&IQd?f*`LQ9PENb)t1s2A69Rek!JYSM~oOKeP zqCF)@>rY`ZoFtw-_zrB^&;R*f3KHrbDY;_*x49Pm!t_8sPcDaiakwFyDxBKD$Msvk zQEGQHy_?^MWw-BJpXT;~&&?Ew4q@d0QO4-Ne3OHWxQwg{nk0KqM?4<^r zepXj1u@Le3VP81$;WxKletnbNAt&-3hy5Q6Wf3IDbCIot)fyj<>~#Oq@$XvZII-?!_#vf_`U{f*D8=)-VnzwkDE zE`hx8oOvy9;ug zcbBtn?>b@cJNAPU1yUkx#<(F|cUM|_5pfSP8#9x3OZums-reKX{r=WY%!+Hb!WjP< z)<2$eRNUL1g1>yVF0%p<2wKg*9{o0AS%6K1T1o2c2u3&{lXeQ}b#|IVfc1`QQ)OCJ zA`!3uDr>(dKcqozZa?v+b{me_ohEUU^5pJ^n&|+V>7$;%83YzijefIT|8$mr<{0#X zGVUA1M4_<47azS7zVGe#UHpW97n{_5ibb(>b{(8_4mqs)!+a0emCQuQJwxCp={j_L zyMfEOe7F><2MOIQ*hr##DPKcsul4us3nn=)G#Nw(Sc`r$3w8$4s^ci z@8}6Xv%>)%$So8U+|{hbar0k!6#aP7n!H`sevf(kGehA3z~hJ))(s;$PE0hWgd&T?Mj+;P%7^x}ztUCXmfeXjmjbnL zKuAbESg1hO1g%i=TRe-SaIV|a;WePAeV{dgm2Nhr=$}|xu4=C7$%Bds@2?UGXRpUc ze>F{pMChk`4_37~|PRq_U*>KJ{1zW&-I!Sbu;1(e8-uSAWC}2cjNY4N|39)il3Z7_vK;CzLnhME+~>W#3B_F{oST6;kNa z#hc6V6_^~K93zxqIMrxx&&bdK^g0_SKizw$OmDBZ%Z|Q@8sXyvwE1PiDhtI@?^zi1 za6I}2KQC05AEKVgbYhO*6F!}JYogqdx^rTv+C{EI38Ld|oiugq6yO)5T<9=^(c}S4MTt6IfN#>`S%g+*@k4>BNoEz|>La=ZA?po8jPq(oCB>&*Lo*Ym1fggGKg+HRG8En(Z>&2&-6GGdupATJBJb7m`*Swf6 zPZ|epA9V$Ks#qN_3e-vC!OYM0b6^-$u?VoRXuPsy?ltzGs_eBqM)p+@?&;1s*Ds=w zz*^@gW#}2VJlvaWWCcEQ3BvweGTOhfv(CNGVqWzsiVD=jff!3h$Ehp)3Np*}Uhp49 zg%NloyvX8g%hCX>(Yxxtmn^&n?Cpkzd@S{yeBr`-N8ER044~{dvS7M!&u0J$((KyD zOw-sHM|Oztl;4Xb|7D!;-Z666=V~2l862)HCjSU0cuL(|Al@!Y6BO=|_-#wSmv36B zKMk#3Bb&A^{Clm(H9clwH!l%>#8_7i{=8X^Lh(0J%Tu;7h?Mn#3U znYZQ+k+dkFW6EXMz~QF6jJnEmjD1vc<0R+ky;-V6^O|aZ^I?+5144%(|}!LZ$9j)XEJOW&edGtF-gvg(3*&Nl~{p=%c(S zyndAE_=RlUWq4~6`V6%0#R>=3Akae}9%3t>oBlu>S8AV*EM-t&7Lh4dSlH%N0r zi~Uup3M@+lYe^pyK5^|Kni@@~_xBj`e{^gto*`b-%_A^pdOU!|Dy&)q+3#u9cHo{g za*1!`?WNZrKv@O~92LL9@(hUD@O?)6gw@8{1A3CkzUX8z%dNstTaIcXtMGkGIAin{ zk@yxttQZ2+XBi+rzHx&o?7Qgwh*%7i5W#=<@S!x+wiNb9%nBxruao``M-d+(!Ase| z2^X`?FjI^7P}(rZ-@iqJPx-O{HCU8XW+9jT8ZCKVIl0=Nm+I6SX!zzY!`q1P43~wl znO2O1FB&hyoS;>&hL8-AWDw%?2$ncTF_EcC|b4o z1TCM>!>)fx`2YOsJLoWYw_aWiz|@~mM8XG5R>;0>kJR4(XCoZ(2Y$R#&BwTB{+Xmn zzImjakk7*Rzh_f8al$p|>H#dZc#W!xj%X=GRCCDO|Uuh#bg$ z^u>F&KXmylt$&;yQ`5l1ozP6J?o8&_PmN#y11vN6mN2I@dVv9Fs^F!=3*OZaTl_VQ zCPL%Zmsh02fhXg1dUiYNNZ+KMb%aE#bz1@j;b4PDO9PW_iVnsz-Ctrp9Z#?ShnTaU zV^vtppWO`9wY6Em#@tA#aIaeJ5xdT#Bj#=Q0v5`Oc$;RzXSHB49bUWO3a9IN?mLp4PREia1 zDGYOgv`y8SZ#F%1sEWWPi_XGT{f!>HUhbC84)dv2i&uS64zQ9KBWv3X(r@VXX71JW zp16hUR|~aK&q{IE2%-Jbfe6okX#)%+UScvr{*i-*BZw~1g6{HR3$N>JQ8DM(4&I~y zKlTOVL>D{1Ze{N~*lUYrH}PX4hwatm-(J-m1)eINriwXhq<Xg`Fl0Ix9Qi_%eed zdP6WGYZ2tkSZ4qHn)$Z=<`r)<5puYT$O^w-ZDK{gWQ$!gjI;ak#VUJ-jiWF zm7&Vsp0VM+fx({r&Iwbx+X_nRKt)~mZ0CT9yj@>X^d^Q5rc`7w!%jkM9_o?bq=qsq z*U{94DaaD6tFuXLCge-IG#Z7%t4prnh$GjTw&~WXd{(xS)oQDp>tpTl{ zA1;DuT0f_&E&N1R0AZ z%{6Rti=Tz4PgF{Pf-x3{jN?U z%B1@6vTYqLffX%h>W9W0$X-LYpz*Di`fPW1<`6h>rT1_GMc6Ku6S1Oz1gDHx6CQWX z!)61$1xoz{yEmU}0vmV*xichzeM6FfOdM>Q5OD)!(=lDb^di2ezv<}?PwhDUDm^KF z-n*U=bhdSzM83^PF3Hgu^X8Rg#0Wdt7(_I5Q1)wX@()}_W*!cgA6l_+eXgY^NKLr8 z9Rs6dLk88xJAWOfX{D0e3Cpxp`CSc(Ub66J7&#!{#(2S;vrvzOBJ@*)1w|KF&n?>J z5;_zdkWLgg%F=T*GxnGqpN*`=+1U)sVoo0cCs03b+sKil z;&RYXt@>?etpj%#uONKLKKldRmll!Q1mZ9EC~U*|ljN80hWtEPdUWybXlZ8Q)lwj> zD$=Ta9=6}*xL%)IUN`yVy480~dUm|vd_CMip)fp`{d6@`iH>%KaEzL{qS?ZKZ`eJf z?LhuaH}N%Xb>#Kg4>VVj`jJl9(~?R%A4de1{pc!Q$_+&5RYjK39F!Kf{z;Oee}xXH z*p-7*M*wAIdCG8uTEBv~U@r3psF28qM{CAcyoadD`<@#hNWnkU&Y#)7dj@r()$@y+ zj(Sd=O<@wFs(!G)lR%?u6qCEC1FCDhutEs!Y#4oMpWF83?|eIGt~SL_!yXo#b=(YP z#vs55-5`0~9rugE`2kY}uNtvPE_J-ZOVR2Xue()OoM>efzukouk|y70q57WOuw)bW zq6@Tb+-pabG!eHRXSy?Jk^%^(@~5TiEf65Yt!y_mMo} z-6wHxmSvR)a;%ex{J_{`g2@rZLQDC$*kPs&y3Y!ba#M~vlMn`NC~I2Tx_8wqq6*}ze) z*kl6#_(WH+_9s21rf_s^Cf()!)84pACqpaOG-saed}xC~eYBdCB=cvUW1j9rboEx5 zO+L>|NEpm!lwvbCGSaZQ-vX&PW%Edg_a>#}3G7}8g`gjoVV1X}fwf^l6 zawC}O*;zMQ*&N3wt~HBoVE%CI0kl5aHa%NHJaf&E1(fYXzOtq3v$NHK7mKUS>_z15 zS~%9vZPvvGS)-xF>G;z_C%w8qUs0S*8ydx9bE;=rosM#@7~k|u;8P-fdZh&7!;6IF zgb~l`M!|giT-H4+=Ncq%h~|C-gr{Xmaf$=G5D!4LO$vHqy~*VjO2es&)S`mjiQq*@ zol24Z7Va4QJ=}0NbHbH;m>4gc4CpKqGvvy8kzORwCO1DUz9RiBPK%T37lanWQYH%l z^J9Jaqag66#c-@9&!XjWH(;JX6j=PIAW}N0`JYx=M z5vC(YP--4c5jFJ;EA?#r?%?Ra$k3SmUjDKDb0Egf(ox~C1TP3Q1?uVCK>%44)vB6r zlKIPJY>lnOVMj4Z*6MlrF^l`l?QQD=(^_Q{C7tIkaMlHe^SEab1ax5M9x@91a$ zVQiUBvOR7^5VtuaKsF~L){0rIMd{9cwOy2+JI~~)(f3+A2gn#FKyngug z{*q3RWX}W3t8eWM=zP}qtd<1~QtpQZg^|5QsICEAFCiXr zku+Nqxo!=5&S(3}pW)y8t-j?KjXIy=dh4y9^r7zx|KwOd;s^9{RQahl6pGBDrHa@w zU2voM&TeFQha5pUgk-|eU>(6!W(bWsDMjiMM*2QRsu(s^_L2j;WO(d@DC?=h1c5Bj zq$mSmE(9uwEJ2p?_p@p6VtTexQ3}6L{qPQKyBa@;<_-{1vF#875J&tnMe`+jk6DU| z0fwZa7^co!3YCcx^3!p(r3vO?!qdb#EOKAhj$O`>Lqk)7y zjCVy4@->4J`JiU@2Es`ci2OC|&1CNCf`|_bQid}W9PtA$Xau^x>nzfkDWDDJ(yJe+ zbr#~3A{MmUK2@19HQdN?B2XlIG~pEIX;D|4@!fb@5GHr z4p9S$0VT*G{zt|4t#?I5Vb+iUA=UEkz|Z^@QqK4tNDUEoT=OtUVkAP-m%!keIT8-F#G!9pq#f5uH`0Imr3CjEhYeOWD#6)giiBA;Dm^g-PVH>8YEk=+b zkrfplrhXPEP{JL@x5m%QV#2Z^M$Ia7NS`>M?^>Nk z@`rsHu>t6GnhGZbB6Jqn657Mo;FT7vz;~squrozO*vBAUfJ#V=m*z))9TfvKvyaw5 z_#_CO#bF;rK`u1K`okRUm!+XL!oo%%roCSw`JcC+5QzV)!v|9G?g)v33Hu2l!BGtl zp$x*Ma@D5%w!kDEb_S4wlg6@ft>Sm|Ye-SEl(mYMR(q|dq_)&F{C2>Q95M!q`b!BR zkYE!~7o+le3B}wjVldIljLapealw5g z(K0t(-PONk=M400Q2y)JrOFFfk`^TN2%j}KmX=gg5V#2t`Suu&WQa%vYmN}vfTW14 zR4_%aBMGHN87DmIf7N>qB{h7Vwpn;qVA70#MJT>Xw8)PNb;%fFa3qJ2fnTswV|ae0 zL3vadgq`^e@a-#k4l}_$k%)v)K-Snm^(;VS!a!ikK;`n_9^Ghv%Ew!)21HhDh(tma z;!3DQNBh=Z-~xgE4Ssa0egXwef8Stc3jl+$kJ|84h8d|@cLmSdX-~hem^Cip*pUR^g@OolQfXvjOWybo5-hX)$Edh55x55Aj?UA zLfi!c!UC#@2VvkYm1L!)q#~-4W>50tNSFJBX_Dv_!?Ok?pN%!1Ia?P-5!P~PtPKG< zJ-%EbZfu zYUD~34^HfAV+RdG~L0p{puauqVOGY!a37PB<9#PY+s4kw?1 zd~ndqQ4*WFz1HQwmlrce(GXY$lsI<0;>%1KnVsDLrb}=?+X>sK(BNw}K)zV#ZCnR5rH5=0dNf(*lzq}`VWb%2zU!OoDY53S$9GNRAKsTE!j0m%~} zl@NMPjyVJ9dV?{WGbgAG6yGt7ct)Bb3Z9-4GU*~pf>6qE7SuDKnzbnv?f}oSM%50 z_M--Sk^y6nqq3iAKU}!`pW0cf17@~*- zSdd>#9Do>W&QOE{{ln`J5h9{XqSF@|HSEQb3|N5>nUtuE4SnA6X8icjssCR+Uo!W= z?5swunLkBDwI87fF&P+6YBmP>3>sIPhaPr+qjj;ECDotip{zMMQ%A0qd7m~@!Am3r zQ$ymII{K{LLbB&Sw>KQ*v~H}pQh!~vR%iixXZ>ixoS#yC=pflshIv7;iSU|$v?_hK zHyhcD+-sp3aEpb(2of!>L8}T`?jJSsNz|k&Z$!)M{aRhZHr7>E@9s)#t=%5)*0)SW zob}|X`+x7cPXymmKAQPGT8LP~OVmv=Qc$|@LKcSqIbS|rMt6n5AZw()4!5dfF@NxE z#MUh=ztCuNpN}>*boY;4;XHK)`FvHA4h_fj(Zp2g57aP=2w{HH{{My^67yNn5Ei_k z>5AB!;Z~nKj_`RjspYCJp?rp6bXm_u?FhO}wFVy=Lb&p~H>+Yr_I)3a7pM2Kx8CG@ zFYNV=1D7{fp!$}1oR?7AZ`L_49)u_6pr}8TyW(m5vs~)~_A-jZ?b%@Ks=~E8MjqVg zA8?p=pAHu79ie@3O75cw1hF5p9j}mXLnHqYrE@Qn#l-R8pv>ROp1%zE0^`M4>s4O5 za3^pdr{sH1XTm)fw^uxKd#l;LzL?$~44U&hI&9acmpm06TuAj#u2;I+e6}K} zqPyxUDvg(vX@J#V6-A+}1xH@{VwhDni9)3FL?VC>i zJm{12sFouNm{0NBkh`d{dBowP-o4C?&Q5!}Npn1AZs=>!y7ruCckRaJA>#MO>K0NH zI2?KTs|id`@c8rvyyfI<%fBvPe`np5#TBh)wF1I3wDX?*De8Nu6GM)!`f+}h(#s_X zyKb$U*)DzN-OApwZ)|Dwp&JE9sHgj}+WEQZ>fq^+OM~@3^6BV&)zLohn!Ut&+1Xh& z_{hG1EzGxxqiVeNv*o_K8}Gy6A5rI{R5oYwOR{Cjgv&gn@!{uwA0L4*A-K#Z%_sSw zz-&a$%nrqaOrNc2)3(>G)g=aD{p7~uVyhwCdG^1x4?Ke)xCcHiw;>&lF%ORGP5O^^ z)@&$_*S4e8CXU{Bt^Aiqd&0^T5(V#E)XxaqjCs4D$Zm*}5;EX9?tp{2Jm9%~!Pig$ z56!sVV9nE%##bsVOeGkVN+smm`b9YXp}8XbNefCwm3Fax@n7IqcoMvUzr4qRPo{g9lYUyv-L4 zkzET@J!i|q!tdj{2lDi`t2NU80%*wIBwOETg*!$wtQaLDn2L6dv=s=H)RIQ z8Qp$bFRSI3ea_3xwO06_IIr%s)oT4C;K~X*1XR%+(?!#p;C|$oqO9RqN@iQG0Ve zMQ%M}Jlp8l-}cm9oZF0=1$K_2jIZgS8=5)brBceXIbET*gyOU#8P_gYc5qW{{)-z2 zjot5lUGR))2S?#sz^|*lE8c?e$zF7gura0QjnSRd?Zr`Xj#;X@+uVf?bdB9$|NHL> z{-<*!KS6fqwk^g@^spWsrC09~*=jV=uS_nkPS1hX8Lj~Lw6(8G2~BtzdmP-)_Vwc| z-Dx&FIhX#4)wP9VJ-x(D*UgfE(hGDLzTXbERMv+!>+PTTj~QqVY1WY&-us{Hkp}c@ z=NlU(i*>-B=Ida~*~%sz8;z?L8#^gED}fc~uIC3K$G$&D)N1;Nw0KRV2SMfkkwH1A zA)}y}O&$kF>dWTs27leoqo3uD#6iNX(ss3YLn@WWku}nX`F8##TqXex7IGz;hL6;7F!7{v` zRS7o1vM4dFo!Cr}Ot}X&>+3WDE6G2rYO+6|i3+)kD>*sZwaqY}Z$xiLz+Cx7MU)I@ zi~tX9f)$Bc7??*_ZBDlehY{@v@*4k^D^1$4Q$-Z#k7ULP@osr#4CYvAM%OTpVkv?0 zC6@%M2rK|s9LWmp8BkQfNMmX_#W3{~qa`+7)elT0l2k(E?;_UMLtoNG3WLyA)L*H? zWR@BzXnx-si|~xe=nou3i_swdF)~?Dki+W3SMD5(;{--T6itXY_@iA!0j-Gp7#^{d zN806%rU3bW4hoGl3ms zSdz8rWtR_8a$h<{kw$1iE|LUO5XV8m;u155bt{Oq4S--U-a=pbjl>06RQ%8js|pF@ zNa3`97#9+Vpk}-43-*(YM}q=ZBuq6#4>B~H5X2~yGG9>)6@DI_4 z4hX7?n2g_c>qkql4Xsl4eyK(VCL$CR66VC`Jo{>qE04J>_0@)7SR~0-v?k$yyf_Ko zeeNR=6G&~yN|?;c&Zl4Py)3UgxqwVW6iLB8LoW|)(!wGH4HcrNGfENh6!jbM*uo0H z+yn|GggDsL%SyN6({%MSyeT%4qrS4Q)W5pJ3C7#{tDZ_?N@S2w`M)hhNGvl)u&Y5L zYw?uIQnU?JNpJ{eI_6(`qb4}~F_q{Wrf3BaLR~u;2o3Eo-f?13>A(S7Aetv2S_)42 z2pQ-jg9wc)4fJx`sq4ZBD&%Xl^en`qLIE!jwJJL5?3F=sQmQYP%Y>~n*EC_!SBC&~ zi)d1S1>Yi)pyk_#gTa_!;bP;@#F-7Dj51lMKbh; z2q55oNg+gXWrB0~Z4S*!#_Aggt=8|S`#tvWh>12#PG;9|Gr?fZ@|~n}k>=f6n8kVY zuUI66N|_pI8N-flK$SF8uT2R{`!ywn!F|sS1B{C(nSfZ#@j#7OAA|)pU{dcZnn2R7 z*L38Dc4h(opSRAK`J?Vz>LN=Dm6gd-b)divDD>%++p$3)31>)&kRwy#oj~GTvNTZt zFkdOdQ}$klB~}9ZfP212ri3=o!W7puNuHYEUD6j!SZRcg{Gm2~^?NBE9SRtmGq(nn@ zcm@WvB|Ao?zvq_@1b%5xWPm}TA&MdifDj8KkCdScVv>98B#W5i!DDHhR|chu%Kr@h zJR$S5`;KTfK?5ol!b7AAL4~*MCU>EfkT_0w75(1jb?7ZWiL9WWdqhM~ARr)S;V-lt z1s##BUjaaQT<6_$%|W262#9hrJLv3YCbVJq_rc~?xLBNrq}{$?V?aP5Vt@#sEo?vZ zEC1fBm+>6lZO;K<;;R!k{CfG;AdNnXKH7ZT)SbS}*4T)pu1^t3jvu4~ijfE`Kq$4* zZegqn<~RtHsK9^yWNp%TL_};NC{MwGAc26Q$NjOgdI#`eBIB+WF4P__c{N!`Q8!7k z0$>oOT!dNy8&pgqKN3k+&&t+em5yz(?nD7|u2LwAn2_Awt5u`Ku4FU$n!*-+((GG5fvqa8nY z;zEAdQJU#p5iOdZP5&U^P1c1kG9AoyIN+@n!k=YkfA|P~<6HaexXr%2IZp02J*!#K z?*;Gn4f!xgf~0ck;Meh}`YWZJ%lB^0_D-)o-j{#lB2hMecfuE;I}NsHW*h`q6l+*e z>w=Qqa+HfQs#J5{9yVA;YGESk6Hg5$TD0MjmC#R9{g3!vq32EU{mqDGF-i(+R?UHWn1e1=a+zDM&UZtF~5wOM^awX*NK-apI(1;|M zeFfu0p;700a7Nhqh?uCh@;}fvjeKxSWjG%hlN>A~N1Qk3D>4Pa7)byVW?^Cr<2IhOk^4IQyHr8>Rln%Oa$fMIi;$RJ2-4id4g%;u@qG!!`f%H3jX3EDvHj+m2+npOjBqB=pjIn4M=- z&emarFj~W%;fjVS>x4r^sg%cL<#RoL+6C77KrgnW2ew!OqJyi4o55{f4s5jl@r7Ke zQgSi5mgC3LPsV^WzRU;}W7hlpJ|eSuN|jCyED2gQfH#~kCxJgz?hI~r$cb8)qCG3t zhg!Y5+eb@*8SP48EUdGbkEc~TKc5e2ulR*M7(ggs+om{6%h)n6L6@s#@WU{uPV}VBFHNp1m=bCfE)`~O z|Lst4$eHMhYA`|U2ta2x9*Cr6FC znP96b6`hUd6>(Np_c>Z6yFm^z*OK`Mgf}bEHhX8kJW%zmA-sBK4fr;#j3PA0mMfDV z3UW*eq3cBg3@wJ$e-cF6ai}&bv<@$PHotncZos-UND0h2@#wTB)~q?6wxhyUi(eS3 z@S*sEWb25K}&O)?Y^q%4^BOExtyE$rp0!y8EE)e6p7JvO;XshSBG{N_(WfY zzR+z7)k;npnNxK>@%H%qmX{EJhyU_=8Oif`*QL$*2`_U!6laOQ{hT)z39ST~zw6o& zctgHnhY8}7)qQ8*Z~rJY9EUU$S zmDcCCpU>I2iZ}*%pYHHW=1!-?dH9LLKQC)^m6y({-L%+yWpQTnj{EuU3!+HgSJ)wI zVVH;Ck&9udGsv&|bY{46HHYwV`smSZKmKQJ)<3uC-uKe=gtr0QaR7Nr#loo7UG#Z* z^r=Srkr-cL{!Dopx5(CC_@}*>=Ior#nenAMoy=DcH6jMsQH;vMp;xhPh~!>Kk?IB3 zC=&Iq#<7mu&sEbLre->Fqn%lYcgbMeQ6C(Yy%ouM4ARCscK9@2GFz3@(ITV^>?dEV z(3eX&twesvPyUom|GG~deGd2Fyb|m-c8awbR5I#L78X3~5f&^pW=ypqQGcOs;HDvW zb!l(Qu?EkI;igp|IO+zi$|d{TWvuCWP2FZG&Xr;K+VfIgI=#qcJ~bPOqYX&8l@jEU zKGu&d?_@HOg_yE@IoLz?hMMuohBFqjqBEsyx%F5LCMz zAQNSkJUv~iGsdwVtoiyyPoG!5i=pMEcwEs$Y7vGYW*G`u2&E{&AN=Bb67CTxL9{j6 zT4RI)qX3{!B*Cd!zlcKmCVH9W0mIuuXYefS-U~owG22D5HPVF;#|Ejk@M~-ZBf@&I zRsgj>(1;o-V92}61l24Ool;+#){&Q`^E(#OkWwT66qZXd@y=h?(Jft}4^)PM{3l2H zleyePo4@!3iJSn2^^FWAnPBoNgh=;wVa#_x2&0xvxES4V^@6wBtBd}zWIiVT&3iNYibN;C_ric0y6 zh@Y(ngV}E??&M%f*QbujASxJsA^VJRHh=iw}^n@cF1=m)uCE|*40D;S7}^D z>mqawB4jPa1{v^8SA$Qdhshv0TQJPFer*2nSldiIP=UYm!FvuuS9z3{3X(Cn!Vv*R z?juq%zW6RP;k?V4gx7slCV%K3N5cBb^EiD z=xUkYemtS|an(b>e(Yh4?caX60t+IIB$vAfBMTATpsulAYinQ;H583%`-V<`UNjJqiA zuzHPrWx=qJda%%~t{E9&%W#$U#Ei?LA{mX5G#)XRP=K&zQeMG^7LoGFF><1(DcUCU)cuMCYP$d{sRzJ)yZRVV9GellHB5DqGMkBe;HPsNnb< zX-aQ|*!(vk#ntf4^dgGX*4dsj6HKSV|cy-F)+ zMO#z;Lz^F>>D`o)XDh(XfIS{|^EpXj)TrZHNl-_RdY(P*HG&~jWH3~eLd={V73}ZN zKXXo+-2IPzl~5Z5_4`ZrPNt1f4j3#$wv+`bNv4c|q4GZ5sVbgpJ@g`wSz)fUX;P)>S_>adbfV<=caE|JV03J1z_?z*j+uXZCgs;F z5a|%YkxDZ2p9p6E5nbW-D`;@6#85>K2*XMw~ScIQ=v@ zdO=k8+IDq~V#m>a%EVn(OHjqs@WEcs)=leXBf0y|%CUpliB9!o-0{K8+58tQeIqw* z&ODIU-uKLle26@Mr8qylu^#r==gKHvR}cCju)e_Z&i)~Gr@U>yl^WaF z!|l~RMgQ+VGv{>6y1vph>&Du>gTE~C7$uEdYsd$!nyGgrIAKA^I>2Q zszKY!EU!UqcgM|#wq+vwaas>l+h8d`;oKNicYTdFkVV%PWmq5ck!H}cKo)}#)Nfe@ zJiMS@L>9%Pg2km+eA`#E5#c*4K}H-wiRdvD#(b-;F%&4hb_?we#D>5p^Q*y^?~SXE zMqsDKUL{Cx$rl5tzbp}b#WXSOYBx}W;+E&cPP2^)(FYUXkPiv&5&0 zNcbbUI5`s{TZ06URD1D?V0hLIqa$!gVmd*n=kKShh{oHA2PGv%<%_Fdf5D+vpD4=) z5~3w-5g$$qr17#&#<$UZ#pCGLQ)7usPq;+ctkf)GQMHOO3~a z!boO&S0F`GtZxpko*pp0{ABTD(GIic+MJLp%GV>E?>mT~@yvk_S(h`pWX# zY#94@MICnIz}xC7d^y^*Xa{db9rRRV*3-s*u>BzH+ye0YH$uh40xS;TV6Wm$g#xPT z+X7#4G-xakJ{b)`5XVBz(|q6fQ;?|uylL?>{fkEt9u0sx*P84OzSQgve_T90wT=X-gDiV@$ow%n#Y*^DIt7HMG8KF$|tg0APAMzlZ`0j_2>s z`r;l27*T9+Fbp4~=Fd!@FTel*U*7ARrltIhm2guLOe=d9g`FOb; z)Dha{In(oc=E7a1*l$OX_m0Z?z{4$Ot>ngv2arRapdc7of;aC=Sr^k+m1}v4IputR zUXM!WUo12}8nVosf{JUyY_TYId9swh zGIEw^X-TslT$$?JbG*15Pvs!S@oi=Qq5EmOu*s%CO#6^>lI7qS~V0 z$u&5x(-QmQIl_BFC#7fOYQ(o8t<-Kbxv%qw|1w?(Rw>lqRQqUkRM&q_DJ}l9eoHF( zUNW!9-PFR1{j=1;l(qRcIh9YY55+P!_i8}!ZFOHJ0<+2r1~hG|5k0XPe@oxc(ni+w z-)s|9GDS2xF>(Ihj`^q2N#DJZ%1PC*n|TC{@pOKP4{h+Q8Us~yzPH}04ia-h^X8nM zU5Z$LIp}o5b#(E+#=oJU>nLJTh{F3O8p+w_1*()=Mx{=4U{7b*AzHe^8n#PCKoC$L zL!7A+nebv>KPt?^BR+1mH3LS&I{ovNM5q=D81!O$LQ-3pB8mWLaCrEH7jgbro1OaA z%0x8HR*C^2Ax}o`n8sZMKts((0(Is8oJs4sLN6u{?$I6d1p@oM8TXO;YNBF=knaR< z*bYkvQ5h_$C!pVk!>INJe|z5>RhH-l0465B_}Q;!M&q__mLc`6qA?jmApcK)PsWrf z+I)Fv;J+%S6aLhYX1Sj9J%1c9?K&xlFi^x5WbA2huu&gVWRw8)rKxF+;Z%YoNdIY! z#^CY}rUD5*gDgB5sUap4_n&R`enzFk=nZiwXn{~Y{q+V7L|Qe5k*6HLk1ikiouj#EIJAInDhSJ6=NwP=lone zm(O&W*HrpFNW1Aj8X94|u9J)N!&)lreruCpzz4i|&wIkKhl{mLr? zIRmcVf&S0w09>c0>!7yd_r=7p3S0kob48|!H6q^THED);tSq^$+>~3)h>z7KyK``q zfb#%d6xI`=R3!O{TGGpa==ibQ&!qxrx9L; zX9_j0^5VAg_jiiof}z1(B~!*o?U@f#32BhN4$o3n+t*-}^M1wbV(_MO7M0CywW*J6 zL@#2_QD40R3yJpQe!b5rTN%ms(U8Oxt~fKk@BBsuPJ8-HxOK!sH;fV4$*d(86BmId znjN!H3>4A%PI@~Zhek4IFsi$9+%JlstdvC=qknAX+~NtXL8bmPH;N8H#e8;*JSczM zC+@NB=om!?RXnc8QvZM>*DK@;8g^sIk$#>Mz^jr8`|B2+LC zH0;9IE+aXOOazWvl0NNdt+UbgRF<&djT5Y|+Oi17KoL`Tp%?7?`k)2YBX=XWRa<*8 z^zcPE!6VsN#}yj=&-!^Zl5=~_e*o)y{d?0gmiN`vo=uk0)Lh3SL1>3u{-4$R;)JBa zh<$yX3i(3=o06sfhy2Zj>m!!16fQVmOk#hELA&a=0-1ts%U(?%FWGhb0!fyd1=L&Sm*F?rlK9bv?#n0Y`CMdNU8=5P87z7ceH_GffL%FJ( zhPwj4hGL@sB6;!BY)eLxolXVeKiWP<*J)Dj?snt##y(l>`m28)dX>9>&r^Szm~E{h z_#cjBbj2Ck@5q0{Aqw}kgj~hBZ|XdW_B5&|!GFg17Kgss z^mb8wvxgsWJRnF3EIU59Bl!J>#n|04MfcVX-}p>+Xb1ev-24os-Ho%(t&dN{ICPbC zZM?b7O!f9GZqwGH)eg;D;4(#!JQee%u&u);eeH>~&CaVw`Dv)!A`RhVwRBiq5epWl zItkt+IbN=IO(NN=p>e|UOh?pRsWa;q-hsmBNl#>4@eLMdI+EV0UZo#l0v;D&EP8Vo zgf{OskhmeC;s=G_1en06;ukccZhRQ&!`;+KG79^AS0$zkhRssP-HQDL;WNzxu3wOn zY$wNcu5g>a<)qP3(|Y~7{I|$G;G~xB8H~Q=&->iJKQbqutJl$$I==8-ZyW%Py1DT7 zyEFgp>~Jo{+dc8G$0|-wg`ZmudHG|PxcxYN_J0z?qSCenusCa1w%ng@binG}nyh=a zzhvpJ7x0w7c7)nam#&LmPM+aX5T7lyn)H28{no!}x*xqh`xQsR)x+NSV}>m?zm#z8 z&~z=A7{9l@B42A&%C^6~_Cj-&?|+~|+IwnMN_JwtW7}KsZ(5WJ{YvbeLkg*e{v(cBcpmv*IHwG{d9>fOXE|8_lqr*W> zbZUE|y)wDKj}MOH>+Ir>jw^fsll4gqx3u{VSY^l)rNei%b|yYQqNZRh3o zLSnZo2pg_?*!cF@!`JMmc=TTMIL^kIX!X{;sD&4jK-BMX^zYm?0~@`biU^;FD$wH94#y8~juvE| zXAtebqR_a+s}lnmgTZMh2l4zJWCj_KiP+1by-zxf_+!WZ zg@k((`!DK=6acA6Av_p`h(c;FA_K{vU9Zj<*IO3APs&A+NJh>+=~N@2kZ@!-5)h#Q z$*=tn)#evUrMiv=jOo69&%~K0k>xZ^E|4@qI?2vWo^h>dR>-_Omr`__$PDZ+x|&T8 zLOE0#qSII`&9x=j2O3vQUpNiHaxsB8SE^J^N`m}}TzGa`c_UG7Y5h%svA;E8M<`+- z2zXwkKx#mn89;qFOB)F=>I+Mf4>az9Uda%MgeuPD`LI${P+BbZ=3Gc%h{3I=#g)r=X@kHM&afP$= z#q9o=$6ew}s5VLMrdzdgIm6kSz@$LsXZt=eB}N)Znh}f-6oq!9!aUVqktnf6{T5&% zZ3bQ`sZI^|OJb^SLLjt0&J+OHLd*UV zGw^G=HY@O34n@X$|CR#Tp^H+X>&IOXm)HU{1ZKO(c>{r8IqTP>d4n!s`2kD3S8Z zIN?Jk(S46jrq1#8C>qkG?^2)TM~uY*rH~L~#DwG|^$kQ}oQ09;g6c~}5D(={b->l) z3Diu;*nQ<3G@Q7+?WL-o^5P0|j3B8_6%GvfRG)F?GC z`+cfyB=TDl_3&ID2_o4B!A2lYFmFO?w$YzMP9!o0g+!i&hw&4XhJ7GfG|eLJm4P_& zUARC-#|P8F1O}?H5-^kz<*KU0R*hO_gqw~et@BHUy#_~pw10_?OsQP0Btc>{d#X@A zPRm)qZ!`g6XpWB6Qn+4H3F^z&nK6b~qQg@YQ{ZL9h?)x*{|*gnBF-nCCue&K^yW(z z55HA$@}sMJrAhpFagU}s9qY7u@W{jR6guvCb9uk!*NNX)N>O2HQ3;yG%kmmGJPf1Ut8aLGi?;r%T;639Hu#I$I!OUzHFRB%0HDQKRaJOEGaME+wYE|)y6^11 zlI=?zMw1aLG_{}RKANphJ=c?mENDtaK>k|G~^Ky$hmX)@*f zS4WG%hX_Gb>MC1~fVFELWITk{bIf?^aa6(l;4pB1{1-K0riElA+rXez}Ur(fkSEm70_jJnl>oh5{pP6wyiBhU``eo zgo07Mc{ccGvA8Xv62FoF3XHGo^VAk`0Cs0wguvrAf`BPx)d6N1`962z z3W6aBsss>N%7qrMXS7E_BhL|Fr#n7T)ndy+N@c%8x?{snn(&FiyjQOEd-KaZ@lc`H z|Bm#$60FyHennv{>cSrYk=v{Jb#mqQL|8!meBaM`=b^y+KHPu<$aBgm6{iUkP4TMP zoF~ExQZRiB^c>x~^xN{69FwOJQ=(hZgsG5>H8Lc#}N%BT-Sz%_%NeiLT&I>Wi|-ev zg`n^OJpkW>p0|5caeAo9sQ>+v;%Qwkx6X;Hg+sf&sV2uJp3+uQuux`J!f1)VbyD|m z_VbV}Pf#RnkOTsSG3XE-DmjKUixw^-O^@$$g_=Wcd6Y-(Qo+mnu%irLHFG$!yJO_o z8R+AD_~~FXIV1Dlq^|dzvgy5*r|&~d{-b#h^wo&Z`)GW&b#KYZwY}8n`Qvln81wd9 zrAw|BA1}wV?RIoN=w#}|!quYo?8Nwkc!Ce59E5gQI$zH+mZQgHNsaWkz!xTEac_By zUxr+aV;zhDUTVL5*9uQc1m=UJnZb&Tcy(nSFtC{C=Y)$zbhs(l{gfceYgMswAYIwC zBl4VS1!MsLAVd2-{(>bVU24H7aie!rgJ#@orE0@$PTlt<>+{B%F_~u!eouryS_~(Z z1EM@ceX^7KlzmWC_HAG^|0Fa!E+90As5U=1h>(i$8Z+ml$N@MS!fXD}O}@s`*= zSVdOC{_>mvLP6>eC9_<9GEFjOfyeMPhA(aw6G8%@)hWv-tnh#q+VrA7+dCu=Y7LIJ z4m$_dD+L}RS&&N-;r5b^5(as8?h!!Rmb}=XwqsMgo0pg7dFW#U^egQ+)NHFs4uI@N zhEBiRU9Jb`S$4YFwkRJM-c$Gq)(y(2L!IzqC4fcywAFI&F&E_v{bU-m`AkWp_D<38 zZfdCIrU6v});?t@X7NR@Ky*v_q3ks;O{e!XzbqV~c$0`pS;HxTH(LyCmlEhpGjef? zDO(!mTN`GZUrb43l89<92cLiGGF`xMlZfMCq}I9cei9~T6&jD#a$>38;YKqUd4S!F zji+9WXH0F@jdGfvn|#mB-N^O$94Sc>W+=m zC#kA2A6>$zKQNF5{+2-~>ELRw1Nv?dc%ayPfl|`uA%)pk@5mS#Nw=hGb zQ3Z2$n`Ul_^4_dLq)qzF_I>uo1S0*Ta~c&NMg(waHA0+Y{7WMK9+T0=i3zo(#Dfaw zNWaC+(9!CZB^&(#VOW@w_Y!dhPO{fDmn_F4l%-t^1Gt^W2VPN4!&U3*B~?VZLgi&2 z>TBQKL6)t}FoPXvykV;ppfvNxO%P0c~cw@flA1)=%GFJUL ze0e<2E>4eY0dd#X%TR?FssedUHpk@G5sH14URL2__5P=jmS1;09vZ=t=!|m>lTE%X z8NF_*7jcv|RC^7wh^qsq9rR`p%-sfJV1|s7UKUhf=U685o7CEed7?VmwQ!in4f7i| zLYE;t(9#?hEhEwD@YyIig6>>X-k&XNwzuU{=2M{NEVoavDc@8MI-$*VZ4itjm3Gpb zlF@CP4*GosaS-QB&TW>SK%tEg#Prh3JJw8jUC%B$Z?|Q1h_0h%@|PLu+xL%8h-Ia* z2#C%8p^-0qx~aRl;-U+lhqgUFvGtKs-9Bf1dtt^IFuNFm=I#%f%U7-Is*IP8+P$sr z%C{LCtgPNo?uGZBt`&f+mFV#|%6}go0IvX@j!;U5c4-oWB7%!OECa?B` z3RJ-HSO^s0;DJ48cj0DL`8%nef>VqJ0K*a_R}O?cXxDz)*M>q3N^=12g(KkSiu;tp z^(T&c6#RK3+v#l)GPrEz)JebUHFs4QNAHN)5${Qc-@ts6Agp~$&uR@e!z%3^(!Igz zyAXS4{CbXyY(oZhGJ*==IqQ73^`njj<6_LRr&Y+3EcoG2`QW-{?e`iSf`B*Obh^*w zL@|{t=oR59tO@|9y_=(^rneuH492WKhOR@~MUwa|ub*wbV?K6?P(bD>YzN1W z$tFqF%P!7Z_3s@|Sq;`>P8-6)mx2-{JzgB2HOpM89Qq{L+6Wwi^>euIn$TQ$OZD`S z$Dj~TaX_G#wN$G792-4opz{Q(tREP3Gn?7V_QQ8}ZJ`2~v>XVBs&s+y1GU&vLXZ0z zrd7c9*Tg*X>Ym7<`1jV{;Yz>W8Ig zEWw`c(jxU+S+ZQ=i2LO8`MctQ^*J6&2p>re(c+M76Ue&?`pqP3f4u+a90~8`w(Ap$ z5IHAN!^#~nE;8MRRR@3Y!dQfLPakbyeOJmu`#hGgd((JYa#msM*?Vh|IJNA3ZRVQ^ z5U$mFIrs4VdH=eF70`fnTGpU{&&8UZRmv1l{eFF??*PxBPa&ggA@=T@-E@W<3u(u1 z1k*V{GSt4un5K>SFSfTjhBG=X1xCO_(E9S;#|>B2%5_Xfqli9)2DQ41t?gXey0AfV9Q;SbK}U)r2~|3Lb=%aW17iQ_3F z!@0K)^PmVi0MT}9*>d#v%=5KD9QNf?$)8OPg6gbYIdUAAHwRhWiQD@4zpK;Ag@V3l zS8Gdp+f<^H*!o8Z-(1BUeROc+nySrG?VDs{QtplsHEP|g6r&r&UZP>~^?7Er9jyUM zxZ>@DN!AL}S6k)G7Y$U&R9Bk6VQ1{>3{%#@b@u4D5s*~}3F(X{GNJ|Lv@YErO%@qh zqOt9F1CA}D%O)7}EYJ^S-z{u*dyl`22*LWB!`D&F-2vt&g4vZ1(2h-_?!Mgpr2EG% zCuQ~@rCr8_UDk83FT2=<9Ngw8fV!-HdWBWw$9?3?4{Z#^Odu+<0R9;#f)jp5dabv; zxlP!;VhjpNl@I&mEOhv>X|K$$it9f1cQnQ22x}rVw9Af5N{#h^>D=Uv^B?dGKsll- zfwBsA<)#>}ZTm=jPyCZR2o3GLCVq&`U6NV5t|>heXe8Kv{jCw2Xr8#ae>3mWv$uQf z9(D(oXnN|uV1UW1^V%($xKaHMV<9Hu}zU~tB z4vzQONOd^30Y)A;`~IBtRTC9EqQ}Wms05^bi^@&_q#H!vT(0}B+zw}V(MP#KYhGyg zXjH7()FKt-q=ewW2loxKdjo00THeACIEc@ zRR~holmVFcmj;r*(C?No6!=;@^(zN6Lg-rZ?w|+9ex2&bHc+jLz0_&tgUMRnnrq&7 z3Etfou@gTzUeI{ZWphWvg%MpR__R&}<(E+L(!Fl6(m9wj-xl>9p}S*J{1;_y(RtLO z6FZ`z1Lf#{iRdv{3a|T9aDQ(;s}M)wMeuTmMn&oh1biR93+@r^B*^f4)t6ua0zDa+ zG#m*0{&ZKx_n8Js3K10k5VxNzh9TN0VaQa_PhegZw+on1^IiTXtVT_kn z#!$!Si%;PU86V3R__ZQ;0ob3v?E(SO|Fq#oXjG)mLBS3YW8v>L%?lI~DI5smoV=4a zer1B+hr8oy64PZi8smP^!`cchx8cxQK89R6FZh$JdipFaHutBGx_G*R*TbI%`W*3WKh z$3tLG7!ERBRuE4bt%?=bA4pkYiR(vP9&>a9KB?D~JmGvVj%tf%W;yKSM>C(Am73#} zQ*u%i@$GspuDr!7jz`zkE$(rsi2R|m4pTjF^(Z{IIW{F+iLfiZz`mjiK+1Jn5Qs32 zZm4%8%KSVoOAleat@qx?Aj;K=(ZiL)?ble_W-ub(OvuEL_*9D)m^U@MLkLXnQx z2awG9)UySozTFy3m_QN=@(V_UvTr~H-Y?oXP7vQ%3MG}-sJB6JZ<6_^MSUv~ghDCA z-QORFa~4MElt}#R=VC`;K`EEharQ@t{}Gg7P~c&FFqH};Ko;p}K|;nq4KlkC&qsR) z-x;X(DX#pDK6hzi=?nX$NX(kv#~QqIFAzrWBzE zeYhv;?~;`Evo1LYSYZreV1L3oL_!9mT{ZMVdeGswD};32bRl$stb;KK2vgw$6&!Ui zdYn4vq#oHfw-+%Ic!dHeIFSGNJcwY9_5-dcNNp;tAyN*bQ0ZmAHNO=iFn6)Wqo;gp zwywYJR>&#+UWx7eylGLDcv0q`XdR`JplA#9G-zglh3??sz>fCjj&$J6++>V@VS;)| zg+LO(3@E{%pb>C>zMn!5D6VtHDJTH7Z4c&Cniz*XfOX@5h+@}G_xZkR8vclb8dkw- zI0Y9u%jiS)3IhP4PLRa=j%3=P`El_umLvj1f*@LH={EF|LS{>=BoVu{qK|b&QYEBX z8n%dlsv#Z#!i*5r>C!LVg6rFu%Ez|@-WW#+L~Uf16rX3>J|Wy(m{A=`P547dCdXDA%PF zaaZ*D^{5FXbmv+8pipFk&hME5RS_pZFyUuAw8f1F0&X_}GD`@g_yuG+-~ zLRqH!Zy3zc8v z$%HES6RfeyfV8S<6RN+;C~?pB8=<5+zCm$Ke#PdvSD3KUKuerK)^}bIC_ojn8JeBo zjlm)~r8HVe3276;3*`QvhT4LSWE;m}iZ`Js8Z|2J_ymH?3v#glBI*m$1qiGeR%Ia+ zT~k-jtFWo|FP4FK)>3vleP0yx#9UuYn1VsKALqF{3lIXa7a_0^D-9!%A?L~$G5`PX zAXpL*gz=~`&=^*a81X?dD1Lo1mIh|wfMAXd1zExXwg-vTLLTN)iqSAM*&ibw0zt5x zWaY*@aw1%I3rNYcAJyKd958$z(BD-XAW5e`@!x?lG4Z*4l0VP?YA8wCtQ3JBBiov? z7t$sX?GzH_AE8Pq+<%{7L_T*&DjdKy!4ONdu|F6TjxxF49a?0uVbSsI+C@tsG2YWVXwTo4l#u5Cf#+=zFE} zz!SDMqc;bUy(AhN8^u~I<@7b1ie>1q~8iXs};vMh6Qo}H=TxxVS^?B^m+{*gSgqE!Gp zpbr5~HGH^=R|3>~IcAN6edO#%{b^P_dR+;sJ*?w+uB7=KKkucD!ZZl~q`Qk3eXiO@ zAlU@H*jiEdxzqVOaFABlizm9aHgY#uYZ+cJr8yrlpp5n4g2MJ;5mcpKm-r-Zz~f0E_>| zI)#A+m;eCu|2HEoFHa+o=x!}E0A|Xfh6L5!Qmd#0DnxSNhUD$V-vR(&E;<_#1powp z0*O%o|evwy6c3-L1#j;U%tlZHGS%NF&kIdstZjL3D8* zMK(rQuP%THvzQcaA2FLsSRgnOA#WCxK@kQKfB*!5m>EFB0(@gz+rC+;InDd}-+Xi) zf>sdd-df_;=P4_lAwBmXU%RPUj9_9!yVm00=n%{XtKI@q|AKvP0+|aYk>@ z>0!=s>w^-f?9tfN-WcKxd|4D{ zZ1t#3__pGTNX8^%l^Ne_mYYc?a|05GgbTK__FoRct=fUK$Qrj}IU%NukJ$kOHFaIuhL1) z+8=cmYqHrY3Erx61fIN`)SGEem^Rq=A#9Bmv13ISD>*)Eqkp4QK~(qq6<&TF50Q7V za&J7_-4t}Kt=K@OmJ#YY`45I?D;sQ?N;!RIxVLE6B-6td#`TS;)e^MkY@3Ld)qNKj zTb;NI2P8^>KCkF*V<_UKik1uQ*|vFbf{`ta!Lqq4vAiRUCHIHYN#dRE)G8_}IGxGp z_w1-m>=RQoI7+hbX>hglK=OYB8leEbJ@gI9SqvOM@gLujKq-`6nFsJv7z`9u(|k!9QEttt%ql4H1DIkVhE^#pnEitr zRro4uFPRVS|Ga|LPxQrFgwDdh$LWk*nXf^mO!~%iPUIqQGkEmoydjm$M_@vK-TKq1 z^$VtXZcoD2V2!y5}q&)#%1OSNSrzZ(@Y^gmML3!fhNkWj@Adt@+0qLif! z?0zzbs}BcO44+Y@D99w3|D*5jQi}5*JufNo!5`9t{~~6+XWmAiBMjb`>lRIhJyQd!DZlY!nF0 zR)rY)03}L+E_Y51wK_LGpwOwKZ+!SY*zcGizo(CUzkb>TxTl$BO{O-+h*Rl$la+O=-jrIu>R7_Cl4DCxMTcb-PLe)zRftH=rQO`2KsUR@JVaSQI-4eUZi=BscTq|jyo{_4D@kEx4t7VIy1 zjzciY_vXd?uMG}Xe;%SY#IKhOZ{C@suBvP77(a|&KBJx5oI)3>u)>e`yiql#&3ky~ z0TZMaLqA1P8GERH?!4v%&t9k1kuK#C|At3Lnqt4;L6wH8^CBG2Za+KgSzv~kpUdf#E)sD{MI88UlkWDI8yL;Q;hz0 z$bwHUF>s~>TCFgcYuZ^EA#`|$K$hKZwP~~}&?@meTJu|+Dwt;V)i+yf zK*j2ekcVi;UY59iQz4$pCc-kD@erV7E^vlST_{kZ#kaeaAv5n*7Y7X>+B0U&YFH^a z0Y=lOjJ;c01m4Il1AZFMPN!FQb>7GaP-dhFEvjsX@ zxzESs0`ryFuMHh3LZ&aob3Oz$phn;Kc@{va=G_puoU4hAh9VGRz<68;f$DJ2g91=X z5OJow$|IrsL^xWA<@(9iZUbyiD@gU^bFl(gXUDs?Ik2e^3D%Zd#$q!Kg^i+I8e*z9@#eVD^J78_zo&cuNWsLZ+7` zp`JaZt9COxY%)4Kl7e0&s6J_|)Oy$;si%XAhRv%%f8gQut?x;lz1+b6D26>Vk#e|F zSwxL*&97q9`0UT!)BRjHN;l91NB$@Px1!bQmKADkqvjJx*9B*sTZx!D^6(Dt3t>UG@t^)&YsS)9VKU z$^1QVeIm8Hk4jW*&iX|_oBt8`lhmF2pn^^UG^ifRfSTHF=_1|g6d-pG z!3I425W~onT1tkAE!2C5ITyYz{KWO{BD>2_hI zcd3D${OTifOYQJPG~^v6K=;(MhDCPFpUjmtZ&-I5c)bns=39Tb+h5ni@t*rI-z358 z0UrB}1dv98kFy^4b%F0$QHI}ckqb}!~#FwoaNVQo`=+v6WM~D+nDBov_2!h_~3!n5av@=`HI)IZSTMq z*H4H! z9}Sd*!r)m+`Li$=;PgcrzM9Ef+UppnXh$+JG8ZO(9MKc!ibh={GNc}cF?g2cPvV$N z;e`;!62$g+6PcQHOAneq)Q7x5_ZW|_AHHq);W_bnV}g~kz!_)$GAX7?&8Z8%Sw~fO z!d8}tmobKyA$gt2yMDQLE#}Z>y-OA^>+XHS%=nAcbgEasp}x*PAl&L5>BZP(WpR63 zV(Ej&!~cFTPR%i+d8Sy`ZM@HK^Rrhe|k7t2?OA^t2a z_$22*i-x6StC;GBxEfeTT2DB<2`AHprPSB^-I@3N(<+jTBS&0=O}yPN@F?VT_5S^J zjoZXm1K!lpYv-wXU6rgr_V7oieVVR7ERpNG^=6$^M-|@=eb4BxuCU`Bi&w?u(&RY{`(5%qzm$!(^R2n55$Gw#Uk;eCfT>4Lu&T?MivZhg)W2xIiC@ zoY_}~$2{a@7lw#9t$g?^sKp)|)okwb@-3XFnuz{lSaHmkv3&>&iyH7OLFy$X1|3HI=>}xojUYB|7{vOQgM00|8+@ zP(;(zg~Dlz#^y6}XBos_2z!n@d`G4n)5gc=ZiDUJkeD7xRHn%h zBMxNdnx7V`mo)pIp6=@&jf^|DuEgj*pL(n;R&3d6_h!sptIP$vw$WAjP#wF-)>6me zK>x1R_q#16Uv#9U5rwy1cAe2_UO4X#A(Q>(9I_0nY|ffXgH<)%yynr2RX59ZVX5U~ z2%YDt9E{=jCFhb(RftJ6-Xiy8?0M_9rTWrEJJ=BpoOvfaYT_WqvX-nl&gdGMyd|5^ zB+Y7E znWi8BpvY^U>fV`cW?|2UsEB9_5y#`e0`h)_7b~1EWQBE0-{}cB0ss(Y0cZQg=@yXQ zh3V}4*`QbBsB-YxqwjR6ALTmg%Pyhq!e4y+LdYgzAphim%a|m0xS% zVeCN%uPOq+7LZm@xm;z4m5uNV*9}1I6fXY%(e#bsnKezfnM{(2Cb(nUwr$(CZQHhO z+qP|IV%t3PocZ4W`|93ZSkX%Mm69DlY`2_!i}^5fzj#8i>+0Pu8sM^ zM|yiapU+(v9wy7DO_%2Hcv;(?GoKH8G%hAD100_mZ}PEq2rK@>*3iLf=RT`FHh(Fg zS9ET$K3rdFcn-ftwlA;0E1o@QxZV$u+h=aQ&$^Sp|G1cKu)MFpWM8M#<_^hmUJe72}IuwtGQ-PI%{c7U_Pjv851Lnw0C^Pb737?bRa167Zna9f30-TD3Cd8pMQ4xFU4{Njo-RFfWq zuJbY6ob1N>ldPU|ow;X~Vhqod4{~UP##{ZiWOZiDp|5^Jahu;l9@Q#+e9`jU?`&WX zOor?3x=+nx3D4R4YK`UTxs2^q{~4THQ9qD6(=SmUKq|nS2OxCZht5NMc$Km$Rv954 z05?x5?mR^fWcYHJpj9UvaPEnpHm4G({iA7a(Y4KeBkGpS!7AO&EsGU%Pz1EriQ3+1 z`A#>u+C>KHvUg_0t*~@6Ui2!^l3@>iC&S`UgXN7hFXNaYX5Tl&(tN*GrN|4j9Hk(0J@@BtwwAD6lJPaSOPgNof)4H0+XzLjqDk*29DzIjcS6 zVG<*ayNEUP9Gr82Br|<*T=o)KlP78p^VLAm?O^g0~Oe{RGo-8P_7CvSAp)+~ZgY@Km|HyJf&afC- z1$iJeX#G25DId?PO;ZyOzx1YTy!vpQ;+|ls+{>JdHHaABfC#xAmLll~Uh$v7X-ii& zC88^(`Sv(3FS<8gtfBiMJXLDP#W$8gS$O!{Ja0nt58_j8!ujA&2foR;;)i`Ig^Me8M{MKvv+bgmz^Bq%pgpV zKbeRs3xni;JEcoVs&Zw?>{PeqsC0WVZ{W2q@8`6+i|V-Plst|MX=w>>z~B3CH4Za4 zF%YHazifyTD1=55D&fw_^dk>+|B_O*7+7*Os4csvXVaO9YJ&IuCn55Aa`LI-!brtYXfgXeIHfO=bJe_VIZ0WegUm-i^-2{BYTp*(2WXhV)OZ zSzC48>aoJNza89deGN}wI(+ayNlFyzWfVLPRNNygKUS2ZlShgJp0jC=i^t&oi>#AF z5^vzi`Tx`1keIq>cQk+`r@aQIie5F%Z99APM`vIIDVfYGEi*hbf9!t}lqmFw*=Dyu ziTb+v776%vgzWmI(&M!xcY1wRkwnK)-70Xr19SVW0JeVoX9z$|VZFL&{%+I(e*1-7 zqP-^Zd7VGGa?ImKM@8Z36nSXwLL!WuLNBue(y_p^yXmkx_~@~lcXel@GP-CV_H2ID z!+r3gzG5g%!V*IQR4T!Sj#815{8ER(Dfy*(v$u1+V!L^~7kJi9b`XL|L2elhcqr6J z&G2%1vb->~!|^A<8dxD#7}Ug~^V5urIzELnpAw zL9>e$9H;eRyMJKiy;u^s(wq8%E*U_XRqK)4Y05k^-@u~>cA_*BepBYG7#3f8?_%G1 zi|K0#UPJzlKB@-K7kBTs87qeaD0Za2PxX@|jNxh|J$L1}ydU|oFnn_oY4(5LjV+*`)|wv=9jbExA*fnunl ze&Gdqk9u|d+Q|c%pwbi9Y-SfNv9@}Ri?b^FO;AsqC>`o$IXjUBEsy53#JUjw5Ne)i{U(R~Zma3jrW=b5x(i&RK^l7vL-W z+nG7K=J+#7LD5ZS#e3(*y@~!1Bo(gq-o@D;i6tAB7G3vr0Q5gJmn$3} zdOZS*nL|t6Ld_QrY(kyNf{~AsKKE=|t4z%3iX$Km`=1QLt}M$N=znLP7L8eqL@}Ug z5WJ;Qs;?hs^fZ=cf`r3C1d!3%0a)Tho#{iW#3_+1PvoDP;V?uJ%#9>4x|mcrG za(E1$8Hs=basShCg6LDYeR4E`yi=bZU@`J6?}+M{+*%@MN9eJ@+_FV&&gDN%J zk1$$9%|PiaQ)rFBfg(^0ZQUt$$@R(6Jp~is3;2gvGh&w^X|&_VwhOMTM~fcWb4hAK z;~Fwc4t{c9Niga=XG`>kzW+DgA>k#jM@D05UFFxB$tv-!l~f9UANVSxBYm!1N z*0W?ke@&)0ng~Sv&%PrP)*-)J{9a@1GFFLL9i=C^smspV=3V2*qP9OGtx0OOz%(MP z0cHHM|KeZz9P#kUWQw^$keqpSw<6nR&|y?NGo||5=GaoE;6FLo17>nix0@C}y4ml$ zF&surtT0!E%$S^fBEDa%R=|9!ii&yaTzUUb3v*)PRO@ziP4tBg_G6r>rjn;kCfOv< zid@LzXniMms9;FC077}CqsyPt&An*n?TuTg$Ue8;MUutKoi5e<5;Y^?VywXbJew`7 z`oq&m1Zv%>`bY@13%_kIB9L=Ky@7+OcDb?zYkw-6f*9_vMw4NIZ2xtCW)uYZdm7VG z)Fcc4QPlZNGkaOv-WC;~)^^$Qw;d>m>=w_NDreoWflB4|PTw66kOE_~U$-sqQ-7O8=T8zp2SqB$mMV`S znXQ>%xp95@;r>Y3lPqJc{>@YegZq7>+p_}e8TlE+_D$h)Z6IOc^%Pd6;kkpYU~q$= z!STLsz_YIQa@9n?<9r;v>(p|U)a3jO`^`1({W;JRQk4XA|52FQNz`Sf#u2&dHqnz~ zar@}>`#BNk@e#vg3FcyT#M?mSe7DE@q#HD@LxQ`a``i*1y3R$u4N7{Rjb`t#Yj$r( zk#n_*X7kREW)8HsGnc3|$K}Jf4 z57M6tDTx`hUNevCole3dwda;hVHiuZ2XU6QzD~X3X?o+*w{D+-^4xYIn3sz$*&hTM zg!NkQoTn_UjpgBdkF@P7x4Mz5M4MvC{_vDNne;tve0gxB)IOZKOZ1<|$@Ef7e6`r$w0>JpTl^B%hF6DGZR*kjGpjp=q;HWKryBh{gMTrU_K_vBjTx ztAZ|zoHH!V{@((Dy8mHsfoy5+3S%=s9{JT&dTno!PbkuIw5UHNsrjN4-N%KZqliNm-3l864_?*GSt z(%v40ndxXrOcoW?Y=@{iA`T|%S}oj~Zv4q6HBHc?wDw!g4wd*QRCcJrjc71nnKYss8=+T1r`~wp*s$rC z6VfFA^UpFkg1o0qq&yArZ4*^Bs0Ex&9X{}|eX;kAI^HjAU8eP@kC8dGx+aO3h}v_@ zX@k-H(FDTdL>fnztO#eTP-RY_7}VBv*_vK-sLN@z52ogw2fUUkP5#AgMcs4Kzb~mn z(L%fW#?{6sU~CTT%LiMX9r;l~4|7{?4KRVoaH#>|`Lb9*GTr)BDQ@G16^>_7@kR$+ zI2=n4ejK10g*Dby-pf!}Zz`!tgw27w|1_6b_2Wj_7)k4vZ7N=)$yFa@>XYJ+hn&u~ z4f2-H_VN2yCB*8#7)DO(iU`hx+7N}}cuB7zLnp&+{1LnN<}&O2{%whe&fd<#?Ecl@ zBiFz_mB9}@uUi`_ zwMcnm{<)-^=M@3wZK9K{(fc>a0wRE%)*EqR{>Kc-98)D2oho6qJup^^CJn<_%&_{0 z1j(~>NYCN9Ls&my-~YTCZD-8K;8SJ2V9i?-uozNJR>>1?KFyP1f6j2fUez+U_lPP4 zoGc4Ztj7-;6Md&0nLDnAJaRxOvLqf{RMcQ94OWZvq`PSlkNfWgAI)EEKtO&qiR>Eu zn6-g`0)IQRl|}N@45{*w<%tqm#INJ#hipd?_iuizAgO!j7>hz>CRb|f=P^uFe@-dkl&>2B&|Fm2YN}Y95zhiXp6v;up#!kolQY8mc+0+I<&kt{nzK^7KZ87 zUrkH3jal`RX*F7wYb22C>!&VkAQ>=GMDfZ-=f`B=7kUw+0IaM28x zq8j~#H>^F**C9r6W)jh0VDEnxSt2X#F1SQ+R6m)V+vT9?`L)uBXtGDFAwlh)#rNf( z^8RVNl6_EqT;hR_U^J_QIsn}VjVDxBAa{$l^+ke|Bn}2jbT_&x-=ZRggMN{UL^S+A zOE;cER2Oz5mnl_^6;+8Gj<25@L@0fnHE5bPx}IEjdQVTqCHRNJT*Y3$52Wp$XuOm| z&@l=!*jJn^5Bmxz%D~0KkJYa!2^sOs=s|x}bTLSrtkxB@F+Trk(%0Sy?Q!Nm<-}mu z7!~+k(>vTA&r{zI33^<2k}_A}F$8q!-97it;g%ug?GBy0K}T zlUjj-5QZ3GWixI}z}_g%;D9@Z^fpqK`_+Tt7qX_m0bn$bgb0wJJry;HiIc-)V!FbidM9%4V4}C9P`&pn4$s&83Tu#Q~@0PcWAYnpKfdoE8E;j*ew(7jGdY1dAU9? zzrKq|_Af(vTz)*6*aXXCS!#uR^=Y}yCnlroz_;W;-_%k;&>IK z!sZ`^_ybKhe&InGoufb*qP`?$S~alakdhFA-NPA;xc#~HW;!9hpuWvUaK+0zT$n((Q?cyHO0znLrAxfW85+~^0T?4|`UH=B@ zvD$a@^~g=aL`OD(8u2F%Fjm7cZa=JJLCCyVa+q7jv}SZf6;3~;j7^mlM_EQSDvDI@ z;LEk?Io^O#_)sCiepqQ?nMI-3`bN9gV(5L z5Xpb{ga1q3I4hI@FZI8jG?`*bK(GHCFPpSKD-_aV;E;&LNI#?kAK((LR>!Mr4rqrL zEZ}?M5wb)qdYqRffS^!FwL>)mnS7Te$=Uw`!3=Sp_M0A zsc8QxN{%&T_Dn+-<1oGjJ@QUbS+YJFzq<5V^im_z6PEX+J3#J&mKPpyb-^o{*RDw# zAaM^eLz|~YL4|^h7PB=g95+0EM7G$Wi~3k{eC(`o`8Fj}Rr@yB>PI+CN?Qt&5Z%a} z`rG;GC$QL)m>TD~Xe483r252I>cWTzP|HG5!OM4=tndH7!7A;&R`_16p|iQCa2}rvop*^@+rkC5iq)( z^)f_tVPPd;jj6x@rSgjRmv_@}VM>Y4IYRV4R1QnbS=wIIX|OHoS3CKM#3x{1Tgz#` z_R-?}`%%Ywe@&ykWAFw3_8Q~dr;M!wM?Ia?$`&ASzs;zg;$d@-l$xw(FK|#HBmnZZxe|87{&3-OPK!lm-Ck2@N-j zXxNmkxaQ2Ttj<;a+W(fp3O28{qxgD*2PRnf()NC%5PWo^)@&dUOs0^0at9MjXQ?nb z=^xRv+IZeZt-AVX7A>l{dG9X;4Xt$d^we*;VmRSs?w9;BO3HW`rh}eN`+PN?rW2^E z?mq8vYCGyqU18EmJ5GU(>R;j-NHT}CMUhGgKN>VJdecW>F8)RCzMLh3{m8P`r=%j{ zI5Zt@oM$~c_0T>VbCQ#^Lj8bpj)?$A1+=OJOs=IK$RNarsT2&j~d z3&{!rg$NCelQKm`$EwW30Ho@?Sm+9S!7P|KzbSFWY9dD$ef%%|v6}VVl-IPw{LIti zi7({_^)^Nq6^75_sXVjuGn9+XOg#^r1`-O-m)b-1$mZCHQXv`B;DziRL^&2_bqB($ zs@os~p4<%lcOd1RgZ-}unykzxVC=|Q*Tg^_YA$#$gE#ui1D;adHjHQQPT^>L8S*02 zXVm=8%;IkSLu%D`WSv<>q2t_7g-;ssDh&zIB_ghPS5=t3X$n3;vM{DF$#R+!WjD9a z6(pE_8Rc2tG>bmBbf?`)vO1$V-5vF!uE2A%bJdUi<*nB-p`5XwGX9ZQ)Sme3?dzq1PAU_mL_#ipltv&;dG2o|Y7L*&O_RS>sH0xaMzdIA zxH2mpV__=Pf+m!!wEEuDsJ`#wTom@vr>(q-nuf8;NjsEONl)1eCLrM1KBTNSO*u+um)EL>-l+a+3zK+HTIJ{l98!YQFO zzw2TgrmdgB9%lKnf=dPfa*zj4tIb{C5k{su&7Q7rhu>G?37yBh)E};hgwrwA&gD{1 z$j5Bzc3}-yC56&C76L&e;!eqBS2;;-cX;e!6}8!S^_bPtfK|Vunh>cnndPm=&@h`r zg}2+dBEvYZ!&R+3WKg>RFbj-I!_+W1hL#i$R${}T2o@|FiU4Bigsx*}^DIRG44TKl z;%E24g45&Jru*ypxqHdFYm4*Uz_Zx~lLJ-5E6=&(yu#JhRn4OVUCQ;98wrNqeamu_ zv4aVw`{rbK=|dyWp#W^As_|7+zGViz?Uw6G>5aSkK0?MGju!hYMd0&exWJIBq4!lh zzqcCeLix7C0jD*Q-DTpDj1$LW)$-1H|JyS21Nv}oI}oeD-!~15^FT>aGDb)A#!4od z4)*3tjJ62zkg^pQ-n58=&--@F*C{OZ3&Q>Ig_Sgm_mNKQSO^{h&>1Y9P^p~*Jrn)% z=*jUvpeEv8s#FSje|uN{+WvL%8#bCQ+k+%9lJf|)5-Gefzm zbvE{z7q>9^&U>+zjqIt$hQ+afB1i?R9IY%Y29;-smwlc;<#(l{6Xj4%8O|gf)lnHK zQK2zC*X_R?V9VQJS1Dg4in3uqkSm_?dbw*xMc&$ZFFK(P^s;!MhZIqq(=^PbK$~??`{qz7gDQH~1khM{!Rb4E`qJAQw zJOdI$ww=rKSjLvG^{^Ey4|(u*x=~n*?sBw@N7wS53{@V(`1w)pwDXX4!Ey`~Q;28T zRjr94zg4EWQLqZUtqT?LOQ6-s=^2OFWb`W_Yn<(IYb6KnVS)~@yZx?3p6c?3<7%j~ z%=^0$aMSmb@3=sJQ+QD^7Rx}FKv+R@CVJa_fz|t-=iqXWS}(OZ9n;NDtGPd6POq?7W!p6**PSsAyR0A~ zCH%Z{_GQptx4#dl!$G`UgfHMij!WEnQta;CIe6i+V+ zJhH89DiSuSoBc>VoXFoLl)6{QTU<^XOBG?#xpN+22^~>Mv_tlPBL&h=09h1h}#g!Gimt)-o@lCX=Q8fn|)nNF8* z27ACuySPz_k(~I-r`s)dWzb$V89v1P@C$sVD@8rp&^WflmAckZF9$Y3?&-|J3CyeF zisWwH&pg4>+p=FZ$K_DBCnZ`NhD!r?5HsrJ5+lKq;RC%|FVP#p*%y2V$Nm2FqA_}_ z>n-vr)!4`@tFnw;ko9Xz+Y=<){4aaOA%il^*n}onf4*r10b9B^%!Aey6Aml{48frE2Hrl z)7&Gge(sg~283xHsbl>r+kcIJ2is22P?>8&n*uy?hwnrznrn;rGhd^{@nXSg)?a32 zW`DA!x;kCMzI@frQ$19L5u*}l|C%=3Vj6g9#5WuO|;a z{b@DCvEHo)5W)&b4IFqG%CW(b@%QsWvN2TQf%?@m=23LHZ=k4Ky^aE=8c0eHxv3I- zKU6^5;p<92nA>vub?nks19(1LuLdPF`))J$Onv$F)e|93dcAyxy7Fd>7^feV1WLal zBGY)qG2M_e|5e#M4YR*;5@|2R3+^$wT-msg(f@8!*1GCK zDYKBIT#d6_EOm2Q!hg2s%xK9ImE%e2nMEqG`BsM8ycKpvc!$v#B?37g?wO@n^CE1JWEmn386Kdg&VGdS&s5aX>U|SQQm_ z#+a}t%X@DEQc}&8jV;}nlNSqc7}Bt=9GE?D@Ku>nr>Er5>wcOw!YhB@#b~ z<+5L4JK}XYL@?RhqnU-P;M2%fh}d1uxKE@RBTNDlbl#a+Ut8UbY#?o@es)k@F}xsM z>(7Vr$uqD@LjE{fYCZ^fn(vWtqA6ie+-oFr!G_tB%=JE}6EE4gks+gjo-b#5+_y7z zU&ijZJ|fbTI<@k(UkXIA7x%j)x%fZ86j9`* z{`jaMBQ~{njB)g7e9I&7-W91|6Gxe6EXLq?=6ud;XkpZl6-HXbq7-_hj~ar2 zr~f&W>0ZNE#)i3EPlZEmN!~o3C&if&5w9Klljr(4j51Xg94%lk(Uyhv!O8!Mz#A7| zHo`fa`J-WPpe5prvo;M?ZMy&gg%jv6=bhgkWmT$ydp0CA8d)vykQ$7dWF6CapI=#j zmU0WZQ1$>Kjp!&MqR1g-wkfKTtnpK#P0_F}X~dl`NE~YfwD*p+Xkv;i_-pXqUfMEh zk^sdyA=nk8pgyZENhlqxO%*gW-Cv91vx}EB`3)|I)l6xQ48AL%4}I*bZ-+e%hEg~p z92-j(7!AcMxrVFwSe^v_Yy7M?Z<_r0Pp5WTyNjK7e>5@s#`6Ei&*#$O14YPJgBIkwN}K(2Z7)D9qARAO-qJ9NO5JB&Yd~J0v2F zRwN@7#t&7N9BeN&^1o0L?@uRCx@9J7kpHU*(r9%zc;?fxS-wRyzr%n~5ws*>WWs$b zg`+}TJOx=y28r)aU$9J9dN2c3kUB)rbTd)~7~`6^1f0!L;0+{0!|-r|AMn0uCPqZE zQLWJA(Dr18%bCPf2l?bg_l~2?h!i5DNQhtsko6Mia5JNzmr7h%)YS!@x_Hayjmkyh^MUXJzQGa4$BG!X|lA?*4n3ZJ209*83 z7njk_=hGnzk20V^*p#Hdr`xIX?oSHj<$|SPLc{C9V*rWv8X-S*uxmWjT(!@eN5ui6 z>S+I=>ieKT<}g<%DH^kXSfKJjT(|^Tgc%fz;Gb+WSI=Vv4qPb(Pi#DhL&1k=w1rNI9EYWpkk@H9h#|?$6ZbX?)P|MK z^q1>0lzFUDFQ7M^J*=qEvDdwxDqmbiJSGMHWC~VSj2I?G&}3hPBKIdDw+QI-N>lds zBH2>Q3LvI%qhh#TRK&g#RA_^YZ8DoRu|!t!A}U$@#Mi{1K=B0_1eptB`RY_JJRUk< z>T2WnJ)LbgJEhyefz!(1qH$xKcFQ+OaBjXO)0k@W_C7Qx`zTEoKr=ZVRa9j0wN(J)D^*LoRS_5ni zEzuFDn*cxQWaSf7yYDZu5o~m7+hhjy0(O&y$*4y0S$n4$DGjMAreH{PCSx@_cgjVd zzo5r6+xGEJG=FC<3rH=jnzK5pQn`z2LR}v2>p2wjG?kd%R7Pj+^C{wvBqR^1sfpT1 zPloHBb#MOC#$j3OK(J&5A9hyMVo)*F`&#SK0ur3EgK=G17+-r*)vQ z^JH$M6;+EF$VumRDO;SBU{?kyIK&U8CoUc7`Tj(ZuBT`KUu?0AIfnV0!I0UCZdMH} zl+i5A?xM9I&(HzU!~l>M2|uSVCOA0>XO?~($%uoV+RN^49CFCyLYJs_n%k=Z9+GZ( zT)9l_B~j^H@a`?e$wwv=7F>>2e%1WO1A>(t(2 z&R9{d0rwNfbnCoWYd1K)nGX@qbSXl6VOC%VC%>sR|E0==AX-vxEmc&L8rV6?Nmfcmgs zDMh`)^t-hnjpdz8s=5}{wj0y?=1Q*>K5lyN;@X@-SBH#ouOTaNU|Co$9hMB|Y&ADO z9~lSJj}+}(e;#3t%OUwGTHlc_A-a?(1iS&OS0(>tq>Hz+w1YPqk%xn(iv{srD;Pu* z;?-tojPLwgQbEE^^e~)&C%0!gzKV8>C!W0gs~M9HC^Uj7+@3jgPA~0GSHJA~O$QAR zCj>xB8tE@{X>Ocy% zF^GyDtI7PbGl-#Vh~Pf1!}V?XBf&~~Clq4CbwfdktGuq!De0nZvH`eN3!t*wIbIMV z{mE28QRrSqW1`Kh#a!AN(S8m;4dJRWbrB#A*kOo<=_!tmYfi=PuPLmLc%&|&5-{fa z(_=Zj$qfY3LD0haQ=9ljLN=$=A_IWoZhvp?mL|T8$KP7ou^QRO>X5lb4wl7=)h~Gd zPX6KQw0p8iN`BQ1FjUmYR7Fd3q?l+xCZ+PL&eg`1EV9Ql-8bE&AiLxEZesI*$k+DD?+WTv}^EEpYe`Ll!Z!R&7fTBa678 z3|2;SX&=t7PBP0q*j#-};rQ{{Ds%)%e~gvF6sr|NdL2S5vk!##?{`87{3B-Vk-Tw_ zLI%`+9_d6AF#9jvTF4-zePOevdjExX_yyWTa1>pj_lF0D`KD{gJ= zT2w~okS;TmSJMMno9fGTqEc~4ru)ws@WWySp$`*&JFqg$@HWqnB6#_;!;1qW-MxB+ z$2T=}R8;oVk~b)*WPE99YHejOeOSa~lFHN14~aVkCjJ;ltLNXCBa#DtFlea2s-z+y z=oV4M`a8#dfAR&Z<)=#qj0|_@C`<&#gcNscTM-mbKv%`j>VOPe@U)6~Le<{3M3$7LfWObjBnYaoAgpZ3vIzxJnVYBjsb@i5jK1~RA^{uMSlk1sv}r8 zmi`jC5e5@}by;&DxcyG*X0hjgpDmW_b7)>yn;SduG%N7H70y^XYQ6hZR+DA4&Ip@z z8-PN&c1s)+_E=&2O+E?2?`V&@%!5kf;a3$Fvbm1Qf%om_5Y+yn5kFrH6f9NE4zlhM zjU2czg8UpdtHD>{3uM4FXnviP89pGmwVk016+ObR-#WyKXPFQ+h@#{D4yBn#;e2}; zKo+)PV;I}T5;RN&I#SP!@@ zJ#5DBm-;)lIRYBJ>8fUgo7&r{(sIi&8pZUEr?<8{?7ZfjfP$>*LO1E#ki8X|Y^(M7 zn8h0Qg!+!RCcn)}qeQc-_CQ;iiZsv)gLP-kr4%}e7+8WjoPrh&A2u1a^t1#W*wp7#+vD?hlWsO=n!~M+@bLItsqs6It>Lu@QKJbV#`$2J zQ?5%fJ@bq}tIQbz?1xnikL>`6#de*j-(-!#W^f zj4Nzz(||6)JiJDV!vrlK$EEELp+A>B?_Kfr2oGHlYBnp;3bn$3DW!_!DXc-<@;Q2{ zg=&#QvRbmX?+_UqkWQA7QD6rqG+uq#hAWfW*wpZx5d0!&T9%27kM+*OB-J_}is3J; zyT7Z(xqjDH4)6ypY7yFSZd6*c@a8EC!!lkBQPau7Lt;$8#8oEVT=3V+@2-84JRbJlCWL zyy>&Rpp<`1KN?^$D#M|FQEht6q~vym*)x(4XFjve{N9Uf%7UFKxB|+~Ru!aSZ2~I& zw5KdB1jf+Xc0u#w>PNWwyB+AJnJNu;(EB@HVU2Z|D5jM9aBgVdc2vW_W&kM)h&d*$@T$uMb6>a@`W~&vg7}qd= zopsL@FK|3tn6&7VQ#w6+vZESL@zY{p*=ccHg+MA?Kf9i#AmuL~=)2pbu1 zW#7vUQmb0D=|<-aX$sqBv{bd@Uby%Z*R<5SMi+2&zbg~nxlDI*CVd|T&@hjc<`_rA z0ll0a=;&>{V`0u}DETThb+xj5Z;8bsJB{21CLa2==ND?U*QIc)#h)upX;eix zm^@qI@alDQ4odZkye{?e+sc@geuHuwCdQaOb`_BDYw)d7t!147608#3Q^zAnjCHe# zJVBohH+!vipfKs86zHS5DIY|1%J;c-L>-q-V*kR~*ql!fNoZ_g`OghALhciN>K#>;Nn3uSA2F1BLkoHqN z+Ar%5GNK(UKcH^ZH7co2h$@qefbRpcnoa?xO7re1(su5V8#ZYjwN9E9;3-w&zJ&mV zTf3ONw?1r%mlr|@98f{j5esColyUYauLkY-$D`~H{4+_6ii`JBuH9VdhQPa#$BuWyNOKqfLxy?|HBXv_Q4ns+R7 zltCK@ga7CBcOKS2XIp;vPFzD>Ir@RYZX!?$tW>Z0z3$$Z(`8&%=GuoZV2tOar@TrS zn>JazR1{Cj&RBQs^w+jkXWepG5iDII9rHUTRoaOpB7O)sq`$A5&^pt4lR~vwRE1!2 zKdvh%ruW%wm!Kvy<8c^{eKZICTqq;HDk<+M5pKhuDM~7ps~VWL*xA{Id4-TE z*HD4BRV+q9NO)*O+wt4vGiygmoSDgSZeVA@8kXD8i z8LJI{W)zzaU32M#wvM!Yuvl#V7ScN2)WBHWBnSkkXbXrzCgw6}?LKGMgT~{pUX67o zGcj#?Bhv`%HsczEq)|M7e_UMc6frlxDjAdyjKh6?HjXSY{zC!^*?~?Hj>`)CDR5xO zSQ3b*g|0{yGeg?yz0BD~*gykM=#kywL(KLezTGo<{qfPiQgRcVmG%7)eL2b{%0s6mYrK9 zTh|!8j%rolj+@mr^D*JRCm><-l8&LAO@(bu39$m0)5QY{i_Oi1-8A8-`sILt$($zl zO?_dEo^|J@ei~~INDs%J%F;QKN+l!M~hPNV4B^7rg;wl zef&RqqCk7Z(4()r!w#DH95w16UOplHy}P3$u7f-qweOu|Jl~QIpS-Z(cD$C(%=q*F zbX>OvFB6h?Q<@_=e=eB;2x}0MQ__<$|ay#l;n79h|)a!aNR$BLH zh1e9?@QU$kek7KoprpaAYp{# zi1%=^&xCoQDvpDOvw0{HgYuO_hBbqUUk3WhS6a)-#<^Sk-U_tABnL4QF7l2F4uNCD* zkqP$6{3;EM*b$^B#zOGM<^regYp#&nYq&oi1;9i zBZGtjA-oNIae3tPSVp?{i+hb&bEjw>6h&3RJG|+)1W$HL1YsrW_M6#C{*=Mk;M2RQ z5y9Mn_=5NRQQ+=4b~7~Ij*7Qqg*8$Y?CfH)wR{upQnJn@!xeIRuds;0nSMPv-aO0h z^S~p`b9Q*TpM(H5nRC5*{*H=70N(VF_*CZvFAb7Cnl~%PN{3qwoP3g`W3)1Fx)$;= zVbE)e`%5h3Zcx`R+?2ClgJ3bdB&t9LXx=@5!PbiAXA}rWXCOq-o}w{bIxbu-8$Lqd zw&46XeU751jEhX$;oSAyG8`)5d}CgrHU`?9!*Ahm5$JY5Y;&%s#x~c=?Qh8syaZZ< z2Hq^cr3by~3LzAWIxgDk0}J)TAL+9as*Kblrm!nlNg2U+WEaKJRcGtJ7(5uH>xtmno4Cx~^}#+m8isUo&Uv6)IWmf1d0oXBACiLnk5 z`GMLfSO6&eUQCi)0S-5?=6Y4cve#6FG$4U6V{NmlaB{!iT`ykRW)$X`A!V2VXt#xw zJA_0;h+=2tOD<#}k8sn{^o3F6h7Fs8PH%Ewzga=DY}1(7e0f@A&)=6AHo|$zBdK6& zRLSKB`@rOE0EaSNOx;{`t0Q@{(qjxg*#KXDD}NOrGg_4&-9p-L&qcq!#>4xJH0@jL z28?6sf(@bsOO5tWA9;_|gMutwg-3~gvXAt`fN~BacnE^jmbL@=sWD9+0S3TytK2gE zb$R6{}`r8u!QTvZBN_Nwr$(iw5Dy_wr$(C?P=S#?e6#M zwb!@yIX}+ds=P9)va%woG9vFsEWbvl*2C6Tt!WKJgOm`ZA^{r?GZxcBk#*pe`bpwg z<11)%pQ#W8GrT)Psd~Z8h$Q3;XaXjwaGU2daAWXki)kQFih@9#!@KE>7Y2%Pfg9`% z3Z2cAJ+wN0MST!){V|$mka;?2IyimNJU_%NU=mdC=Nl{;Ymn$`#B^z$H3i4^xy;Ap z{$M#*-;R+{L4Br3Za*tYqJ7`MNHy0)wbo>X9`CBD!Rg_nfeY{b7?Oa8t=ZGVTBR?| zGQFSTGSROlVGD~}btI#NB89_!k|dUt zCa+=TI_xF_?|P*(4{6jiXpqpYCM2}P54^54B8Udou&1Jvx+0D4wq;}BaLyN+;aBO9 zrqJT@VB`CF6FjRVn1}?kcM|NE6;C^`f7$B7qC{GLhffT>!EK%f8h_kBenxz$q%0L%nrH0@g>fyD5!9f8~I32qmCQ{@XB_>Dqz8;M-h#eHJF4^|GQDS_X zqDA$}NQwUt3f!`NX?~dJ5+h3Gdd!p&9PJpg)C1jdkZC$HCRQWb2lT|I^yoi z?cD(W^S8^3&U*}vqSqiW>&INeFq}qSZ;gFL7Pewo6_xs!z%|thnuQ2~L-{TNXj>)P zVFgm~SW!R#+(8Y)phyfFjS+z>S{(*!0ivWzT%7->YOK&9l%NoV(ugqfcj$J9S7=a8 z6hivz?`6e%T;y{mJfjX@Gzb(cSuWP6#>C;MYRFd zd&JoB%HWV#61w2nfzcEqCTKE71iolHPsH!>YT&>AbNt9Rx=h3XO~i;`3QamJ+Dt?V zjl_tco7)^&)SvSSUx-RHzU#l<`^$Cha}u}nxhegd|52LV$LUv!E4#yn6~^bc-A$zJ z1Sz0D1H8&$87<^AJ(M6^O;L6hCbPW3`rr;QJLkBf8S9_I*wrT*F2Sj!)J%k|1;Mej z2(Uf;*^--9A3MEke|!+TG;LO_XA!m{)JXvi0Yd~1wZy2yI}#J?^O}DzR{}zOnXno){Dyzm!ab8#Do<@(ccvirV)kW zqtg{c(bX5^rxAI(^7|})Tu*Bq{_Qe-0e3+f0Us$PGnPBl4r{A8Ic4>;1FX5ANfw&{Kv0+4z_5ru*grmhT{qV_jN0G%Tuj6i3!_RCGvJCJ}0SX3BLA219k5)kXCuT5X{D@xC9VHwvS zNS8htH&8`rd^HI5P6lZ@%K~ozLY>u9FSh^~VP8qKd={91lhJ}4Bu^fYbHiY1xumgr zX~;j5#rRAjTtU!X7*r4-KRBTHNgxA4Y(tmuY+1$^_3lpk4O(-MBz%GGSpleU;&s6F zX4YZF@#e5s@lkhR$F&v8sX>Q_-%d(z&>J+26$n^w5sNJB<3D!+KHmYpIoI~sQ`KcaMB`H;0 z0Jt0uVFJ2+0kTU7YoN$nB@aY@A~#7!VPVR0l4bMIZ!2!y$4- zbfW1TL#%F>9wazcv8d~(VTC5!u7~-vGZa0=?B^P^>^L<&=U0SGAU2{PUDf{jD!xER z^7)4j4ilU~-~VR>{FfWs55fWwF{G>7a73%1?qJ5VT?$iR$oYa}MWPex`e2BQc7mBZ zW;2~0UMQPji~r&mU7v?XDCQFLF6LjYzVKSMI1D79TZd8B)|g}^P)CPRc}uZp&GON6 z-<%&4e;wF-(x}#T9j&hS7P^|u*W}Wn$E=o^*8ggnafFQfrR{j>X<)vtLSPMz=8(O9 zor;zdteuHgq8rg~7@eKu1$uwhV1n8(&o9}MY+e6nC4up z;3M>-h2<@!hs6P=*U1p@l~Z;ekKOBofHtqL<2JgHDr8Rh2;_O+WtXPisG>Mq#LwBT z>D`7)Ylbmr9%yv&XN!m3zf>-*Ls*<-IY)~lG$_YnGi@BNlIoEEWS$m78ZdW0&&C(dis<(!M6@T>fC-qu4Ku zJB2IIN8d*5ydjn7#6WqeJH5YcKrA3o#*&t2`>35@7$+!^fP@Y`RtWWK_{Hy=w>f*o zEe8H_yIfSROBoHp$EoutVPFNTueP>3nbS^pP8g9$cM-DI2EmmY;f37>>#_~EldR{^ zeqN^BuaezVAIA>uT9tW$PwQ zuG|;ZL-Y)sm+&Noo_E&VQP|ggN&_p@zY;SD*m4f567$vZVa9VJS?G5$ovYC$8af4U z5SZj3X7NaJ@N{OX8h)}qxkat*xeWWXRCIl&UkmhZ*7Y|Kq2Zl+hx3C_;(LT=)T#+< zSPa8!ro`}fZNu}BQXY$KJ@Z6W3PS$3gA=ssaI){>H_40e7+58jy)*6J{-4z`-rdJX zf;-tO>ZIDAyz*iiM|_5JT>jZ|XHh^MKM zj(?P<{l_`ASe+tv7{`;VGdcFqJu)vvjT~L^i>)IRd)8(J!80+iZ$V1Q?}Jd|L*wH~ zrMp4uD%!zK#Dfdtx@-)^mM4Gzj}2Lxv+*;UzE@LN8WM+ZvTfD~zO{OZ;XvVLE4gyn zF4<=oYR?Ng!J_p7#_-&nuhF+9kHeR0i%k#HJFHCF7deyKb|}S@X=kywS>j#JxvFE7 zwN6`_BMg?uYnHVuRi2N#tBCbj#}Bq1VdFI}^x3T*H85IeBACI6mMOC506zD>bA2w) zal=7OF$@ol4b(Iy@d9JMmM)ExcbX52zyZRF8nSZx`6)Z6gkVB}x(#D!SS0XkXpmD` z)wlwveHR+XMAl)~$wcdSe;=qJQ0!nVrrBkyR5vzpbvn_@+IlU{(Lhl%i4Cru2@cjC z-KL@CD&SPTlB+gZIzSy}!7Oo+pjK^ETs1dd=FQcpiK||H3qmPu;=wq9KOIx@WIGZn z)7U?y?BCMRwLOWNgZ*^9jbjCfA~V~SHxiW;5kx%FZs6_^oBLww`mfhT}^`@ zWwsVH`6I~ZZ&Gg$fIoNtI3{jCUrt16rFh16$!LU@2rf?d8IuTc?;scz}G44C+7J#pR$^s)XY2}u^R9FHEY!Kq7d?GzgsH=4`va<%qZ9Yi;6`aWVYw0q@!-uiP4>`8tocFcILkO4kh1JM744$z<~y z>XOcHn0>%b+-ADiWk0f2Y0K{LqkdS!OC8n2fUKW_Q4v5WGr$F}rFTnS?whG8_ZEA> zE^Af0p}vZQ-f_iDkBx43_{SCF$mH7R1oRlSPA&MgYPLOG|0GoXBB0~0jzGATX4Gu~ z#>L+{-19^WonBPWzNR=iz4Y&jcjO!!QIb{Q%gAz@sp1)&PLrgy>mk`%KOhQ6iXKqC z0U}6IqdI+XWog~xB`qs>Q&2|;w7oCoNEiK*h19Z>4S6-2MW3JkJ~#un+MW#89BM%8 z`x#xGUXxZm7Aj zpX}rD;hN-Z9b}4YPWCZC_4{wjW44OENGH7?1OKiO7M48Y*B*SoKxUo*u8xGgXiU!5O0}zSig{sOiP6mBj{V;@T)nsT$5~O#Ah0LaV$n zV?re}mJ6e&g-q-B`CZy?{&>F~N8nZwsQ|L}F6ouV@((*Ir7LfM;dVodrq$uM1>aQ3 z3!mB=>-0I;3pA@_2mKAp7|2vT&af~z#Y?6~l?Uyiiz8%koI^Hpc?}sJ^Ny5np1xx3 zwe6m7E?nrZ7wp65G^S_|d``0tzU>`I&R5NW15tl?u~E`QxuWUY@z|X2ycJ-k)SG$5 zT@xcStR2?imKMO1$p^S?NanrypK5x5Xuvan74M6vu;JH5o%4Lb8$@qZd({?{#E@w` z_w%&j<&Yw9pL}OuKZZ$sPobwG@rGQuVvAZS<#Au~i~d!L6YN-$8{nIa-15|CTnn+P z6g_4Ai>;HVX2`pgi+W}!m{><&bvjiKHEUd$%5OLMM4#^RZ0-n;rtyY(GTZ#jRA0Pv zT23MJHKL1y9w8?asswwYGKFsl=SC%y?h!%kE03MurpEup=0yoP|8ejo@efX5X2ho1 zj`%lp`3{d2z?%41DI|O0z14#q-beAhHdL?wi)i8MJInoHA}x7OZ|ak6YYj-!Cj`zw zVVlsfLZ!#&je z|K4jy77{-Ixy+sCzu$dE%|F)54H0@;4NF10hTHN)kT3R z{o_Ve6gOAvlzQKee`cK#F7NRzwN1wipQ7+Hw?f*LZFLJo>y2x5R=V$~O4`-V*eU{d zn^oXa|7;M#QQKiaD6w`;zohP|g}=q!(Y{6=oK9=QT-{e>ux*+>p})&B0mL)iH^LBBbVi7kL9 zNa~W!s~0*_trD&j!?AP^EI7OXl5YFRP|8u7o0923e6&DaX56`UB+i9nWUCy+L>B#s z0%$r)sAQ`9kfJb5;}J@cmBY+h7}WdpJszj_LEl432&S>DvJ*fUAa1*!UaJO=yI?{! zY;8>_S9UlX6qBWqEum>dLkft6RyQl?01AO72j0jYZtUebJN`PZ)cjh*zQ5v3>*qS7 zx7F=;^bH839H7R2WnuH~stglSH~~$AZpQ3kvR;9FsZ=VF#go0sXCEklgAV+EpPA*^ z)S9v(B;io7V26r9pY_l92jKq0dTa?}L7)N&F+c0~zeW4;M|bd*^{xi+id9-_uJ9|* zYavhc6{aL<8`oG0k=cLTy{T?C8RolI%Fy zB2#E##3*@OR!wy5^c)U}5UBO^ht6Y!iGOMwBoGXw4V%TZ5K>_zp8j(&%{3WUPq%jy zY3GaTjSX)!6anhz4~>nacl9Y^pys|czu>#lCQj*xPiO6XM-c_TsYWf;h{UTuH!ym> z?cShawMoS#R`7X0a5CC!5n;e3B?r_A2*imI8!Si8!c!WeWgR6=TUCIo>k~BW9llZw3 zl52Q@+XWJAv~0f6;y z>Tn_>J%40ziC}Q#dya6lzDv#9iF-0)t$R~s~G@g)Gj6mbY0({4J{Ga^x<1<2L?@RF-Y>Qo5u z)laDJ3~Rdm8(^q}AZR$S#^cp1fHkR-9SrlBX2VeX6j6@7N{oAYkqO7*Kwx8Zgc+DI zoFQp7B~-y1R)O;skQ@7YRGD2D?vRVe20&JR-=)Ev{)aYg-vA03CleSM_dOV z9$IIB+5WRSK*xdIxE~-$vT9DMppl;va*CNIKqfW`c``hv^l}$qLM`zhJL;ZgVtV1B zE?`h$z;?w#v*x8arF$W+e4n<(1ekw=P}S`)mMd^F1fmO(<>06WJi|sXFVo~`m`Jw2 z+(<3r{K2Jg2%XR;$`laWm@FU$)PM-aq*aNXVjv3^0d#9XvgH5gZWi6LkF;pS{U)tM`zJ(Gs*+2ox!ebq+WXQ2V?!2K2y?lx+Ja45NTc!^MEIQS>Fm zbN<0u2rt=O@rHwEN^=CGWKm)gKp-hu^sfT9-4XlU&yQyd3BxsGo~2PL`XO{19n2Y% zu+#-WQP%Im5<(%;peP3H&r=lvDU~gPj@PU{q}MT}lnH{MV%i0bc7h6H@ubKE7ydoA z7u_EhnE$V*S;L>Xbh;JKg)<>2msA%51Li~}^tEz_6mm)Tluo6`rzXyg>F&c2o&-2n zm|#wD$Im&~!~>C%=90$7(q{Z55gIkZn?ixs?{4IQ4s8b><7;&g zHZ(dhOrNozplem=9^d~j$bhG*VVu<+{XgD;fkfc(|JIU{0s-l$&Qz!XtL}VrcYKW` za>NUxQ<4s7q^}9hx&Vac`jRf8d}r==fZ~yW3iAD!DS!<4T7db1z|`+(UvXw+m!P>6 z$O-!XAS(D%LBp~KG6N=PeK;9bI&#S?)pxewP==tThsiU-U~KB{MzP=(gV-)uesswi zDi)#}W&4M?ik!S41H_S~NWaT!kP9yf5g+tE;0tF5a?1MfP=42>^H8G{!Vi#{q*L(cZXY1PzsE16e%GD-;jpVgMPRpi0pR+|?jpSzgWE|oFkU zP^Fk4kKs%YlYeDy3Jw3@;}3_0T;7T|itSO6!J}Bq4TwtcSKsh4HcclAk5EoLx~VKL zVQyqrh~lZ4Y(#EgB!eWvN7^Qq0=iRN|NQHu_-B;+elS@oK}I z_54~hYPb$ltcK^EtOk>#94*qDux?nW?b`E5Js*&<0~qf1=8b|`AU3qn`(x$Yz z+`6?}|Jj(4RD6Sc^PYI!IYjPEj?tb2$JFXjq(Y>k>6&6uDJYn?wNjr-Ja!_(>nm`$w9asByqpzqgDSq>KLVqwaCe5W_In)VB&gq{Ot1-^j< zajBJ6k#uVA}#!G-b|V4|k3RWmjT_PPo&ktaWG!_3N!({jJJP|A8a%hgd|Se1?^}IY%{K^{AIW z07H2~-OUVkGAL)n;$mW;V|=u4Xf#8u6~u+pT8%g=Fk;&k5nKKyBACeOBnM%(x}t?c zeaSb8&Su=@bM)F&B#P_Em8Y&^^i~zv2cuJVG7;!>y)zZR3zpp zr~uGx@Wnc@;LJ?+XMmLab5$&LQ^emeCAR&1gyMrKATlrl){*=1lC-u6*M=RlO2s%p4T(SB6KXa8(T3dfAMGwTqG9W?l zmR*I!px?n-x*ZhrcE<}@UGz1v{5|v8>0lZzh!{S?s%#(b2?hB5zbep{Wq98(A^Dy0wZ z#iMy65BhSNC`}Bj$-*?Ih>c0CHmqw#I6WDb9 zt!Nm5yEFD|Tv6ELQSY`$GH?4#xc zWJU=iUI9YzJZPTx;vyH`5I}6s+%TM>7O;KCcs-J0Q?swgsfjmyr{jel0@BJkMV-BS{&&>m)>#7T4w5#fPO8nw)yaz*qrH-bc zR&xQ5te7s{Un3Cjy6P_<@)bD8+SrOp7Wrns4mKg88*mocQ{F#-!_+p`L$a!mUk|1e4x?u~&PL#H_BD9mfXv5B5vb%_F0h%VROR6jb^B zp25R2l2Hb-moklZ6YPZx-Lld&6VLj^80IIlNqgOlj^@j?^ax!I-}f|}h1878qu$F; z$}$8yyAiI-GwUd>47`k9$I{x$2Wl8aA9*++8+9|wjn{h4y$h>Hd(Xf9<;Yg*hhjPL zCht7@`!tTfQM&`hKaAz&x3cnSf0*XX_*Io(he0|9{|@B-)im3G!+ju6ZX&Ood^;o79oPVouG zF;y~ZGVd(}Z!uTX+_BC*0sy*dGj?4qkpy=rCDxantAWuQdM|flGFm=eX_HBfRQ9H) zci-;^Mv$^8j7oH}zpy-ytHdW3{RH#klbIvYP6eEWLs2N$FasJey!iOYV|K|Cp)@&U z!pGvl00^Ko>|Z>L!$?9FNma8mY8<}waZ7!R=F7;jj@uOwW4B=&k(MMm!}j{!k&Kqx zmqvdx_-yn=^_+cja1Yy>Xi9`)ooC=+- zL0e4KjxBmvR*SQU+6THvCQZ$BOBF-b;{zI!AFDPwILmp8(SYjR{PA8U)PLVIzVzm0 zsO~It8&1D(9i-bYn{t|QV0~yzC|X|Crw>}z5;lVLMDnQNo~DKKtg({o;~s9s+!GY8 zdbe7>Dp5O5T;kxq(zzH27>0Un$h9or30=;` z+?x4o?ey`pKDxn`_Gca4cJ((*@2`Q*j;YniB=@?65w&_W?|X!Hu$Gu4ovX)903ryQ z6KcT-C)@YCTYT#Z=j*`dTMw2?FT?x>%6A2VrdF{IBjnb&R&yxrux|*d*oG^pwY_5( z`0AC}+Eior8hDaVliHx=r#)Jef57Fi`-DCYT`2)Fla#Sc-WB z6qr@hpTF@X|2?A%Hkg9*a;UDZXVd|*`I}alT}i}9vP4}VPAqa^3Uxyxff60DXpZQk zA;W=EB%Ed*6$xt1jJGrX_~h@b)eeZXCO2Wq^9DP%2GX%V zP)ivaR9**gmB1zS1!kJ@wXm4jIKaA|IF?e_Hq&}kJAPATIqIDM+mpYN)}ito zTm!!D2_*YV2kV_(X0^^0nV>ttQD&%6Pr(ll{1Y!!6ufxnq^6{cw8u7L4-%8vL+ zb$`0}uuayP6y(%0uN%JoOQRB2w1;(5L%bg+U4vS(!uh4X+@|t;oo>%%Y`HRd$847r zk47EV*4;PIS9U0+s}FbHRk-7|Jzwdua$A#jx?5i7MYRyU#5UbW$Vy;`?#I{Q&i*0x)8S8?4qza~kut)rREW^V1q0&^PfPd03d0&q%Bw5TFcxn! z-~Z)dIPY=e)}}!lQ@+F4NCiK>7aE~OKhM{5q@{I@TQbnt0UVRAFnpRGc;os!nVJ~y z;&CN%S*t=CJbRzjf3tTN-LT4v_D%vx8(C!LUz0RWi_Y)$GU)4OHnx9?lN*!VdY^iG z6^h~wuyw{Lt?hUxS=0ewm)x)sM_pTZYjAX^v4x{z@SbSZsSeK;-lLlyK^~5TYZ0tR z7lwv1nBz25c(WHo;MInF64;7;ekK@qVSmHmh@(Y;K{FJGz^|cD4BPr zeSd*KcVSssVo+YmNl|LQ&Tu1>C%b<0xxW;=LQB5z_grs`x^yRy{uNTvAWBFRrUEPV z*S)d(bKr`m^J|W)S+j-n4^84o{dPB%kI?-NOI3k(z?D*&C3-D)wog7ZN6{?kP_6D3 zb+M)yZ^TJws(Ibt$>UT4FH68sL&x|}al_b!C?F*GeQQWyDJu4$8((_Z8Eo-WdebVi z^#bu`i{R!B6SkO0s+3$yMEdR3gZcqr#Fn9*9L~-*>VO_oBF&vn)1cr zVoLWd@O|@O!taneB&Q`#K-^afciz3L5ykx6tXwZD8L2`I$2i0e%#OV4a}p=2%WzC| zE`r-16@9%b4ju%ARV0kMD#XkqrzK14W+>_>bCqSJ#u&CS4U+r7ef1C&_>VC^P0c&ng!piex|HG%Ncj!b83WClLtM4^)Xo zWv3bB3R1533T$1x3UDLcS2iBufP`*eRue}*mjaW{q{z~Q0p{5c$pcH91OE;G+$Y5T z?f(%hzbG5Kr+OJa3v5h04>gBdm{%!91>tt{;MmN$X5|$b)17MAzu_&NU9{~DCit?Y zY1_X3^`XHV0>-wQB}%?(0JC<}x%b_t-})Z#;Xi!yK?vwGbo~VWUN*YF|6(`x_ZjK} ztkTS>NSf}#L_PSS-pC$QE_|R&1eMpN+@i~tT1;aWAsq^d&=+M%!e_Ipi2?BxQp*0; zqkquaP{Fbo1LE>F^dd(>Mi#gvkony%vMz`&;qwE$w{Sw1O1-Pd&*ep9}OdYYUs z13^wK!BMdidYCd{k4F)LmmZ_bR3`D^KaGTUzzoR%rKhRo zPph>7s0sBlA_)hdRNAG$X+Ct~=Qa?i9%mKc;VKOOxH!KAXqutqYJqy+E?ZPS(q#kT6#>;d-l zNeTgeUpgVtAI(?nw5N_sc|4(kg~KiG$FG_EaV!ej(8G@i0)F1VtV| z!OIjjJ6ShQq0tA!wUZtH?SZ^h!+jT(Jz#aJxU{0PDxZNT=DA*msNP%Fv3J*Xc$s{h|f~JYZVJM;<4XYbw%dxC9PN}x_l5V(Ne&YRS-E`kFSjUmznDr?-#Gm z{~8@f^;i{gdQwaz1{5iRJ+3;&uxWM$&dTt9E}<4j%^OagX94YFGSC=cm&M?5GNw?9 zCny~^o_B!|_!Ae>q-R8+8)i5be%ygkmO@#E=}A>={tj;m(0te=JOdL#2`WYG6B0XR ziQ(pbHasbnSi$LFGdbQ3rudCw@{nQ9O33Oi^Oyyb%y1T1%unxQa7pj33i9S?yU{DZ z>uS^V(Jt}<2)aB`+Z&Z9aJ$y_dV&T_?-Ef?&)&1d(_2e%d0N zgifD0pn zrvVLwvhIKg&K~4~W>K9sQK;z{>)Bud#i>$YK3pJwKwB8$zW4@A3Th!o0g+7}ajPSh z<+Lh8vxrC$=wSOC2TZAoMUpHHH8Np__wztb&x>xK-(k4o2*}+}&|}I#g*Q7P9~v13 zyix>^Nc}nLcFlk%O{DG;2T;uhGCV?l$>IS1CRi#bbno2zBI+UeQJ5+e7dLc4*Mj`S6c5XpXj2LAc|kNt zn+B?1Sz~EXxnMYs9M3&G^4Q#6Oq0uBVx%Qa@+S$Ch<{NsMaD)Y9BxW9jE;R=r zi>%H{)!x`)cb{UUeQQMw>Y=6WJt{Dc-MImDJu7key+1og1S7n_*Lsc=Rb@{nrFJ*?}%c>Cs``y7ywD4F0m;(RvY8qyF*M8mVa zA{6YbU*z>Sb`-T{nLSTTZ>aN$mWMlF0b`25zzh~etI<%L>_z1hNR-|rU%y1Dl;^_h zYa1EPFRNzlib~DnL?Q*Wg@fi{CUs6}AOuR^`>L}zI#sb5BsC11`@WepHCRM{FQcDAYAmv1MfpvZrZ2FP|%b}|e2#plAt8x#iW)>u$UVzUB6DCJ}LPT_`04waeQdq@RVBoCgg`FTt;uKB9eu z?cm;>?3B3ffClTtP_h@?0#OoXs}@#6ktJgHx4=M<;yx}Q4M~z!K^61fEJ|?HP0DS2 zKa!b)WBVo#CmwxA27C$+Dc=!1BygD16O@Pj)b&EP?>}5k?DS)4TUo|4;n@(vB2b4E z#u#y6P?w?G7MKWkM@C7^Ailgh*?sg;V#9Lch~tfjqM0YAlYbRh1kg}&;>I*=ad$bo zD5%X~v(qo`cyvTc6Wpf3JOUd)lkl*hiGo;?OwuLGI^?!_W~DRM#(Cy)yC2VQE9VgJ z>L}@)pM2K255q6VVH6>udx$Z>03|C^{1cPRnx;wWgWF=6TY+chqJQ26#9lS7jBIfS zzku-5IORNO0BmM|XIpKqL0qrM|5$guD;1|c`E3_Hp>$M5L)#V?Y7>i%2I-k=N9r z&{^jZNI`&3Kxf~_-5vPAyBlZd5069nkCuH7W<-QqFHk-xkf^Ypo&eC;uQI%6a&|jdQ&>}f zWsZw1JRSOJv@En~+H3TGnl!CF|Dt57c6=qlwgb``s8i${Anu`geso)dSzxqbxcr<)g#TH4-_D|?+V52+-ZE@Iki2sRSb+6 zAVQdph#&?OYC1jFNJ=n@icmHZOUMuK#e2j{Da9~6>-7$7*YeNxzrTDohU<2GyJ6O7 z$8%{H4&`$Y&-yEV%?x^_$g|14dK$}XCm)?hzsAwECfB2;W+iF^FNYU`E(+Oe{51F0 z=!z=r(D#T|9frZfIbAV5?gnaDCNDUS4LZHn7~p zNhC^6&rNj4F*fzSud*`4Gwe~dv3;THc}ClzQD^cv3Iym~wVe0kaXznU+GsbjDt$)Y(qySLttHX1i$x`^0siGSdq;aZm!`)ueGSrB`N>0i&-~k%dND>g z;=V+_niVGy6ncE4z}Iv%6f$+7G%?Cw>mr<%d#(d>N#LC7dznVWka^yb>5jz@(Pu{R|tQVwvdHT6}YU+w} z>G$`$FCN1+wzmTWq*rSg!TTw}4THd{i4ts=uK3%vNfwaVsOCuYTSR z_k*5mZj{>yuJiLwt>f{{^&g;OADd8IkZ;oq*OQbZr07+De;pY#IsnXhqE9um>=xtS zsD{p~AY>n=yL($#>N~C{dQk4HrR&R?FzV71cpr+cMUVwu_AQJ{%a)D8!+~5c8UAfO zd>gOE1xW8>URYz?iHMz3E0U&J=f_9=yPMEm*J(fbo?_x#ckxAW$D2_T(~!k87t*P% z#cM8#!f({AXiu*71+G*ngN-wrO6JzO;5&Lor(9#^*KWrn-|p(O=S9n|A9%eJyD8C7 z$(4)X`Lhe*MLR9K6OL6(6^V&zyMy%odhMNu?sw8oQ5XDQyqW5TXO*KGh}wF{9!k~L zOt>R-j@GrV-!7Xq5cz=Bktc@wY*nnHEfu~>Y9dpLa2CRKJ1U0qX;CILnoRNW)F&pv z-n&%im}_`6dqM;~UT0@V099Bq59or{%0{az|2N&}mha`EUPJ%g?yYV2hb_~aTvDVRgKZGI4U5u}w%1phRpYq^YLKquxf$m+y^++{tB2HQVa z-iXhe4wV#?4&4L#OaLApj!Q7V^>vMB=Nepni&e@3@B=-(eag1bL8$k$%hEdWWobF+ z7X1fZLs^t&zJ4FLm2&_cg~e)oZQET%GV+Tam?&zHAY#&h$X0$(Ipj;LYjM4bRXM99 zdls&EuDh~kSbUA^l-M-vuXrW0ePMj)cH-OG`IWX{k+pn+m&PKNwcFzfJ8|37&0iMt zupkL&WaHXQ9Xec5K39B6>hd+VntUq1lcU)e&lEO^ou`4F!N z?ucMBtwa{0|NPlmgP&2X54aOG{mD^^m(?60>>+{cD}a$QASHXzh?L|bSNq&VF31za zPws~smve>wv^oBN+VHr?{1FjNMSsCX4j;IUnIe|CSX=N`S$iP1TL}m)3rk>t3gAm~ zFq>~uUOxKhZdwYKrg{LR003a;0z!jG%xH zCpZkuDAG`P)lnulG9;VnC#Q)dm3sZXV7J2h|MX+di$IDs$A;gBVeIkhPQG;1meOSH zP!R#RrN{SRzNiO6LQ_PB5LAFf@vhL%OzUx0oZ6R4&~e2dTrJMoRf!F<==OhB_k;Q| z_%oV;;Sf_z^&*ryPLwm@V;{JUIZ%=X1^1*1tn6`km56iy8_i>HpJ(=R_6cmR(1L_l z7Kg&~*Tdhg0?N0stlB%|jdLn6SKDuR+SV8(b2HoQ)xW#jv-j=U_R?zV7{C8h}je{K2s)Ch!# zUnQ&RX^jb5vLm_d&w{`=nLUu=y-2n|CtV zr^!z!?vAKR%xgw+So*n=J@V$1FJWz9AzuF6~)OdL^6}sGoVD4U% ziX(d1b$^jxt`o}hy$!~73P;K!s?nQ?G;Kd6_Zw zvT~&JGS!J%YX(kH$-j>=nCt`Yj4(4+4dg^cf`q#GR=vWg9rQl6itCitH+)+~}x+FwGJGxn4 z)3`~jQ>d3uq{P4khc1N)JwhOp27!uM?fsZ}#x^BMsuVx%8u3dU^%6BFi65QJE z?IqQTYrt^ETSV)R!Q_bKWtFgu0WQr|1)57j$*7VNDV}}X8fk-8Q3>`^h;NWrbtiwA zGMT}DXPrLLhA~g%8&TR>OR;<3Bqxmh>eHFkV}=?&2J(975Hzn!AF*%gu8KYh&!Q`I z0l@R+&M}QBAt}l*do`TtJ)f3{Xv$ngj#eQdesES9H4!z{vT|hJqa8COyCzZ{uU)xX zEakH@Fq=yo!FMGpnO*wcU>CcD&Q%_pgp*IyWb&s$p;9dd01_jAT#T?L<+$d*@0F?k zbcToqXsTM9SWCyVHEWuw%PfAwF$-oO3DD2f01ELT;dyP#ReXEb4|5_i;D zsf0l8t5q@vJfzCzjGP_P_w_w_zWu=oWpg^n*v7no6urG;4W-TqWvY!+``532Uqb-tL0ENDR@Tb?!0_xgv81LH5!HV^rrZlP zGv%*Fd^J?kc8}^~9I}aH2ug(9NJ`)^zv3*>Cqu0T}A3kE$a&WyxlVRD@yI1whUfL_?SY=t=Pf zg2Do#E@%S<0)e&d+qlg2+|A@z8+sbp5WwT0$O5IpaX+C9PFM4^H z(Ld$UZGq+5tU}zE$fQ!VN^>7StFUd~Xr1mT;DvJEA&-5%=zqG5?Oy8r|B>}g;ejZ@ znz5~kZQHhO+qP}nwrwX9CllMY?d+UA_w2*n_v-Gis_U=%x=UFBJmOg~#iUc^v4KrN z%-GA=p)>_-zGp+Y^jyvtY^|Tlp}Os9IG#&%M)22dEAJMa20MDSZ(Yqzr*>NwAH%Uc zW_?MfPJIn^YwIJSRx@O~Wkp}FZC0LiUV8H-o!fkwbDh_-2QxH(r(fPS^zxYf%$ZqT zdG24%W_g>Z9X-kYUP@B)TWNZ}+M)CN4#hgZIcD0%BCGHBeB|P>zIndRXv>VnoR(B= zkxm@DD;bgNy9pCi`grnL&y}*Rc%bUbzp8+@_q{($qxtmxV(+2iPJ`ont03$844LPg zG1_~LOY+?gaOJhA?JWd;& zB~rS3VsbgSzY9XG<4ASxI*~>xz%*PouVvC%l9AZyN&()q;Lb+l)?3M{(r%L{cr1nr zM+Tj+ zS`AE5KWLlEv$6dVpjz*WmjWu~;x ztlD0vQjwoh!QhCd3$itSwV~=r80AY`jNnmS4j+z!)P~oBNzTQckvsXk7v#NnqHBfg zQuimkZ6>;H=@Gx8zGx))lQ0y5pqyW^Mn&cT)*>@xnrr+Zwn~+os?$&Aw(T(@*s11Q zOjr3qR)|x)z)&24P%GFP3D2U%W>$;m#D``ezAvWcjM@)!>(l2Lx&$PZa@(ZS;=7Xwwt9U$jK%e+ z9&zt{L>PdOd}_)Al4`cGHeH+je44rmeouadyGwmJwH03l2Lpr<8U`aA!OXZ8VHue_ zh^?8>;V_!=v39uO)R|csW1SIRJ3l>gH$MqQ|)t0{qg=J8cFz| zrlv&01xKX%TQSQi9)LVgvK$@Ax-DA80w5q=2ZLWm8yUkT=IUA3MXvL#f>c(I zRBm8T)DpZIQVZ+0Z{r_Zw-0d_uI}Rh|H`>PialmmY#8uYS-*Z~ot<9Dx&HQJmvg~# zlgZrF@+DpOszIOB%W7yQ?XEBRqtre|MzcgjC@r86P@p-pY>g6fymnOM8g$>JX*X(~ z_bcE>D0+6U^`4{TL(#ck=wB^V1Bu(6Z_9?ep`t#D@;S0JJ_dVpdyr??Ypvk;-IDjM zs?>S39|4L-M9}#i-2V>>tQ31SlHg0HWkoH$F)T&Tn63_;eQ2G-4BCWvi*NtYS`fh- zxt5kSi$YH8s?qfk5{p7{_Uf~qAq3obIErof@Yl!$4M(-@L@r}5N) zs^pr}IR86%ig=)Z@mA)rB*yHlqEyZyp{kMWQK>#nx+1X_JN@$_KL$x541*x37Ldc^ z-SciK{%3}HFX16^q+>&H9=$rot_lmV^~aeEH28ntxzlQ+zFWo!`c3!zciA6RotzLx z`pWfOC77+Nh2zWW6?+0tMNr`gK-4<`#KT}n2>0PI9U3~jS#*)o^g>(piaOlfC`mI% zh|ogWj0>bq%a5O9_{Gx|3iCS@*P}7l>5Y_E6o?Ys>WuM9Xp=;h3f#!?lIZxmMxIGN zo8NQ4GVeGBEw6Kum4ONJ_^8)A)je6t5vCO6x4XupZFPijgmmvYbZdV-J=U^lo$*IH zmCMB`z2=Z5hWulx43Ro>?J>-m3Cc~TS#<2_Xonab0+PE%yFSd49#j6q_k?SUu}h69 z5*#H=@=$Z+ao2`|vg8ZdPSn!ZXWdwHJOn}GWGWNxxa^2(;)uy`WHP77I6bCjwX(;< zY65lNc1;V?0Ph!TiJrp|!q__;b+IFvix2+bkaOcP_`r*=9~lQKZ?OeIi%Hp#anwMp zQ$|wcy*n`@X(B`Gc~N;M9Na)dRCK*Ksy7FIBd^YY-mmZM`BK-Z7dkiYnLHh|>&qLQ zp3m&uTG=5>2+$PNjF}*5$fDJZi34)FDqApu8h9QpUNpsSP_J*=QS)-E4!fZct1RTdjiWC`%kWfzpwl|YwE2tClc5Q| z$Cob1*GfDRT4Bup`Irii9x)H{(pA((3ax9>3iI-gLq$hAR?E|PB*k!af?#GKMkY?F z`Ic7A^V3kH(%{~)gvPJeu0w?+f~kLf28bZLm6ELMxDYI88Z$*SV@X8hHBrJiw8TIN z905UiID%j_;Y!j7Mn#zhZ?{(Lj%8W-*JpI?F3sE@} z!wI+rD^M?P(~GQWOehUibnl^T{>KMBP@z$8xt9F9GLq`&m!=sMt{S5gfus=hi%+kf z#4f_W+zz1)rI*WM6<2p)t|YSxGAEDc|YmR!* zSp_t?V7Z6(N>7hh!-<(>8UN`qZ#r*os$*_q>1boiYkRt-6cBtPVQC?CxixpYPV=*N z>t}}e8TLp*#fr~d;acImI1~u2x~KC=&X1=LYC(s%q;D;>({%g zQ&F)yk#CM!?8{VdNHrzo+tYcRPs)H>!p}({t#tfysX zm!3Me3Qg|gl@nLF9w}57S0ApU?eEaJI=>!>ORdX+JHnXp)kX{B#NgyVt!J8(vTS*~ z#7Av>KP6PQU9P!|4;pekcs~y3YGK#sQw!!-`?NT0TQ1Icdbn?~l!1G%%7GwSD{tSdX8z;^e()PbDLDA5|gcwhk!6pg>cCh z?xl>3s~RDDj|Qf)s!|IvV_OGk_e5{T*O)~OC8Hq;0+J$guM5V~B~vBOq$voHl$+qs zK3ovBGAJQsZ^qWBNB*PoFDlwKDKo+gOx{k|($vt9O%MGs)|!v$n4YU!ogB`Vj$jZV zj#p%0@D!;D5Q>2W_#qxCAv7N)d)w&6f@C5RLP$fhv zvA(0RryT8pfn)?Eo?l{EbL*^W!M=8PL`NY-Qk5+#Peb=9cnzslkM$ReVfTM0va%n* zC5+vPSR-y%t8{j4Rw$Y~Z*;`iS2%gNC1)=nlHmMz<}745J}&vvnBYC?Zc=h-Knsu? zbYDcEDFYY99cefSBV{O|>@BP&yUeh9Q8P3=foeIbUX zd6-(&kAJ7+$!?lEwPO`w{)5!&XA43yocyoEv>3*`lgGNP9g9gSkgjadya3G32FoYY zo_jmUUx}lZ#r*pbJu_j3|GC{}GqiOF@?F!x)gC0oKWDAoz zR*F6*h{%5}q$e5$isKg>PQ7x(!wou*N;_lfoeGR-m1TvjY4KZg{UDm?T;EO2IJU+p zq$B-H8~+IPdLpMySt($QAa_CTA?wX2x5rhG%F*+domx0B#?>xB(s9EHHw;nph!7YdT~M3V(wr43z4n*;-5+7 zjjmIAovFkV%y)?FNIPtM*lJbXZ;3m!#{T^uHsV$|-g+*He*k%SqWv(`1r=6wTPJou zTyrBjb`GuM?*7B=$Ai0?;14bC7P`9Y_%$w~w;xk%GSQ)jjfvNM>xMz#-VnAsop>a& zD=5I}Jl}q?Vv8li_NAw=Jk zp-ClzCyDO1nBNVdK;B6Gf80ji*z|$l%`WkPIw}!i>I0sZq=000ad2?HWPamP&HvAC zxypw20Ok$tiIM4r;XR4jG%Fxussf}N&Zj2VKBnA@qqowK|Jt7hPpeaE_KNaE#sO4i z9??v5tnC3&ueF~)XQ{Ut9efB)S=^j0qWAZVl;2Vrq*nb$^M`0 zZVyRnCg4GtZvj&xC`ie)U}&wi+){q=;b|29KQ7nJPe}p;?ZeY~(&>>@qEJ(GH)yMa zgLU@3lgo|Hlmml{|o%72vcaJBBY*{aZ8tC<~BDz|I!`h9kuMCoiwpA2X zGVzYWu`4xlcwt7%M&jNR_YL(R8-q$|^X8#X3xh(x7x1|zZ+XA8dpl&LZLTTvXWF@)?%>RuvNWwTs&>3 z6wEGWG`Rn|Xbc#ot=&tF9dQ)Jf0)*gVu2jr_x_cC#UKE(;b6hK9z4+r1{Y@N{8Cdv zm1K)yp?EzuN_Vg;DKM$-@Z8nE6GuTod7G@bGDO#o7_Cn&4kyRW1P6tzXOjp0U=fg{k_DKmK8`Ri4Z=IIyKH5 zeTPgwr`<2Ij=rh)5F0=q4SB)u^oNRVxvHUSJg9FrCW>8oe{r(9{ua9_)v>RqkKkwW z-qz8Oe4FYxF@07OS+bBJVbG{X2T@v3tx6P?%f^-T{i%6tI#3Fyou$H{|GNp+f8%quPTIBgcu5asvOY`no6GF&-jM`*DmErifFc} zUHV>*{^GdN)$JZHZkK`{PJKmTtne>Si4jpU9B5IHAh4DdZB@(pT9*6yF3GVgdzJq+ z^vq`0=I8(_8Fv(%ar4^JPl0jkn7VsHU4pqS(VlE}jq|;h{bAYOM>EZqbu-#GCx6{X zkf*$K5tA9{Nv?O^QxZ8V%7Fo+rt^E7Wi{yhdh%$kYi@b+%u9Na`E}1O(diu%0V}W= zw(ZzPl~B>(x%bI99c#esmOttF+Kb7{6A44)J^HpKWjIJxsG?Cso+1!15p1|cZQoU$ zHxliG0sOY`H5zl>UREU-?u6ax(LmPu2u=9ax#3GdLjjI9|y)` zYZu1W`nXKlDp`_v8>yc2Tv3rdz5NwRK;TQXd=fCK8Iy~hE!`J1jb-6rDU<$iU(V?( zrunqCRC3882F^k+oYc2wD>Pv~W~H`ixo1xz2bQjLo9pYgl_S?Z8<;NQoO)n;XqtBA z9}OuR%%f!7p&eaSzvSz!uZ&M5S{^hb8Q|o3)-1R?3L#V$pvX*Nc&d~5sBHK}@}$Th z&}L;&>A-4Ot1&lmv-Ry!-Fc#wmRIu`9yCkh<1kgY+Wew&panDz)^SYKar`3a6-E*4 zn2B?#I#%RegF2f2`&TV-8^n`awA%}iRxCAF7;tg`10+4a;iW9 zn1n!>|H-L(F30zO^6^5M%ANyA1m0s!)NU;np2G()zE*Z^auBAiN&5MQP{sy;i7{OU z1fcf!0stpMSoF2=M$Qv^2?iEGoEzimqyY7X^anJ2qJ3(0YrEFk`TEY`c=~Yz79K1M zBpJmc7KC7H*f+%-5$N?7XJf`40Wqx)WKln$tHqX}qZIZApa%wEWC9Q~1EpYBZP{kW zN^`SbL-SSP3d!u}QB2YbvI*+jYS$mN=-21#QAnX#VwJMAP^2s4i+Smjn)itMxjlTt z^SFoFyP^8@`*4Ziau^%CKYA+w?!zS%^DP+2;x!xFrLr|;P#RlfxaX*@ zKYl+%7D~dKNc#PIpzHDzrux&PFWXOiG~;mW%Ww|*)JGuiJM0VK?dNt$*9Yw5%de2* zM=iR2NI~ROswf%FI04=`3k;%IWeHoeUc>HAC}}EKJDWF}fha1^1LiQ~X)q0WkV4jU5#y9Wz?5hPTmu8K2CCuk;Vm~g=#*q+upf^uq=mo zMpIK6E9~fQ*ly<8Lo-y5Rsw)MIYS|PI9{4^GhSs(N@85W$e;(kKyj>??e$CB(yKU1 z^MP(~#33u<`^EQuMwU>QD@kViqfB~X)tkw&b$23{N=ZxJB$o_lF}^h?bta+n7-13_ z#Px|(1B*^f%Qje}9mls-T=joZ^uZ(c=ru<1tJ5src(T}O#DaO{j=&0ZR^=@sRBxc+X%Nh zL7#m3l~iG1_DHT9$UxUu4r`V6kGr{ye`3kkehDR<|lT@Ql3e+x06B}@rH{Z&t0Yxzs@*pGq&aag(e%(>AM zOEk=@M@qUVO@7l8dcoVn*Jp5?ofo(tQ<5p#@dG`Er;LzpR>YvT+DaYR7pw3Lh;8Rj zhpe*{2E{6yen3wckB^(wrYqbItelSz$B(4Q(td_~%Cy|q`ppJVQJmQ;WN*C2zoar7Cim-EM_M9 zniPvuch^xQFlehr1M&4!Yp?b3mwR=xTc1shDaqu--sSSXAx%D>+=OL0GiFX3Zlne> zrUC_0hyn_ci%F$2O8gb`94EDkKn}!!AK_PmfU(J%`c-wB?&B@_Fc+lAgDpMFbC)Ki zoWupRKB%3_&J16^6~Cv>IhT&%Wb2f8SF!6XWoOi#4M7S6E$ibnW#tPO?-{i0EJ)pOm3b(_8_ZiLr#frqGmmsX}#_N?7Ix z7`0>dVX0{Rp8_mm7HxtKeZoVg5}D~2LTK8pfk3yn%D6v|AdV;|IE!hPHHH=h#0NX$ zPqPftS444cmJSt9<;C9=O2y#%NI%vxF`nKl$1BHh6QWb!LxBPisnUQGjh}0ezmZN^ z!yc?P^z1i;InTF&`G=biahOLE2oUqd;lSNj;IZ0vd@JULcA$|hYH|bn1)6fF|kJo|&|*UAY9+{~m$sxUQ_+blcFX_L4%V2C0u)__pcdXq(Jn*_f0a@Xown zZDiLKW!Sw6^) z)8_jc{zEb5Y=0{|izr9yNvG1~-WozI8-!`+G{xFYh2N>myHk$ew!+(>n#wcffE2O; zuu{8>YmI>m{`(C%&{MbQ0;V!rER>FF>P3=nyz1&}_4H_aKCSD)Z!I0L%(3YTy7sD` zI@pge4(>>iX}6U9*p^06->!!f^m5oQAm?{l+2E#rjs>j>*ToaoMNEU)R$P>im226$ zH6C>vTb;wBw888!B<_S$&nAMO0S(#K+lnJdYGw4RAosbyrP+%s zkGhVN)edgZIx8)pkc8HoC6yUK5OLt&p)TjW#Ln&7y{%>&em*u}k+v}MuL+7;)cpad z(^0IL> z-jgm%@sd-lLt=96{=WO{c^70w75DBB&v~!&=S2eO8tibHir56=5CoT>95)?tx~qIj z$Bm53a7Cbxx@hsseh>{HhNvKVv0SIKKjx>QEabp}O?LcmXL-LsXkl3x5pGGgJ+ioV zQvQU-06mA8+*Gz9oeFpY-QyHI5s1O_^kgg8_rP~tw|}gUU2*RpqoBbLDGpeK=-}&3 zS7Yp=$GPOVW~FQJoz<)M8H#q=g7puvYV=ZkU-aHh`m)V)ZT9>14LJUWt)D_x7O&nhbPttv8*)k97L>(R8^Zb=0*lfwp}R5MOvO91Fu zGfih{Ll4-t78?K6%xEv8-9_4rSA?}}yTmMtl`3x)WrQYOIqavS-j($CUsBtnU$F;f zj?>)+?^ge{_D4LAlW3_nG87eh*Neo&(Uk^5mfr8BcVja7yIG} zC9&|GuKyW72};jf#XvtO9q#f5hWK@@r$u`5RP!bH_~K6DG4JBZnT$`wqXX7!u4Pel zVF!zKAI`nxWPGzin@4%UZ)pR zYLOGT>qr&_!Xk#ytmLut&5EhhBdw`dGwq9Du8NlvSgymeC4|bO+0|npAS^wZ7ETF} zsH;W{oBDk2I?t%a7t3?14qlAx!XYkc1)*bCK;AhHjf9YAa zgQGYuBNZ}rg8Kud`$HZcxsy|0m^S8F8%gP^Wzw#3x((@1rK5ht~eN)Iz6pE|0np>zkzE~&RpSEpo3}hwT}Cjs5Q(K z>f_Y{Nw}-KF}U*!a+KRpY4!+rof3`Q!M5h zb8A(bTt77uFV-yQOv&5ds?BA+B1}u=z7c0k(Wn$OCaM!&I{@P&x!1KdF1FQ-?D!+u ztRFQ`HA|R9F&d2humUmZfus-Kn}*lg*H@{}gMb#Iu%q?#9)C;C<3JH7r8JC`-eLy2mM`F-#hbgZ}BX z*iGJE$EHZLUF6ssiv%CzOm0<|3n`?BRMIX{(F7;Od@R4rM(I9>MG!;emNyP9r~W2Y z;2<+qFGWcZLjUs=8VIXN!qNs4sa=5uoxG^ccg3wR59N>c`dCK+DiDW^Q8SMuKJ$mD z7*VAh2g;)aZr+-d{$^>p0d!(L8>;Dgyxk@PE7XoTKn~EB2Z55D*f2s2eF$CP0~UBi zlA-@NHQ*&zSuWG%VP+9a3xd8_1LXDD8QIf*lR;k-yGGQgZa(|AUX>y~MCxWBvku9G ze3z$r4PV1p4i>i|4F7}(5cvG^1g${{qq3X30DveKAT!!ML#Klf#pl$M600dSDI8xTx(%Zoq(Xe86xsnM6_cS0 zjtZa>g+VxQVg;c6c76S;{Yu+vtDLS*kJSb4wdb=2ch~iBPIxn=(Pe3C(cdxXH-&SR z)p)|C(0v^0alAAsLqkKE&>z}H>bO)i8%*$%Bf!>Te zG7K*+TT(OlG7$kt`B-Rh{w66|N(HJy)Iu2#&3VdCgH`TkpvzQl$E7V!z><3DXz zcEt8TDsTyh{ftV(Ip7kD(-cmSLuq(90V*#87h*0|)lq!@THt#}kzj?o)v~?mWe@nM z31omj%muDMw@gvj080qZ$9xflA@vB~87jWvI+t80gH|7sC?EW+OiLw|_=7bf`8I(nvPXR`k3zRdiTN7Z)~+l3Nt` z`s0uokqCY{V@hI&hdzFel0?A><;6~DWF@3-j;)AT|1NW@hh)F=TDxsP*dmr9G7-+0 z!Se%i&-(E`Q`S7XxY~WRWOQ-|f)e+oGQn40iPb&BkdReh3 z6$&V9=XX0BAjujoO}~#Ju*&pjKHWG!R?|QDc}e^^mbi|zC@_SOM_2>qSmBICn~B7o zQ2tQfC7II8Lq3LjV_qP)fcX2vLv8|Pj9`1yH+x*~`!IhCgcw$c@Du`m^lv01dM=_C zIA$<{aN*ImE3KUgn_}C#<7sCe_X_<}Vk!(U4`l74S^jZs*D*smNOn&9xB$jjNgyzG zf+ZVK0;H#Npzr%$_r73#f{mXDM{-uixtaV4E(jSa=MFyZ8{}hP?JCluP`+EGc#;yk zOq98^a^AcYk|hPM%PZzWksftI3ZQkXFXRKKp#%&;Zq#k`^MIxIJvfSOjFi!j9f2rv zrkFxVJw!R0rV?AgBGo4*qcairGNd`I4$fo{+XJ-zNJj3`;mGMMj}#)S`qAGUIAbPf zFJkzYQg}BAV@GM!4olaoR^_x+!WWLjn69Ch5BRu4J$B>Uu0_ItfCLd(Lo*U*!Jb_8 zI5TQsBsx5G-LP?=R3VoAjU)ZqTH-D28(v!7B`Cd#vF!-Nd3v%&w1dD!NEa;?;vG=A z9funfR~G1`1XI;*ja6x`Fi>6x)$0q-T~fDnOdc}SZ-&xcq6#pn%10{7(+R;C)Brm* z_9I2Q^^}EPRZc9M7*%_7AuRI;kmd_I?i6&gkKNiQ#3FGc#X_0*aP?tfE(b?(TXsxt zLSVTi3cwnE&|axK@|-+(=s|35ia-V_*^F5Rs^$P%aLhd<-09bKMI^jX3SlS|J=VT^ z+2v2P$llUf^*6qsdPiQSNznuc$Nk{YAQliV?j?m$(a;)-e2H-JQU;Do+U|E!y$w0a zm?ypL4CS@ofJrHmGW-Y|VS#YipF1c6VB7Q&B8B|2WT1>6_i?w_J2+@= zE37BKpIov-=kxqHoAyge2|3w0B|Y5gWI2pgBLzpKVb=pnnbPBWV-pJ)C3_I{Z=#J4 z@i4>xKwwV^-p@YZj=|MAPGPu>@X>XwBGo-ChLERYA_gjjF&iF}D@(Z7r?xJ+3_lGN z<#Cj~RLkx@LlRBpp|H{4(1W>+ec@TbfXLk?qj|C`GS4}K+0`Qnr>iA2k0ZGwcszX8 zS5RTEe93_4ucV53#XM>4XbHlqq0JI|4!qhz?JEt;RWy+DBt~MhSV*fX&IGA`gTZ~m zwqLi?xalieWdmDRZyT@qck8? zj*Qr}8wR4A1_YMlDu$sRUoQgC>evORmJF0#mjs%>(GvgYABQY1m2w9-6XZXP*_DI` z#yI*Tl*SS@8e(NE^4oQAABA}AEUSW-Cf{#r(mna!WI^wVSA@KweX+lIe12Al3zD?K ziDO4Hq3%(U)y@Z75VH&G`*y+6UZEgsijLdK@H|OYktacqUMc%JJlw5L!RF+15F}!W zR7bicu+=vQ`OtUChlyZIR_-zFXH|70c_w2^-OiYl{-=Ru{yI zE00Ebbz7>2{@Fs`5kujp`8w%a2tTSQyDj3R>HMMLYS1$>3Q~@$5fxy0iYPr@P?#lH zyw1h};&WfteEAbfo?Anc8%Xp^rawUK=PGHLN?ekRB#jXr6k}3EQ}+F&lz<^@*2#<< z7);t4sb>~pVreiQj;S{MC2e(-c{?bgID%$4Kb8SWv!mr6U-DNImvh|p_OlZN5J{#_KDOBQram1t%jN-N=7XX38Y?5#wE zW~7-VYEnE9tYR=`2_+TrZgr%gRg5dR%&Tl1`MPxz=bft!gKZJy#?QuJN5HsfJ{^uI zGK4#R*w;94wPmPLFqh)|0BA1bD74bHR#*PG8c}2m~`~sUf(m)RbR~ zXzk#tWC{B;!F3Kj&d=2V^`v!%#%G^!3k?;h@n_|a#0)0%R{6jTVg7SH1M^{kFsg6l ztq7$gg))fFzSZXgGks!5i>ubLxqk7KkZ;WYRJ1ew-{^}9AGrYlIbN64>>qx_Hj`vx z&0ZQOMh64{S2q;S->ES+e&s(uAm;!8;iA))0J~`Z900+E)6Y)8RpFlfx%L19+|Lc* zw7X#B$kYC6U(anmOl-D}Q9d6y=o_1Q-Gb&o-v|g+;UUbqB?uJCNF9xew4i7B6psE< z9my0J!42B80I)DZ002_}(X)U6Fv_~v8!2j>JxE5tIoWC#n0m_**sJK;1FY<=v0P1c z5x;XZv!y6pE3A{*D{f_ueu&q8eD%0;{660^)Nt=pRKI_Tu3q!0A2I#x-$Qmbonoi? zPLIumy-jy$;IeX95$!mMrDxbpr=(oyP-`=_-DlKs_wkBj1r=I|X&R66YJajbe{ zoQ#Gp-MD#gmgnYqb8$^&;eKIiLCb)pK-SDK@?#mtSQ>!9LV11^iFiK_+05t72W^I>U5#=Gv3ASuBbIV z*3i^mM&3G2KQ}di@nR$)j3|M;4m_hp2??By{4xZx9FPVb9V7h8Z?-G@sOT3V#6*`% zdN_G#tl>o1p6t7vNOMV2c?t?rM;C@AvlMk!=`ECXEfDEV%HL*&a3ray^Dr#dSA0w3 z{d(-UV4SUp#>5XR!CexHt5aoLCYU>!?#^R^B86jk$srg<7EoK($+Sh1$I<2H&efza zkD>gd*Av@%oY`Q>jCtyBbv(tPPRH>u?bkIv^J*p#Ge;)sCK848c%z$N1uFnclu8=( z6c+$GCW%9;kkYGM%TB3V*bJPsow2hCgR{Z+a(njqb~)viyUFO-=-GiC88g<>geB{# z$Z(+T25Cj)Qr4{MNs8!gygEx92AA(jeVMXR=0Bz_1&{>Hx}qgf!wY{pV^rg%nJ~J| z$hjA`GP)_Qa{?k20gOCg6wg^R9{&VCCjUfLui^Zpi>f9nFJ9|ly_KB^gsz}WSTS6p zN>8nJI~D&_GZw#9-QSn#5Xf}Ch98-5y^rmO=~}I0EJvNIDF-B1MTBRIwe%=R@sUa5 zM)Hoi8)sE4DcqsP)yBgrnC|hm=4aNRddP8_7wFcwhe-x%hjgNo9mtPy2q7C|7~&^R z7u{rTvW4gJgziu}8gW*Qrn7@_UBAam8)_G^$SWI=PuUQvBn4aW!Dq_ES4^cb<7R?> zAB5J(bngh?f}^e4qOi|FaC1Nn6JvwDs^cgU7Ota0STQCUL0d{DY7myl_ndYq*O)b@ zE5wxrRZ?6RkczG7f<6GIQ-4bM9xjFBf?0;7$HrkRh}_-moM^6L1Ax+zSed2@L3$oQ;f3GYb@sGgo;KcL;Pl#L`4vZHsEODaEA@ zl;N^?)wRK@s7McRN_fyOt$8QAd1 zA1pKzMcPHxR*L#qprG1bWY1#U)MqVs95y)TvVGS6IXKtloAtQo=Ov$*=)lEHqK4$1 z8lYcgPoitfAl38Tiy=;zh~s#7VO?a$3@ol7<;|Z4B6v~)^1_SGl}(qmPY}DMUYO*) zFr|BhA37y%M=i#zkh-+~M<^$=5;$%fh8v_L`%w~P;cn4*f~#um!FlzikMHMIjY1U9 z5-haIoVN`Q4wk@0C;;@VG4rh@VFK)29T0=`h+a)2z9^j0GkUVTPLa2B!gVckK0sGo ztRD2}9A9aD3)U`iRd`Yt>IfQ~I5K~(&H^3bECYY_LOt5m&l?-aA0fk1@+NYjFS&-( z2j;F{YM!;`m^;gde%U&5^Q3!S<_Pd3;V`@So3hEL3IlF$B9l_RHmtt3vOB{af9gHH zKr8~@0E$N5`9&JMP`W{1MubH-yS01=MsXq4=5a2IAXx+HTC^VdKd;9OTW(S#ag8BC|s|ko|CFoUCgX*`cXg8Qg^5Z1$4(?d4(oy&)4LtpG1@c zpo=_|S?X-4x@bnH#m-r_N5CILH}fcykBR^d^sbL`4eO)PGwu)2Mp5~f*`DMu31LtI z?DWy+k>oxaF_afz32oL9>j;TPa30h}Hixw!HLs#L_xV>UOT69nVFhSN1!32FO0&Dv zEh0Qix^oR*@XP%StxMR0kPr0jfGA=^nhKExrhYG%@QBq%f__2(H*S85P z9ghx;4OhHK+O)p=OOA&)D|W1PM~b4NnBcyikVjD&I|J(M;_!fALh z#Mz4xyqS#ssN#`lrDWBdDAM5?1l+*UcF*U$@xsde+OJ*M?Wcnx3=!2d0!}wkQ>bf-Y?JXD2|4)h9JLJRly6sA=7iWjjjMJWT zmL^0j;He5u*$A+l@*G_F)M)%xO+QH2Q<~f5#Ps828pn}P#cvIdfb~Iq8!TJ5@?Slq zFTsBf-kLg%u2F*Oy4YPUep2?*zLkR#>e{08hPWirKPdwM)Kc~<GAVUbR&&zejaqb7=Eep{o0Ce(2{GhE(Mk$35zSug_NEBc`fwhBU zF7jEhyCSJV^HtppuL3{6h|$;hj^`IT@B$4D>mS_Q5xLKk*r|jzo0_B2x%pvdGn?)H7dM6G`hi4?x1hUaBZM{IY@k3i!}ATM|tAag%{>=vYU~I z_Ibeb2QtV=lhu+o=w-2*OD__3Js049pU1h2wBDOB*;ONu)O_Yh zC(h4Sv{w0rm)wOgH+B_3G(2DqTfmU-!q1XVPdhv7jb4Rd>JU zu!b}U-6}Z)FpR6aw@LVZ7a85k3jcz786%3edCh3&^r{v~vl@HJ9jX=4p4nKyzvT$8 zZo0a3zFd4WIdNacYr=4z+|z)u3POzlI}jzwdeWmZ5N5R9evJ*5oCC>hev~hms8tF( zksBj`O+==tk zjJIv^JNToue|wFG`+@BAB0VEkY6?RD_YOst^m{5nwW}4KxYCsUEn|fPAm=W05F+~( z2OPDda=qPaeewrQ9hyWKbxtrHn&T0IMSL^~3?Q#mDVPG(;3TLHXbEZ^-I3mq!p1}nLcXMsnp;zoW{h+${Uu*u*=64jb()K8HNcSU zD0Mzfmbkc?+u}hP7B*F)UyMM1bjP##MGft9Q3k2}%*ua5sp(VrAhaiP2WGhfk4Ej( z>;Pojk|LEeJlwt}b^9_!9Wzm&ndtM96M-x=D8tTA4BG_t1~e(_Ci5Waj*PaP;ny__ zrTPe2*p!FT}nY+(8dAyheJJIH1vL0oH8g~onmtgQ*Sz~m>JHw^+D~pJ1 zVF@u%s%D$K=UJzKfjtslU6h=1WOJa12nrqvX5}IlT+YGwo|QcduY;I9)^i;AfVh-I zXgK)folG3(Gw2WueeG&<51Ym1bNUn^8(4c-Q3vjwa8<5l$yj#&St={uAs=D}E3xL( zxt_^LP18s!jzs?Ig&l3wiztzuP-R;ec$A$?M)+ws(#zQ4&k+mgDR0Zw7u2~UwbUWb z)$%TU5|scn4a%e7B!C(3DF-!A<9@{mWeAagO?JH*ZDe}NkKr^vxUJ*L%~xERIM&_i zBwzLU*p3;ca3n74qEwNX42c9#3J4CNhs##K{c)z2p8HC?aoa*4F;|s=iAV3J8ryWN zohfTB+1)%jw&v_LjvMbcfgX{4b7E``0TM>?r{(@k%~jztF;NLC>F>?UR#K*;R13ReixM`iRv$;tsmn&ii)T7L??c+$c&-lA)`lq~SX83kj=q8L}OrpbZQe^5T zmyOif7eQt5EL|g|$XrvwwqG2|OR~DiHMUm(MDg^c5()oI4x`-N3sC{;_Q*QZg z3%5h5B8biiO%Z~zn3sv}=9Pv80j%7VB)2JikF{p*)F!U-w){U5FG2nfW9Jm43Cu0p zuQ6@gwryL}wl!_rwvB1qwr$(CZJqhgx%chds{59Qoun$2N>WMoS`o2)aZlr5AVA}R zUEe`j?mKXX!(dZnF*yiC;EG@?M3D&kjtoPn0`yx&cB5KuVFG{V_^%W1HY3WxIjVW6 zl#7_({Nu^S-!?8VzgVt?G*2rBDcpN+VbH^jcOXqlZE@e+}3Q zMP-ux=xDeUPu=+jDj=jC?9Q;8?|^i*Q4_w6Bp_$~mYf<%uKYkjIUhc;<6Ol(fVJ)( z?V}?MTXq>wzLq7Kew;_HK0_4y7RhFGc_TE$O-e;-YY2(O{fY(H}x0 z=261Z4UX^MJo&aavlNzGbIj7mi(s~e%fh_-Ori@IE9I484e`QO_NK;K|K3KZ-$kkh z{6p6Ue4exs_QWbHWk}lCoQoKvqYN9J{hoh7TjC83V)IwIs?WG0LaVBXUU-iFkc%It z#_UJfX-bP8Q=g>`8gZ`h{{af2psXYI>%eLPr#CZn{5(nu32?!9-o_xD$;RMJP@H?t z?(Y-Ta+n(kX)DfCb7y*^2~4Q^l6}mbSfv6t*k`|=rXp0aB0{EwP9+Fu1>?eOc0SzG z7t{@C4}Q_nS~mRYKi7z?qT`-uFTP!<>8{^K5%@fRC#N_@#PIMK@)KSPk>DuvjUZ5B zCU+};69aopq2*@2>aOjWzl5wUAhv7K#_07C=ztA6n_O+WnIT#r#00~pqkmTk$^?$K zvQPd+fITr~s3OK5+V$8~tKxwXV?<_P@SsNTbI&%TE&AGE#=9#NeTM;$g%pUAgcX(? zcPO%{#4_(Li_$-Sea{fbUf+%<={?%l^6AJUk`%?Le{19#J-JcCfw?IZ*t|H~h|6tk z>MBpo#ZphrLT`Ii%xoa-o3xT#x*S;C|H2nhnnWPV@Rxywi0D~d(^@1>yupZ_EhpeB z!|a8N7EP3W+bIRzX|X-cOBWfTTBn*>>^g& z4da*KU0bJTt>4Srs%m`CJ07sK4^3YBP=uJ0@(Bwb5^0mST~PTrWVi;v@=I|!P_mtt zB|-jKa0STfwM^q67U1(Y2TLY9*pNzOJhWC!IX(>0yx*|8H{D?tyN*2La|C2KK0BkM zLp#G+B&Kl#o!d!+n-VU>F_vqo1QHoCuT&RB)D1h#&YOW)v2DpC$n{l1vIhw;#rdTg6Xaw%f84@QzLl!(?eAp%#FC*2I+{L{XS@KuSkzB|c7WZh)Gt#u`WLe}eRw=UwqVTQ+B*rKGq8!j~ zlkn$xFYMSdb<%c@Mp1Yz5q6QGvef`A4rXBEi7m^8^Wq#>yfect5n?d7q^b3UpYAl( z<}nl5-r5Jpc!h2GOcZ9#mVWO?L%HODKsh4H`_3DSO$lwB6s)o*E7m*5&*})Thyys= z_kpAL7DK24NH}Cv3G#C=yE}~RCfEZ3DqeH{lGPDW4IxS#fX)<3p!A|^?+@14uC_Pd z42*1*0f7`qjrlu%EQm@oqs^Vk51ACh z%P4n1h5qSxa1U?Ew3tYQI?FSMaM&O)mZFBpD)q3qfN_I8TDHiEyvjepEm9Gz-6y>q zBqmg+HrEY6wky>W3`P2Y7DAEHZC18Fejn-IkANsI^fEj9eU|St)o>#4X4V4EZkLO$ zTyn4x!K3RSQU~vY{C>D7Bmd=9DS4b(;V}8&Pc@qQtkAv^mmyUVRtQj6m^ZEN?>DyA6B!_SLxB{ve0}T-S@$4_{ zWM$dt^goG4^@|4t_igSon%>4Pc~8QFf@h)&QdNEUKU)X6t0@Kq(ElfIgXRC`Z4mms z>*@rWOp5`v_%)MOSK3I(Y60T8!4}gv!4fbfS-)|We*h5CfF&8fEdiii<~Y`7baVn_ zz8JTdSGW5+INV#LZh_w0IyWrO-z!ZQDL2lEKu$00L!b%2`Mwim zpG2WixZ2jW8j9D>ZbhH&7G0tft!n&k zk2x|jOaDcz7Mk<@^UDzqgnFun#MkaB@)S?tUXN|{b?A+V(t~m34b8`yu7mHJ=$<|m z#%fRxCNa_dY6?caiyRNKURwx3&~JwNLNjQcqgdF9S;7z9ZS2$Iu|zprQ3iZJaajE^ z7?Xx9F4xz25lyVz7SmBDW0QJJ4a$JkQyN2-W^8?Md=4pkxknBDDxyP;2O$8FlvA}cNBv7;lp+@1UpHTv9~m7V&#}9%mi5zHW=|o-l#&ddn-uheenHv0 zP28|DRVB$hkYiN{sGG)H$Vs5U8)xS&N*`oIrC-Dzyai=|x>{}t!39$( zgyITy&P0_Ah}?0`YW(#>VLreMehuKv{G0MG{IBJ7sGe_hVODHVmm278wC35BghP;R zIV1-SRkS5Z|CB}5<8_WfW3$Ez2T=3lV7Xo4f;kXXNQFYr%P#S@BD5N!H|VIxl0XKo zF?Mp@$ngG#(2O}=ZO^)jkXLD~W_4h$Uq{Z?yYX@*5b#V?H z?%b@kbSv*qPfx(H8b$Ch_Z*h0kP*JmR{mc@Fwgdtzm{6`HkAEp=`eYXdvhr3ZlJwa zOi6Ujvf)}c_j$CZ=8SeQlxStdQy@O&`Kf$&UQt}vq+&LhEb+8p+IXwR&0s%dm^0Qwz>)c2nsEx6YaE)oONsL&6q)njb7keUdrFp|J#c z_fP1u6omtupKu}rkB7F;96bzU)|?k`Px*^hPBfIa4qQf8Q$<`kC@R*i_A$5{p76&bjlbvFONl`5%Df7tID8*) z%i#2RF?lm1(eieeV0Ha;QLC2#Jx<#VC(E%Q(SaPf$a1!7N5{?@V7+7{{AKlK`eK*w zp11;|M1aKAIvTl?z4)n#cFmmM`h@M;CU8(EM8BqT66Mhl~d ziNXY9RicbgvKu}Gw0eOyAkIAUusJ%g%&X~<^@R}Wrx9VzqrL6^nQdym&$L^Ml~OxJ z%S@%4FVDQD!eck^U?AfmZ1hP9HQuzupTF8s(nmqo1sW&2ClPJDFm4U*B4G{HUqUaK z%QEAEyW#}?&n>4yVHO{wKx7|eLSTnF?D_|X z)g2~cBaJ{U)|~O#;4IdC zJN(S3`?K6M8#iFvlP2qA2^_kq-ubE2A{;alBl(86xSI-A7ri-I0mwJ7VB)};j|NpS z%a)THN^st5%{=6o>thr~OYa(W^2udaQppJK#;Zo+CT$JfI}pDF9^#-XNA{ab&YP9^7i*}EBeLvY9% zu1)g3TGBWv3E;$eQ{!gJqx8N3HoRwoJG?|$4azVPi~F>?8WVENG(da+HUb=aLxVC9e8G!SKN!bj~i9p0*>#QXWEUu=9+23z-F4ZH-=a3|Qtv;=)ztE9^ME z>9YXIL4c=Pg)0AXZn<2Ej`=D?&-t4}pA&$uc~q8l+fcH*L2GwH9Gm~>4YRC7Y{;OF z3ca!fIa-M3XuG+oEHQ*jq(U>s)3OhlQ7QxM_+itz< zVacTFkkThC>wz9+yILHe!k?Bl5QnxzhnI`$+)_xkbw?Dz+;QFEI}p=_hzP9vD6eNK zr_EpL}nW!5D=aZN#zFGdB zeD2=QluzD^cydmIykS!;T(MlfNi*6Dc811mZj3gT|72%VT>**T)}7RoITH+5n09or z$?x=o8Uauu#S_`SEW?Jj$Lsv9qsW*JBDb-95WY6cnsoSu_B5j#4Hs|6>l0^^oS)q3 zN#(g;I63z}+T;~93Wwx^e;&?1X1+~#n05K6c=K#=y4>$oGcjT>OVtJ&>{^DSlhz^k zu3G8INQ)JcS%7D^N#NvkkGeM%k+>C72K#f$oSKwA->?0^g!7@o zEvoloOpTBtS%AEAe4T4tUvmXhiYYU#sy-K>eam60Xyvx|<=c&lwOcwK9dBM#@p-^c zP_*pW{7(Cy^GU`1viTbNbE{}Jeg!a_&hTH3gYOi0e7+;vU`uB~e^2Atp~t-Z=-G4;`SB~jn+8bg5CKJeQt2e2qg6Wq?-ue^K`W7MKBjFCc|){d{`yPJ z97rk=OBX?Tv)$K7L+YY-QO|UhX&tzTO%o$guEldo;=d=;QDtz@udCE6{y0WDKo@8A zvsjHaK7bf@vrXRp(fb&^@i>`s0TMht7AL!fKE~o&Nsf<+ZoZw>o_c$Cz*lzI%N;ph z@$xz(NSMhi(!bSs$JR_ymGjFtQTOnH&aP>9%qU3}IM8Icn!|JR(i_IEtzZY<>1GGz z!`}*GViQ?+msFBeVzX|y%XOIT7yA&99*>6l7U{J?g1tRpFrfTnXQwm>wjKgSQj%fK>C&gs)f!IH>_X3%1|#~l`z3js?l!0VSU0fYjwp#~IGa>j*i%QJnxa1Kv7z%lLCq(3WdZ1sb<=elUW zL=2$^(k9bgtGUzjvKGYz+jgoLg`1;r-T!o|H?>~Z#NjDn*Bbd21U1Ju+3oe@#;0cY zv$1@AiQkydB+EMTMe&^>59>#e* zCj3t`RU&4?!vTFzEJgXEW#NRC)nt{(e5qio> z)r+W%TP6H9U1&s|t;jWXK~!)FMqDJs?LY?^5#u358*-?FPC4IUxg3f@6;2qm zz?DI`i|kVa3N}ZQsXxk2$Z|jSb4EtQr7fGk)Ra*$$mo{{jC+q2a8$*d&g7EW?;hpS zUMvIS)e*Y1lq-`%iGAUlTq>Oh$c$nllC>qD1SfmI= zWNeJ15;@6z58h`pVnHztG9tx-|E?jl)c9@5iZ^OXBM z;H!H_2zGQDhY1@`G}o6fDX7VaQXdt2s16L_spJ`WZLS_S$_j@PjPM~$oHAL!`o_Cywo)6~+*q;T z)f78@D%oB|W*@(`!z3>)3ybHV2wDuPB1>Bkfhb`UtlMr4zat@5f&sLOu{Pn`io14a z5_YvRytbEvyUsb&2;6n4v!O~I0A~tpVnZw!>y`M_XHQN{jqII()lYsDxVR*@$gP^ z?2x%}NzzU8TyeLUrgbn8kDCenJSSR?BnK-p*qf#rl^aQVS7nfXEO&uWV>wL;j0TJY z#|oR?jTRuj>_u9cL=W)6Cg`bW)codW4!FV;*hT-hO4M~?JQ52;CB#Z3u!GJmRv&>k z_f|>X{{5Se;aLBfP^FQGw6PKyNsc}Hwr3BbLrK1O~1N;}gT2weBV#?5Fu26zEcZkomC0hzcu=Gs_#s%TObb5>=c=(Qx&e zZA)YA{ux=7O8*$1|444$bxJNO^WkaW8E<*ns-TYhJFZZ0IQWlMUOXA{nCtdWYXQMP zsp%=wY!GeNeFYZpQWT4}1Cp{3!O)f|y58*){HiGlA;|D&(VQS6BA#667A%=uj2fjX zC=Qc-U~Op3!B(m(rm#>OnjOIy{Rw$r!Q~(nixgNPvJsCld|4>Q2$9rOEF8m;VW(yo zj0;jTjC=$jYR}x~vaiTBFjsl}(J}0Y9x%-qjpYC*9!|kdU|R*sjb z+Z;?Wz5z6El=6oG*8hdGVF*#(+e$V;f`&C8voXN3yzk zXH}-;!L#Hp7!es$(80Q779Q6%+U_+DlG4@8J_Ga~ti;ul|A3=6Q3}|TY{;jvC3vhx z&fES+a%(ZojT&yq@U%_Asry$oS+!whX%QS9>|ASX`AEEDrdb)1JW1IGVm#kOBl(sv z>Z`?v?CjTHPIGe`_x2 zi$ft;e!etrfW~Oi`=pFeyj5_lTqlB~rQUZK4$Bbe*oV^ly$QUxMO?~}B4l*7W_GCw znM@vDB+Du7jp?5z!0r7NT~`o{wZI!GgPBPk7fcqe<%DHcU#eIKK4}w7lX5r{IT7gH z;1R)$1?a0w^Fl6Hu&ycdo!VawXyunl)Q`R6|MaCW&>wsRl3?p2zw*XWN z{&BLkg{QO+6lM`yR26kzGQHouf-bBlm+Nut$}8)2h8GGgW4wKV_oZE&Mlsq8YMICe zr2^q-At+s27*QSGJrc(2Hnb9jsUwPEx5{q>2X-o`ng5!f(+A1leb} zfO5#@?MRz<#DU=OTI7Z~3l@x~!k|*RR5++_-2Xs9(gVX6d;cd_kh73Z;<4qySG|!a zzqU`Zl4za|FZ&-pT*oR^iUPF(l<}k??p2(Q^3zmjIfuN^o8AnO|J+cYGNFYVssQVp zz`=o4JIG081sLstXDm$$(;MMf?sX)XPPFfm3V7#nUlJw6f3WhDO5D8_$uVSEwge^% zsOHL|ssV1-(CFV-E4%o%%kQ~0?ymi2vKD+(`mqynW#r`M2EZA_Ghf_ zFDxD$lX#ZuJT#Jyl0f=im;eesTd`RB4ZlK4|8dW?ck;UjE~H~OYGM9|!a`vjUSCJz zw$C+R|0ZkEdCSQ+{lze-3TcV5XsKbSla@y58k~sQiiiprjnI~BO!N!WD}b`C2u#E( zblAc2Qai%4a=XyX=N{COnM`?rW=1F%#N7DTL{uw+s0*KB=gnqwitu72kdCIgJFGA{}0xo$umeu0!ie8 zoC@H_w&||f*2kUU#%NqYB<-F@sGay%puOo7HjGv?WfK}W6qVzDL^M?DD8yv#F=a4N zhLej=K3*ltRvR+rs=fndZk#WUTi8{}-vs96iY~xm8fWG9M|HEcuvWpGV0QipbL1KM z`fZSA&;Rp-UYHq_6adgw@hL9{E|>jEb^h2VgA?u7_7_5j%c36ob@kmJSUb-Q{=+-r z3lK2@n3(`3a{;fY0qeQ>qMGPg$-}#IOLrrL52-H{t2e1GL0AO?$u$%`( zy)&(Ok+f~)vr%6qLJtbz3vvV6>xwU}Gx1Psb(3|a*`U>yV3R5vp1VcoxwY`uA%Ysm zxpxmd3|Tj zvp%l}M;o24XgJc-_s(Cdrq|9shQFs*Z^msL4A27=^=ars1HvaY2;yeM2ByZXtxAs-rLCh#!nG!NDd`NHOYyobC zGzI@VFBZBJYle?0`+aLf^;^t8h+GA4QYNta^be6L-@V7zqas^@x#ZzdkNXVtVCl@M zl*BJK#|!o2%^OJOV7(L#1cjfVB$=DMtc!%t`hGX5<1v^6{30{uO;agUPYBm*qW z6*aVO(U1qH>5_JmWqIL!tI78qs;5mtBWg{YR!{@QCMX!@tmg|Cu`}{0rh%=+L=MgK zbnJoA7G4mD?@0@~6P}{9(sqxkq%EE)!TMFJ+2`Kg?&p#DwcVkSoyfDy zqmzx9uasU$xuL9EMiwnowyX?cPxh@b_cQf88E)-8w1^(Qt><*Bl>PT=kl)TN;}ebt zJxhdSYKuCKA@Kna`tp1|c{mIQ~89G^Ec2{bJ=0sDNbwid+6FG|HcgxYK zCo&MBQPk?&bj82kv3B}VjfuYBfTEw0Z@Mm)DF*XKSzoo|%Gesy%8y9PH-CutRU>cf zlCWJtnvm>g3@CXbPiy3iV`y6kth2->)Aj?!KmLilPuGia^*ZQLz6n&11+*Vp!sHR~ z&8TeTA5=QMni%J_yf^lQo)v#m6HOnUpBTMcR4wuNH|j;t#3H>s^!V8sX537{puBni z07#9sJ@}zKScS%g0OO~_4|*;TU7E%N5rDEni_O`j@AJ_e=;KdK@hJBT0$9|=;VDNpCY#CO@hrcZ=G@P{w9F}mX3osz0vQ#);d5%M zjot7wYTvHZmhL9v>CM0z^Ql8)+UeRv*CoWE z(6?hGw*3oX(qqJCR@#&%d}n^*L*H?u9ToA~`o8-#+=g1Dd-XS6_$GBV8Gh4jHNrFc z0MEJd7)rB)L>@sxz%7eFGJ!q=s2;CjtV8=<&AQJY6&L@{=)kDm`E_coW?Uf|@s?fP zRXsH^h3Blb>+Z~(*rM>*`5Csiu8DYZ&}aRf3z_8_e>L=WBQlQLq84b$`-lb>pA@!% zJazsDVdJDr@?)UMd4lDXlfks>LT%*xpV=6KG28?l;A%t*z@+d7TFc+P(yFf~XL(0I zPg#MlYB>QgmLy^c$56#*DZxTiGVC&5c4|TCdcmO91ktljfot|qf$IN6IEPXsmb__u zDu`d6)ki{5qX=J1S2w2D{)>qGpNO15{&3%;<^HU7pWBc$i9eO^iCcnDtaew92s#y7 zU~pfTwGH$iy})DG)fPPSmp=ENMt^VXcJ6E!(k0mnE~2n%`ku^z=Lb#w5CV_boHvvx z&0TGcR5Q@z&(F|-t2?p&7*$mZUr}lMmlVW`MU%027nsBMYb$F9%A8%Z#6C|sZ-jd< zBCW8%A#ykxX=T8rT$v!GUl0(Rxm*jv;u?GynxC2}Gdk>up+U57fe6!E+B>$IGk?AMDM@b^XumnmoPXOkcVNg!+UHS=G^j(FyZMQ7#SMc3=?w%&3bJ?H$sFnK{qS{DFp7cCYYTJ0V7+g9LAB=A8}8` z+LC79fs2Qx)$yxNN2GIDPEFG_*m;!fc~6II6oR+I4rRE6V&lFb3h-} z;baT_utj0l=O?KIqP=M1)Gdb{6YRsAt@ zF`Lu1NbsJ&`+CW_VovC4%-FuT#M-De3CQY)Jh@!_tjpyWlua!Ujo?0tS~yD2V066p zw_;p2dP?k#r#2zVag+ZrUdSvFIDwuZ1V_>qm|Q*Ab)I7hk_}t?}{B z)GqFJoFd=9;kuFniFW{Rrbct1X@r~BcN}qK9>DuqQ!vKpb3H>{Kfa73 zygp-)^%fN1Tf0t(s!rd*rX}1T_UGtAyN*t>f1cW6QS<> zsO&V+W^_;PiYQ=_%7_q1qH-UXah#a$gli=%sx*E>%meMd|TeWD9=n#Pmbmb{Fw6 z5=qd$7>LH%xAw3UUu_Q6J0Ma6MlGIuNrZ6^6@hZNTj?;+>0uZH?f`0#u$yhPxZD2R4or z0$ax0=a=n~fj%ljvW~v6MO0~HGE{K^nssInMwNpWF|c0|LmMfF z*HXrxy?FAu3B#uPh6&`VrJ+33`-!$QG67Kzuibp|M9_a!^ zrYj;I;Oj1{9IvV6jk>z?+p;CSPO*mSg{t!vJhI3SMFV)E!PD+1nP0xA&t)Ic-mS?R z-M!KPjo4ZPUPCi> z9N_UdMSg+{10PEH4~`N%u4u4~Ix+iMNKy%54hNtIODemz^>_4tx#8@<#A8JdAdS$X zxK%oU1cNFIWpYndJ#VM5@)$Vz&gJ!f=erf9Y6pmm-RLRwV7&3E!{Po9qV4=MchP2D zypKJ)&N~dg4|kQ$Ngi`aKP6t^tz^HY^!pC5?(43DPec)xEfVzErJO|Bp-EePYMR_o z=DXdqg7|O9ssKck3Ty&&UB^N+X1Q>DCCA-HM3Z?2|3&suowl z(S9s(9A6Y%ojloZG&XTLgao4HM?txf_#1)gClIC2tH&^DnHhSdW;8Nwrv~Nxz#Ko; zGZx~qXp&b++oTq&@=_^7Nd*rR(eF=3mVrVg_i_CB^1Kus&4lXY(caPa*EXggk0XMG zBS2UdqClSnH4S%_2rKWG+E*zFOb-k;>^{1oawcgTfZUYyzlWAl1Qo)B5MnrSG%{3; zgtS8Ap2YoBeV|@ZDI*xel6}z(ES1Fs9T2Lz1>S*Rvny~8ZSUz0!GxyRzaOrP^@F_E>=i104XMsfqawGJ_Z;lBLxm32g@Xv zoZ5P;eM+7tUnEP&6v*PI&Igbqo&lrm)&7+xU82gnTc=4Mg~(g0EwM}P?q*RICr+Glu5z48mu<&nJMSECx$r%aQP*C7c(N2I+S))FkKN3yW zBs5M7Q$Q5ilB|{=B8|n_Xu43w@$|z&U{Z__$sc`-IaM(fT34i*4S8bNGr#E1^!Mwy zNw|!aWSVQ+;W zuw5rH7%Hc^C&z0+1E2LDN4W(K!D2%Y0UCZ$K8uSW0*$rFoVl!XrO#})LG|{ zepmONj#a3@Wq8U{aifKfFfJBy2}Lm0kYf2VD5PHE$oLFQ1cRm!RKi4(C}vbdPzh7$ zFlX86>cEv6g|i15X953<$NGo+aOxFf`Gp^BJ7?5U*M|#s&eO|-)D(jpY4Q{mt~Q;V ziPR22AH3mzcTAl60v*=G9Z z3c0Q*nYFKwB>QGFc{hMlD*Ks%GM|4G70qq$ddCgVUj8?)l#Hp<8Ufv zB>(Vs30AmtQkSkV%F8S!9>$NuzgY$)R+I||3sfdTT`wY`J;P6{NJ@m^{BTTLS>v2x zs)azzhZx8Rj4_2_}Y;H$7ZB|!mv;#X<0+ z18F7vqT&a&dk=5uKkMJ<-#~aK)%8ydPL({Pbux_}n9@&v9wSYAR6zw1o|*?8x4on2L86Yr1LoTqEC zbF9?rex^sJpRoCvuPcuY`6X1U|cw9ZJnLd&LxduLV}?Z$8=XDhww%!1$YHLt?8 zn2+C9TAG``x@#R-FK4Xq3Kia#%~=$E^C`qj#LmCQ>*nCg&L^6?ZM*vUZUiYSBRRsc zo2)E?tK5*x_F|#6d>AFq`ZjfsRFa(i*`43x;_sA~4P1wJCtCZ1MOCN%&Y{*vL6$ z`hk7x3+myWmo>;lWw7~Q2GDBfvvedC4aqfhYDeUDRLM5`*xw^V&uX}G!o=eIWYX#$ zu#pTTh|WcItDwPR6e7fyihGrig}?^LSXlZJe=imq63VET7O%O-NHbJCIC#$OMAk|= zZVuPyH*wPc!7*Ub|KGKZrns3iZF9b~q_2$5&$=JokQZ#XkWgq*W&&*amK2sw6+0NU zbL5WO5>NQfOlP$k{*hIVG!BjRvS)g5Cx*7)?P`!mcDQc_kD97ox*I3z@M}soPL~@} zpB40Ezq-W5`5Zv)4%@e*-Qx$CNHvu#&*Q>>iWCQznits|YRiv@?%{i6p!)eARQ~4q zzd1do$3Q0d^w)Zn^V@7U4JarlIj!t^N6TDzdrD1X-GYJYyouMk7gZMn67TpzLh zakl9fww+8~>$wlgrdsKq9{P9ZqL}bXQJ&yi!%>aYaft2sJClqU6uGjHx;4Be)MOk1&KV_bsM{5 z7Bjvn%{w?@_+(yeEIxYp1N;eFs^!wsv`uq1NA>ak*Ke+-V~@uy73-_Dv(nG_7OZp$^5sIw{~DZwW2+q) zF(AQD*`a)kZ19I}U~VAy+15=ovj3QtkySm2ehul;{=Gb2OASwLwN&2MZ7ZAdTt2VK z?w#e(8DF}62CfoN(Duju#S^GdP@oA0hFUC;AQcP_HV5@vk|z++U{FHUfk36dM1HGC z=-(R8noyYxE|rTw;YXcyRz9mko=y={bA^A2KV4Q7Ga@EicUk?rv*ox~N%%!cYht0V zC^x?GUKH{dFp3?FOZ2^kC`MEomZT~wFa`xR4yh;%ThJY`=oq51Moxe;G?XAr(qeCY z0G@=uYA!{!Krx7(xwJ@3P*yzkU+IXK0b6?4uB|hsMeVnFd{;#s_ld)ye|L-j|LwyF zN=Tiw^}+-!O4O_3QTPkwf>if?T;ROmX*AbY7!!{=?Y2snj)2{eBq>wYzvUL0DtB&8 zq}w+XVGO&u%kRBnb_A_ z(`)g>Zr?5|CHL7xxsfIQ*b{Aj8M!m(Xff<}wk>PhROeYb!DN~k@-Y@+lZ5tQ0EQ$KKtqv7A`Sbe0}X(W11B2#Mjk2Eho@U8 zyXQ>kQ(>EAolaiKTctZbwRe}vp|JzYf)`0Bn>8R!kSG>|1r<$zk&G4~VwDIdNifd^ z@gI$Cn)7NFU(lB0RdMnV62`6|;jv}Gb`38`pEjwJqVFeyFZ{)u<`0TM03AUAi6jEr zOCSg?0TQod6)qG*Wn-Qkk=apRbS`OO99vYO?H0i4VZ@?t9LAG?_NWhvB;-d!kw+qp zfC%sh#Up?f$*x|up$wNOwk}g$$CiZBF)mG*ur|}V{~Df#$^1ie^>;Fek;e=zOg{nX z(GQeDh=c|q4DmR}0G-ftwXi^A8o_EK_48FSc0TM2XZUC+-?B;qiFyiN)Ut z08fm|1tt+hBsBixzH7$Pq4EC{HYP=gUEsiAb@a^TIQbS{s)uT|$`CN%K(@E?jx=K?{(KPqd?Ta)09Zh^SU?Qoel)@Oh`@_D-iG9e z+{n}9nf?UGjAV$_NP@tt$Gm&7qYBr%gf^f7ME1~bDEq(+lsI_E;Nn1xf<$l-MgTw* z5MneCfLa}bPk_J-S`2a6s~?$&FZ0FLFUWOe64=fY{h&%p$^yEvA4;A@Q7G(~?0(4+ z`Nx**yQ;me!ZNSNF5c*UUQD(#l)FNWe{r$%6z6;>p~j|*?LOkgaoVS;JF;UW+eCO} z(V5k%iqoMxGgWn+o2-htWOkYJ{n7cx)ok@j`^(a;dQEG*ZE4kWYXyq=?hD-ePp5gG z^|nV>Q`SFeqb@_>L(dLZ%99I@7h9)21G%YVjcMJ*3I|nyUMJ~H&^!(Dj2J%OzTo!* zcWZ%r$QOw>;eBwsYUJ15z|*#d@1)`V0N@$GAqBP5i z*v+==J0Et!Rmag2E4}rm(Q6CeOwvmceM$Td_1%U27}Iy~Sy@?+}DgI6!GHZ|bN7lLgoCGJg_pfugNTB@Atd>g^cuZ#C*CvpTL}v|cd4rf? zDcq$X7F&9{RkbS9t>kkjB}3=C4|K zqL-TLJ=Qa{)gMp1AIf-}C=cqnUg}teEO?m6vM3rx=deT<;$nVdut>sc>^46gje6kd z7qGM7rISS@Bxm+wv@8nQb!Zu2Ufn+)W3l_Dvgun&xt2Fx?Q$u`G(F>W@{JAI*8X}a zpwhd>jH#MAp7niGKQ}*Za&iQl*2?Eq?+%Fvdq@484(EFqJ%J;85z(;>UT`CaejZdz z^UCNTH`b!1Rqz z(%@Uv0DgH|Qp&-6wGcnt+}8iwbTB5v4>33h_TEw*I~f65j4T&}aHR7h*PX?tJkoKo zD5RR6%vXiY*DqS{cZ3Ma1mY~pVW$hD_=`W;1$M`VLz4+mR*Y%ve{uHKVNrHpqwtVY z;(#d9Fbpt&G$PWB0}LP?Dk_+yE!~Wg($Wpmk|W*B$Mbu>bDi^^*Y~=< z>-&H2wO8Hu+H0>;QCyIFi|O&GR#*-iD07`Nb~^VA<-gBXX2(?Xl?=O*{I0^^-sBme zPAK#z0_F`~b}|fBg?4r+C#%)|vE^f#;@dsDu~dXoJ+1W8KKoSn;d4ORmS^xiau`q; z{L$_wj35}+iATmFWQqL?pX*;30b1*^Ch8CMBR?4uT;{?)7naxC>zc*TTOW0=>)-f9 z?{Q4YOaAfY9(NRL=1qGU9|=W}+lH&Pu~;R_IHnV%AqgC%grtq4e3`g{8z0Yn2}Hhp z51Yz{Cy0!_At=1PvjN)JI(8=F2=zvQjr~2QgyF;C|4;P0;B{A`Is#8S85uhu&XG^xqe7Jm3B0B;>T^Gf6C=1709~Muo%cBBbUR6 zT~2@fO^;af3m2Ir8NJAaS69=IyHS_P*MGS)XAqTCypB7S z8?V&&N*FgZ8_p;!lM(k-x-IJQxZV%jm)~}nz`1m)+44|U7&djhDurC4a5R#QU5qcY zL6+=n=laomQKg}M;PI|(Nl6Ftruhgh-c&6zR?neR8joaD|CRRwD1w%Hed{#J+KapO zF(x2DaRatb-F$p{!1I%eFG;m~VxX;KI)0k-S|Dl+{*kkU3k7CA5uocD9*^TgKx;FA5TAnPRX zr=4$t4`qozEURcvu!KU_C0Gqhu59ejUVOEH1>*-%gaKJ(nxhUm9-UdZ$w3I z*jDQG!`Gi0^coCOY4cM%A11t;WYZOQP#GX=hD$}0epv7j6`EI5 zxl=3Ps~mjAU6mnCwh&Z|v?||^^&8CUZBO&}A8b%FD7gPIzW%2N>eR0jBjad3=U@_2 z6|lN6_CDpJGu;3ojAbM3QCz{pMY?jOt1ZHe-ZtdzUgp=1Y`UtkzAE?439ACZ)Yl)24>f?E` z3}(d6Au+eGF9cuCiN0a3F9E7AeL{) z!kiS~j}fH5bERgnb8|mQPcbGQa!X0wL*yq4Lq5Z}n2k&AmeuWuCwwaII@2Rh7EO)@ zaT||&X4w+LJ)+p6EP(IDT9^vjrTJJ6NfjQmbH39|XdwvY55x;ayr)njD-1M^{2k3r zl+Vt{wN2%U4F#hKaJ>TWm=a>FQ1{}-zF1DAE1HXAxO|{o_34uR++yvxWtk9nMk`g< zyi8OqTXkyyu`;>p&PnI#pLXDnU^8by6aBG7m&m+*`Fgg*80Jk65sOU?QNx1>h*yJy$hGJ1jLd zm24YepBE(~BMz)+7$9)a|Ie;<#H6SSKWF^2%Fs8YgSIxwSt?0SYmZ%{g}E}&8?BY7 zR&Z2LR#^2Qs);z$ZN{gUA-p%`r^?Otv0}%!{Gce2%>9aG@8QIs0(IuLicN`-O`)bK zWlpGzi)(_-PR?RfYZxk2RzP?(Ban!Mn(DYax2U|iy&fD{wqT-^sTJd*wW~^aCaQEH zTqWEk84*rewDBSM7(ZJ)#0LMA{?Wwb5TAY`kt+-Pv@e;?<{W)^_0+c%AB&Aee0mNB z>W@axmmcK{0)A5|3z#&&eXaz~s5aR-Hn7pEo6Of2%JU(7;wyHeprC9yK;^xvDlLr@ z@<~jv($QM}G|?IQGC<$f+bYERqaC@e99rO~605BL{hUE6ysi6E-uMF~Zxk00C0+|I zar$`)BU)2>(*t--1XC7{`Og85s00OmXXso$`JBI1clbr7lEv+OS0!Rb zXphM({F%n# zZdASby%X&TCA+;m}?y<{pE1SbUpI3STU5w0m{){csx{O6H!w_3(=x%#^r3xcS_6yGV1F z1m#M9MnqUYryM6{&$Vyk2)hlrR7kAA2>De?-3No zWD!vOP&`tFKGn{6|F1 z@!dvzGQ7JF`)h0^ECJW$ThM!7^)&}RaKp^=ch|A9rgeMIPiX%754hbyC#)0R1A*c!U^rKdyICp+_Wlt+`w$JLB zp9~Z>8u&Rmd;RZStL}jAe{K|3AV51dKuQo`q6vUFko-C1tNVajBGVZRguAXa$w1Q& z9CRU*=H_Y3%$4Y+_Co*whW$Ad_2DdZRp@#@h*mnoBu4JreR* zXFdX?LSEXYNmY_Pp$q)LVCwjd`W@gq03eI=TISikAd&(I5ZCBALyGBo6}gI(Ct&*Ijp@Ypdg z+kP)bEt>1-Q-v5zwXfPv&C~t0#IGc|UT4yeT)Q8Z3{^kRTJKG`@`%ce-Op(Kvxz*n zT39_?ZQeQkhI8}d>cw=dr_K58!X;01z{1WL+xFP{6{hWi)z)9!CfgumJtuF>LbSK# zg3rz*y~&}tU-xB->+s~#LZ+<5P_OosZ@um1n2*~{o;aDCK_aCb#_&daufpk?9EHx3 zJ6svg@;%lK@V#{$YE9(=0>OdNPND3e=j5wI9{LF>bUStxOXXqi?kveC$2#-;T`v}n z7)QbCELL(9AaXoVaQ;`a7@!PT7Bsk6owK|fS~IfxoZU|M^y$&6wW#9-<)+725F80l z%%@dD+!brQl36De}vE`X_AxL2$8JH^?7#aw2B4_UvqVs}^mRD3* z;9S+YDd~HObjHe`Y&v2n4~7_x|8_#n`UbC$9zz{D_I`FG5;Op)+t7|Euq8;g5%+kNH( z!_0lTfNPb;E3_}I#QDnBK08p5JTg9lnT%`{n?Rainp_SE+F}L_7%rTU%=^wxE>IU7 zPTDrMp-ne@8D3xld=`Tcf0JB(8LI!Sy#4N}^-$Z?fu|Ss7)7@zt)&M%C?Bbo2&Y9L z;vdTrK))e{BPc>?HaP~3c*;d+{5@mbLZc_<-d7*6)^{M>BPisl$z%|nK?p`G+fZg) zvIr!czIA0_NO&^Mpqaj-ZE7~-Ikf7tN@*rt(@I#>f9H-JI3zCQm`kLf#gb{vJn=nq zf}v%N!ps5ZVgurD@-;u{=hc(s?pQd8oiKP^rn+-dE1{B?N%!f0fL*XZoG{Su8I%3<6(7g}I{#k_&~fKeLIE!|0mTn+eQ%ihH5S~h zn-AU`Fv>o`-Jp>^=+RgEU6<3T4)*d42=7M$p!k4DOVXi0054Ttg@p|0yx0F@r}EQ^ zdm6;GK||Opj~vZ~YxSrb8!0`JzYipfzA!DTwBWEk=z74V(eSYAWgosaPDRecPHzAJ zA7Cl_3vf{?h5aod=UEl?!H5)46sYnif{~zZPyH9?0@v7tE$1PdNCy`Dz5*a;j`Of) zKSuUP`f!bki_O{Bb$72bvvZ@}`r|h~bDu6w3vcTRdu}dHCFTy;gxqej17Z$EThCpF zMMd>9S_l38>br}JA3mc|O4QRSsB(<1Fr(XN`I51pR z5x@QNIRA5`mY0RG;0Nn@@eJLa_SG*-C#Mt7hnh>o+ILmfJ(Ttle&KS=!`!WM^;_u4 zcM>O}Q{JcP-Vc58&+i)jwk);z`mGMUoK4xj_D>b*$x}6sj(OY?%hHzPE+7-NGnQcZ z%ySw3W?b~*eu!kVcZz7k4Yj^_okT@jg|1&Iw?nic$$3CUMW=RL8eg}@(UE^$lJlBe zk8cZ-zGzk3V!sH_=+xXAx1#MbSYspgySWfK5npIkp*m-+Xcy_~Of+SYvTy3Kc|m1! zVaecxW+4gUB?uV7SQRfgfESU`4zvN!Px$ODF5Gl&?DGz^onpvhWFc=H9ys*-|{Y#Qs#>nPPy|f>B)neHImD^=(89mlVH;hXhI}Ni_VT+ z%i5>Ctcj0OmjP2zZm)7b>-(*s7+=mXWqHn6%k&5M@j5N(TC3iQLf2TsTg??Vt>4kM zI*xW6+hd#R8)&8j@pceN#LFrm53^`a3(VRMX^+xW+fb@6x52ceJSyYnT3>gRA2vok7Q?o23kdNyig6r zOxOO+ADpkoqv3Z}oTS2`5Hhr=EMsT}yM0K?+N(kQv7g5@BagGSe=8x*VhzrnKU(UK zY?aMQEKlhfkSgTS&8QXt%>BNoI^ov(QvAT|zMY3mq`Gm*a@OrL z6|Ku`$|}o|g}8l@LVinp^6pIvVr3IdbuiTXX?&dGrmr`8#*^J)QICzm<%Q^}mgc&z zz2{MEo61YnA0aF-j{Gu?pDKaB6)RPm30fqe_SKC-tJSN%mnZd0MRM73B$~&shRFzJ zA_(4(#Cq3W8*Vgi*Zb^U+Jb#CwtN#yNL>~lVP@i>Jh!&Wb=uC~a?7LN2#7k2VXLYz zlB3pOFi}EEh&pv|WHkUEI|uknZ~9{b$!72$T#do+r9xOcrsg>$xTC_Qfh2MHyezW3 zqye3F+%Br)rivPhD6Jen`Ckid5`3(mcO`Tll6K>xCk1*!29ohn8Ff>Cxv*E<;Tl) zxd;WEV3d}}KZ`$0%%Y-wC{F^Je4 zkC1@sDWX_T2VAC_Q0;*L`tG z2zg|>_Ofie7?M6Gs_*BF$Y@VdQsB@oNcA1o*ZrQPZ(F7nrXFg29`n1& zzyAl8TyR$e`STadSblN&85WjDN4WNpvf#_$YS~WvG!OQd%QlSE)0<5NO{T*$FB!y=p{kQg4#OY_9{SH1$&d!Cvty( zPx6a?WlNJ%V82y|15##HX#e*gWFoFUY}Dz&8^P_?`TkyL8WMQ3O8ca?VGXHBWkdRBzd$<6a9x*Nl+ zomvB*m7cv{{#Uao|J|v@H*C7O zI3uMK^T0&K9!3RRUB-sc{7S`Khx;ri-s~}B4$#+U%ycIHOZDF9q6ce>m_L^i9+XQG z3XQLp3U;RGbqzfgB#uRUs$RSQv|+ij@YC8*>vP~l^@?FOD;Sh-yB_EFcLZ!2pnp`W z?3-;RTyHf>4p#JcOz@aQM~eq6b;OthYle$_$KcJqn0$ZLp-K^b;=9S#=!0KtwAb58 z6@~#PXtQgTv+YYcevllhv8K@H_wZ|U^j%?^{;vy`#igb4nXYQdg9(S5*^z4(KU9Xe z=4t=S>A`ayly4YhMCx05AsN^dXvV=1yeIO*mVd6c z;0Sm8$m3;{t4E^LC>*Si9}R+m@d$zmep)d@$m)?lyWgA-UFgpJxSd6r@YU6{#mzI) zsB~R4=P@>c65`O&$s1KGz90{WUqF0)a4r}c9NUPp7KLPD3CPB$6mxy`w_ z@v>kwkR6Z-%r1M^)D=zxi?~4Nc5U_z>3&u&k3X-}X{i<5Oi$F`h^z7m`f9X($qcD< zJgjtGCc`!YPm^9>N?GK2MpIgLC%0A z6VLxU?X5_KLK7|hrBb#_c0IJHcgzFKTpl^5@gs^vdua*w7)A(=hUda&8KH3XXvSaw zQYeDFlm_Ph>C`GLE86`!({-*U#y^JTCY#3nLbR!C?=Xk}2}#VSxtoPbbm!w{lgR=> zqs(fvUW>LdDefsYLudyHo!>`|dtpkqznyL`9ORJLNM<#Nyw4@z+wMY!_kZ2z=fuJC zL7%f8_2M&Wc|&y-(JE=(<`?D)SnJ;~Yo<{`>kH($&@X5hv~;hPzMh%RGRpsms?cp^ z{+pK3M2wG6_1kf^t%eui zyT|x)Ud{b)lK&&yv6)4g!a1;AvDi`QTu{~Tq8uSey|TYge)l#3ldnOBBJ!oA(U$P{vQ_Pkrf9DNzn~nnCm2JIU<+b_!723{@`NcN~lfHcgMk_Em z%cv|FC>|SE8rQOhED^B;|CtmQL-k%9K3P6G-7|3!>9&#Y7c1P4LDc*WcUR^am%ilC zeKrQR9r97D0_TB|(jc_x3Zm-&##}rAkbRdk2C&ivK>uSSaPMq{;XgLw=DF(?7W4O7 zelRh-oAO2@XSTtvS5K7q_J;AzU5=4C=>Yz(1+2N3Sp?y~8}@nijhc9UI$OhbQdoKP zupd&=Mf3vC#xQdn*sq;dHoia5B2Ur#)u6!p=pDx|XEyhL@|1G1iaGed>Om^WLnmq{ zjad&=plaDB&!GlQKShk+rhgq+Fl1{sWn4sUwyp=*w-%oK{CF{CAc_B+hc1dc=7GoT zKKsewcfVsI(k-`*aUZw+iW3LrvgcX5Y5r%Zo|OGEL&sfj*AmH-sX^-2lgx}6bp1uf z>4TfAVcIKux+f^7rJbLiZbhCe6W7c2Sw&ITV;p|bYOl2`iEW3tX<{}w!(3FpSeMsc zu5IgUU`7)>J+C{)S`SY5(aN!_Q-5wm+3w%o{~R`*Yaw_uo{vYwHU7VuhZ?(U9LC{P{Z{GX-f3!L_M0{-_}eX#2**D;XCA;8eQFy zql~wJYK}<3U=*z6czwBWBP_*NZ~_PooVAW}_}2MBd0e-ne|fiEz1-WM812~4s3~sn z5HL|Nj!Z3#5QbItMLqQ!`9pPVB7Ably2p8K^^xo49HrFjr1s}yQAM*;j;w8BG{N!s z+c7l*BSx2ZzNhLUfX%XTU$8k1M*^k^@`a3W;u%Jqq1b7Q<1d2S>=6DXTE38L{B zN<{R=2nv;&lN#W)!KkEe$xS`Wh?=C;e^fk=obfasno0!!jS4jWSY#Nnenw6niVC#1 z?WS8ABV?L{uAPct9O_KD4~9_~LDi(5a!`E!8X8Iw*d7$BQGeZ*d3>>=E5Gkj-tIX& z>^kUPBer*9j5w-gi2&nL+=s%Xj5yRjKMkdz_}U&C8rTvv^?muZOuCkWgUu`#Ci~)h z$yni(zQc-7o4-*d6U34clza6M@a=jAk0O`cs810N$Aa96y^7{4nG{9q*Sf8(+4FQv zmc>{6&5ZJ=g-Qd3S8&8V2Afnd#aIPUz`>ulq~Pnt`_*b;doxY+9~ytpj=NX3Hmk3% z%Kt_aCJ?Hv;&@j5D-V?1fn`2#APZ~$9irg3jk~S0O*K1j4EZ?0W;`X@+^(Z(bldAI zj!@OVX5T40_7)7R^IuxqOEk_g(fsIgu!?kGA^f}viY-@eyt=qm! zJjvWyFyN`!4A@Lj+0Wh&3Y|HCiLt`)DDuc_mQp?cm-g-9R}z?(l~$1&w}nLz^Khh@ zb;&oI+=xj!{$0CS7L7@ooV}+WtQ^IQctyYcZLPXIWN>{MWXiRC2*M^(i{Le5 z$&KDYR;?`)wB=@xW+a6n^s6S*|~XF^A|g{={0nJ zoEqA2@o1QnKkA3dLRFh&6FdLAPQ-GpB#E3xUiA%T<}Q%pR}5)u=w+d#OQa)k2+3qp zffTAy3SsO|nV9ghc^R2(?KeaEp4W_)u9a17MYT6%EK!N|P|FJGK0QLXd16jEJM&M}1 zC-d|jl_B~)YK~Z@-7aDtL!TS~xXVKp$m0zZ#u5f}oLv+6wLhFyNmY5G@`lZo5%JzK zl{r=EA)c|lrDWOzWf<12oFEQ0Vua);RtU)mi5vnycmx2j1QZvOmQ&e&2Ntkjvf5Fd z3`2j)>b*J|EqBn*h;Kc8Q1aCWS2U}5&VQb^e8J;vapwTy*i1j^Rs}v4s9QvZLD3d znHXlI)TVfxPTl%Qj-b3gvP!aCw;sQCaNciq*9dUmUJ_4HIoVr6)A?jDEN6B5*q}%A z{Qsbp=ABh;=gan5(46j?fvzCr7w^x~N&wtJ12%+2p_BLX-E`uj9 zQ|J5rHa%G$N)9TE$4mZMi%Knihx-_b^}Lv~xa=#abk29Rsn;oPo#%Jf zM%3h~DUXWp(skox)W?8SD!1EdVAo>;DbP;D+rjBjwaKq|3q=5oEf=9?P{vZ(V02=OtlGFJ33JJ zJieZslsCurM3MJlGWmCLrT+u|x)hth`OM|ag|a!_4gXV?3nTXo@vfLNp31ES3JMxT zB>XOhgJq=_%KM)<6jp!G;6xf}?4 zG?&2WKQSNd1e~IpimLOAgNmXPS1!~A>NMi`wbSKFj3WR4a6)&GiUE7Mq%M!r7XID? zoXyqEE$XGQiZo-oW(&wDkR2%`M}bYA3o;s=CXge*CdWbMrCI4#$zpEb=ZG%qX{gGU z4GjAR-!NdZo_I>ilq1`%aA0JNP8=ZC|HSJUoq+7Wh4XgHEH>BBHnY#PF;!Pw3COxE zlruDjUisi}Ty;^tf(w?BY5z}DbCd^g|6<`Hwuh|qX0VAa zw5H|SKxj32h^tG^dQ9Ypwy3p!vjhbGdWC^``*^L%{XCFE-;M8_msb1%-AKsx>^e@6 z>ugV6%>>=okoJC;=lA(!ZDzaY2a5&%C%MB}lnkQFuUnFyjk4`*wmo)p`t0y}FW*C5 z)s7JY0>{YU=F5<^1HXb}KzMBTl<{q=&C`w@^j!+NHcP8U0FR0c{ZA~B2u=z+F@&4w zk4^8|EOZftG$JbInx5^^IrtgZ(Lq3elex)<*XRd*PJ>V}D0RNTF7KdmX6>TiF*Dy8 z#QAUQMKa$EHDx9xx(h~^rMmFQWko?1I_2Cwh$3s4^AVj=|K~TcDy2tPdE6FjXC-hg zjUPJI%E{GrK+QJkj#1l%OV0O3{z&&#uM>hbPlNpSATb|X) zqOwbAPFyeDM>O?n)s`pz+rDO2!##K23%Q(>)JPEXk@!~`$nLlvX^^}qpVXbNGV&x* zEgDNKq?{z-@Rd8O*<%*{8{FW;T$%*_A->`Q$bAaPtf&Xa_a#xEcNocM+gecvo?~~T zP-|x>F~4?Nk6$wEOntnJ6(2RByFRn;$~)fLbeQ)>FG_OXV-Oc|7;1hgbX6>lac-2G zx3VdmD{DhXy_}2xo^~;L`bn})+(%_7#U?h^=eUAi^t`6xW;wyoC~CS3b-n-a(D}K? zDPBzGl5)C7TPE6m@pQ`mkA>h>e!<2Ut%m{Y&PnTqC9X8?B{3Dep7%DJZzrSV#F~yc zhYE?&hQ1Gu>?bq2J6Z`{l2uRojVb{eJ8HHgl6~!L9bzsWlk0dD*;)zFu~iMj4i|^Ni89JJ`Fmc@ zYFStOZk}$b@YU_Oc}#8dr{{qP%966_V~k^BcRgg1^{ttvD)Q0>m?gz7^3@^T(3@M`u&FF_PL#c$K+Mt zF|y>E5#nOy-dWl}a&jnkAC7#IfX}Az#!-jyeUCQGe$Z+620C3-wDaT^a}Fa^Ai47; zp5`!SQzQ{+s6wFxQg0dM$IOo>xde3e-!m2Nya?dl7t`wDtZXe`qGnZa1QSw_9&n; zrOIO`(6!yneyzioZxoiFJnHH!La6W#3eJ5R_g^_{W3Fpk_wit?31$0`sB&OLB&%*` z)bXFyf0Ki)8KcJfPVJE1%!O7`VmnDB*V2wv!wWiG7W{Y+QL-vfHBupz9m2$foBcEn zOd}AhOr^{1gKH@1E&F(LH?OKcSxK;vIU6h$5BpB8fZeA?$ScDV8VX2ciO1E$ADYmt zKAn&1W77_)D&;*s8`om(9Yd1rhy>VbQ z-ca(uD$U?mYJ^NoQf7o;tn?tkm80CZ$zA&;U#o13F7)fX-*y=NPpdJ}io4eAWZjf4 z=3@Cu)HIdqN1ENDV-MFfmlDb6q}(%aMRR*uYeE|Dsm)kfG=(SI(hF5>?Y*1E3fk34 zby0f8qr3vqFly}3>NjpxL}~jfZC*o+oJ0VD|HLxxs_I_i0)+Vg$*$mVz#jTU)~|VE zr`|m3*=g|{m*9y5Np9zUUFQgR*-zbpW(k$EepiEs`%VVnfx|lzQkoWmS$I$Y8D&j$ zO{5PsfY7iOc#je)RMROmHSpX<$ZAoyv8brtE0T*7%a@QIC+Sx0hS=2b^*yO00RZs< zFu{8=j=0&wQu+CDZtP@EWWrg(8Vz_so>#01keP+jnPR3mXDy~s7*TFZtD~X6hrq+> zF_E)c(VHx~Qu!pE@!`?&>tpd7m7|yU{C;I-mPWr8`u?G!GOYgm^4k6Nu)~8h-KLVYVZ~mfx zY!Gm8*ee=7Tq1bv{uS*zupo9Ov7q>g_CR7_coN;$=0`uY=zdl1KSw#-#6spXb+H{; z=l;CTPN;(pxxbf~*Rp$EJ>IlDlFn0c9nSfwIcwi#$jb2Cm1!X3*GPg-ePbfl zOIfdFi|1@W-C-RzuHok>zlCIOwgNNce&O=;Qf|bLl00#Jl)StcJ{zqx5t0~o zS3CRVQJ^y}A54(^iJnN&S-GlwY>sHU_6=dbu2OH2KFj%aQu-VJ$OaI;sVvn;XIysJ zQy^46Ia?FZOV$Y-h4U2*O^BQeX@4C!D?*jM(r(o~Y^1d7+Ue@2K*C6RKky5$5vU{H zFowlHmHq;VXGSm;Ad9O_e5atJY}LPe{oL8=R8f0``YCczBT-ZkP{fmXDpSW^vV35r z6cNjtU{x%z9N9~GX0yBq$(lwV5e`Fk@5!R#;VLBy?-|=0iAK+=h9D3U!ImbCkEDeW zkrRKpt0KmI1al_mixQ;LyCpPpLwUAl1}T<1Dfl2Ckr3HK84 zBi0zzZxB7HC+#oorQ3NA;o7ppk~xpdrF7AbgOif0 zSazdveu1%8!_)4@|E=g0 zy;OMMMF8ZsHmSbh%|_=+8L?}zaf;Yc^F3T!uU%d&i%c(OE~a_zQ*xefUN`&m z(QB%yN|Do&W`}0q(YYrapzl%#WE%?<3c^o>g*ddWj>1hB{m)?89yJaRZ}G@r3x zgwK@=#=by+2L{L!c1Ke3-djO%tWUbDHY#ko67A^dF||!-g>w)&+3dU6*@<18)4Y@c zKYu9Gb-<0339!Q3G^zapo){zK|L=?zNDdd{`)kZy@EDPHlT{(q zBBmf;S_&1C6cnZ=CR4gKE3L)We?O={<&ONri{Ao&p(+!q{5*!72){mBSUyfujR=JO z#W*G+6h|$HoxDhp1g_{xq>rs8|6Co5PwHPhx`bV9g4s**^_Y5wzw}v)P`!rC9I@+1 zmuF!lDbFdbc;Em3gF7vp(>G5wwQfb7l;qj2DRVwqEL6_6(seY^e}!uO3J>O6kr@br zfP|~RIII2nuXqx{GyFTo$GU@a{#hdlBK9j`F{)T^O1D*cs4HsCF`BkhIbJrS+IUr` z`p+xfzqS?UAKR*-1t_-1_7@>jD&DA@*;s)bNbkS{6XOFTB_t^oY<1$)IBpsOFwp+H zcQ*WQkpL2^KpiH-FyhV59i6+~<#?Xq!?7xVw{)u%LO1$7#GViZylo-1uQ zRxf+iHtuF%(R)FkeSP8yiUa+5{>L){(0S+U;g?$u-Ic+^pfUtuAIy+EKl5gF_ZmaH|5Df~;8RW!{bf!MI;%YEnG-|6 zFO5?F=o?YPyprRu+q)S5OGzi{p;_5oH`hx+<%K`t0i<^~8-?~B?@hawko!j~134q( z9(#M1$XH7em934E%S(yYw3MomVgyxqO%j8XoPMzi4z-rA?R=o&p94gW zQ`8=2cyIIt7<BckT{&(0 zHlX9HCELxh>CA(kMHP(-4c4dP_XoKIuU^&azZPLrvNKaqL{#K0<>rP}mTdc1@1c7I zj{FYqH(!j23L2ufbez4tEbW>*_gT`w^s&D#`f#G0y<$bzjqxq~s&`VSgxr0651cj} zY+pw0QEaVu?sMJFvDq9Zea#%6kzIHm-)J6A!nNC!MO)?-O?Dq+?eXB|S|LB3ijjcu zu3`d6{#{gIo#zw=ei9y_S8(H32gE@ zH-N4Rw4WeotfnJ2^{l?fYn|tVmtQEF35@$s^^55U5t+3q&;q=hp!>>6<&$H}*{bf- zm2;oQLgV49pALJJ8UBSiN>~r#;$Wc!WXMOHkS{XQFl1c4nt`=Lee=l?Q*XO+nR`Z8)3 zlwZS$Z3B2HNo{0xnZs7fyH?vOpz0Riw1O*P&gGPTn7f{@nP`QNQ<^gqihv1(-~_6I zqO=jJOd*@kx91F%5O>M>DgIxJzKn9@+MoGUehKO^$n@(+F*Yv|`xp=|!w7)VZ-au# zb!uRtgjBm!%u&BDF888r>)y4pP{#Xc(-KXluJ#Krt%%T*GvWN#6UsoYHXE;8GTp5% z7)%+Ar4th=3XhTkOqqpLsn+5kK zzQf5#^ddvcY755&pOsZExk4%NX!JdbGfZ3^o^6cti;4;dHC2_K zOn$|35|3x&>-kQsPGZ*R4Y$WJvB+)gW6MRSkI8>Hc1H)$0?O`%SlW`eZ05Lje;SrM zLq|-Rz7}*XyAxE2wqA?j=j|-aTCCfyuFxOuf9D%66*2!lIA8j()uzSdD*C|v>*8b{ z!_(0F;rY+pdr}OO3bsV-$pjDH_mHwpCRN*Ya&PZ%Z`Zl4)en0;KX2Rp!PBO<@VoWO zI0gMI@$&f*Kli+?cs$p8W^1%yO!nk-1t$5`krB_E#TL%zmGr3RO*;=zvp#ZLI)0WS z935z$SjqMG&Iyawq9)v@-kWX0GmRGh%{TMOhi=XVSMvi})3Kt4bo-xNlYlQh7kR04 zPk3Bw3JV&~eRK|Gy#-&^i51}ccy**Mt_>1Vv5XQt0KN{#tPJ?~_F5h6i$2>guG_O- zardZX>p5`XLkie0$;z>8FwNifFH(K_jw}vWz5Tl?Ue3Z^wBHm%h0;yqL4>@=mmbQ( z?g-zi@fa$F`hQ@Oy`GbV9pY1s_m-qnywpBr?H#SJDtQ#8^&*<>P}1esh0Eea2|O)B zq{X}sRWK}bTF;xb8s0$W^7RSJ*?p%OC7z6~D69H?&dsy?BDeUOSt|;5o~&o9)O2bJ z(dDdXIX$|X-Q!6@h2?JQSL%aLqE#5q29j>ubVTMq7|?5ZeIWnHOjXxie^~R1u}~+a z-lA59L1yw}-)y{=JgLU#^v|dIkyWnYch~`v1bu2UQYcJ!8Z!BT)r~{TXy>Pb)8?PVYiU zKf6Cy$)UJ&VQl!^<-Y8Z-?F%!x%_fBPpCFN1PS#FZ)nO#P(AX0#mGckW{s5>XsT7F zQ~hoSpp}QI4O31_@>j?Q(leLa^4qw~n#?C{Y_pzHG&k25R7pQ(ee_|;`TRRIJ^@nO z6Vd?1gnvUBR;h7o|C#$T-if_Tz=&P6{7#Gbi5-~O8ZW&}cj^l^4^fkS5rHkXloCSf zU;1SAgiM)s-mo_owQmEv6bovLRYf@UTwIrA&-|T#m5$C&KVV{$(KFkew`E%4&-^Kr z#5NW5rwCal=n_*qTJ`;DFesFDLjO_IEps}0_{5v42+8LNXEMW96J=EWA@3DtSL9~e zPmNUA&EI9E6j>-Js{At9-ki8L3G4pFbX|DlOx2B@Pd|0* z-|094f;hYYRehMJYABYhn*(PJN|?kMXIxg0BW5{55cqS_XKWTi6f>>Of93J@8o-Fa zFGm1&u?QIJVShR=HznB~IuP%KJ@`ocI*f-TI4A+v4QjT}LAfKJvB(@Zdw%&S?L_?% zhjhXF0+RfD1}yv11@r`t`pU&|_}{wVAFCJv04M+^;OKZ?yYE9_5cm84hpu-D(xh#o zMccM*+qP{?+t##gYueq@w(+)Y+qP}H_k6KW#5ouLxv7Y}sL0I9jEc&q)>^s!Xc`lo z(GQ7F1ovY>G#fCv6Ufq;0Xk{PJwh zS>YTZ@Y}fR1;njS`fq#j-acIGbWiQnG#RX}o~=G!L<_g6;IAn%mS?`kTv1+GcRcMr z2y);pqy~6T=?HEvJwGY>GgSPIVLnQVsyuI`A#4n$5|>^!zhl30_dbgXf3^nqnf{2P zZ}>1bd3TXtSQsw7wTL?QrTa{K-P|`&;Ys*3@sNl2D@KK7bn;lN|Eu$w1N)Q9zZr zr6Xc9XEf4Zt%ILg9}BpDumA59dM~{oSJ~*`4&RvJMI&rGUE2Dq)?>|d#$@b!0P>QJ` zqpe4~T0_RRb*8#|qHgd-K6@EsVO@C6$~nz|+$1ph5=T!Z-<_hP;Mn`N~@ z;q9aqp3&eHnV#FlDH-FEb z2|oQX{K$r5W{hm4Zp8K`x8JY+Vi(+T{+KoQkveng^l<;sVt|g!5YPiv+VWh0`Le+U z3xU@$z)R^nP?!ioM_uDm=wIVX>044j1nOSKVZ_*d;>4^Wl@VoSBeZC=9XHGe9oQbd z-{L?8S{g&*z;x=$#RqJojc}rLZgR?XZpy`j%w03>qztDcR~Syxo2RZ}*@>6VZb8*I zzUVUL0%kRRgs6z23fl!mnb$&*y>lWB8_7l_jW26rJ8QzbE(ar^rs4bF)`I+fG_gp(K9#P#avwb$x|TujXF7Sa82B=O`pP&yVsy+%O8d0tji zNrTVT5~R(LPbWwq145W6Xf-X2jFA(SIS*{;B^H(O1)hwN4K-NkxI<((ZY>Q;kX{#h zsbc#2TH9T!snh1>|K{fW?`#2ycV6l6$UF$*F^{V|VgIPx=syc7V#r={BEKS*WCwFL zMMSWxIj*_I8|M?taLQr&Du0JC-S}GY$Y;1GecgS=lB-BWJY=^$98iB&h4eVbgaCpz z*v3ZW*_HkWn2f5;;jc%V1CeJzIxg7nx?H}h$IRKdUbNYF>lh)Q7t2-s;~U#l^%U5F z2BOmfD||4j2q!DydoNZzP$?y+9i}^{9pQU1R$eGT*i>9tT(x;QMc!wwM=;2;TxG>7 zT-&aIK_1}$+i~q@LadK_J($8XWK93BZvrp`y<&&QuC_|Oj~?G@ou#Ho>2<1mA>#(L z;tF0f`(P?KUpK1ijJ~0&jPN9L9eURi6y& zD~@D1Z8W)E81S3soq50CSpZ&VPT=)kcmA+Me;L4?;Q_zp>Uc1|J^Jl*-(qHV``m0P z5ALy!4X}=Q)=@qbPt41p?p9ULvcotxy0GfXGA8%__5tBaZhLNFEJDo|Tx8~jQbIbK z4?27_=YmMc`&XEM#R)o$F!w}K{yiOQbN+bY*_{?QB%s1mI#b^okVM3#x-UgMq@AlO z(AVQ9`KY;badCNeVb$z+NSM+e#+VSvNHdRkYr&H;j}twF3a@4zWpHb%{AF@C;Kh3- zMy~w&HR71(W^y@D?D{G;qRjWC@MFvaZ&3hgpq4uL`g;#K_a{+R-)08s9%jw&zI-lXOwQ!YF3*!*as@-_`2N_^;mg+im(976B~bZ-Fi7>`G!KscHTEJA*QIo@@I+|vx;AAFIQ)`! zwGH=4uoqrw1hozEQBbs`*w1lW4OBlOj3vH1#vGB;O5Stdm?8+AF$3PBJ`XnCZ0oZE zfkZY9dwN$nmC|mmcNuv&M5bb}STRaftct&?PYox4avOc1te&MU?q#2N2 zYaFfk^2#D0><{~?njanX;1-34121#6MD#xqIsZGlk_Y@t1$ae=r_yW(2J5A=EQR%b zGj16Rlz_H~a7Cbw#gmhojUasA+E?GfIZ9eTojE=H%LKpYD1bB^LE<7UHi6z3r>jh`RVx0mohgMp5V z6}r-+Td)!3G@mfW(Vcf=Jh@oJMR5_V6@ERS_KF)jiZ$%|L5OunR8+CLQk}x&Xu(q0`0s`)Ug9M*wHW#z3)orQ46Jn!SoczA8m^=m zIwCXIe)5f9PNp@Lxqhg!ABIgT_^JS?%NyqM@gg{mf_l4KKZHW}l**yb>~UG!@c>gK z_P^4uxDCZ{laRE`YfW({7B(i%__MYZb}Jz)d`(M%r41bD{|Ljrkhi5MOjNq?{Pm89 zvgVu4(i^7t1!7I;81%yZF<9hydMPaqohk73v$gCJT9z?3=Xf>!b$<{{Bhn-ESwJ!2a%=nievC+2X$&{%Fz>-B;K;Ju|c}TDh%Z}Ym`%_ z5{Cj)=PP1hMc7ws0$ImcV`wi@h1N9)sgvkh;O5E<;J^)C9tJWS)H4#PI$SC(i5C}@ zp|CehNkY}Y&Nd-33{Apx26PcOWlIb)fS;X^j1QG*hrqX<-q8wH#$hKK@5EO|ssZ0s z(Ka>Gkef)~_^3#)x!0DYWnp<0fH(M3UVf1?S4-IY)Au;akVoDF2lAL7wGgnai#ry^ ziDSz}7J%#1JxYwRf)rIWHKDQV&OMX6RzbHWw=Rp1iZ>pH1JD0c_o?_KVE`(IU$K6s z*ZWX5p!1>-go%GIn9!QNQld76K-NDrrXmGx{>3KmhfbtXp&20KW=oQ%VTz8y0Y+?kgwgJ<~glkT#l zBdty|DAJbfY@SA-WBSRv6-^Cj5)^d(%AeUvksYcGiI;Zmuhe$g;4Q3_#<<=(7tjm) z!!^?7CTVZwUBU4lP`|zyjKwyotT5`wkn=c5od|)$<{o2UoF3Oc;S!Ti@n>vO-5!;Ror%YxRBWXX)w?Es{6e)8_5@?j= zML&S^{z#W~eGDTXy~{sQT~$$CCrD;?L>Bah%|%SesTts}Z;+WsNikd<+f6DV8Oa z_2Np}QJ3~*Sq`X0DEf{!3-rCIS#G!;n!W{F1oRl}1M}4BSG50NrDwp^jr=KWrf_tg zn*jg_=FacqRzCRRht)7OX-&u7-`DvKRKjfISlUp0@A>e*+HCaT+EplN@>39PJWlj& zSV9x6jUOK!Z_Df_+I_OnTIhDml2KcQ)kl?PotcDDr_lKH&`O^#N4|=Cl2H4Wabx?W$(gHBc8eL> z^FoJ3Wc{-#f6m(pZ9UWX545v-Bw(a>5yV?vsHj+8q?97`lMy5D&vT9+Wq3yf(DeVE zFIhyvn1Fx`)TU{oKvFEeSpVC;+N|ar2tg&S<3V76K71`ip^Riv*5fZS4g?fo*&6}W zi>cw?YA#++Y__bfh`HU*4Ai`Fq7Yb@zDd300EJL7)n_D27@K)VXB1AlSmMdRkEQt!w(YTpM`0;P=+EBhdRuTJy~L zWQZ&7IA3$Iu5ZrlA%AW_6nJVGUTE_Fnm1eK?MqaF3)`eBw;)a5v?AjXe?3Nay_v=* zI3u+@d2t>C{yB2u{p9Y;tybKA?0qdflgO*pq#iH{A_WUxq4Y# zjms3U){ff<#yZOCcCe_%VSDs8B=fQ@VyrAPUX=0DYkwQ*By~+&Sk~7x@W%ZawZJ45 z8QzzcII?Oj<6sy0rq8<(ud|VFd27D49DOv36;s-&s7Yjo4pT9lz&C3JtRU>TZ!oUx zZSUKu2y@XzP*}qiQMfliqFOWSmV-{^-&7FL7yUWPUJIH6NpP5-{M1=k*s4ro(>8BP zD$poJ_VSXkrHC6UEdy{W@&=OFUUu6wEjLjVL>dunCp4IV16Oz@vB~GiD5Ewh_z)Jb zb){%6OyueK*edR+KFdqLmYq@(mLC_UhFz#9hqTM6EzWDA)GACw$~pkqC*Cp7^!XOL zgIQj>e&x&i1FjNW6Mdv`h=wySTnDKROwpSUwgNPBx` zv*^xRxI%AIlX@#!La9f3GU?d8Jd~d)s*U&VtP|BH%3OkQPYpW=++dbX_-?H4?D$QH zcl3)RCg&FCOSW!o?RZMom=#UQ<}#hkqIT}$9PFrrIlgX+(%sx9shF!#`dx zpmm_|DA~pwL>a$a?i>#Pf^PDde`t4Vl-VGXC7}jDBVwI0Lhogj@ZZx{-+t+3A7gR2mjh@%4M=zqB_Ox^vMo|IP4BLUZ zoeC>dU-tIly84eK8k;ghq^3H&@hhgB=?h}*ZLrDv@P{_>vz zA#u3d@8J0H6^eH+1aFyf&p$JU#ndE7bz?bgHZnEooe!^@w@aaG&gT5wT?hjdGs;_M zbN81B$wyI9tknTD_MsKyQPm~C8q^yW+!CtkY`9U4y3$Q~NIz6_2y?XX5CwMC|ArV- zLAC9wKLqjOI)&X?N`E@EQc|vVA}5`kRI`<;gDfnbfqUJte`7%n z`ftqae?MjK&CJfuJD>WpUweh;WD7dFyKRc2-H7Z!v9j-gObT-E2Xl6n?^P^q2*|Lb zw|RnQm_KFw63I3jcW4Cw8$@-G2-JjA(^%k1oWaGK*U%PW-XiQbI;uNRBEh77XcJ@> zyr7{F`o2pOq)M17+V0kTNc5c(L3?XQ9EfD9;ex0|#3FuY_Nt?Cz)p+Xbu5YlCUQ^H zxR_7u*MN!c_@;1vXt?6+HAP2ZPi9;n6CuuulyAq*251evA*u$**~sU8JvNKm zVXz;byx0!7@uh?|XJi%6$nF%DLWareP%GQV5gzO7!Xa*N%-#=n^n5>NZbo(pphh{y z*WoS$d2Oo8@mKeWb=G9ovu->z_EbU z_T(ItZ-%lCNyOK5dN@^$Ow-s6pe)pgEP=2FLYW!6=Vy01-{RNnY^q%UYD{rTGhS&S zLiGcoblV>f2!Qq?m zeXCx&fO?C&EkEKNLxLCzfx){mZnGkfe7+8gPUY&+XR;4q8>zd^Jc<9-01tu`;?e(F zBmgmRq&v|~p3nq`V8Oe!d`*idMSr{+Q_Xz7 zM$$q1A)?4D9W3qz1a za>_woq7?n-Z4aXgIXAq9tDyuZGiS@|hN|04?WZ+xzum1Sd45j4TjG~9`_ouXTq%=J zZh@w!sQQm~j0F5U+Jg_Lm4CxA9+@dq^6bis}74 zA4k3~?|-zuI{YGhA!#s33p2I`t%Ub*-lQ4ENvv>Jh)2S z@xAbWc1vx?PV3?LzI;C4(*66JM!VsQ<%9Q+bD2nSSsj6g@Na#vQ;VOhH%3fnd~oPb z&ju|ASsQH6HaxI||LFCd{t?X_m)y@GKg0;X<6S}-PIeEQ9pQH|3;E*rjdw*+#N?Tx z<>C3hEJbr=8u}`{W9+piVTJwEG3JQc&i3@gzZskI`+-i-?@wQ8^iCckmTUM(%1NU& z(V*+{ulnle9L9(?!7zKNWBEmjDqH-dV7!0^mG|;ydTwip#r3wW;@IJ*!eP5M=ePV$ z^YUg*b~B;p)FW7h(ebsh_g6Y)-cj5N>!F8ZZq}>K>jAQ<7S{56l3`$CaPs`T_z+Q~ z{XS?3QDGwJ2&&fLB{RnqcvZKQxX`~dvK%V)QVioYwA;-%Utx+*oT`N>6Y1|gA!=xr zB4RQi!m!YyL`1>iF@r%UC}GM%kjS2nj+^h+VWYKj)oN^!KP+Sqg`n4_ybS&#jQ)C? zT&`JdIBuJHi>0bLD3o`JFbqoMQGETarFuE_G2!P<_A900;HaG4;58q7X&QwezQq*_@ep=P>D) zaF4Mw_6T6uPOA+kL!S>jeB<;dxmiy79=}5+(ZGN|!Jb)SBU`6M7yWUVB9?>n?bCm# zt?=#WZqEB|F&y}3&ZYMEF5VoKyU*mK4GrIfxL%G|ucs5jA?-Dy4`UjU%vbZ}+JqjL z%0b4`$vq<>&xVaiBO%1QWO)CspT_IY%HBKqri;$*uSK-Thw_=i1ixpkTZTASO7;8XLQRRh1B!dNE zpo9qvK_X&Bf|HZM6$JQ^GB;62-qJB~LamNMy2C4%_UZP$lW**T+A|KC+^ zg0m_96_ve0I{feWzltME4D7Xtn&h~^K8JNzlUw!Jb-3y}!UGVDHz6j2LQ7J-%Dxp} zHo((uf-pWbcRf*UdHU+C(tuxw3?6_Kl&CZ-)lUp{w+lx4UpM}nAVt87le5I<6DAID zXxK|kFiJfcJLF(KL;-leeSKIBEs6qp3aZR`L&l|uwEOqDWKS0;RQ zQ+ShEy!~SdpheVh7n5rdQ6WE8rPfHO8t#H5Sf)*1UVS3w;B}8<6)(~i6GK}PRxWSECdYYIdMysaH1nE_6Ogz?WMbB11N0g8I=B2Zu z&mS3GdG~*3_{&9JlkUnw1H5>gn4^e>k?VvW-}j$t1yer>%>U|(%3w-aC2AcyZVnOZ zp+y;j%iw6IAk!}bktgI3uVw5H#CF4IaTIvx_4%=|RljEi?Oa6m~M^|NUI+MQBMDWbw)AqSrQI zrxsa;TWM@Q*1^ByoKu*n{=I3aLX@aNfRW<+L?!lxp`k^oh(aS=oW!82n0IIeF!=;f zb&AXW%E+BOr){hE^N|`C>>`mUp}=TMV}St^@EMY!B_}fd7a5>&JtLuB`63!F2ANc= zc5{{~mCQg=eQov?OaU!ISWICjanQ}Uu zGE&+@SJt1u@WN76W$}NfZBa2c*8isM8mc~^qm&|y&rH1l=wHihp6F`#WSOr^xFEJ1 zbK>k~?D8k3J^o<-5O-nbGv+`*aQXbe@k(MpML?K$_JcszLbF0>ilj==R77AQAU@3u zoD*B$S%ohhMGGI!A-|8SMFRH(#6FGVk*5Qqa12s^8?t4V*Bu%qP09}wwpfwel^P>> zggpJz?g6qi2io1J(e5rU#1L88E_PEY1My=5f?(((YSy=%dhW3AaJX`}Dz>pold^@5 zJz+};0S>{U#0FsjV{DXQCKtmze)}m@jP`u=?caNh*6DeiXK2LKU%eCjbt=pKQ~bE* z^<}0I=cNo#A!YTFp8$P){N)yRc$P0`#_k{AKO+3~Sjm{lioIgWa%66L7%fH?_V2jx zO|=zGPA)%k2nCUWVuw!-hr!NZ0aTHSvoLX7>V5JI4@wX4!;xsDE)llGE`sZ;E(H{C z(X5<@gTY3NTCA+lDPCtJUu6Vdta2os6x9Ei{W-v@*&)Y>YN{(Gfszi}P+sbX0u%_M z60SEfZ<`-<+$Q-mU-6}Ar(?ZUhaAeo=L#@f@7UXOT^9)K>90hhGwL81FI20iLX}SJ z5I4qQtFx-)u7PcvubN_FQLnU-8tQ)9_Gm0*lxpEcyw%amk~>eUsJ_JsDReQJvX;7L3jo2zCj zZ2JoD1_QTyzyy?;L0=1On~NJN+vF>{uGx0mCiaQlmp0fU3#a9R$ksvH}6q-Ei`-}@?R*S*)3czC9O`@&)M1DREY?d4u$2P%FWzxK2{AV zwa9m9Di|?ONVddxk;O=<8L?~Ku1bnke~5Ne=FtyPiHVtI(xX4Bx<}vYnmL-;?DGsB z8qMQVV%pKNA7NL*VCHa@2DPzU)0f&{DqmZD=Ci}r(C9O9ohqndeskeoc>rb3Y?Lwd{^p!g8=l~xB;Bj0krz)=Ll+m?AT5ZZo42=3vCe}39LU>* zxC5H(Xz9}pNN_OGj1MB`v{9;o%2G}5R$p$IAijKXUOOM+U??`w+uUS<>$Ss0ob2?# z9R?4&#;=GX? zH%-ynoanliiYBdty43n9MV18i7S|5rm~(sTJ$)=l`WgoP--5&Dwh9Hap%n}hbc;7N zyN-ROz5gN|9`OGrKB(;&uBIAKq_ztoj8hwVEUkG0>Rk@AopP_zA?(~g5Jhw*=+j1|Y8PAKT&G?%wYg+0leL|X^!}2QIpHjd6_?5;#+p@# zN|*1r$g8Yrm+m@&aa3wzk;znxua%ELPjEt|&#fn*pi)o636*O6aU8!q8lAdmVe9;h;qGVc7>s{jO0LKuX&?3j zyOwFc;y?iH$;tUwx1fW;LC)Y>3Y3k=PCd1;Kv)C`vWlWvMNRqdKt;b=qk5$i=PexQ z@62IP)|+hzM_{k^+@Cl$^i$8cWz_eMciwWhk&w77!xw8(dvq9tiYb!$nin==I+UP# zdt8F&%Xxjohi(=Sz2~>8rL@BxcMze4xlk150 z$S||VIGw>ym$9XUGmWk4;vSqV1s9iG;pE`*!@I6zQBW~HI~@T4+AW2iYKqXHeosaf z*(Bud=)t2(CPS%6Q~-N%F#S-6Y`&Fi-6{GuG-iYJ(OqD)W*{S$8q0jvk<6aK#_oGc zy7A>e3t`)l7Wb2s;lOG%ojoeYR8{rh->eF)C4B=m+$2sT_UbmW_;d+V;qEx(qqcSJ zVfBewC0EyxvxMIt>Cb4{p|tD(J#``+mIJ=$b-y2H0&D!%dqhrU;qN83FfscV3#v`_(!cO0F5%EdY8tUA#~}P_Og(k)u`A{?=wDRS)YB zY0{P!w)(frjFd8-YpZzb2;AK#xWu!5XDStA?gA#~`-Y2mde8JL$qmyQGvrlKMfh>F z#0(W}+6cMiN*V_HT&9XK`5M!IT>ZbebchfJN>?!G>O|QZ#3Hg&hF;z&+qNi=4*bTni)hM{m{#1M4i=Y95!GE;PxUXF-pflk5%1MY8915`SW2r$?T@f zQR@-f*=xXNV6Halt7HYnHaEx$n_qlLo#+WYrC;xOZPMW5@x)!SINg}J4OlqN`9c8t zn!Y!$<#)jM;h`{$VaLEN!6rMM+yKp9(1I=Gr8kb2-L z55k>-;YpmC)Qi;|XE6zj>4Q6BA2eJEcwR(O3Q~CcuqCbMc1y+2d)wdUzDFPuL8-Yx zLe^grT!O`eYuYk-;T%SnPSabk1+S%(%fDP!dDAG_7Jcu!#Li=&aqz%R-}P5!-D2RX zb*;M+0RL!%^%2xzh4B^xT(?E72f95POi#57>0*k%n&pcjus^q~xd`i;BhSk&9pV2Nzfey~BA9db0@%VIuw6fI4A)bt_ z3Z8R4O!c^KdtCPEpQwz(7>lI#$S3_dx303fu<{ZbAzvHk&9Uk>#!V9U^ERc$AKxCj zk_YEi$FuH-(b68WA*v=(^`#NWB1dgW2R~NsdHZ)oWZ;%vr8Q}2`KF=`20qa`YJoB5 z$6fTbs2o;b*3|En!MdLGWDTQxe;uptjaGD?eoC`2IFRYO7Wa<+4UMa0Bc!?m&#b3_ zuzN3p-AwM4qJ`t0jrr|^WUS3Ih_lh*f|(F&xQ8r`>PE2Ucsq-~q<87a7j874oT?`o z@t@wo<{y%9^HDdt6FXCf0(Ld0caB^^=~R#@zyG-P_D+WHm}&aoL06eQ_LF%@>I zV#|!sC;%Fxlx}x&)pfR!)v%Z0@K1&{HRJ8;% z>{WGFX+vxj*)XFrF{wE$k*=7=&$$8)iHu=ju8orcqLQCi6uu@_p~6 zOJd#_gCs^`48j^HVo6lvnrxv^iB?E;Ox9qNpPRIF3cQe3--j*=Sfan`1*)KJ3i+ZV zgJx^9mozYzthTaxHOM_J7h+$*jyz5L>O7^8kX|ENDwPwzwDNvT^zK;wJ!OG|N=W2* z#!O8qtWE0e6$&#_jnvV$HE6I`#`zAoeEH2XzA_bas!wLb8Z53@%O{T9Xp$1}rko2h zGoA@5zId?)wmB|$F%#^DO~=NP=w2F9tzQ(RU&x}u?EP)skmK!(ecowZ|PNR-7|35qZN)5YfH`UEA3U08rK&e9?iua^4YN9tnnAI(ZUo<(g*>Fm6X=nc6aD8G-hv^|h`R+?-0|w|ulc`JWIsB4jty9&RH& zm-MH&8J2DiN)-D#Uw<`{_;MsUsq05>9j}*z)ci)u55;Y$qpj`M5D?zAc|?#IYf=z6 zIeLkJuYjsFjl&E2R3{CsL&SFy?d_`M@m<;VK8f&TsW)+=Uo1vAVW&{)?8^Gy(HTuE z<-g*mZ&IxuX%QX?7mbTOi#l=99tlHmDm7i7v!jJw8ZX?^E7$h2c80#6A&JqWa&nK0 z&H6r@BC9MZ77(WY&{$3PM?Ot%8CF2mp1H_a)du!~#C;}&@SPN-I>-@}{0eZq<~3K9 znscpI;d=ucyTIEe6LQPNyZ)!+6Xsza@7#7{bDq4Ont=5<~;AZr&-mtj*xU!p>;eT#_VO9OP z+^tyXd9c-g@d$Ys@!NDg3KKK-j(FbO4h5d6*;C-*8mFxLNSX#z(Cv{bS#~0_mOXL% z)Az>v7MXW2f&ewl$h02l<*~Ix(cFgawyTl-vcg5)zD9{ZweUBvpy)aMKxYJw_U{D~ z+<-`O2~fGbGio&&A>O+|zD>0YTKq;gwk-y>sU4X@1xfP{AhwS}>U^y%bLxU3LEpS9 zWDI1b(z=Oan`LZLhUV(Z+edGmm>)IQYoRGvv7q1AqXOs%mqa zwg!DpMGaTk@UwXNzg!Au9;^$~0%QfJ96uJbyobQ>ziTdv-CACuM;|K%Ul9iG!fS8Y zX*Cl(-jF6=8%{kspq$P{TE7SMYsf)r>jA=#_sB@$_{Oh40;-H?z@Dpu4TDo`Le!fEX^*P22_%By5cdL3UdePKseM zi1Lt_Yq@FzG&tBVDX%#2ts&YrSw`RR2UkYG1+ai-AT7^yYaxu|C+TTn8(OAZx&w2i z3iE;8g>7K(V<7BnW9cz^J|P@Vj5EO}g98lnqWV3o`<&e|h9K zW)`t*#FoeD!QL*ze5ne$>R2QHDdOgW)g^Xdu;Eb`yLnk#H`}ZU-HvW}hKbnA?0$jY z(7N@$(bU*L&YB1jyJTgX8}a^ocky@NoEP(m1J{MWXQ;8~^IhRCnd4D`fVQ>fx@L@~ z3f1!%opj`pITI%T;O(m-+k@FtiHz%}3B|VwBvZxUqUR%A)5!5NTW?u?&G1)o%tRf3 z(@c@3wj0S=*AI#H1f_Q*W?aTi$+EZ0!>?uB(?lPU`M)Ei0zu%y>m=AksGfaS+2d~; ztqlAws$$o0xnGz`vx2dC7sP*ZJi&1BhwYO!;3ac7O9LqKdY^gF70+;lDl=*Z7UMHF z!M?c_^rfz-b{(45rjENjRycr!{vXB%7!wN+kb{|fNgB)s_Sq2}r4Ws2VwF2%KnaHPY2t^W5j>2O(2;jY zx|xB1hW{~iEqg6vfVw-tv_bmok%QzT!O!WkwAQIY>}2aV+!Jlz!R^u@$3$`W?e66J zOMi0ZF11#JnRZdhMHNc6zizw~i zZ33W1Pz;(a!`zl>+$bPS#Bxch#XAmBO2s)4;D-?8$AK5G*n{BTY3e&Bd7w#U+s5X( zFQ_nD?X;q`FSRl-m`(@<+_yAn$mgxb3rO2Kv&AX7;eMq z(Te$l^zv+1ksz)7ccVEPB=l^P=I2I60p+V5b8v)7A?nxh&OtWMN8j9f`n)HLbDtve z*XFnq#SbMWW>Sko&M_DRo|TiPE63pJ zm0>$W&1wG_U5iE@Scgyp(W|oZYfr6-II1siRf6Kz=VX{p2lpE74^mG4PG>iR#g*0# zSaoe4@$K!OP4Z^=Cm(9lc1P(8yWB-12US$}TynG6@tPrY+s#vm*X5SZNU#pb+$&AeOAr+t)OxA1hS>u;zbJQWKy2lHtg3dQz>#va~X*k z#F{jb9Z#GIf_g}6pz4%{dpWfIq(k-yvU#gS>x=wwr=brn35*f7AmeRKQ{{$ugdlU~ z=4l+iqY5oDF|bp04SSnTK+0tlNdt;~w!87MGu{3kp%5vin;TlC4Cmo^=V4Q~^$&4s zRCXbBWU?NWKcHCjuA{p64>yXdicvb_V5FE}Y#8vdV8i4bZHXJ9~tW1%zdSx1sR`um?Dkj!{33lWG)wwcP!^7KH0$`b1|ubNG!#!U1H=F8mLVS&@YuHE6j zo}K`R-CfsOxzlU8ZKc08kK!;C=^8}dP(LP?;zzp)0|mRQNM}m}W7r7DB=i*c%UaZs z^OJM^>#(FtK}Iy16#8HgwU{4iki>A4hciY3isp!)tsK+E#PR0i)<|1O?A%qT8<1D& zp-EcKMHVmGyYkPkvh`%$eYo>vD-E=r1eY-_R5 zBw=E@!W>fE5wGSsR3Vb3c^2v-8cz2j;U8(oO6Ll(59J)@HheP3F~gcs>iPFdtzjya z7Afiqx`p+>rS97pk;$I@J-m*!2jB;(u1CWXmLBkMvsNu4;Bx8aJym!x@EKwpO%AM-7guISRSn z&%uE2SI9o;NCMx7F^k$LhV>$uafBnyNlUTc+%qN?i?tR_ z4JFRR)4WjaMW+?k%I>nTNh>aj#wQ!mFeem<@p)#PTWFZGM^oL@o}(A9;Kb_6f7&oc zN;JJrvctEN-Cz{at1T_94Ee573AJQEtRXL@pSoCkF-vi!5!0V`WzjAxvaGAJ&nRDH zvBwtm^2c$egLpej0XZ!Tb-ECSdi|=$v8{KI!JFDv6$=uWd?tabef-ZdrIySU-dvJX z9Usv5-D5EW+!=(g>6}Y%+ThKmnLB&R%AJqacE69D>K^))siNjQ)1i#^=m#`|{N;Md z6zifJuV$qhR){Zm_@&8RM!C6y#Jx=9ei@<67czT!kM1;Y!dVta^rLbNo0?A{xy%5i z?J_5(K~8+^qUa7mr}He~R~%Ktb0@cH*v}~+Ftdlb)1`zQCfwXCJ!pk!C}%RVr?e!d z;JdQtnQ0AT+jHSvx}<3usEO`q&12vv;L{zd!tc<9aJH=up^@aPktI8~{m4!7OiA$bQwg0zjL)2RezxLT73X_f$@|vq5I#82KOXzIEQ1LT@ zpPpP*b-Pi!Q`NvI@mlaF>HQs?vtTh^YM~V9M3aj?ALUty?+Iy=0Ch<)+hvHZLTDi) zzI&A0O5*s@1vp^uBb+xg*Osu^LaNO+!Dmk4w9)rQG{UD#v0z_{Z>m{gvM9CC?j;2m zSTk{+(6vwCfFjwMI%!CMMkTIyjgm<95#y_ zFGz>XIvEc|*IfiV*$hDKi3BZJ_A{z{!#KF54$F69b3b4j4@PgC_m{2877ucT+r0Q8 zzK=;%7UFqu^tzHnE{DB0$K~`JTQn@NL#=~dAHhTMu5mG_W2ET8>J%NEZ#$|MwLA-h z!v&>MW+neY#3{VKB32ZZSQ2^>Khvs1LP{#nA)N*CYRd8bW=6k{4vlM*Kq&ILkXC&% z0zEpM{CZEL`{)rj4iLYyN`FQjuIzE)ORITtiWh|tzpfNeRtb+EpaXi0kpy;q+j->y zs4F~+#-#!bx{eoeB(aRX7TJY(tJ7w34=b)p=!6aap`g)wDI7Y5VRp$Djo4fLyT==! z0D^>HT{=;Oci_?X8IP#$y>nj!xiQ*OyE@}lDv6^ad9*)V`NU__wn-|q`A(KxJbk-! zzI5w^%+&16<)wm^V-%>5HD^vS4KruIlOBo=S_62y#{MK$DX$iGl=DyjsYmT9Uk&Pk z@|k%o@-VI0v6OsX`6MIZ>J($*Il1ZwL$EiIZ`WnZ8D6Ju!xKx7?%WpXA!a_?8~V^5 zh#p$DcEJWeM~r~IiH{W24Cp-r_?-&yK0S8^R@9hCPBAr8F|#ai-^0ecsqe3o6Z;jzO{XY?Yi>%knYF>}Y`Ijp~1g#7I-oKFqw!<~C8fH1}hVDGI^ z1>o9bQ~uI4FA!Y@sh47BpBCKg1gAedxh#k!EY^^EYq|#Rtg(Lah z*zCd~gyoI!MCCUGFA%KWmx>YQmq#vCwxoZcW@3GN&O9G8NLtMkX=R3hCbUQoG@9e4 zlvi**l7w+}Fdz>(KoTF2t5RKHYYxOdxo9yzw=NW7DL3)5Y`sqCqfX0>(bx#lYGsbO zlyM^r-<_`6_)hWT3A|%n&*oCPf``bGM=$hT&G@R#i!1W*yfkOMYZofeG9f4qcDyu; zL1*Q&?KVJ^YHn5J)(gzfBgC0Yy-EwTtX9R3`>cr*!kOn}r7>xTREL%91Tp>KpMEkC*c#|iF@}I?Zy8FQLBj97$n~Cm zZ$apR8 z&|7Nt->Y1H*Mz-76fBao)Bdr-S#QbPqwlGsaEyT&5GCC~teW$CziYdf;Jr0u! zlyue9y)l76F{ads7<7O>R_5Vs0HrKjt@@o0p4TrqaQDtq6stzHGrf3^J_V`#D>G&Y7RE z>vf-^^K4j4z$PZOH}OKQY?L2viZReeL}9u1)(1M4yCtE_ob*A_;kf z!(oL;h%}%yx#IMBUHygvLbJ=EikYvimyXQ6tGXUGZ&cvQ7U_^Jt*{YP<0L7<|KF-GqlUKm#pmUp?cg$`Z$fe!&ww=j9N*YhKjbMzwb>lVPS1 zlfPzEBl%Jdk0Z9wT}gac-@f_grYpb&Q~uTF667Ll1h_KzDq!ivu+Z23b0xTN#WS|- zI1Y!CiFcWjEy+(k>(dfw3untg+ph|!@a#)L(9|`je{vU8&VK|UwgkvKws!gNr5t=2 z&z%D`DZAA(jZI5{ohE&ywdU^`@*c%1BlmHol@Ri$!Qt)j)sHGs^kMgo;(eSEbp8^< z{a-v7D@Hpy#)yH{F52a-4IX82H~^NGPZ!t+Q~2T*&HqEwH-={xEZx4bZBFb=tVt&J z#MZ>NZR?F~+qTV#ZQIt(`OZDRYj^Ekt=&)cs ztISUy7J2V4HSRjf7oWJysM4fOqF0SfK%ghP&>S1TY(Aj=Vrm|LR1iLVL*;=&OYmmm zkwb4dpEK|UrXPG~n@Jxg6>Do}BH00EkP9b;-pjr-NQ(7JpX$@>XeFO~r(4tdtyhd* zXO(7rTeEkqQL|xNr>A>I^LW#hcdq2c_LEl#g{8?aY0as85*}B%N>Q8b#7u~a+SCnC z0I|*@(z0g`9Lo2X9KZrdwoDG69=d=%ZR0mfCo(7i@J-KYNcN3uGCG=9=YMtLNOZXp zbm4Cu9Xz0C7#hX@ORfjFI!qe#A9UL5c6hz=t$_zjPWa-W16V;tbxji0yawgP^B(F`1?0B`*I<>dBQ5IGGZck=fJQ85h~ zxJ)DWh)^nU!!Se{Eg@K;AsM{^zA%7Ec!2H?+_}wys?@zT0;|=PKYQ6T0DvDdE@cosFVNt*1iP7%Vj)rl@v5TGd6((C>XgQ%q%NY zf?=iXLiYQDToG2^lq)jVhRJ=-r09gmZ!oDHT1noP#gHZCC}!Bfale)Vou z`4i<$srlEIxF#>$Imkz_JEavYSnk{Kk;nAVMfZa%EN3W>+Ah_Z{}xFDw|T^m9OnrrR!~Fjgv)|jm-z}^`8afT`5B)w!J3g z@Ax-|f*z~1&+Se}pBiTzPQ~e1j>EzN z*XZj`<*xjdc|WYF`5s)ADbl1B-k_c~BscA7xkjxW4mlYkzb17ytw|raFWg_&W~si$ zmTV%z+^22D?K5PPw(!y-g7vu{eYz8(=hr72H}8r}?idUUr&(vi*H$x5RwI7XKVHz* zpyk`H>ra^V_vKDaO;yy+zmzmxoQ`(toO~P@&lzQ$$nj>2T92?<6yIqOR+t`DAW@rp zVH*h;?2Q{*RTMAU>!)5M%}Cj-wsPDfd#o*qcFI_mm>f#he&w28UU3xHO6s>0Bu)vn zcX{Hd0ycPXyp_^_D>|v}r43F`OeIY|MJZ@E_ZG3#&*8Ik7^pHgx~z!p=#TZjtteiX zIH)TJ>o2cq4--A=ZES4?{q)~haMI7_{k|%=Fn_IZX{a3MDlSjDzD>W)3~P>8tu}c` zS~}PiQ@szPFnBLPOmB~_#k)gJMGJj$D=#r4|M?3dm4{@#YVC{f#CjU265 z|0{U?ozr0o>E>;%RIszuS(=vRY99;xuND?!#KvaJyv*$?01-qSeC7414Bk~#6b$$Q>*L{RgNAX=iZydZ(930WM*?FIMUQa-1 zLr~3wah&Btbl)WJGuN!dR?E+{-sz9Q;&qqkt+V|hX&s)sR;(>oS}`1$x_lvYDT!rx z@t+q4j|un^RUWWKhwx`^R#SDbN#r-x7)=7>S8nGZhl;LCr+gDf4-+TJLJy3WCfqU` zg{LXQ?pBw7SL4ObR>M$3>bR17@n)(KWljU7C6lrnHbYQrkcO|{7+_LR_&|<0Skw~8nn{&uqF$hC z0)|%1V9*6lmJsAlG;VnOptPZXfn!1vHmWP@geM}rbz5H5b^sk^AX>{x0xZ0!W3gWh z_BAwuZmC>DoW5D&PGql^>LA8o%u-7rKrte<>l@#z(UsGr;*Ce@*gkTZFE&Z{-(w8f%L$hV=YX36A;lOUl|y3wF%Rk7p9i8 z@D_jcIxXZ}sIhI-E2HqP;%W#(;J-sKC#vX-ffKkjij4>)#R}Lg<~A( zDTx0&BJ3+h@o73%SakA=T(_9}%ABPG4wtL6ZVK@w^Mkwy z6@Cmr2{)G`VPU%6O)!xo!)0G5b@H8LUhQaK$zgOIS~~geXwl2S#*4R`6NyyI8HbzW zC+TW0-r80X&qry-zpwi@4&&JL)-;`?WLxD|1qx#ks5X0uk=BVmEr4>)oHRkSI{q8owIQ+11Lcs3UuP9%^!mWB zDR!%cpq!*=A?!&IEsDoN$)~fzLE5d2#^0Hj9@mq=bq)$yE}t-m$1TLP=Y2he=`(&e za&A1~cd-22cv2#I!E>^baPXxc zVzRMkj$%2kowELplSr^%Q1%Ins>O;WiWl3r z?4gzeq&`KuC?d?5nG6&ET$b1D9~Z8}W@@ya!8yt>H(aWU*mY4fGRA=&n@OUT)fZuy zhUYu4R*ll8-yR?wz^zffjU8P4x}aPy(%7ISeu105wL7+ahFY^XyIDdj!Nl*zP5$ouXZqxJYXZ*>fPj2QFhcN2lW`? znoTX|;l(4u-PdzB3kz%Hf?xHcVp43co>uvQM^x6ssD+1*g@ZTej_XT?XNCk+MiQY% zqZL8tm%_4LI0SDw1{bW+*pZ8jkfQ^|?SNEX4^nl6xV;L-cF8Gv`3kiT``*pYtYz&R zS*DhBp`wN;Zz#fr*N;wM`Ie^JP0r6$w%=pD6IukYWsu=d7iL9v+nwkCyu$wel46loZnQ>Zh46O6v88mU6=0yXQO*lJbIS*treC_?);jo1-J3FylYCvn@b1LH1@p0(^8p$htt_oTb)ZY>XNC+(U92K z)YCf_#*z=%_wnzolaHg8`C)v`!rgOqUs*Kl4A(6A_`Q}YJ*789?LlGy`yby-!C{#K8*b=kauX7?k5 z_Tj=ef%t$0N=Px{rtH!o+~?|VSF1f&mv+LJ)ejEu{3imTZMFTp=hCzVzk{pPqTk!@ zF51xwR)=&G|Nc(J!%TOCT!UXGyb+c5`NqWbvEHlrR=YMqmrJz0c5mlY*hUh*(W<`F zQv(3Y)6lw`-)h9nKq~cb{)|0oJgH@DIUytRhP^>4oe$?`M%_Va(B1k8j!GdSiN_CX ztce8&ge~-yBY)0}I39~BrY*HJe=$+#CAQZ=v2pt0IlF`NdT&3`2XVj3%S!;UKu%4% z)i+=+uM?k>vsNaEQ&*+b(j6IHGglzLD4m{$tq|3LtPQPaK*4n0G#v8)nh0E&%}a>@ zM1>S}f~7i|ds?FrW5Djo9-yU_FQqF(3O^0)=x7Tq-j}MM&O3$-0TObl{7ap1>ALnw zd2c_qB=OuDqRV(PgxYEvQk^IypXx?w?TXi5N{ox9(EeQYA+WADR(_Z9Ah?DtN@GMp zLJ%BVoH8Kn@5zG=vBTkq7=r@=4761ATiLxdE(^RG zsp6$tYf9Xd+wz%4c89_d>$Y72*^cw$K(9_5deM!}4#h0yCVb{U@Do|2lbGde3DSCK zv~od3Q8N5cUzC=;UKS^6v?3Jy-Hfl11iq?_w$1s6k}+D&=~#tTAC&3t6L`9quWriy zuJI$NAdr^WiKB)vrt}U*Y=0b8Q;|Y@isp*z7C(ue?@FC7ikOk`b+I7lMCP=buxxQJEkdk4xp;$BO|q-VUy( ztgg)Z8vA~EP`qbl^Wr@mT7fQ2%4=~TV)YS(YuFX498ssAh2S;j%INO`#6`tuU-SEd zwgUJ&@9pAEDF^Z`N?qLvefD(4PGTegnpwM~p6E!>nyrWcmJzV0fl3HXMN>7~q4`iN zJ8F=R!>$fL(wK6RG@jCcO^7!HkM|3|;8CaA{_kP8oaLKZk0`rxR1*FE%UYc)O}m$= zXgz2h@j*okHo?l(%tT7zRJJv5+1sv_2(3x*z12;jmX{UxptHYIy;Ev6yIkKRCesbs zqt#n>`kRr<=_Po&KSj|KYWR^G19F12$Y+0968Z|9O>Sfo>%0TpnH|atQ_~A7UoT5* zC~Vfbh=eN#)-V1qEDQ4cQOcUCudbkn9&sNAuj`r>7@O07?C=;X{AwT>;DW@&?;xCi z>@2Xl43$B#lItjWeS|d>WLSehCV@HpL@~O=l_W$0=1U5~2(ttk%zMIfHmc^F)Hx}` z-gb#!oE&|-udz11E85H~@Jh2pES|P{ ztaw}WhH$^sMW@y1-U;99i(dI|xobL6-e0`7RQnSq(?7JvI75xDjJnVD9N%mIBDeVM zi7Z{DX)Mk`Cfk|wt*ZU{aTbzIV7=Om=+5@o*e0%LMMOlTsEZ07V@sNFqCrpb`zXnm zAKT5&1>5>l>HO)SI@2ji;L-{6W%+?ypTocxA@)hVF|dTEH}1(*k)Sx`J3~fWitpG} z)&iFmGJq0jD-IA6*j|O~Q^;l2ge-s#s<0GqOVfdu-_h6Unn=zMz*z3Rj-mF)CMFXs zs7N+_xX^{B)DkT@|Hr)WGd3iX533g~X4(H5m%7wQzAzu11Yr;*0xHLwvB>%$W74_p z1uN@$05LE`0wrp1#I_GyTFnM}9}tv*njajvYFS6D*Nn+x`AR(fc}MyM-but$5P{?y zFH<`nZb`LOQ0JC`W>A}61i6`Vf;W1HNs#9p$}zXF|0fQX#W+_nieOTX#o`P}bmfYR z%8g7&B$5x;jY6tcNJi5r6u9lX+{~zy;qQn;c|JI0eE@PB_(UuZzVoIOG z@YSpE1~Yz3YN^K`ETSgc($eIb$%{e;RF40kriIp^?nA$@lAx3>>%HE@Jf?7Vgosl*0`HN;Qy!S3Wi!6X}{BIXOr zi46}+eFLBZ#pYvjADZZCU6`C`bL)KR8N+lC4G7tWj*`(&$pe$DQxe?V5>_^t?EBNe zQ*B8Iy!j*DnwUqjk(Ej_5gAbYkI zF6O#o?m86KjKmdKg2gd1nuIlo6Ss}l#Lo?%`$LufNb-56$vVc{-|zSk81MYF!XQp7 zB#x6qkPW(x1E=Vd7cSGN(Af#|r2L9Uit63$9Y6>S5l0EbOtlqHf`uFlwf1@kD9wjf`kQ$mRRSeU`w1)6IR2>Wb;#}xL7_q?3D>CaYiaM1q`8Y_p|hr=Ge5wp zX&SHz528hmtC1jB7-u@(*)apry!*OV9`8Jnb=}}2Fa?rT+o1hXA=Bpgr2(fRx-Drv zxEj!qL^=Od@6(%=Sy%b)1E7d+{12Gu)WNm1k4b`Y$uWaO?<)%u3J{^ygW*UDOlN~3 z(x*$_ueZtUYj}c1B8bLmqk^VcDnMacbKxVXuAtHjdsX*}=&Z`1#)-}_>(S5d5KVA6 zv3c+!{MTuI!hBX9*fER0%lk4-iOwUKnMh9b3+$MsVwSpCAl&q_#JKj}YGVLw|9{1* z;kQBr07>bMCe62Fi@!Xni9S($^0)84F?O5-m;wu}CW*4~If}jq z35$`XKfiuVEQD+)D#l#4)#;W8vBVOd;HBB!HnaX`{*K`@>5H(8_|MoarDP;Q?l0Ml zBPjnTGPY^fojh^Ul6!E8Nkp`Bcd39rG0z(`X@a7m+@i!;th(!v*P$SpTfX?q*##9@ zdR2W#QhCODL>^{2*Jsj??z+)$eUGM^qW(Dd3dD- zLecU_NDG9xe9xp;jeK)@3&<~~e!ePYF0}y#(rlVKk7W^YcRA@!!3o$uf#lWPDLW8a zGgtn;8tW$W;_lEXj# z$_HEqv65CyZwoo;5b~~AzJ5@yQUi3r_2a*#L)c%=&={dIWmPl%8eXu)Ze`HLGv=X% zQM3o{6EN%6W{QqlSZ`~YS=e?e@A`e;!)kmdDI-VeKE=F*Vj&CT{jtPh{jO^Bw8?Jr zx#Ru?G13(zh!tL4v2q3MqVmQX8D~{3 za+Q%;<5ul!{By#3dDby*#QG&z6s8eZASNnliVu}de^fGG!_CT|a1!@WUDs;=`B(Qs zbwQ{3ryXsPGkG%8id25hpQ&VH>tL79o_60tsgrre&4_1aZdH9k!V^Z7Zy~nVunw{# z(eOH=b_$Ruls{b%oZGaav7HMHkbTR}KlkOI3cm$6E>LBRuRSDpp8zh#+8Kf+NF*w= zb$o{xXas-v9Ya)K==G?0Wx3+tIzC(}drL^kHf7wYI-^||!GQ$wT8qS5!)<*jbA#-F zQ-Vb<9~(}{6}~}+{p4(SKIYs%lI_8viN6Wu7!Pg0q?H%uh@V@8bl>LkeS~5kcLS*= z-RlV{w=U*Q>EPt^cG31bf8B26`k4JT4kt_-`!U#5qE^aPYA}f0^Y2>`ESeJ=4N3+n=;n5iL&z_CC#Orm5_+!A9kJX z0eWu>q$qvNEhej1QTuzq?&Fah;SUx7&oyc`5EJR^ov7sSY7W79=FCkSb7H=kp>yyQ zs;ij{ac|k;{Mb{&kJF@SZ)S7ecIHWf$ zm4_@hs`pSCmGmqW)h)Qo^ngsLfi^gABg#~sBakE1G=WaOrIVb=7%qgHA%Wzmj_|m4 zk|<@A8P(e0)NIh#gYoqJhuOT3`X5Ec=Y3X~2h{F|4Z4qqt2}Q(vU$32cGHtd#UnQt z!ej*hEcM-xF_g_%h0Zvm#xd!oXs*JQs*F0D`=1zxjuVv#EpDmBFG4a=NtFd>(m~XZ zf9o+v45g`S4#wy1G_}LrF53u0$H#3Jx7e$j_#d#eFRkE+SR18c+=_ zkOU08&sD2aNO{>X`_Cy}JWw%ks%p3<_al`SzITyQYZ27mtOew1pU%?}U2)%xP>sZd zTlPd8Q2qC&L9FU)C9C535Yg)2Nm~!;ulO7< z$I?xbjBeUnCi@{|mT`9PK@WL=rP3*$=R^Qa<0q4JQoQb(y!g=@@ARXBJDvDEV5=S`bXUW-zj z+q6v9RoME9y$%_=%;@HGu8IyH&q`{{EZ3-gc*N2HMVW0P`ta&A(t@4W2c!&3Z#>P9 zkScX$!v*s(iQ+Y$N2%)-qJYW zB0Y7DtM&d~@~W8$Jx~FD9po+WbE~?JYld5et=PS=Dx{hd-VVCRn<~5I1WDX$UXO#D zFVfL3L;R25?cz%4vF2bojh&l1h-Tx24@+GS>QM}=zNsd#7)ToecmtPfE7VE z{|ooDyw6K(_h8&l$p2;&o`>g@&ehz#xZhdMWaG8nexNe8m3OLJd_saVO=iLHPSK?Y z(?w&TFJkg`jv_Tb*dk$?f~7rrXtLMKP~E7yS{sA8yOE^8QuBbW=oN93duA;Dff(}cO6R4U5Lv>>ybu$0S9db5lyTUJJQenNhV?1(jK$r#OR z%Wo(TgWMw@pF=~jw#>EeTSoodXiJHA*cc-^Z9!$<;cK+izx7nc3^=ZVvzTEHMQ|O2 zXE_U*@49PV3~`4xSc!rRhuKNc524>wZT;E>1qpu>6UM>e+jG9@*6Zc6+ZFCx*0v{B zsmm&_z|!A}0u{5M%vAwuf;jh#^HzbFqj)adHE%x;gNt}I$q4R@1aW+TjXr|Mu=dJQ zL$@t&X*RcwK=n4`kBzthtf5)N8`3zGsMuo>aJ2C~SCcMh`C+YVup_b2H`)f~xMxp0 zJe&zPyjt{IYlGMpoPmTG!nLQfa_UhXq{^VUigDO7x6NCyH@nvwj)?CJ)+xcj`dXMt z12_kuTC*W0T$60oj42WVDUt++#oK5B$#YEF!Xr^ z`C9MvW6j^9q<5#qy7#MML*L2y5<;sHzLB`-3m7Uu0B|tj-j4x5Ja-F@016fC4i&2` zwwCr)2Q`-bUd!j_vTJ?X2O~22>%KQNc1O1j>n@ZVFxw369`}7{ML}Y4XMsb?BTn zQmwu2<|2e=XGT2i8MMZ3wZ!wvXP^BBYSZhK)_k8aKb-!p7VWGZ`UP9M0e^R*EEf|F zCfoVPie6A#tc91`5f3R%3&Of2I1A`=7w`+5+reeF6ald6w^e@hW%v@nADohe-GJh7 zMloub;tAm2q^-mFBA%H!kyHRc1DrB?GB*&2K#H|^e&Z=hCj?UW0^WxC($ASLGowg81FB@p@$Zi?iQCJ7B z9zOk$R7+H|u5zYi1ov;la9#WRpO9 zcbcZhuA6N3Qlk3!F(P;tRVHjKhpPOyWdPY~%Q-F|BScSRvj=T`3&g9_*B!5Ea8jzB-PGj1k-aC{?{o_+Ii7(wf3<% z5`pK&5#zuN$)$oT$TfQBmarOz59%U^ZuZ)e(`iot16Y02;h^s={x+tUu+x9ZRKf5A zO84_nw>4l2kbT6%&J~!QM&V6h2*c62`K#@BGbmZn%(ZLV?KuQ}N)FEB+Zleop5wVA zNP{f}bGi+0YNRvbaA(IKQ;WKKy{-E#`;)RZ>5_?k*!kEmamVHmN;nlPFTH+n55yH9=N zB3bRR;IN~V=N~W;)UjN}?c0(|Q|5?!FmXzFd*`g>+*A)W zW-pNMvNkTEjr=^fZBl*S*T7Xq&j>u{PMa-vjwY|G-3dOqQ`x-vI2Lq`3v~~Esz->N ze5zQaK?Sln_0|B7V1nb7QJ=WP z@Rjnn8bCfFg$?zA2Jf15&6|&nPb($^2Zb)5;f&>7R^t&5UMUn`%ciUC!m!Ig7Fmj2 z4680fcL3(CnBEN^t1Mvf`{#~CNUpz|4~WA|kEC+M{X;?-e;p1$uY`?IM5n6IRm~{! zmAMwyPa`otp5bBY0gr~X;VLEUMfh|V93So}`2W>jA_m{cDQo5FGGUPUmp*mxwT~t@ zh3)}caOh!E?5TaMaEZ6a7E)6yN1yK7E#H5*09+E^c1D0Tlq<|vC|=*rT$oPG<;?GF zh*dZT0goLFZ-i9$aqXwgCY!SXG77+OY>`oG>){sz`Lcg?EFV&g&>b;N7) z2g~7862^!2io1s0y1v)|05k&j3W!+6ax)v?p$0wD^Stg>}-h0Hnl%(~p04qm!jUFO+c=IUK1OG-PH z-1VsV^e3Zi#I|ZLMQW!L)6g&HPPR>=y7#TQ*}Znzk3A@|!suU3yaT#>4Z605J{3(c zeuZ0OmU4c=utm`$J!_H)p&dPBm&+=Yl(O;#wG9`!1WG62L|yU>JKg5qM`+`SX>5ti zj{776Uu!**R71lCim`Xku}~iSL?`w6m?S@LWuL|VSV~zOKTPTrs}{*xD9ahHEH6tq zbzv5~MRb-g*vsT^IME;S;9ILZbgf$H)3^4s|I&G0iKJ8+o6+W5H#{b2ExvOmC_t9& z_;F&En%t+~+e@BlJ;%~XQTz*SLV<4Vp0^$E3b|9yLegb3PVMV+N`HG$WFrk;wW*Yh z5Z%c+ITLcIXtwpyg@S^Cz`=4UOA>1>5Vbj(x&3!sMtgVB)j)3xnekOjgfsKXhV6>% z^IMJC*>O@uGXjCZc={>f=B?7gr{x*A8*|v~hMJnPNsV~wQo)zK1IzeyR>%7Ig1Y(R z=)2LQw@zXCW2f`(OH1GE6mRQ#GSpQ^K&Yk81kkXk55yS{GfbQW4crBbc*DpiQr?d%s7Cd6Rz7Qo8V!{LFX!G>+}1iW%AOg6kZ6BLW!_`gwA>xrSX2+M zInptqrT3zXfYfaL}gg zs?F=YwMse z*)S68c1!*AdQhkLSoF>w?0pg&$t1<91XU9li!H!71f3UW7iFWGuZq@b=4{SMZ$MDG z;OG=vMC>LIpUMtfIzC{Sexw7-ay0eBfa9A$O;kX9eO-53K6!khuh*_c=XGJtTr1v9 zo-0fb{^m2EpT6I?`6y}=JX2ee1)su6jkb2OZ($Z=l$3ui3KwPM$t`O_e+0g~+qd97 z!e@oFO-1-=cFen2>-ICWaNp@&QxNKcGzPn4PfP|w*z+dcLVy;k)XO9eE1R677nN1u z7U4di&JE7gYa+-SX)MWvbpeaI&Q#g#ERz*&Oc8OAB4GuEM9tj{^Qk1Pr zZB(y)2pX!g?wokD*O>~;r8!GiJ!F$D%#-a>mFaIsf7JRswoXmk`aR&+t^YuV!6Im$ z6<%Bd6lUl!bVbRPq+>Rcvx@4{dcg+o8Fy=RN&Gf0qq*hTv_c&W_s>;rFUZp)fPQsyQj9PF!8S?={AaO*Yg!%`f+~gGyHvh-Mtv4h2BK)RS4OcARzC)l z|4p2Uc;93>N(&KV##Z4tnYZ!N`|gtJp7OJ)op#=ro7r02e-WBYEYb)$wG+&fh!XPJ z_?qr9iz`}%ui$t0pKpp=_Xsh~sd+!^jzz~Q5@UPQ4JBQRA8^in|!wKrNZ3|F>4I6(w4e&m0j@r;&1T+CPXeB0SJ)o+E z{vHkX&}*M^b3AQ}*3(@((HTHTf~b|WBj`rt=!FFC=p7{-(w17ZBwugNn`!f`+ZQ4_ z>{Zrt@xup+lQ8_dLUsv=Zht9}-9$o0a*;~D-^%{m&22A%|A?p^^6S5I#n~FoRtR6_ zY}txY>K6@0995#df$@54&y=GbI|q2>9VC53^M7NrcNP#NPiW>3&oD)mQL2O!vI+v6 z^dt*dj7;WieqN)`EC2Tk9QP($VI*1nYsr7y+|cWJ6xF~}nL{_>N1U}uRf|fZ`()n) zxujEhGh{C4f$g}K9CQ%04E>QlYQK7AzFPb$=5S5n`jru4Z1aKt#A8uau{IqD;T2;= zgRJmi#D}OpArU+yY;$ z%jIbex$oGjwjRfxd8;x%jQc3LKt6S6^Y{~RF0r+-D+ZqeVr!efLr8;(80WS0qPoQW zRG$5&ZY|N^M8B#3XAP-T>yQ6KH9FBEgjq5HBzE%fXB@LGFBn!8TTCAI-E!vl7Qt*C z@NstVH177x7MPqqrG;m6-Z{6uJ@N{6WC>Xe1jXt#00Ce}HyqU4GQS6ywbFv(RziKJXrV6ko(jlGLC}*g1-O2bTx*- z1<6_x;tt#$#IH-@x@q#(_LJP*D#uz7xjW)S?ZudTs51cckFicUn7d18#Mz}_i z{La2XH{$S~zjn6rbQ)6gq3YZkn37xnRK>EU8AFQCN_Ffikggv1O=7iWvz?7;VUxZ) z;0$&?hIMO!0kN3I1d9;}nG{o>#u-PBWD#u94xhE(rn!A(|3M#zGe*5dfA=eS@)nbX ziC6UESN?$v-1}a$-9l5AV70a|-aWlD7e&3B;+r#^a>)zN$W#dRDni5pwBFAB<*P{{ zzY90fm%_85+=2Vs3HBocFO|^G+QAvkm_vqLohb{S^5#UY04j7D-7=+aYl5`TU$SEE z)^p4mQHtcpO|L5J%Uhd&wNWn+VU-Z(D7&PIh5jVy!qOW~K;cI0Q;Y^6<(J#>%#KM$ z_SGDxT1*fMlBrcB&?8J~K&?4j(V1MHvX5<94$~r)6ZfToJ)Ot$+7nN&WP3=f&SX9& zT^s22-Y#ObBV%iu1O~Z7 z^s*%SxcJyRgSv6_q#{bs=Gv3fq-uCe>%mzRebeE~rp}-?0fexNP566d62{-p_mU~U z%>yHLnRZ)M7uT;PcbE7?;9~yxXyl(GF_=}8QP*420M)s>bI$eL9-@$67td7s*t-)ZQ^QVp4-L0;-ct?N9j-S0=L9} z{)INAn12*FC}|0_GgQK|@jMjErY5WclgNf(*LO+p+H)YJ1$p_;c}7hSPbvr4>!ph( zz5+{P%MVmb;cDMHbPzr6*Q0S&dU}4z!aQ~&snJObKlP{6m0zM8+$Ci5NtciFs50~d zb$AZ@Dg&&zLp|GW&>%6t${o|!efDK1_-@^4BLdZ*bwBtZUYWgRJw=`e>O4DvUk3+o zdvQOoZVd|6BmeqTB&ZJkuv${M((l51o^_b*DjIwWO6Ii5iqAf-rfKWW35h>>o%Fo? zvfw3q-Sru}0Pm(r#HWPv67k=DqCL6E-QOFc+3On4l$+N^-_Yug3QoP>qeQXQ*$adE z2&Hu4>MjZZ+zi{H$$$R*`*lDtEvIYnoYg+BWqoh;lc5vz3sbYtM|SC`d9?0WV?+(R zM?)5pJx(U^Sg#qNhWsRY z0UBTil?F6yW#75q?mZGq?_SVQ7;MNQ{Swv{US;JVriNyuAgsFhlW8RyYP|{)>w1rK zIe1?e2?%KP{*(iM`GgEOkE zZ(zXBPZ%KxLTHE%LMrFkPK}JGaG?U1Y1n{SF)uO9VO+y3c6yol(@@41o293>I6vor zQO}%O9_(06wmP-lcq^HzlD#JnqOjuh;)Yryl^6{t8U{cQi_@=O?eM#kE9;U;f^s|2 z#Ssg&C1}|PIxNHp)SiEcA=qy0>juta=Wz-nBrB&7zM@f>Hf+^0lAnz7J!lmZzU!r$ zFe`m~L}Zz?(n8apFUj;d_YXU=#z{$$q?K?Jm(#5ZGSaFpG%QG9UCx@s^9l%w`0RNG zj->al-r-3M7;3~X;j#p|KYon_5j7^Gds}7cGr8wOuY12K!m?Uu|55U^zD2;ipZp!8 zC6_b%AkET#VP8mqLFx|nX&C~z8ao+KgqYGHpqE5~4_eS}5Y6;EcQKTjb^`>>PFt2u zHD(auEO5crr3*w)Va4W`o@#o!cj$-S5=a<8eh7xc#C#;krx}%)v1T>)BGs^!i&$Og z)a|L@^{>jOO@Z$OLEu{?vMuQLat11hpe+!XGsDL;KCsf-kV!`lJ~gW!Q{ z!3lIcd=wa`&)4XFzlh1bNNK5|Au8nZfO@|osVMYfyDTg!tg4!{ILJ4_+z(c0=V6`5 zCo!I&bw1Ue)NDt$n1?8fF@$NzbAxh&!N;L#s8c{pbC+K!G2m8Ud_yQ1T{{jPNOM6| zRoq9wX21YM&1~TN`TZsJK-5ej3z1-+0S6ou?a;rShXMnmkg{8BptEv^o)s^c##qJ>jkj;7Ds&f--~OR|IdFX_a9_=eP$3M5SnB7 zGZjkCI_LwwIv(UrvsQTM>fUv)jHN9=bc|U};5_iCTx#q}d-3#L99y_!?mur2YyHiO zALP&EDXRPQI|PEAK&TYFyym0Y?@;Ir=ym!4EeoU|;hf!87$h7m18) z{CoH1NW3@4dhytj@phn6Z)V_5M)+~DR`eAAM4@cs{t1+2xgk}-+`Rrz509z(bzn#FDwM8Tn1ozyaf6%X{06^jUUj!Hvv3k@2Qc3_1GH20ivkDAo zN&;`iik1Jhr#oB}&E>RGvZbR2U)FDA+jUHU7#R?G???>b_)moAj1s6#b+Gap&nHtJGA;-jjwl4i)`v)xEucb%m(1ml0tKt5|g7BUee zz-Ju4^f=Y@!CH}MD4J25b0GQ)6I<6L-RTENe0@H< z81`6t@_C(ZzCZkI%?~;GhwFY+-}NEx@_{oUM)bAx>2~R|`MIo!^y5{>!{-d@ho|QU z-pwe}gPQAex3@DG*mHI35#RO0?O{W`&oi8cBxY-)uE6-Vx?Yw!1ntI|Qp%(qQBkP* zxoN)tJURtds*FsMuQY_$qe%ZDH>cIRIjz1P0qdzau!Q7}Z6&lKy3gOjc`;=>vSZSL zf$xv9fhaCY0hzUB=iC#iDpLn%e}F2x{}BDE>MAzE4<#V3nMllq#0H*nfG!RRdGD^n zj5zr%ui~^2UhN*ROo6l>hMNFl*ukLc2Ip`_U=04RmBoFH=eUdz{>9=M1&OQM{Le1g ziY<49t483@8cK{u{HH0|FXpsm2hoMn*l!R>#gD7;L(5b1XkR_Er~E>rz$M&o-zWd^ z9SS{MB>fHb>g~AN%dSACy_P0x&&YJyOm}cR-Q>z`u8I0NRv@a1k_vic_C#Md%=hfm zd)DR70XXdr6T)l!hEo;D3z_E~xraV$!b0fWes&1ux|nTZ`R2iBK{>Qs#w9 zQrNP!RJCR@uEs#Z5j8|95QR5zK;rbaMxfgLe{OTbdn_~4S z@BS3fBEN<#sKnS-!-=5OS~O5L%X+UFV`QL=V+jkJ3D4O~ExX(;NP*A_n#H&+Ntn8@ z!R<6xdRh{xFkVk59R{*B)f=El`QP^5bf4}n-Rp=jq3neP=v{EUO}NIz6OtjjW-27M z)o5a>OQDjFJ^h1p_CDgP`Da`QQo3H9AK};`OQL>0k9QHo{?$dZ+e8)j9_}pGw@`aY z=2_L_Y1rdS;eH|i>D5PJyX(DgArVT?1;2_+2qGb_4vxrt3z44w|EvKsQgEzvAaVhY zk&kaz;M((Tjl_C%gds<)gqd3{f9S_nc>Jd^@W zB|Sd}e+{D<#%Y_wQyj_d%7Xm?*A5j}9w0l3I8L!~Dwrb2wn_X34MF@Q&*Rzs+9kzf z3{M9;tT^yDNk_xmU(V-xQt}p@0KTjY5FLMl+vOFNf&bbY3`kY?TgQ$H?4pLXFmTp? zbp(u6SfO7<`w+7O(>e@neoKQ3T1_UcqwpvI;a%@tSv)PXVQwNqE));)IpvcKPSZ$A|>^KM`g)SGO@|SMB^raGky9)Ui*nJqejGLCf2w#gFot_MSS-=Tf1`g&= z>#}^ezf#jg!t7tP`9RBy^r?FP~vvfG)u4%3K4Z(7HfV(cMZSyA#Go*JrV2FotAj9Q!>cA(~TH zca^t%^Y!2+d*P*lKta@|^~p+kDRrtTw%ITu%J{ESroO)aN7Ofl2hudr#t^5Y-sk@Asj9A?s+yUeu5*S$nWt?xvJe>L-)4$hjw$7a(*M<; z55ez5e|!jCqdP3U)3YnN0hQa)*AD3F|JgZ_uoRDOGOE$VABO&V;34=_+x&jvpxZId%;mJ9c|y05NftwNWBa28 zj;6b=OZWB>_s8h)hx>8HSE@Qf3-h0aLjJ|yRDowg^ZZlnx3iO0(4~AFCbC4J&&j&0#r=#5I_cTaRZ@NT<>zJJusI zUy&-l=F=Dcco*X~sTGO*hv_OHd8VFy94;8cq(g!a_b*+c$B}`U(ta5MYjwmVhDhj! zori_h37gld=`Kv;v59txw4}wq%-}EFz)6uL_U^zgMs`z=-$)vE2vTigQNd|05|u#| zAEHL#VyIr9E(c#+5nzJg6F{L+Zbwq-<`Y=IE0G(v>=5o*dBKBn44GL zryyWej<8N*00VCF?K=Z`>d%fG^7*h3dQ)Cg{!h|>uQlokQ8t~qIlCB(nSY`E+J+_> zol^!;45U0!Ro!ksiS?QN`HUfrDP0#dkV1A7)}jLEs7Q335tUBV|J;MEch=^6L9pz# zeOrB)(PM5wne(ip5n_A1WcgP~GVTW8px2I)NOn-cI($?u=&sv@?^-i2|6-StUkLY0)Y%D#+%{$@Q(jkH8`11V?a zFEVOckhM1HZsK8B7jy0%b&b^^T9jU=AY`43$&~wBaj><5Bc-($BFRZP`=&yJ&ty_j zeq1)hwOd{DyF|8ii|cJ=IPom)0b46Y|7_kK%%0McZizT zPsPC4B%B@`PGV~?CzMo&SVgfJi>TJolm9R>JN84?v+uDqTgdMfT3OdymDr)Um?3t> z%2=f=tmj2*j>;C)1t=bsTNi7kHabWzVo@3D~DggT=B8G9rTSXSE2@2#pmJvyk+}o@LAvHeuA)$lHYG`QBCQ@ ztnRxJLX$7|@ov7;?dhfU>CPpy^(8wT4o!)A4#Rd@h||frB8sfbX6@vW?D=+0==#fx zfzHgRo*nxj5qv?DOkKrXlfX~QqSwjs}C}S2DxURA{jE*xHXPE52|kd*N8wbO}6iJuM*AAQ!j@+cet}! z(L-jZI~q&U0t*Gs&idljo%^W2lF0by{pp9X(g3j9nuuW7Lj`F(H`|I3XD7rdeZNeP zwIPDQC|cmmUt@1@9mCT^ug#)#g#>57eGj=<<0o=ggePTale)p2W=lt*3R*ifjHZex zM&4BwyDY<_X^6zVKQFzK1o|w;z+pnk8&4qDo$C|PrxhYZFw5hWKorR{8SP9jjJSRk z{bKtB7VO22avQ=871wBu!x9&<%-mqu%<@*d({0uVDq%u#a6zAzj}Un+k5>UXbvopZ z5@cixZk@nUXpx_rA_(5O#z}Ge$T%zzumnX2?@PXf6$DMs03UC>?> zkFF$=!2z)Gva?awk^IjEVSQNGHb@Sk806j50E# z&l*EP`+4%pGh$TB$j+A^05xF7C8Wc7XnmkP@xwc&xIGp9vnqnB=TGv!oqd14x<EOk876kBdI&>>VAGlC`JdX2|N8!1>GF9s4VQ3P|285{>mnXGe~7Zf|HpLIaX&dc|2CC*s^0RD$6#LNoJ z43h4<4*+Bi02R?c002;e zZP)ZUY^$F>3tcv(GV5F$-g8&04T=c021#M9Az1|($(iT5D13d#uNX*#0A58P6~XDn za1DbE%t$=mIIntbc>~J^`gRqI9E22r5C9;a5V(T4?F=}5-(V1pr=^~oc>4+fad!s> zh2#)MHQ5@ao*)PUfw63FT-=}qyzji$_e~@5{^PpVX#2Iarc$f>HA;d|n4jbB=iE|* ztl^G%VRn5nhM&h@F*8@*;^fx;l^OcaJ9GSxyQNyS-1p}4oug@|zqlRd=-gglmuJlB z&mO0Ry+>1D567{(9p7<6F}&4&Gv3BSU%6c8 z*X78o#jclp&ZKdL#gA)u_HN!C!oM;yJl#9kcjVfR&6`kPJn^Rd`rRt+&Psfl{GQ*F zQF4_ZMnm4U!1&HLtDpQDF8J;<>IvPnQ(G`}CQ)r^92UK2UbrnC)6iF;))ug6BoaI` z6gcw;_J+naRVp{14?86t3BpASwY#ssp*jrmmYeEXh$Enj`_?fMpitJit=;gfn#-^W z+DCh=)B-hUhv%YTMU^vu{jFwhEsLD0Pcvz#qL?;5ANe=75OsY=akHy>c^2(Y_b2P` z-bzJ8`_ft}EVR7Ux_SoULF@!4)P&`J@H^_p(RklQAvMjK9wwUSAYQeLk$|YVp*h`4 zGs7fRzbyZlc)1~QdV*GCoX>ItXmft_DW*Qf3gtQgq&Ej426S8g#GWBn$nxlyx89UM zJ&DAbrD!9oM9rq$^D`?dvL-~k_^0d|je3VI;d`|jw51^S2=mjXWomAQ+3#$j^Q-5D zCg3e_k7G4M%RZ;Ol;SZnd!c5geK6F4#-K;~2R13cv((xdx)sZssjiZlRW)}^?}>{d z6DdX1DEL?nUM-H7wd#ec5O7*vS7|L>Jt9! z~(fpV?85<<`>NGi+1eX82R;tBMiBE_lLbZ1 zDlglsl%it&(Yo*TY#%t zsH8UZF5xH}tYs!GFTq5b_udl5o(^5phpCN^ARpDHp4-CMp^Oo%&xBzX43gcI&;y;Xc0h13R9j57 zwf^G!ShfS~Aw-t{#_6pZ_}6GRA9}05LhW&J-B=;w>`~>S4!T*j3e$>$+44-0zObZQ z`~^CX4yr})(mvr1-B6EzuoBF$w*SrlQ(-9D!gydfQfp0lU4{Z*5R7`+8<*QKjCqWJ zxM_s7*081Mb+9d}MZSF3ak!)!{L)S7#G47kQ#Jrx1`IP_pr%>{XzFIGDK_0cFb=H2 zdq~5~u0b>y+!HK1U#0>R9`5$J#*~Q*!as|RFQiPjsDq^T15)5i;@F013Ia~k0lRv2 zV91*KDyfdGgKz`Cp(7y`4D?63IA5k5(-d}doSoHlb`zl>Ih*d#4gWK&=SwgO0{#KU zP%u-Lxtr>4gB|9327zGTz49mx-?B_&NI`pZ`DffyF!O;+d(howVgHe8#0+laIcwd^ zsowi$>m|?+9v+w{=OMj;tbGe)GZjs1a#_u|7xULGiuhklWqh_DJe=jW zx!buK=($n5(YUh!XtPcQuj3~$4PcJ$Aj4U(r6_wf?k;;1I9;ueP^L@{ww7cVx4T-M zuwB8KJl>`;7UC3Y;5YnK!)H*=4JV-;)7nBRb*>>oWnjS>0{*74ZekPR!?)COj+{nW zGZVW0wF-(G0y>@JS`@M1F%X!2L2Pa2_OS1oLb#Y=(?1Gi4N04xTcM8Mb6lIt z5H`G1zq4FP;y>CV0amyrbtn!KM+v_&2C<{IcjQ>6^T)ra!F23!^WobsVZC-+4P31BBeJsZm%PX+75&eE(+9FNiJ8T;*)J z8n?`K*hUIGU;;bZTbx6GCI01|NQTVt7s3W)iknk?A!L)+jkV*j>0{^I-P4r2*DmQl z`36C3dFD^0(ybUfERiZEhtiu!RQHk5j=2;&;U~U_e6xqCR1cVqeU z9&+FK3&9}aUbjWc8F!_o(MKlwQwc~`PIZO`jIeP{4W+W7fu<|6 zJl4t3gkOqI5N6lSGZ1qp-p9uNVD1}MMovu~;x2{uPX)4n8G6qd`#re&l9#V_eY}rEvbM&kYu$*F%eDeW_m&vkC)z2`Xi09|*FRn}K*ff-CkBF0b z^7YOp$;=C4^D|qaLZZ71Mp>=zwrHULsTLi7g4lV;BFeyqWfmk;(tsJ)@RU_KM**P1 zN<(mw)f>u!$asLI62ul}t~kv?WWW4VZyt_PL!22cc?URrJA+p!G53?DWh@~o6{IpE zK@k~)`f?3aR4&6$|NNSr`{$PnAhqhgGi60l0%vKz2qevNKLp-ISH^>cpn0ONSZrF$ zEquROlY*t@_0m2IQ-5GV3}(!aM@h=Pl9KYwRz4z)(TorQ(8Sc;K8ig_g&26ugEFrqtW9&h#4^%q96 zM)naEs#wJsDUCy2#@B-YpYm|(0XQ#$UR>cHby{Pr_GT3?bNWooEnLwYF1qV z#9RLJH>l?U(?sT9)vhQ*6CBc}euNcjvZY%Cz>-GWM#uN3!YzkdOQzo zF+BIkM%r#<%~Jb&uVfxbynFl z`)FT#x4+`(+fsP~zR59B+# zHyo8dw?#9R`|@Tz?91=wcehCCw4w$?#Si6eiT1FtV72ET_VBAg-h(GDA+qDzsm+sn z``&53M)=qF#7+tq>ru=qRFp}RF@nl=2prgD*|;IMBem&~I1BH~nD!~TzHuleaN?>- zw&x;6=>9S?#PSgftVlASW})LdKF(1#63Y;I4lN)GcNHqdHLD%H^6H?GcKk5uBP+*A zSKqXRUlmn!0c*gNCd9c=1d7KAu>*WR{I)A_X%pXvVR*${0bgUwG>h4K=j&GsrGWU? zP+G7T%1z`b32fUx!4^I28rerbQS5ldvwkZ@M*Yp4jnu|^^|iCvs5QS@v*c?B|1Ci9 zeE;)J`CMKpGFkGm!_(<@ygiUR`ns-3bzH@)f`Zu`VZnGvy@W}h!zzBl(_A8GRQf5! z9${rwM(LwxbtXR<4fmP%U=8PS-lW}-R`G3^1~2?s_NK}87xgEm?gWO zvhXIl0{C?N(e!lM(Seuo=6&{|rR4p! zm2UQH$xw>P5Q~{Y->GG7B~WOZhn)C{vX)yjR68Sx;G3$|YIZV(2{nshB%`q&dPq`h zfGg*e*(7K7Z2S@Z?Rfds0T~%k;K<(R*7PaC0ZcUME5k2pI)7F!4`7WnI;IJ1d?+6Z z=@&{dPpgYR^g}ki0zDY>8HnJbO3Q?96B9r9T8>!gTWB|$pGV0NsDAmNjYzIijhYk6 zFbhiUGhuh;qyI8V)T*z~$-6%jp+I z6g9msK={hnXXC5zPYVG(EZ0O)yvkArG$|W-%LGjjPk|G?39DyndLH+;W}J#Qtz#&r z;L0(+YL+&9io<#CVD%L8r>h!V8uRbk624T;#eD(k%y+A6v&%RyvSSW{-ew`>OcAg; zy00!4XhgOgOsgu(TS$$f5QrOVpEv9U^G|9X@^7HOvmS2%eB1$tl>){@P+LwSD&!EB zp&*Sg66q~qtQ!|S6y_6rDF&Y-I*Zn-Hxj_+8h}=0U#)0(-tG{_9$)~otZ&k_cLlr{ zMN9&$82JP904fc`s#JrYEO-yQ+OHq)v-0;SfO%hE(;io}xgm)dOA##yp!|xkq)FYi z-}~lO|8(%Y>BVTVXTDeDQ^3hj)g^+Rw2W!kM5Cf&_40I}-wiFFOIB-S+n?fCtFT2a zOX5Dx<$8|-RH_HajBx-jQrGUQO|2Z+;HGnak1l;;XiiDd2Ct(M8K*y}tom zClS0N;&)>S!#n1f7EKF9aH30AV40c`$%WfUA7o zVEDxk=NaAeA#gta2Hz(=`qm+BgmnlPlFBL4RJ(Mt)^4@P$=c`a-DG_UQ}$dfU^yZf z_8_Z8&I{J*KRN+S31ICuolcyJgnp0+F}YG!m0fF{HO>zc z-o@zbJ#u`1$Kiamokk-N+y3anV2{zn1+tWZW0%)CJxxZIzSTE0vlxy;4xS%f^b*U# zlh;2n*QfHjUy$aoXMUv8w^re&^=7=7`OZsuYk9t|IHdw#=4fkkTdQuX)dSbk< z4`!sr(&T3UIzNG%aaStvZ1B*;{X~OK$JbebqmJWa-`cxBnKSmH7qoFsJeC%S^62=J zl4l8Flyns?*_=aJpG9oO#zHYXRlgAUPS2Yxx;Zu4~r5#LG}An+pFIu{xz;;39jCg2q$a zUtYCV*g6$V$)Zgsbu>uR&eTlu->g!K;ULaqkuMQfe&_CP%!lXwAylWUQX(65%FjEA ziD;ck#Wp>||-Ou{n!J7Ve0Ma2Ac`-xlqCsfWJWF4?Z9q~`|r zn$v}*8>@G0aPl|x@j@rt=Yd%YytPNv(95;QK=pF@_6J&Y(++h@!^%r)zw;sdn~OLR zUMtl7deY1Yy|zb(r+xm_`a0OhOwY})?fFm9kl^)pPNp6v59n}Pq4mP5bu#=#cR<{O z7j?DWJ@@k+Q(HUJYg(36`+7L=M1r)U{=@RMRgFy_d&l$L{-WW;{-2@xYoFWj(o&m1 z-8D2;W9m40rMx?(62%lfMA0oaFjrA2^x5K-ndy)QOmOFr^oz-m757LsG+o`y?az@< za34~c-KR)(u3 zR-N0;KQKI7W7bWr-#8|JiV?wYw4+magYHf(VxR~lMZ^Rdg1XZZH!K@Jy-Y- zt#at!0zQByJ_+OHjn5W}H$_^!7gw_hhk7&u>d~g`nD_IytaCFhiz%*?stWFqhow7t z?YEElwa53)&ZS*eCq56eI8kA0Z#mvCReIZnQsspkkhz7AO4S#7xhwdFenZ>IJ}u?3 zFKtruiK_>VrEW}%Z%!MH$=1&j^d-*$Hil?+*=ZEGY0ojLI7eqoTzFryvg~Hm(0I&C z4Z7do%^9AjF44Wb5*D23a-vrTaW>!a_&?kB)u1K7bg$1<^~Xs4bZRLG49P~v+3Mz9 z9y)I5CORpCSeP7pH8KJPozqJ<;7};om~;f^GVyn zeO|nKkw2PjhFgpXwMxkbA=YW`nl6u4a>q1ufe%Tc#v4H~K!tDU#D`Q$r8?2#bzAIk z1xcV7=I*9Whdj3``m|2ol5ES=d15&fcK4%hnS$S9$s7&u9nKqSa2NeXQMwTa@td*> zv#bS}6TQlh1RsVu(FxU!Mi|06I=(ZmYoKfp#%maiptK;Fr9A5XEU@~p>7?5{xWhRE z@HuyDnkBZvrtXFM!gH4Xca;f=a=@OCv^N0e<{^9HU3O4->2OO`VX~GIJ@G!aZbSD1 zG_D~QZuraE6nM>$-sJ`++Wz(vS>(TNP2U&S;QG~J;R;r0+cu^MM-^F6>glO@ORe z4ETrvg*`QAqeXJ&ZZt__x09kuL0Y>QkZrOnAqwvB;(apLYRxFWI}mF#e;SS-evY?qY}5IY5&a>PfQl6 zB}WR>97idlM*oemuj<8>k^f%Q*iC8T-+G;t!m#mma)j*CJK15Y?!LfITXKW%V)JZG z(I%=$cc_)Q^u_x>Q({W_bw{!-nZF$EM4WFPO$)Fi7&V-$%MhOHf3We(|w z?t-wv{V=%xEwh5ND+c!et=z;fU_7;YBSYk@yX`{R>Q18hd+q7GGe!?z9jA;@l}N`E zD*&hwQ*)V=w)WHn&IF3?KI3@6(g8nXYhsuiKmTv8z439)q2k@o8tbCdA*m;>HcW$N zid9i%Yg>yjx8K}JGL zvrMUJeQ=Z4RP^Hx_o`$DTx){yT`P$4sNbtTa;mWDUxve)*6ix~@ZdfmUx<&`4+%4gCye6G{Mu1?x0?gZ?T zm&);T0yGr9mn2fw*XhX4cssmubVqiZ+Q~4aX0wjz0`6aELku+ABsC+L?1Y4=`+6_h z*^Ntu&e2N0e--5L{{8DEX6Q_S?M2_FIEX7+JN_{qTThtPw3dR3WU?s8oV11KvE@d- zVew17fV60Vrh2f{&3hZ37rR4^mwF-Da*5Wr4YjkYij^B$dvRBn($*ADRF#dhSC;*# zU(Lws^ACLcgfnyJRB~9-RH`4Z%QB6$s_RtW4D#S zmv?Gr;|`r`UOe6#3CX{Q05obpK;nkz3UAi^ep{3KH$YAc$!;zALg$Tg^k&Oaa=@)W ze1IFl^ui0`^%|1lr8%0#JMeODK{TZs+Iy(zl5U!p0cp5$Xv5Gx2dc$M*V7))=bU46 zEQ&NKNc$G{dd{zJlqvDHf1uhSyp7nm;ml7wVmLZgGN+}A`pyJY6XcHi^k^Vu3ba!Zk*Ze9Qoy^bB73CFah>@AFRAp0R zfcTI$tAXE$AuPfN^pq;ZWSY3%ND`rB zUayZsi6cTJEP77KNG{LXfHfo5iBsWFA$RFjA!3cCC4of>t+>tQaLs3DG$woVitINC;V zhCn2U`dn;?>Cf46ryOe&AKlQ+;ZgNbwfRLaOERfIWK@v$TeJ>SAZV4Awyz$AehyS+ zHxgKkwZb_aA3iaCY{KIxmc@_`B|JJ9)r5crbv}l5M3$2hAvow^38FGXRF_wk-SqdD z9`jdtZu)WLLR40@VT5V8`He#`8hQu=2&F1sWmAZRxfKuz@N!g3%-L<6if9<6QW262 zb??8(u28j-YuuF0V>vN8g8H)@NngA+O&d5|@$)(+%4}EnfF2ejrGBEV!PwTf->z&k z!=Qk6CIL#h4CoM?he%23ZcQzNzvHYi-=4mv{;hnRlnfm-p^xdmA9)|+p-846578`8 zRGt#NT7**-t?<`7U3wE&I#TEaasdjVDkGJqi@GIL9D!QH41|z5-p}Mb7X}Dvh>Y@o znWR_E6qNpASdljFKPY(U1)nM%!kJTJXk=`3d_17cP;bO%#-lG>Ee{$MVQ-cN znXnqnt~Vg`b=gCcb|{kY|ME9cXH%;;G`D60rZr(W9#zuVs0?PgO)yJ=RDaS(uQK-T z9%RRYaf3a&mz}!sum_E@D;3no7u8Ccfv3^owqUckmbcA*lf@YWyr477WHZ}U^{r2Lxe5rO!OjG!=1Zpz26ospjQ;+p30Ph`93H- z+`l&Z`rXpDmp4DpVfXDfIIkZ;k!Kz+PEyN1t6)HaF4I*M9b&6;7W8-AXM- z1Xi|9JE3(!=;N0|G+#;dF1z;Ww_mrcYs3aQl-Juqjm;;4V|xRcA6Lj~`*7DQh;KRe zfp$-9RZz2}JW#w^kzrIee2~3<**d>;Wi7rC7rk-xov))4WBpwjK0SLn=d@qM>1NdV z8ZqO@8(XKJ(+5P%)0Pj}59v*HVaIP=ErF_1<1+pk??R@+Ul2$tH@atHb|Dv=%=JI*;v0-SDh02o% zSV;op%Mu>}Xj1URFf;KpG|F8>h0$dQxomUlS~j8QLvunnr5|F{!(I%b>&QgKEg?OZ zlZ}hz`o~%fpX8n93q&A8WJDU0ETmNPW00WqmDE&>i3!fcNg=|+SW5)e5@?c5^jBb! z2UH`lWz?!W!ArUQwp6xoAUt2m}E0x=36sS!vJpc&;oRIPA|*T>7! zme;f7Qsf0qU5fj4E3S)xDrp4d5|)v();6}7d}($gfI!30NL*T$)K?KeAg)-}WcAm- z=!V|D0JJDUgD2QfjwB|)|8`ux$ydIlf4^ecJ489)+|f`vfTWIIbXKygATY{s`3$;< zpmwperwBk?8I+Tcu+)21i<915J#q-lAgt2(o}x$}yeJgyfa;h2qWPZy4X^4F7p?tw z2>x-@dCp1H^hm;Giaubi+hN1QYFT~s3b@4rel+^gzIjhDAUtXg1DUcG43eQLJQmR! zP+gB2SK6NXI#S~-n?I5zmdL@Ei>GB;Wn_5N#HM&f^@h&PkB%^4;uVoSOM=yDv$ucX zSPX&F6ov&2=E^dOOe$ceLm)^3`_&2am7>p)oO=@Q`)P&~BMDe66>ZRo#PVTON$Nwu z0wui+7=mM9pol6}As?#|EEpOUujz(niP9Zc^+_Qx#3UmKUWu9$JeuyQ4@(yvP-TCi z`NLC5GgYX=7bGk~2EsX29n^VhP=Ki`8ZeX+MY9g?SjMY*hU}k{whCK5>xv*M2g3|% z8)f9nAOwqh9PNp32Gy;4mb>Nvh(IinH48_V(`)*~iAY3>5bOiTAME$RK~G_A5;p|h z)lyiDiij8xQ9{6`s5{W%7y1lh09DLx{G541u9*+0Mx1A6qASj+O41jq8%>NSH%06& z9s;Tk56So65bOYnWH?6?RY(jVU@6rt>;ju8%Q`1Q6yZe$o5Yu-G8~@tYH$;`PwKNZ z>=$nWP6SWE1E%f)LRDAGKV1YK496qkRt1V@Xu+pK0Z+qO1Ty`ElyEzmSq12TrkAb}!U;wP;H<1Jv$4kId2!NLN;OaK5LHlm^Lh+~U)C-KLu7?Pr@i&6@3 ztAHb@&|Nz$8$0vDm|u-3p-J>W1qYrO%g3|)X$Y&Y?x)lcoYbGxSMtaQ_}xF!2xAEf z8j}yX2oxHw%GH`M_P)a}bT7;Z3YIM&Fr9ZM^*Mi5$AY3omMOi;b=7Yo5w6sU8cf+l9RPjsGKe$ya6~lFYIvBa z42c*?4+A%A`fONF;$4tXFD<~lLWgAmqdv;JgsQi51Gv3U9fc1-0180N48X4s*0QDQ zRH}MWtbRpMCxskH|BwSZ&%Oa<9_4Zp;YTn@lplEC~Vu@(lv`O{HLNMC3$@G_nq1r z&$BoODO}=&HMubKl1cFdG5(dOB(jnP_tns>hq?43H9P8vSLi4ee)Yku{+{0${4$Gc`lPh?Dy`B0o2Vm^2sQ3SCAfd)c}IEVw;d2?x1!f5N*zWy%I z9*imzSu9FFi8fAJIarzkR(*Lu+SE+LSTVhUK{)`AavH;(+{Cl83{zwZBN;?hRyd)X zB{tO@5xWdGEGknVB0gLXdg5*nF@y!#Bt)GDMn?U`n)hPqUT<%CPJFC zJ0U?Y4b;?;GEIc)5=70sSw4q7i~Mo0y!U;4iA~yr8fwmL<1h`Ogm8gPPPEfuVS1K} zIkVD(e;Kx)N|%I~yhd6X_>|{1sufuz?LGsSctQmb1$0?FgSSc+lIDImIdl;Vi|G)9 z>};IE*Kue^ru<1yZ4r$Wobig$=lR?WPca272e%EJf{`mG3H` zm6Cf(Jc_bfE(P-W2L830QbWazQbwOax^6db5CO{&pkPCV2;oOf?wMwvuFQ~3j7~~I zghvo}vdJ?&6IS&nR}!d!R~DSStn3hiaJsE6AhFD_q$vL#r0d$SlKK)HWEe7jPAuny zB#Sb|MT$g@0%q7U8Dd5&Eq@|PQN77u$*a7p7{fNPBv}H8tBEIdPxS+Jf~LWbL{wD; zc*(2yR=JF7VTC~)2@V8w& zNzv21hF)`B5MK{GS`G=>EO@9s8q>P6VWdWq4bc|4EMx#M(n+w#JW+-bl=3xVKst0R zG_&{gB*vp|UlU=b>H6UYsJ76?9lvNgNZT%zfX5I)*l|cW1ayRht~pI8&#D9kak4ip zaIZZ@Pq)h8we3r#NC>Hb4v}_ER`$~RP6h>*Rbup{FcPdmd~6Ez#k)R#Jx1vn*IV$_ zvY#dzjHz=`RVjL<-49yB8RH@z#w`H?G>IPq(yxoV%F{fS!<2r;Nxy(AG%zX@RGT+&r=vN72^&66eQMWv+I$lmDa}%h&aVD&A) zYt~BD8{CF$)@TJK;bE?Cew&yBA<^N{AMp4+kp}?V{MD2hGI6W|col9Y&YlO<$b}Vg zsG%vk!X?zEf;y0@&%7gcl~FKweyO!fXwSGFSHcO{Y0KUU()04?8_F355!p7YUpclr zc*>hbrBkloDbdD&&}2U#U*7rCiaPDeZrP-+x~9!CxuA2yL0{3Qykq z26RV)Vn_vo()q?A zjRYhmSu3Tn=%PrH6lwTVi~jax+a#4}K1$7=lM?kir<_H`%HkJQ(Qbsu(P%2rd}%ot z_yx3$BzSM?kb2w7EUzqy?B{xEP7dCWo@SfZv?GX5*iH-)RzE)v(d{=2{ITbP~_%P`xtMQn!+w7l-bN4NCVbYw`V89P zKC#ybR4{gX#MM5zW-#fE8Z9bd<+y<)X=GwKn-hG~x)LV|ITq*-~)(39xw7EMaK zA0d`hXIGXA?lq$xyk8=)QDfjQ3r*>`?bvkB0&});LqQ3<88s?i)u<25D{3{e(OY1a zzQO874L-axLFMRw(p)R2_STnCMtNA|HC^&NuS$*9A2vg|&=JwgXoq`H>w$+dL@204 z`<>o+l7LONwKjC!8BiA`z8eSAygholwCkk&K4@#(p8$DQnts%qBpbY)6JbAJR_p z)%t8j9E)$%&UJCN{LI>hXzI8Ak#g&rU``AHrNr zs7x)=z0RbY-i{w=^?np@oTS2NfY%_PwwNe~{4E%9XN5 ztb=}f7Wik`rc88vx*Bp;DxYqw%UTaU7(AWtc*Pi

    }V9HnF2*ZI~LN*(pO66J5Zq`qbXKZeA$Zi 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 aiVhH6G?vG~Zo(PPL5)kr!NHrq#{L_D?!t%w diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/_htmresc/logo.bmp b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/_htmresc/logo.bmp deleted file mode 100644 index 18a621e81c84c75926553a1d58b69870bde0b94d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6798 zcmeHLT}%{L7(L6@S=LpsgTu1^tjkK5GM5&XpGBfrg~*@$R6vv#O?>Ku(KOWu5|cKX zG{jcxLz}kSnkFW+8mbMZA!)2MeJG|)AZ-FtY;_R>#3tfWnu4`kwlnw6uE-ALPJQg2 zWM^mY9nPLP=bLZtP+I%W8c_J20-ja&nw8IXl^g;_G0#$AGc2yW9sXZm^ro_qwnrSXXodb`SBux!60U5XYn97fw{4Mj9)&E@zDUL zhkDT6-HoYpdvNdkE0`O+gqufGaPzS8o2N1``L-8h?Op_rBqDUS3}eUEV(QCdxHE7K zzg}p=@O#ae{rL(eKd3T%^d0{H#??HK#)5awor2tS;`;NfJ92Zk~5nghRldjZpL z5lsE?DQ;alfzbID{PD#hgx*ZW$n}2A-oKBz@6O=vl`{yP&csN25&jw zwA-DW5EWuBD~RYco81p3t4RSsViC#ag`=`8O#=^!0qs2#En%@_R3_GE$;ovs!p zc&&>W@gm$7JGbDhtbzqdr*uNSi>~&Gu+qem+fZSrf)}~M1;ZJd8g{L8OWzLU6jx$} zdahi(Q%kOlCC7KuWofZQc|DsLU5dk#tnw1^>Hkt{WQ(RoBlc{fwnE-#lQyfokRO$r z>~-hxCilFH*~fT2rP-7WLa~w-vs#IeCAV2gj=R(Z-#o#d(j-Pp)~UaiMh}D(EjcMw zG*D`pj|AKDHCi;Oa-{|qVRfX`)+AUg+)ct76>KYs7JWXu^4+RnrCn&r6;&E(5)r|k zXQH$vj8k4;{+--6VwWM zi4Mv&k>t_^ubIEpR5i7c$dd9j6I5P_HHn-^a%o0NExXX+@vuG)wCtEqE0r-L>NUX) z6*&f)#Cn&lR?93mk;;s2ir8J<7-9(}1o!i(&ZqI#S5*}*Kpk^M2BdFmpGFW}mGgtss>P#6YR3O+u13@SrH$ZeR^quHC88*0A_a z8FBM3hW8gbY#u%+O+u{*&N$YaTnx diff --git a/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/stm32f10x_stdperiph_lib_um.chm b/src/act/STM32F10x_StdPeriph_Lib_V3.5.0/stm32f10x_stdperiph_lib_um.chm deleted file mode 100644 index 8d9d3d7f39dc975481c855c6c60bcd7288cd136b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19649306 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