diff --git a/platform_config.h b/platform_config.h --- a/platform_config.h +++ b/platform_config.h @@ -30,19 +30,16 @@ #ifndef __PLATFORM_CONFIG_H #define __PLATFORM_CONFIG_H -#define STM32L1XX_MD - /* Includes ------------------------------------------------------------------*/ #if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) #include "stm32l1xx.h" - #include "evalcompat.h" -// #if defined (USE_STM32L152_EVAL) -// #include "stm32l152_eval.h" -// #elif defined (USE_STM32L152D_EVAL) -// #include "stm32l152d_eval.h" -// #else -// #error "Missing define: USE_STM32L152_EVAL or USE_STM32L152D_EVAL" -// #endif /* USE_STM32L152_EVAL */ + #if defined (USE_STM32L152_EVAL) + #include "stm32l152_eval.h" + #elif defined (USE_STM32L152D_EVAL) + #include "stm32l152d_eval.h" + #else + #error "Missing define: USE_STM32L152_EVAL or USE_STM32L152D_EVAL" + #endif /* USE_STM32L152_EVAL */ #elif defined (STM32F10X_MD) || defined (STM32F10X_HD) || defined (STM32F10X_XL) #include "stm32f10x.h" #if defined (USE_STM3210B_EVAL) @@ -64,15 +61,16 @@ /* Exported constants --------------------------------------------------------*/ /* Uncomment the line corresponding to the STMicroelectronics evaluation board used to run the example */ -#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM32L152_EVAL) && !defined (USE_STM32L152D_EVAL) && !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) +#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM32L152_EVAL) && !defined (USE_STM32L152D_EVAL) && !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) //#define USE_STM3210B_EVAL //#define USE_STM3210E_EVAL -#define USE_STM32L152_EVAL +//#define USE_STM32L152_EVAL //#define USE_STM32L152D_EVAL //#define (USE_STM32373C_EVAL) -//#define USE_STM32303C_EVAL +#define (USE_STM32303C_EVAL) #endif + /*Unique Devices IDs register set*/ #if defined(STM32L1XX_MD) || defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) @@ -95,10 +93,59 @@ #endif + /* Define the STM32F10x hardware depending on the used evaluation board */ -#define USB_DISCONNECT GPIOA -#define USB_DISCONNECT_PIN GPIO_Pin_10 -#define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOA +#ifdef USE_STM3210B_EVAL + #define USB_DISCONNECT GPIOD + #define USB_DISCONNECT_PIN GPIO_Pin_9 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD + +#elif defined (USE_STM3210E_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_14 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB + +#elif defined (USE_STM32L152_EVAL) || defined (USE_STM32L152D_EVAL) + /* + For STM32L15xx devices it is possible to use the internal USB pullup + controlled by register SYSCFG_PMC (refer to RM0038 reference manual for + more details). + It is also possible to use external pullup (and disable the internal pullup) + by setting the define USB_USE_EXTERNAL_PULLUP in file platform_config.h + and configuring the right pin to be used for the external pull up configuration. + To have more details on how to use an external pull up, please refer to + STM3210E-EVAL evaluation board manuals. + */ + /* Uncomment the following define to use an external pull up instead of the + integrated STM32L15xx internal pull up. In this case make sure to set up + correctly the external required hardware and the GPIO defines below.*/ +/* #define USB_USE_EXTERNAL_PULLUP */ + + #if !defined(USB_USE_EXTERNAL_PULLUP) + #define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE) + #define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE) + + #elif defined(USB_USE_EXTERNAL_PULLUP) + /* PA0 is chosen just as illustrating example, you should modify the defines + below according to your hardware configuration. */ + #define USB_DISCONNECT GPIOA + #define USB_DISCONNECT_PIN GPIO_Pin_0 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA + #define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #endif /* USB_USE_EXTERNAL_PULLUP */ + +#elif defined (USE_STM32373C_EVAL) + #define USB_DISCONNECT GPIOC + #define USB_DISCONNECT_PIN GPIO_Pin_5 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOC + +#elif defined (USE_STM32303C_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_8 + + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOB +#endif /* USE_STM3210B_EVAL */ /* Exported macro ------------------------------------------------------------*/ /* Exported functions ------------------------------------------------------- */