Based on the libraries by Zoltan Hudak Added #ifdefs to avoid compile errors, so it is easy to select target board: Bluepill, Maple Mini, Nucleo F103, Nucleo F103 with external 8MHz crystal

Dependents:   STM32F103variants_example

Revision:
4:6568c3b20d29
Parent:
3:e149147d7c13
--- a/stm32f103variants.cpp	Thu Mar 16 12:36:39 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-  ******************************************************************************
-  * @file
-  * @author  Zoltan Hudak
-  * @version
-  * @date
-  * @brief   System Clock configuration for STM32F103
-  ******************************************************************************
-  * @attention
-  *
-  * <h2><center>&copy; COPYRIGHT(c) 2016 Zoltan Hudak <hudakz@inbox.com>
-  *
-  * All rights reserved.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
- Modified by Mark Peter Vargha, 2017
- Added #ifdefs to avoid compile errors, so it is easy to select target board: Bluepill, Maple Mini, Nucleo F103, Nucleo F103 with external 8MHz crystal
-
-*/
-
-#include "stm32f103variants.h"
-
-#if defined USE_BLUEPILL || defined USE_MAPLE_MINI || defined USE_NUCLEO_EXTOSC
-
-bool HSE_SystemClock_Config(void) {
-    RCC_OscInitTypeDef RCC_OscInitStruct;
-
-    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
-    RCC_OscInitStruct.HSEState = RCC_HSE_ON;
-    RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
-    RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
-    RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
-    RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
-
-    if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
-        return false;
-    }
-
-    RCC_ClkInitTypeDef RCC_ClkInitStruct;
-
-    RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
-                                |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
-    RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
-    RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
-    RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
-    RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
-    if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) {
-        return false;
-    }
-
-    RCC_PeriphCLKInitTypeDef PeriphClkInit;
-
-    PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC|RCC_PERIPHCLK_USB;
-    PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6;
-    PeriphClkInit.UsbClockSelection = RCC_USBPLLCLK_DIV1_5;
-    if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) {
-        return false;
-    }
-    return true;
-}
-
-bool doConfSysClock()
-{
-    HAL_RCC_DeInit();
-    if (!HSE_SystemClock_Config()) {
-        return false;
-    }
-    SystemCoreClockUpdate();
-    return true;
-}
-
-#endif
-
-bool confSysClock(void) {
-#if defined(USE_BLUEPILL) || defined(USE_MAPLE_MINI) || defined(USE_NUCLEO_EXTOSC)
-    return doConfSysClock();
-#else
-    return false;
-#endif
-}