mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Wed Feb 20 22:31:08 2019 +0000
Revision:
189:f392fc9709a3
Parent:
186:707f6e361f3e
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 149:156823d33999 1 /* mbed Microcontroller Library
Anna Bridge 186:707f6e361f3e 2 *******************************************************************************
Anna Bridge 186:707f6e361f3e 3 * Copyright (c) 2018, STMicroelectronics
<> 149:156823d33999 4 * All rights reserved.
<> 149:156823d33999 5 *
<> 149:156823d33999 6 * Redistribution and use in source and binary forms, with or without
<> 149:156823d33999 7 * modification, are permitted provided that the following conditions are met:
<> 149:156823d33999 8 *
<> 149:156823d33999 9 * 1. Redistributions of source code must retain the above copyright notice,
<> 149:156823d33999 10 * this list of conditions and the following disclaimer.
<> 149:156823d33999 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
<> 149:156823d33999 12 * this list of conditions and the following disclaimer in the documentation
<> 149:156823d33999 13 * and/or other materials provided with the distribution.
<> 149:156823d33999 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
<> 149:156823d33999 15 * may be used to endorse or promote products derived from this software
<> 149:156823d33999 16 * without specific prior written permission.
<> 149:156823d33999 17 *
<> 149:156823d33999 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
<> 149:156823d33999 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
<> 149:156823d33999 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
<> 149:156823d33999 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
<> 149:156823d33999 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
<> 149:156823d33999 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
<> 149:156823d33999 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
<> 149:156823d33999 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
<> 149:156823d33999 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
<> 149:156823d33999 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<> 149:156823d33999 28 *******************************************************************************
<> 149:156823d33999 29 */
<> 149:156823d33999 30
<> 149:156823d33999 31 #include "PeripheralPins.h"
AnnaBridge 181:57724642e740 32 #include "mbed_toolchain.h"
<> 149:156823d33999 33
Anna Bridge 186:707f6e361f3e 34 //==============================================================================
Anna Bridge 186:707f6e361f3e 35 // Notes
Anna Bridge 186:707f6e361f3e 36 //
Anna Bridge 186:707f6e361f3e 37 // - The pins mentioned Px_y_ALTz are alternative possibilities which use other
Anna Bridge 186:707f6e361f3e 38 // HW peripheral instances. You can use them the same way as any other "normal"
Anna Bridge 186:707f6e361f3e 39 // pin (i.e. PwmOut pwm(PA_7_ALT0);). These pins are not displayed on the board
Anna Bridge 186:707f6e361f3e 40 // pinout image on mbed.org.
Anna Bridge 186:707f6e361f3e 41 //
Anna Bridge 186:707f6e361f3e 42 // - The pins which are connected to other components present on the board have
Anna Bridge 186:707f6e361f3e 43 // the comment "Connected to xxx". The pin function may not work properly in this
Anna Bridge 186:707f6e361f3e 44 // case. These pins may not be displayed on the board pinout image on mbed.org.
Anna Bridge 186:707f6e361f3e 45 // Please read the board reference manual and schematic for more information.
Anna Bridge 186:707f6e361f3e 46 //
Anna Bridge 186:707f6e361f3e 47 // - Warning: pins connected to the default STDIO_UART_TX and STDIO_UART_RX pins are commented
Anna Bridge 186:707f6e361f3e 48 // See https://os.mbed.com/teams/ST/wiki/STDIO for more information.
Anna Bridge 186:707f6e361f3e 49 //
Anna Bridge 186:707f6e361f3e 50 //==============================================================================
Anna Bridge 186:707f6e361f3e 51
<> 149:156823d33999 52
<> 149:156823d33999 53 //*** ADC ***
<> 149:156823d33999 54
AnnaBridge 181:57724642e740 55 MBED_WEAK const PinMap PinMap_ADC[] = {
Anna Bridge 186:707f6e361f3e 56 {PA_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC_IN0
Anna Bridge 186:707f6e361f3e 57 {PA_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC_IN1
Anna Bridge 186:707f6e361f3e 58 // {PA_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC_IN2 // Connected to STDIO_UART_TX
Anna Bridge 186:707f6e361f3e 59 {PA_3, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC_IN3
Anna Bridge 186:707f6e361f3e 60 {PA_4, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC_IN4
Anna Bridge 186:707f6e361f3e 61 {PA_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC_IN5
Anna Bridge 186:707f6e361f3e 62 {PA_6, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC_IN6
Anna Bridge 186:707f6e361f3e 63 {PA_7, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC_IN7
Anna Bridge 186:707f6e361f3e 64 {PB_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC_IN8
Anna Bridge 186:707f6e361f3e 65 {PB_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC_IN9
Anna Bridge 186:707f6e361f3e 66 {NC, NC, 0}
AnnaBridge 172:7d866c31b3c5 67 };
AnnaBridge 172:7d866c31b3c5 68
AnnaBridge 181:57724642e740 69 MBED_WEAK const PinMap PinMap_ADC_Internal[] = {
Anna Bridge 186:707f6e361f3e 70 {ADC_TEMP, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 16, 0)},
Anna Bridge 186:707f6e361f3e 71 {ADC_VREF, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)},
Anna Bridge 186:707f6e361f3e 72 {ADC_VBAT, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)},
Anna Bridge 186:707f6e361f3e 73 {NC, NC, 0}
<> 149:156823d33999 74 };
<> 149:156823d33999 75
<> 149:156823d33999 76 //*** I2C ***
<> 149:156823d33999 77
AnnaBridge 181:57724642e740 78 MBED_WEAK const PinMap PinMap_I2C_SDA[] = {
Anna Bridge 186:707f6e361f3e 79 {PA_10, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
Anna Bridge 186:707f6e361f3e 80 {PB_7, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
Anna Bridge 186:707f6e361f3e 81 {NC, NC, 0}
<> 149:156823d33999 82 };
<> 149:156823d33999 83
AnnaBridge 181:57724642e740 84 MBED_WEAK const PinMap PinMap_I2C_SCL[] = {
Anna Bridge 186:707f6e361f3e 85 {PA_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
Anna Bridge 186:707f6e361f3e 86 {PB_6, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
Anna Bridge 186:707f6e361f3e 87 {NC, NC, 0}
<> 149:156823d33999 88 };
<> 149:156823d33999 89
<> 149:156823d33999 90 //*** PWM ***
<> 149:156823d33999 91
<> 149:156823d33999 92 // TIM2 cannot be used because already used by the us_ticker
AnnaBridge 181:57724642e740 93 MBED_WEAK const PinMap PinMap_PWM[] = {
Anna Bridge 186:707f6e361f3e 94 // {PA_0, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1
Anna Bridge 186:707f6e361f3e 95 // {PA_1, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2
Anna Bridge 186:707f6e361f3e 96 // {PA_2, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 3, 0)}, // TIM2_CH3 // Connected to STDIO_UART_TX
Anna Bridge 186:707f6e361f3e 97 // {PA_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 4, 0)}, // TIM2_CH4
Anna Bridge 186:707f6e361f3e 98 {PA_4, PWM_14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1
Anna Bridge 186:707f6e361f3e 99 // {PA_5, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1
Anna Bridge 186:707f6e361f3e 100 {PA_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1
Anna Bridge 186:707f6e361f3e 101 {PA_6_ALT0, PWM_16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM16, 1, 0)}, // TIM16_CH1
Anna Bridge 186:707f6e361f3e 102 {PA_7, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 1)}, // TIM1_CH1N
Anna Bridge 186:707f6e361f3e 103 {PA_7_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2
Anna Bridge 186:707f6e361f3e 104 {PA_7_ALT1, PWM_14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1
Anna Bridge 186:707f6e361f3e 105 {PA_7_ALT2, PWM_17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM17, 1, 0)}, // TIM17_CH1
Anna Bridge 186:707f6e361f3e 106 {PA_8, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 0)}, // TIM1_CH1
Anna Bridge 186:707f6e361f3e 107 {PA_9, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 0)}, // TIM1_CH2
Anna Bridge 186:707f6e361f3e 108 {PA_10, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 0)}, // TIM1_CH3
Anna Bridge 186:707f6e361f3e 109 {PA_11, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 4, 0)}, // TIM1_CH4
Anna Bridge 186:707f6e361f3e 110 // {PA_15, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1 // Connected to STDIO_UART_RX
Anna Bridge 186:707f6e361f3e 111 {PB_0, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 1)}, // TIM1_CH2N
Anna Bridge 186:707f6e361f3e 112 {PB_0_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 3, 0)}, // TIM3_CH3
Anna Bridge 186:707f6e361f3e 113 {PB_1, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 1)}, // TIM1_CH3N
Anna Bridge 186:707f6e361f3e 114 {PB_1_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 4, 0)}, // TIM3_CH4
Anna Bridge 186:707f6e361f3e 115 {PB_1_ALT1, PWM_14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM14, 1, 0)}, // TIM14_CH1
Anna Bridge 186:707f6e361f3e 116 // {PB_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2
Anna Bridge 186:707f6e361f3e 117 {PB_4, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1
Anna Bridge 186:707f6e361f3e 118 {PB_5, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2
Anna Bridge 186:707f6e361f3e 119 {PB_6, PWM_16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM16, 1, 1)}, // TIM16_CH1N
Anna Bridge 186:707f6e361f3e 120 {PB_7, PWM_17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM17, 1, 1)}, // TIM17_CH1N
Anna Bridge 186:707f6e361f3e 121 {NC, NC, 0}
<> 149:156823d33999 122 };
<> 149:156823d33999 123
<> 149:156823d33999 124 //*** SERIAL ***
<> 149:156823d33999 125
AnnaBridge 181:57724642e740 126 MBED_WEAK const PinMap PinMap_UART_TX[] = {
Anna Bridge 186:707f6e361f3e 127 {PA_2, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)}, // Connected to STDIO_UART_TX
Anna Bridge 186:707f6e361f3e 128 {PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
Anna Bridge 186:707f6e361f3e 129 {PA_14, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)}, // Connected to SWCLK
Anna Bridge 186:707f6e361f3e 130 {PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
Anna Bridge 186:707f6e361f3e 131 {NC, NC, 0}
<> 149:156823d33999 132 };
<> 149:156823d33999 133
AnnaBridge 181:57724642e740 134 MBED_WEAK const PinMap PinMap_UART_RX[] = {
Anna Bridge 186:707f6e361f3e 135 {PA_3, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
Anna Bridge 186:707f6e361f3e 136 {PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
Anna Bridge 186:707f6e361f3e 137 {PA_15, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)}, // Connected to STDIO_UART_RX
Anna Bridge 186:707f6e361f3e 138 {PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
Anna Bridge 186:707f6e361f3e 139 {NC, NC, 0}
<> 149:156823d33999 140 };
<> 149:156823d33999 141
AnnaBridge 181:57724642e740 142 MBED_WEAK const PinMap PinMap_UART_RTS[] = {
Anna Bridge 186:707f6e361f3e 143 {PA_1, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
Anna Bridge 186:707f6e361f3e 144 {PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
Anna Bridge 186:707f6e361f3e 145 {NC, NC, 0}
<> 149:156823d33999 146 };
<> 149:156823d33999 147
AnnaBridge 181:57724642e740 148 MBED_WEAK const PinMap PinMap_UART_CTS[] = {
Anna Bridge 186:707f6e361f3e 149 {PA_0, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
Anna Bridge 186:707f6e361f3e 150 {PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
Anna Bridge 186:707f6e361f3e 151 {NC, NC, 0}
<> 149:156823d33999 152 };
<> 149:156823d33999 153
<> 149:156823d33999 154 //*** SPI ***
<> 149:156823d33999 155
AnnaBridge 181:57724642e740 156 MBED_WEAK const PinMap PinMap_SPI_MOSI[] = {
Anna Bridge 186:707f6e361f3e 157 {PA_7, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 158 {PB_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 159 {NC, NC, 0}
<> 149:156823d33999 160 };
<> 149:156823d33999 161
AnnaBridge 181:57724642e740 162 MBED_WEAK const PinMap PinMap_SPI_MISO[] = {
Anna Bridge 186:707f6e361f3e 163 {PA_6, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 164 {PB_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 165 {NC, NC, 0}
<> 149:156823d33999 166 };
<> 149:156823d33999 167
AnnaBridge 181:57724642e740 168 MBED_WEAK const PinMap PinMap_SPI_SCLK[] = {
Anna Bridge 186:707f6e361f3e 169 {PA_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 170 {PB_3, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 171 {NC, NC, 0}
<> 149:156823d33999 172 };
<> 149:156823d33999 173
AnnaBridge 181:57724642e740 174 MBED_WEAK const PinMap PinMap_SPI_SSEL[] = {
Anna Bridge 186:707f6e361f3e 175 {PA_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 176 // {PA_15, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)}, // Connected to STDIO_UART_RX
Anna Bridge 186:707f6e361f3e 177 {NC, NC, 0}
<> 149:156823d33999 178 };