boart test board

Dependencies:   USBDevice mbed-dev lwip

Fork of USBSerial_HelloWorld by Compass Yap

Committer:
ua1arn
Date:
Fri Aug 03 05:41:14 2018 +0000
Revision:
23:121b78470d39
Parent:
20:4b2a3c310b61
mistyped

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ua1arn 16:07f39e7a1cc2 1 /* mbed Microcontroller Library
ua1arn 16:07f39e7a1cc2 2 *******************************************************************************
ua1arn 16:07f39e7a1cc2 3 * Copyright (c) 2018, STMicroelectronics
ua1arn 16:07f39e7a1cc2 4 * All rights reserved.
ua1arn 16:07f39e7a1cc2 5 *
ua1arn 16:07f39e7a1cc2 6 * Redistribution and use in source and binary forms, with or without
ua1arn 16:07f39e7a1cc2 7 * modification, are permitted provided that the following conditions are met:
ua1arn 16:07f39e7a1cc2 8 *
ua1arn 16:07f39e7a1cc2 9 * 1. Redistributions of source code must retain the above copyright notice,
ua1arn 16:07f39e7a1cc2 10 * this list of conditions and the following disclaimer.
ua1arn 16:07f39e7a1cc2 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
ua1arn 16:07f39e7a1cc2 12 * this list of conditions and the following disclaimer in the documentation
ua1arn 16:07f39e7a1cc2 13 * and/or other materials provided with the distribution.
ua1arn 16:07f39e7a1cc2 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
ua1arn 16:07f39e7a1cc2 15 * may be used to endorse or promote products derived from this software
ua1arn 16:07f39e7a1cc2 16 * without specific prior written permission.
ua1arn 16:07f39e7a1cc2 17 *
ua1arn 16:07f39e7a1cc2 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
ua1arn 16:07f39e7a1cc2 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
ua1arn 16:07f39e7a1cc2 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
ua1arn 16:07f39e7a1cc2 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
ua1arn 16:07f39e7a1cc2 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
ua1arn 16:07f39e7a1cc2 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
ua1arn 16:07f39e7a1cc2 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
ua1arn 16:07f39e7a1cc2 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
ua1arn 16:07f39e7a1cc2 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
ua1arn 16:07f39e7a1cc2 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ua1arn 16:07f39e7a1cc2 28 *******************************************************************************
ua1arn 16:07f39e7a1cc2 29 */
ua1arn 20:4b2a3c310b61 30 #if 1
ua1arn 20:4b2a3c310b61 31 // STM32F446
ua1arn 16:07f39e7a1cc2 32 #include "PeripheralPins.h"
ua1arn 16:07f39e7a1cc2 33 #include "mbed_toolchain.h"
ua1arn 16:07f39e7a1cc2 34
ua1arn 16:07f39e7a1cc2 35 //==============================================================================
ua1arn 16:07f39e7a1cc2 36 // Notes
ua1arn 16:07f39e7a1cc2 37 //
ua1arn 16:07f39e7a1cc2 38 // - The pins mentioned Px_y_ALTz are alternative possibilities which use other
ua1arn 16:07f39e7a1cc2 39 // HW peripheral instances. You can use them the same way as any other "normal"
ua1arn 16:07f39e7a1cc2 40 // pin (i.e. PwmOut pwm(PA_7_ALT0);). These pins are not displayed on the board
ua1arn 16:07f39e7a1cc2 41 // pinout image on mbed.org.
ua1arn 16:07f39e7a1cc2 42 //
ua1arn 16:07f39e7a1cc2 43 // - The pins which are connected to other components present on the board have
ua1arn 16:07f39e7a1cc2 44 // the comment "Connected to xxx". The pin function may not work properly in this
ua1arn 16:07f39e7a1cc2 45 // case. These pins may not be displayed on the board pinout image on mbed.org.
ua1arn 16:07f39e7a1cc2 46 // Please read the board reference manual and schematic for more information.
ua1arn 16:07f39e7a1cc2 47 //
ua1arn 16:07f39e7a1cc2 48 // - Warning: pins connected to the default STDIO_UART_TX and STDIO_UART_RX pins are commented
ua1arn 16:07f39e7a1cc2 49 // See https://os.mbed.com/teams/ST/wiki/STDIO for more information.
ua1arn 16:07f39e7a1cc2 50 //
ua1arn 16:07f39e7a1cc2 51 //==============================================================================
ua1arn 16:07f39e7a1cc2 52
ua1arn 16:07f39e7a1cc2 53
ua1arn 16:07f39e7a1cc2 54 //*** ADC ***
ua1arn 16:07f39e7a1cc2 55
ua1arn 16:07f39e7a1cc2 56 const PinMap PinMap_ADC[] = {
ua1arn 16:07f39e7a1cc2 57 {PA_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0
ua1arn 16:07f39e7a1cc2 58 {PA_0_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC2_IN0
ua1arn 16:07f39e7a1cc2 59 {PA_0_ALT1, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_IN0
ua1arn 16:07f39e7a1cc2 60 {PA_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1
ua1arn 16:07f39e7a1cc2 61 {PA_1_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC2_IN1
ua1arn 16:07f39e7a1cc2 62 {PA_1_ALT1, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_IN1
ua1arn 16:07f39e7a1cc2 63 {PA_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2
ua1arn 16:07f39e7a1cc2 64 {PA_2_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_IN2
ua1arn 16:07f39e7a1cc2 65 {PA_2_ALT1, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_IN2
ua1arn 16:07f39e7a1cc2 66 {PA_3, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3
ua1arn 16:07f39e7a1cc2 67 {PA_3_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3
ua1arn 16:07f39e7a1cc2 68 {PA_3_ALT1, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_IN3
ua1arn 16:07f39e7a1cc2 69 {PA_4, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4
ua1arn 16:07f39e7a1cc2 70 {PA_4_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_IN4
ua1arn 16:07f39e7a1cc2 71 {PA_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5
ua1arn 16:07f39e7a1cc2 72 {PA_5_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_IN5
ua1arn 16:07f39e7a1cc2 73 {PA_6, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6
ua1arn 16:07f39e7a1cc2 74 {PA_6_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC2_IN6
ua1arn 16:07f39e7a1cc2 75 {PA_7, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7
ua1arn 16:07f39e7a1cc2 76 {PA_7_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_IN7
ua1arn 16:07f39e7a1cc2 77 {PB_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8 // Connected to LD1
ua1arn 16:07f39e7a1cc2 78 {PB_0_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_IN8 // Connected to LD1
ua1arn 16:07f39e7a1cc2 79 {PB_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9
ua1arn 16:07f39e7a1cc2 80 {PB_1_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_IN9
ua1arn 16:07f39e7a1cc2 81 {PC_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10
ua1arn 16:07f39e7a1cc2 82 {PC_0_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_IN10
ua1arn 16:07f39e7a1cc2 83 {PC_0_ALT1, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_IN10
ua1arn 16:07f39e7a1cc2 84 {PC_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11
ua1arn 16:07f39e7a1cc2 85 {PC_1_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC2_IN11
ua1arn 16:07f39e7a1cc2 86 {PC_1_ALT1, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC3_IN11
ua1arn 16:07f39e7a1cc2 87 {PC_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12
ua1arn 16:07f39e7a1cc2 88 {PC_2_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC2_IN12
ua1arn 16:07f39e7a1cc2 89 {PC_2_ALT1, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC3_IN12
ua1arn 16:07f39e7a1cc2 90 {PC_3, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13
ua1arn 16:07f39e7a1cc2 91 {PC_3_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC2_IN13
ua1arn 16:07f39e7a1cc2 92 {PC_3_ALT1, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC3_IN13
ua1arn 16:07f39e7a1cc2 93 {PC_4, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14
ua1arn 16:07f39e7a1cc2 94 {PC_4_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC2_IN14
ua1arn 16:07f39e7a1cc2 95 {PC_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15
ua1arn 16:07f39e7a1cc2 96 {PC_5_ALT0, ADC_2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC2_IN15
ua1arn 16:07f39e7a1cc2 97 {PF_3, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC3_IN9
ua1arn 16:07f39e7a1cc2 98 {PF_4, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC3_IN14
ua1arn 16:07f39e7a1cc2 99 {PF_5, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC3_IN15
ua1arn 16:07f39e7a1cc2 100 {PF_6, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC3_IN4
ua1arn 16:07f39e7a1cc2 101 {PF_7, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC3_IN5
ua1arn 16:07f39e7a1cc2 102 {PF_8, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC3_IN6
ua1arn 16:07f39e7a1cc2 103 {PF_9, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC3_IN7
ua1arn 16:07f39e7a1cc2 104 {PF_10, ADC_3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC3_IN8
ua1arn 16:07f39e7a1cc2 105 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 106 };
ua1arn 16:07f39e7a1cc2 107
ua1arn 16:07f39e7a1cc2 108 const PinMap PinMap_ADC_Internal[] = {
ua1arn 16:07f39e7a1cc2 109 {ADC_TEMP, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 16, 0)},
ua1arn 16:07f39e7a1cc2 110 {ADC_VREF, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)},
ua1arn 16:07f39e7a1cc2 111 {ADC_VBAT, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)},
ua1arn 16:07f39e7a1cc2 112 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 113 };
ua1arn 16:07f39e7a1cc2 114
ua1arn 16:07f39e7a1cc2 115 //*** DAC ***
ua1arn 16:07f39e7a1cc2 116
ua1arn 16:07f39e7a1cc2 117 const PinMap PinMap_DAC[] = {
ua1arn 16:07f39e7a1cc2 118 {PA_4, DAC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC_OUT1
ua1arn 16:07f39e7a1cc2 119 {PA_5, DAC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC_OUT2
ua1arn 16:07f39e7a1cc2 120 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 121 };
ua1arn 16:07f39e7a1cc2 122
ua1arn 16:07f39e7a1cc2 123 //*** I2C ***
ua1arn 16:07f39e7a1cc2 124
ua1arn 16:07f39e7a1cc2 125 const PinMap PinMap_I2C_SDA[] = {
ua1arn 16:07f39e7a1cc2 126 {PB_3, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
ua1arn 16:07f39e7a1cc2 127 {PB_4, I2C_3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)},
ua1arn 16:07f39e7a1cc2 128 {PB_7, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // Connected to LD2 [Blue]
ua1arn 16:07f39e7a1cc2 129 {PB_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
ua1arn 16:07f39e7a1cc2 130 {PB_11, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
ua1arn 16:07f39e7a1cc2 131 {PC_7, FMPI2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_FMPI2C1)},
ua1arn 16:07f39e7a1cc2 132 {PC_9, I2C_3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)},
ua1arn 16:07f39e7a1cc2 133 {PC_12, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
ua1arn 16:07f39e7a1cc2 134 {PD_13, FMPI2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_FMPI2C1)},
ua1arn 16:07f39e7a1cc2 135 {PD_15, FMPI2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_FMPI2C1)},
ua1arn 16:07f39e7a1cc2 136 {PF_0, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
ua1arn 16:07f39e7a1cc2 137 {PF_15, FMPI2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_FMPI2C1)},
ua1arn 16:07f39e7a1cc2 138 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 139 };
ua1arn 16:07f39e7a1cc2 140
ua1arn 16:07f39e7a1cc2 141 const PinMap PinMap_I2C_SCL[] = {
ua1arn 16:07f39e7a1cc2 142 {PA_8, I2C_3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, // Connected to USB_SOF [TP1]
ua1arn 16:07f39e7a1cc2 143 {PB_6, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
ua1arn 16:07f39e7a1cc2 144 {PB_8, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
ua1arn 16:07f39e7a1cc2 145 {PB_10, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
ua1arn 16:07f39e7a1cc2 146 {PC_6, FMPI2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_FMPI2C1)},
ua1arn 16:07f39e7a1cc2 147 {PD_12, FMPI2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_FMPI2C1)},
ua1arn 16:07f39e7a1cc2 148 {PD_14, FMPI2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_FMPI2C1)},
ua1arn 16:07f39e7a1cc2 149 {PF_1, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
ua1arn 16:07f39e7a1cc2 150 {PF_14, FMPI2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_FMPI2C1)},
ua1arn 16:07f39e7a1cc2 151 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 152 };
ua1arn 16:07f39e7a1cc2 153
ua1arn 16:07f39e7a1cc2 154 //*** PWM ***
ua1arn 16:07f39e7a1cc2 155
ua1arn 16:07f39e7a1cc2 156 // TIM5 cannot be used because already used by the us_ticker
ua1arn 16:07f39e7a1cc2 157 const PinMap PinMap_PWM[] = {
ua1arn 16:07f39e7a1cc2 158 {PA_0, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
ua1arn 16:07f39e7a1cc2 159 // {PA_0, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1
ua1arn 16:07f39e7a1cc2 160 {PA_1, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2
ua1arn 16:07f39e7a1cc2 161 // {PA_1, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2
ua1arn 16:07f39e7a1cc2 162 {PA_2, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3
ua1arn 16:07f39e7a1cc2 163 // {PA_2, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3
ua1arn 16:07f39e7a1cc2 164 {PA_2_ALT0, PWM_9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1
ua1arn 16:07f39e7a1cc2 165 {PA_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4
ua1arn 16:07f39e7a1cc2 166 // {PA_3, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4
ua1arn 16:07f39e7a1cc2 167 {PA_3_ALT0, PWM_9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2
ua1arn 16:07f39e7a1cc2 168 {PA_5, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
ua1arn 16:07f39e7a1cc2 169 {PA_5_ALT0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N
ua1arn 16:07f39e7a1cc2 170 {PA_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
ua1arn 16:07f39e7a1cc2 171 {PA_6_ALT0, PWM_13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1
ua1arn 16:07f39e7a1cc2 172 {PA_7, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N
ua1arn 16:07f39e7a1cc2 173 {PA_7_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2
ua1arn 16:07f39e7a1cc2 174 {PA_7_ALT1, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N
ua1arn 16:07f39e7a1cc2 175 {PA_7_ALT2, PWM_14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1
ua1arn 16:07f39e7a1cc2 176 {PA_8, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 // Connected to USB_SOF [TP1]
ua1arn 16:07f39e7a1cc2 177 {PA_9, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 // Connected to USB_VBUS
ua1arn 16:07f39e7a1cc2 178 {PA_10, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 // Connected to USB_ID
ua1arn 16:07f39e7a1cc2 179 {PA_11, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 // Connected to USB_DM
ua1arn 16:07f39e7a1cc2 180 {PA_15, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
ua1arn 16:07f39e7a1cc2 181 {PB_0, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N // Connected to LD1
ua1arn 16:07f39e7a1cc2 182 {PB_0_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 // Connected to LD1
ua1arn 16:07f39e7a1cc2 183 {PB_0_ALT1, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N // Connected to LD1
ua1arn 16:07f39e7a1cc2 184 {PB_1, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N
ua1arn 16:07f39e7a1cc2 185 {PB_1_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4
ua1arn 16:07f39e7a1cc2 186 {PB_1_ALT1, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N
ua1arn 16:07f39e7a1cc2 187 {PB_2, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4
ua1arn 16:07f39e7a1cc2 188 {PB_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2
ua1arn 16:07f39e7a1cc2 189 {PB_4, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
ua1arn 16:07f39e7a1cc2 190 {PB_5, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2
ua1arn 16:07f39e7a1cc2 191 {PB_6, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1
ua1arn 16:07f39e7a1cc2 192 {PB_7, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 // Connected to LD2 [Blue]
ua1arn 16:07f39e7a1cc2 193 {PB_8, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
ua1arn 16:07f39e7a1cc2 194 {PB_8_ALT0, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3
ua1arn 16:07f39e7a1cc2 195 {PB_8_ALT1, PWM_10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1
ua1arn 16:07f39e7a1cc2 196 {PB_9, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2
ua1arn 16:07f39e7a1cc2 197 {PB_9_ALT0, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4
ua1arn 16:07f39e7a1cc2 198 {PB_9_ALT1, PWM_11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1
ua1arn 16:07f39e7a1cc2 199 {PB_10, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3
ua1arn 16:07f39e7a1cc2 200 {PB_11, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4
ua1arn 16:07f39e7a1cc2 201 {PB_13, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N
ua1arn 16:07f39e7a1cc2 202 {PB_14, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N // Connected to LD3 [Red]
ua1arn 16:07f39e7a1cc2 203 {PB_14_ALT0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N // Connected to LD3 [Red]
ua1arn 16:07f39e7a1cc2 204 {PB_14_ALT1, PWM_12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 // Connected to LD3 [Red]
ua1arn 16:07f39e7a1cc2 205 {PB_15, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N
ua1arn 16:07f39e7a1cc2 206 {PB_15_ALT0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N
ua1arn 16:07f39e7a1cc2 207 {PB_15_ALT1, PWM_12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2
ua1arn 16:07f39e7a1cc2 208 {PC_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
ua1arn 16:07f39e7a1cc2 209 {PC_6_ALT0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1
ua1arn 16:07f39e7a1cc2 210 {PC_7, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2
ua1arn 16:07f39e7a1cc2 211 {PC_7_ALT0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2
ua1arn 16:07f39e7a1cc2 212 {PC_8, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3
ua1arn 16:07f39e7a1cc2 213 {PC_8_ALT0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3
ua1arn 16:07f39e7a1cc2 214 {PC_9, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4
ua1arn 16:07f39e7a1cc2 215 {PC_9_ALT0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4
ua1arn 16:07f39e7a1cc2 216 {PD_12, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1
ua1arn 16:07f39e7a1cc2 217 {PD_13, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2
ua1arn 16:07f39e7a1cc2 218 {PD_14, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3
ua1arn 16:07f39e7a1cc2 219 {PD_15, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4
ua1arn 16:07f39e7a1cc2 220 {PE_5, PWM_9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1
ua1arn 16:07f39e7a1cc2 221 {PE_6, PWM_9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2
ua1arn 16:07f39e7a1cc2 222 {PE_8, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N
ua1arn 16:07f39e7a1cc2 223 {PE_9, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1
ua1arn 16:07f39e7a1cc2 224 {PE_10, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N
ua1arn 16:07f39e7a1cc2 225 {PE_11, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2
ua1arn 16:07f39e7a1cc2 226 {PE_12, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N
ua1arn 16:07f39e7a1cc2 227 {PE_13, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3
ua1arn 16:07f39e7a1cc2 228 {PE_14, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4
ua1arn 16:07f39e7a1cc2 229 {PF_6, PWM_10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1
ua1arn 16:07f39e7a1cc2 230 {PF_7, PWM_11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1
ua1arn 16:07f39e7a1cc2 231 {PF_8, PWM_13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1
ua1arn 16:07f39e7a1cc2 232 {PF_9, PWM_14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1
ua1arn 16:07f39e7a1cc2 233 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 234 };
ua1arn 16:07f39e7a1cc2 235
ua1arn 16:07f39e7a1cc2 236 //*** SERIAL ***
ua1arn 16:07f39e7a1cc2 237
ua1arn 16:07f39e7a1cc2 238 const PinMap PinMap_UART_TX[] = {
ua1arn 16:07f39e7a1cc2 239 {PA_0, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
ua1arn 16:07f39e7a1cc2 240 {PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
ua1arn 16:07f39e7a1cc2 241 {PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // Connected to USB_VBUS
ua1arn 16:07f39e7a1cc2 242 {PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
ua1arn 16:07f39e7a1cc2 243 {PB_10, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // STDIO UART
ua1arn 16:07f39e7a1cc2 244 {PC_6, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
ua1arn 16:07f39e7a1cc2 245 {PC_10, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // STDIO UART
ua1arn 16:07f39e7a1cc2 246 {PC_10, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
ua1arn 16:07f39e7a1cc2 247 {PC_12, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)},
ua1arn 16:07f39e7a1cc2 248 {PD_5, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
ua1arn 16:07f39e7a1cc2 249 {PD_8, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // Connected to STDIO_UART_TX
ua1arn 16:07f39e7a1cc2 250 {PE_8, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)},
ua1arn 16:07f39e7a1cc2 251 {PG_14, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
ua1arn 16:07f39e7a1cc2 252 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 253 };
ua1arn 16:07f39e7a1cc2 254
ua1arn 16:07f39e7a1cc2 255 const PinMap PinMap_UART_RX[] = {
ua1arn 16:07f39e7a1cc2 256 {PA_1, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
ua1arn 16:07f39e7a1cc2 257 {PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
ua1arn 16:07f39e7a1cc2 258 {PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // Connected to USB_ID
ua1arn 16:07f39e7a1cc2 259 {PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // Connected to LD2 [Blue]
ua1arn 16:07f39e7a1cc2 260 {PB_11, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // STDIO UART
ua1arn 16:07f39e7a1cc2 261 {PC_5, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
ua1arn 16:07f39e7a1cc2 262 {PC_7, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
ua1arn 16:07f39e7a1cc2 263 {PC_11, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // STDIO UART
ua1arn 16:07f39e7a1cc2 264 {PC_11, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
ua1arn 16:07f39e7a1cc2 265 {PD_2, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)},
ua1arn 16:07f39e7a1cc2 266 {PD_6, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
ua1arn 16:07f39e7a1cc2 267 {PD_9, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // Connected to STDIO_UART_RX
ua1arn 16:07f39e7a1cc2 268 {PE_7, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)},
ua1arn 16:07f39e7a1cc2 269 {PG_9, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
ua1arn 16:07f39e7a1cc2 270 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 271 };
ua1arn 16:07f39e7a1cc2 272
ua1arn 16:07f39e7a1cc2 273 const PinMap PinMap_UART_RTS[] = {
ua1arn 16:07f39e7a1cc2 274 {PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
ua1arn 16:07f39e7a1cc2 275 {PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // Connected to USB_DP
ua1arn 16:07f39e7a1cc2 276 {PA_15, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
ua1arn 16:07f39e7a1cc2 277 {PB_14, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // Connected to LD3 [Red]
ua1arn 16:07f39e7a1cc2 278 {PC_8, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)},
ua1arn 16:07f39e7a1cc2 279 {PD_4, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
ua1arn 16:07f39e7a1cc2 280 {PD_12, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
ua1arn 16:07f39e7a1cc2 281 {PG_8, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
ua1arn 16:07f39e7a1cc2 282 {PG_12, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
ua1arn 16:07f39e7a1cc2 283 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 284 };
ua1arn 16:07f39e7a1cc2 285
ua1arn 16:07f39e7a1cc2 286 const PinMap PinMap_UART_CTS[] = {
ua1arn 16:07f39e7a1cc2 287 {PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
ua1arn 16:07f39e7a1cc2 288 {PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // Connected to USB_DM
ua1arn 16:07f39e7a1cc2 289 {PB_0, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, // Connected to LD1
ua1arn 16:07f39e7a1cc2 290 {PB_13, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
ua1arn 16:07f39e7a1cc2 291 {PC_9, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART5)},
ua1arn 16:07f39e7a1cc2 292 {PD_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
ua1arn 16:07f39e7a1cc2 293 {PD_11, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
ua1arn 16:07f39e7a1cc2 294 {PG_13, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
ua1arn 16:07f39e7a1cc2 295 {PG_15, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
ua1arn 16:07f39e7a1cc2 296 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 297 };
ua1arn 16:07f39e7a1cc2 298
ua1arn 16:07f39e7a1cc2 299 //*** SPI ***
ua1arn 16:07f39e7a1cc2 300
ua1arn 16:07f39e7a1cc2 301 const PinMap PinMap_SPI_MOSI[] = {
ua1arn 16:07f39e7a1cc2 302 {PA_7, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI1)},
ua1arn 16:07f39e7a1cc2 303 {PB_0, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF7_SPI3)}, // Connected to LD1
ua1arn 16:07f39e7a1cc2 304 {PB_2, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF7_SPI3)},
ua1arn 16:07f39e7a1cc2 305 {PB_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI1)},
ua1arn 16:07f39e7a1cc2 306 {PB_5_ALT0, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI3)},
ua1arn 16:07f39e7a1cc2 307 {PB_15, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
ua1arn 16:07f39e7a1cc2 308 {PC_1, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF7_SPI2)},
ua1arn 16:07f39e7a1cc2 309 {PC_1_ALT0, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI3)},
ua1arn 16:07f39e7a1cc2 310 {PC_3, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
ua1arn 16:07f39e7a1cc2 311 {PC_12, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI3)},
ua1arn 16:07f39e7a1cc2 312 {PD_0, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI3)},
ua1arn 16:07f39e7a1cc2 313 {PD_6, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI3)},
ua1arn 16:07f39e7a1cc2 314 {PE_6, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI4)},
ua1arn 16:07f39e7a1cc2 315 {PE_14, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI4)},
ua1arn 16:07f39e7a1cc2 316 {PG_13, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI4)},
ua1arn 16:07f39e7a1cc2 317 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 318 };
ua1arn 16:07f39e7a1cc2 319
ua1arn 16:07f39e7a1cc2 320 const PinMap PinMap_SPI_MISO[] = {
ua1arn 16:07f39e7a1cc2 321 {PA_6, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI1)},
ua1arn 16:07f39e7a1cc2 322 {PB_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI1)},
ua1arn 16:07f39e7a1cc2 323 {PB_4_ALT0, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI3)},
ua1arn 16:07f39e7a1cc2 324 {PB_14, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)}, // Connected to LD3 [Red]
ua1arn 16:07f39e7a1cc2 325 {PC_2, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
ua1arn 16:07f39e7a1cc2 326 {PC_11, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI3)},
ua1arn 16:07f39e7a1cc2 327 {PD_0, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI4)},
ua1arn 16:07f39e7a1cc2 328 {PE_5, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI4)},
ua1arn 16:07f39e7a1cc2 329 {PE_13, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI4)},
ua1arn 16:07f39e7a1cc2 330 {PG_12, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI4)},
ua1arn 16:07f39e7a1cc2 331 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 332 };
ua1arn 16:07f39e7a1cc2 333
ua1arn 16:07f39e7a1cc2 334 const PinMap PinMap_SPI_SCLK[] = {
ua1arn 16:07f39e7a1cc2 335 {PA_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI1)},
ua1arn 16:07f39e7a1cc2 336 {PA_9, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)}, // Connected to USB_VBUS
ua1arn 16:07f39e7a1cc2 337 {PB_3, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI1)},
ua1arn 16:07f39e7a1cc2 338 {PB_3_ALT0, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI3)},
ua1arn 16:07f39e7a1cc2 339 {PB_10, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
ua1arn 16:07f39e7a1cc2 340 {PB_13, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
ua1arn 16:07f39e7a1cc2 341 {PC_7, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
ua1arn 16:07f39e7a1cc2 342 {PC_10, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI3)},
ua1arn 16:07f39e7a1cc2 343 {PD_3, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
ua1arn 16:07f39e7a1cc2 344 {PE_2, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI4)},
ua1arn 16:07f39e7a1cc2 345 {PE_12, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI4)},
ua1arn 16:07f39e7a1cc2 346 {PG_11, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI4)},
ua1arn 16:07f39e7a1cc2 347 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 348 };
ua1arn 16:07f39e7a1cc2 349
ua1arn 16:07f39e7a1cc2 350 const PinMap PinMap_SPI_SSEL[] = {
ua1arn 16:07f39e7a1cc2 351 {PA_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI1)},
ua1arn 16:07f39e7a1cc2 352 {PA_4_ALT0, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI3)},
ua1arn 16:07f39e7a1cc2 353 {PA_15, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI1)},
ua1arn 16:07f39e7a1cc2 354 {PA_15_ALT0, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI3)},
ua1arn 16:07f39e7a1cc2 355 {PB_4, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF7_SPI2)},
ua1arn 16:07f39e7a1cc2 356 {PB_9, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
ua1arn 16:07f39e7a1cc2 357 {PB_12, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
ua1arn 16:07f39e7a1cc2 358 {PD_1, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF7_SPI2)},
ua1arn 16:07f39e7a1cc2 359 {PE_4, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI4)},
ua1arn 16:07f39e7a1cc2 360 {PE_11, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI4)},
ua1arn 16:07f39e7a1cc2 361 {PG_14, SPI_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI4)},
ua1arn 16:07f39e7a1cc2 362 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 363 };
ua1arn 16:07f39e7a1cc2 364
ua1arn 16:07f39e7a1cc2 365 //*** CAN ***
ua1arn 16:07f39e7a1cc2 366
ua1arn 16:07f39e7a1cc2 367 const PinMap PinMap_CAN_RD[] = {
ua1arn 16:07f39e7a1cc2 368 {PA_11, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // Connected to USB_DM
ua1arn 16:07f39e7a1cc2 369 {PB_5, CAN_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)},
ua1arn 16:07f39e7a1cc2 370 {PB_8, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
ua1arn 16:07f39e7a1cc2 371 {PB_12, CAN_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)},
ua1arn 16:07f39e7a1cc2 372 {PD_0, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
ua1arn 16:07f39e7a1cc2 373 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 374 };
ua1arn 16:07f39e7a1cc2 375
ua1arn 16:07f39e7a1cc2 376 const PinMap PinMap_CAN_TD[] = {
ua1arn 16:07f39e7a1cc2 377 {PA_12, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // Connected to USB_DP
ua1arn 16:07f39e7a1cc2 378 {PB_6, CAN_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)},
ua1arn 16:07f39e7a1cc2 379 {PB_9, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
ua1arn 16:07f39e7a1cc2 380 {PB_13, CAN_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)},
ua1arn 16:07f39e7a1cc2 381 {PD_1, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
ua1arn 16:07f39e7a1cc2 382 {NC, NC, 0}
ua1arn 16:07f39e7a1cc2 383 };
ua1arn 20:4b2a3c310b61 384 #endif