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:
187:0387e8f68319
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 149:156823d33999 1 /* mbed Microcontroller Library
<> 149:156823d33999 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
AnnaBridge 176:447f873cad2f 34 //==============================================================================
AnnaBridge 176:447f873cad2f 35 // Notes
AnnaBridge 176:447f873cad2f 36 //
Anna Bridge 186:707f6e361f3e 37 // - The pins mentioned Px_y_ALTz are alternative possibilities which use other
AnnaBridge 176:447f873cad2f 38 // HW peripheral instances. You can use them the same way as any other "normal"
AnnaBridge 176:447f873cad2f 39 // pin (i.e. PwmOut pwm(PA_7_ALT0);). These pins are not displayed on the board
AnnaBridge 176:447f873cad2f 40 // pinout image on mbed.org.
AnnaBridge 176:447f873cad2f 41 //
AnnaBridge 176:447f873cad2f 42 // - The pins which are connected to other components present on the board have
AnnaBridge 176:447f873cad2f 43 // the comment "Connected to xxx". The pin function may not work properly in this
AnnaBridge 176:447f873cad2f 44 // case. These pins may not be displayed on the board pinout image on mbed.org.
AnnaBridge 176:447f873cad2f 45 // Please read the board reference manual and schematic for more information.
AnnaBridge 176:447f873cad2f 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 //
AnnaBridge 176:447f873cad2f 50 //==============================================================================
<> 149:156823d33999 51
Anna Bridge 186:707f6e361f3e 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}
Kojto 169:e3b6fe271b81 67 };
Kojto 169:e3b6fe271b81 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, 18, 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 {NC, NC, 0}
<> 149:156823d33999 73 };
<> 149:156823d33999 74
<> 149:156823d33999 75 //*** I2C ***
<> 149:156823d33999 76
AnnaBridge 181:57724642e740 77 MBED_WEAK const PinMap PinMap_I2C_SDA[] = {
Anna Bridge 186:707f6e361f3e 78 {PA_10, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
Anna Bridge 186:707f6e361f3e 79 {PB_7, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
Anna Bridge 186:707f6e361f3e 80 {NC, NC, 0}
<> 149:156823d33999 81 };
<> 149:156823d33999 82
AnnaBridge 181:57724642e740 83 MBED_WEAK const PinMap PinMap_I2C_SCL[] = {
Anna Bridge 186:707f6e361f3e 84 {PA_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
Anna Bridge 186:707f6e361f3e 85 {PB_6, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
Anna Bridge 186:707f6e361f3e 86 {NC, NC, 0}
<> 149:156823d33999 87 };
<> 149:156823d33999 88
<> 149:156823d33999 89 //*** PWM ***
<> 149:156823d33999 90
<> 149:156823d33999 91 // TIM21 cannot be used because already used by the us_ticker
AnnaBridge 181:57724642e740 92 MBED_WEAK const PinMap PinMap_PWM[] = {
Anna Bridge 186:707f6e361f3e 93 {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 94 {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 95 // {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 96 // {PA_2, PWM_21, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM21, 1, 0)}, // TIM21_CH1 // 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_3, PWM_21, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM21, 2, 0)}, // TIM21_CH2
Anna Bridge 186:707f6e361f3e 99 {PA_5, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM2, 1, 0)}, // TIM2_CH1
Anna Bridge 186:707f6e361f3e 100 {PA_6, PWM_22, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM22, 1, 0)}, // TIM22_CH1
Anna Bridge 186:707f6e361f3e 101 {PA_7, PWM_22, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM22, 2, 0)}, // TIM22_CH2
Anna Bridge 186:707f6e361f3e 102 {PA_8, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM2, 1, 0)}, // TIM2_CH1
Anna Bridge 186:707f6e361f3e 103 {PA_9, PWM_22, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM22, 1, 0)}, // TIM22_CH1
Anna Bridge 186:707f6e361f3e 104 {PA_10, PWM_22, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM22, 2, 0)}, // TIM22_CH2
Anna Bridge 186:707f6e361f3e 105 // {PA_11, PWM_21, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM21, 2, 0)}, // TIM21_CH2
Anna Bridge 186:707f6e361f3e 106 // {PA_15, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM2, 1, 0)}, // TIM2_CH1 // Connected to STDIO_UART_RX
Anna Bridge 186:707f6e361f3e 107 {PB_0, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM2, 3, 0)}, // TIM2_CH3
Anna Bridge 186:707f6e361f3e 108 {PB_1, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM2, 4, 0)}, // TIM2_CH4
Anna Bridge 186:707f6e361f3e 109 {PB_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2 // Connected to LD3 [Green]
Anna Bridge 186:707f6e361f3e 110 {PB_4, PWM_22, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM22, 1, 0)}, // TIM22_CH1
Anna Bridge 186:707f6e361f3e 111 {PB_5, PWM_22, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM22, 2, 0)}, // TIM22_CH2
Anna Bridge 186:707f6e361f3e 112 // {PB_6, PWM_21, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM21, 1, 0)}, // TIM21_CH1
Anna Bridge 186:707f6e361f3e 113 {NC, NC, 0}
<> 149:156823d33999 114 };
<> 149:156823d33999 115
<> 149:156823d33999 116 //*** SERIAL ***
<> 149:156823d33999 117
AnnaBridge 181:57724642e740 118 MBED_WEAK const PinMap PinMap_UART_TX[] = {
Anna Bridge 186:707f6e361f3e 119 {PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_TX
AnnaBridge 187:0387e8f68319 120 {PA_2_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_TX
Anna Bridge 186:707f6e361f3e 121 // {PA_9, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART
Anna Bridge 186:707f6e361f3e 122 // {PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to TCK // STDIO UART
AnnaBridge 187:0387e8f68319 123 {PA_14, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TCK
Anna Bridge 186:707f6e361f3e 124 // {PB_6, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART2)}, // STDIO UART
Anna Bridge 186:707f6e361f3e 125 {NC, NC, 0}
<> 149:156823d33999 126 };
<> 149:156823d33999 127
AnnaBridge 181:57724642e740 128 MBED_WEAK const PinMap PinMap_UART_RX[] = {
Anna Bridge 186:707f6e361f3e 129 // {PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART
AnnaBridge 187:0387e8f68319 130 {PA_3, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
Anna Bridge 186:707f6e361f3e 131 // {PA_10, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // STDIO UART
AnnaBridge 187:0387e8f68319 132 {PA_13, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to TMS
Anna Bridge 186:707f6e361f3e 133 {PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Connected to STDIO_UART_RX
Anna Bridge 186:707f6e361f3e 134 // {PB_7, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART2)}, // STDIO UART
Anna Bridge 186:707f6e361f3e 135 {NC, NC, 0}
<> 149:156823d33999 136 };
<> 149:156823d33999 137
AnnaBridge 181:57724642e740 138 MBED_WEAK const PinMap PinMap_UART_RTS[] = {
Anna Bridge 186:707f6e361f3e 139 {PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
Anna Bridge 186:707f6e361f3e 140 {PA_12, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
Anna Bridge 186:707f6e361f3e 141 {PB_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
AnnaBridge 187:0387e8f68319 142 {PB_1, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
Anna Bridge 186:707f6e361f3e 143 {NC, NC, 0}
<> 149:156823d33999 144 };
<> 149:156823d33999 145
AnnaBridge 181:57724642e740 146 MBED_WEAK const PinMap PinMap_UART_CTS[] = {
Anna Bridge 186:707f6e361f3e 147 {PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
AnnaBridge 187:0387e8f68319 148 {PA_6, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
Anna Bridge 186:707f6e361f3e 149 {PA_7, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
Anna Bridge 186:707f6e361f3e 150 {PA_11, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
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 {PA_12, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 159 {PB_1, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF1_SPI1)},
Anna Bridge 186:707f6e361f3e 160 {PB_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 161 {NC, NC, 0}
<> 149:156823d33999 162 };
<> 149:156823d33999 163
AnnaBridge 181:57724642e740 164 MBED_WEAK const PinMap PinMap_SPI_MISO[] = {
Anna Bridge 186:707f6e361f3e 165 {PA_6, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 166 {PA_11, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 167 {PB_0, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF1_SPI1)},
Anna Bridge 186:707f6e361f3e 168 {PB_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 169 {NC, NC, 0}
<> 149:156823d33999 170 };
<> 149:156823d33999 171
AnnaBridge 181:57724642e740 172 MBED_WEAK const PinMap PinMap_SPI_SCLK[] = {
Anna Bridge 186:707f6e361f3e 173 {PA_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 174 {PB_3, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)}, // Connected to LD3 [Green]
Anna Bridge 186:707f6e361f3e 175 {NC, NC, 0}
<> 149:156823d33999 176 };
<> 149:156823d33999 177
AnnaBridge 181:57724642e740 178 MBED_WEAK const PinMap PinMap_SPI_SSEL[] = {
Anna Bridge 186:707f6e361f3e 179 {PA_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
Anna Bridge 186:707f6e361f3e 180 // {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 181 {NC, NC, 0}
<> 149:156823d33999 182 };