mbed library with additional peripherals for ST F401 board

Fork of mbed-src by mbed official

This mbed LIB has additional peripherals for ST F401 board

  • UART2 : PA_3 rx, PA_2 tx
  • UART3 : PC_7 rx, PC_6 tx
  • I2C2 : PB_3 SDA, PB_10 SCL
  • I2C3 : PB_4 SDA, PA_8 SCL
Revision:
58:3b55b7a41411
Parent:
56:99eb381a3269
Child:
70:c1fbde68b492
--- a/targets/hal/TARGET_STM/TARGET_NUCLEO_F103RB/pwmout_api.c	Thu Dec 12 18:15:12 2013 +0000
+++ b/targets/hal/TARGET_STM/TARGET_NUCLEO_F103RB/pwmout_api.c	Fri Dec 13 09:30:05 2013 +0000
@@ -21,18 +21,19 @@
 
 // Only TIM2 and TIM3 can be used (TIM1 and TIM4 are used by the us_ticker)
 static const PinMap PinMap_PWM[] = {
-    // TIM2
-    {PA_2,  PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM2_CH3 - ARDUINO D1 (extra)
-    {PA_3,  PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM2_CH4 - ARDUINO D0 (extra)
-    // TIM2 remap
-    {PB_3,  PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 5)}, // TIM2r_CH2 - ARDUINO D3
-    {PB_10, PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 5)}, // TIM2r_CH3 - ARDUINO D6
-    // TIM3
-    {PA_6,  PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM3_CH1 - ARDUINO D12 (extra)
-    {PA_7,  PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM3_CH2 - ARDUINO D11
-    // TIM3 remap
-    {PB_4,  PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 6)}, // TIM3r_CH1 - ARDUINO D5
-    {PC_7,  PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 6)}, // TIM3r_CH2 - ARDUINO D9
+    // TIM2 default
+    //{PA_2,  PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM2_CH3 - ARDUINO D1
+    //{PA_3,  PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM2_CH4 - ARDUINO D0
+    // TIM2 full remap
+    {PB_3,  PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 5)}, // TIM2fr_CH2 - ARDUINO D3
+    //{PB_10, PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 5)}, // TIM2fr_CH3 - ARDUINO D6
+    // TIM3 default
+    //{PA_6,  PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM3_CH1 - ARDUINO D12
+    //{PA_7,  PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM3_CH2 - ARDUINO D11
+    // TIM3 full remap
+    //{PC_7,  PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 6)}, // TIM3fr_CH2 - ARDUINO D9
+    // TIM3 partial remap
+    {PB_4,  PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 7)}, // TIM3pr_CH1 - ARDUINO D5
     {NC,    NC,    0}
 };
 
@@ -83,29 +84,29 @@
     TIM_OCInitStructure.TIM_Pulse = obj->pulse;
     TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
 
-    // TIM Channel 1
-    if ((obj->pin == PA_6) || (obj->pin == PB_4)) {
+    // Configure channel 1
+    if (obj->pin == PB_4) {
         TIM_OC1PreloadConfig(tim, TIM_OCPreload_Enable);
         TIM_OC1Init(tim, &TIM_OCInitStructure);
     }
 
-    // TIM Channel 2    
-    if ((obj->pin == PA_7) || (obj->pin == PB_3) || (obj->pin == PC_7)) {
+    // Configure channel 2
+    if (obj->pin == PB_3) {
         TIM_OC2PreloadConfig(tim, TIM_OCPreload_Enable);
         TIM_OC2Init(tim, &TIM_OCInitStructure);
     }
 
-    // TIM Channel 3    
-    if ((obj->pin == PA_2) || (obj->pin == PB_10)) {
-        TIM_OC3PreloadConfig(tim, TIM_OCPreload_Enable);
-        TIM_OC3Init(tim, &TIM_OCInitStructure);
-    }
+    // Configure channel 3
+    //if (obj->pin == PB_10) {
+    //    TIM_OC3PreloadConfig(tim, TIM_OCPreload_Enable);
+    //    TIM_OC3Init(tim, &TIM_OCInitStructure);
+    //}
 
-    // TIM Channel 4
-    if (obj->pin == PA_3) {
-        TIM_OC4PreloadConfig(tim, TIM_OCPreload_Enable);
-        TIM_OC4Init(tim, &TIM_OCInitStructure);
-    }
+    // Configure channel 4
+    //if (obj->pin == PA_3) {
+    //    TIM_OC4PreloadConfig(tim, TIM_OCPreload_Enable);
+    //    TIM_OC4Init(tim, &TIM_OCInitStructure);
+    //}
 }
 
 float pwmout_read(pwmout_t* obj) {