mbed library sources. Supersedes mbed-src.

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

Committer:
<>
Date:
Fri Oct 28 11:17:30 2016 +0100
Revision:
149:156823d33999
Parent:
targets/hal/TARGET_STM/TARGET_STM32F4/TARGET_B96B_F446VE/PinNames.h@147:30b64687e01f
Child:
157:ff67d9f36b67
This updates the lib to the mbed lib v128

NOTE: This release includes a restructuring of the file and directory locations and thus some
include paths in your code may need updating accordingly.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 45:faebcbaa5f6d 1 /* mbed Microcontroller Library
mbed_official 45:faebcbaa5f6d 2 *******************************************************************************
mbed_official 45:faebcbaa5f6d 3 * Copyright (c) 2014, STMicroelectronics
mbed_official 45:faebcbaa5f6d 4 * All rights reserved.
mbed_official 45:faebcbaa5f6d 5 *
mbed_official 45:faebcbaa5f6d 6 * Redistribution and use in source and binary forms, with or without
mbed_official 45:faebcbaa5f6d 7 * modification, are permitted provided that the following conditions are met:
mbed_official 45:faebcbaa5f6d 8 *
mbed_official 45:faebcbaa5f6d 9 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 45:faebcbaa5f6d 10 * this list of conditions and the following disclaimer.
mbed_official 45:faebcbaa5f6d 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 45:faebcbaa5f6d 12 * this list of conditions and the following disclaimer in the documentation
mbed_official 45:faebcbaa5f6d 13 * and/or other materials provided with the distribution.
mbed_official 45:faebcbaa5f6d 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 45:faebcbaa5f6d 15 * may be used to endorse or promote products derived from this software
mbed_official 45:faebcbaa5f6d 16 * without specific prior written permission.
mbed_official 45:faebcbaa5f6d 17 *
mbed_official 45:faebcbaa5f6d 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 45:faebcbaa5f6d 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 45:faebcbaa5f6d 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 45:faebcbaa5f6d 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 45:faebcbaa5f6d 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 45:faebcbaa5f6d 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 45:faebcbaa5f6d 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 45:faebcbaa5f6d 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 45:faebcbaa5f6d 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 45:faebcbaa5f6d 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 45:faebcbaa5f6d 28 *******************************************************************************
mbed_official 45:faebcbaa5f6d 29 */
mbed_official 45:faebcbaa5f6d 30 #ifndef MBED_PINNAMES_H
mbed_official 45:faebcbaa5f6d 31 #define MBED_PINNAMES_H
mbed_official 45:faebcbaa5f6d 32
mbed_official 45:faebcbaa5f6d 33 #include "cmsis.h"
mbed_official 45:faebcbaa5f6d 34
mbed_official 45:faebcbaa5f6d 35 #ifdef __cplusplus
mbed_official 45:faebcbaa5f6d 36 extern "C" {
mbed_official 45:faebcbaa5f6d 37 #endif
mbed_official 45:faebcbaa5f6d 38
mbed_official 45:faebcbaa5f6d 39 // See stm32f4xx_hal_gpio.h and stm32f4xx_hal_gpio_ex.h for values of MODE, PUPD and AFNUM
<> 147:30b64687e01f 40 #define STM_PIN_DATA(MODE, PUPD, AFNUM) ((int)(((AFNUM & 0x0F) << 7) | ((PUPD & 0x07) << 4) | ((MODE & 0x0F) << 0)))
<> 147:30b64687e01f 41 #define STM_PIN_DATA_EXT(MODE, PUPD, AFNUM, CHANNEL, INVERTED) ((int)(((INVERTED & 0x01) << 16) | ((CHANNEL & 0x1F) << 11) | ((AFNUM & 0x0F) << 7) | ((PUPD & 0x07) << 4) | ((MODE & 0x0F) << 0)))
mbed_official 45:faebcbaa5f6d 42 #define STM_PIN_MODE(X) (((X) >> 0) & 0x0F)
mbed_official 45:faebcbaa5f6d 43 #define STM_PIN_PUPD(X) (((X) >> 4) & 0x07)
mbed_official 45:faebcbaa5f6d 44 #define STM_PIN_AFNUM(X) (((X) >> 7) & 0x0F)
<> 147:30b64687e01f 45 #define STM_PIN_CHANNEL(X) (((X) >> 11) & 0x1F)
<> 147:30b64687e01f 46 #define STM_PIN_INVERTED(X) (((X) >> 16) & 0x01)
mbed_official 45:faebcbaa5f6d 47 #define STM_MODE_INPUT (0)
mbed_official 45:faebcbaa5f6d 48 #define STM_MODE_OUTPUT_PP (1)
mbed_official 45:faebcbaa5f6d 49 #define STM_MODE_OUTPUT_OD (2)
mbed_official 45:faebcbaa5f6d 50 #define STM_MODE_AF_PP (3)
mbed_official 45:faebcbaa5f6d 51 #define STM_MODE_AF_OD (4)
mbed_official 45:faebcbaa5f6d 52 #define STM_MODE_ANALOG (5)
mbed_official 45:faebcbaa5f6d 53 #define STM_MODE_IT_RISING (6)
mbed_official 45:faebcbaa5f6d 54 #define STM_MODE_IT_FALLING (7)
mbed_official 45:faebcbaa5f6d 55 #define STM_MODE_IT_RISING_FALLING (8)
mbed_official 45:faebcbaa5f6d 56 #define STM_MODE_EVT_RISING (9)
mbed_official 45:faebcbaa5f6d 57 #define STM_MODE_EVT_FALLING (10)
mbed_official 45:faebcbaa5f6d 58 #define STM_MODE_EVT_RISING_FALLING (11)
mbed_official 45:faebcbaa5f6d 59 #define STM_MODE_IT_EVT_RESET (12)
mbed_official 45:faebcbaa5f6d 60
mbed_official 45:faebcbaa5f6d 61 // High nibble = port number (0=A, 1=B, 2=C, 3=D, 4=E, 5=F, 6=G, 7=H)
mbed_official 45:faebcbaa5f6d 62 // Low nibble = pin number
mbed_official 45:faebcbaa5f6d 63 #define STM_PORT(X) (((uint32_t)(X) >> 4) & 0xF)
mbed_official 45:faebcbaa5f6d 64 #define STM_PIN(X) ((uint32_t)(X) & 0xF)
mbed_official 45:faebcbaa5f6d 65
mbed_official 45:faebcbaa5f6d 66 typedef enum {
mbed_official 45:faebcbaa5f6d 67 PIN_INPUT,
mbed_official 45:faebcbaa5f6d 68 PIN_OUTPUT
mbed_official 45:faebcbaa5f6d 69 } PinDirection;
mbed_official 45:faebcbaa5f6d 70
mbed_official 45:faebcbaa5f6d 71 typedef enum {
mbed_official 45:faebcbaa5f6d 72 PA_0 = 0x00,
mbed_official 45:faebcbaa5f6d 73 PA_1 = 0x01,
mbed_official 45:faebcbaa5f6d 74 PA_2 = 0x02,
mbed_official 45:faebcbaa5f6d 75 PA_3 = 0x03,
mbed_official 45:faebcbaa5f6d 76 PA_4 = 0x04,
mbed_official 45:faebcbaa5f6d 77 PA_5 = 0x05,
mbed_official 45:faebcbaa5f6d 78 PA_6 = 0x06,
mbed_official 45:faebcbaa5f6d 79 PA_7 = 0x07,
mbed_official 45:faebcbaa5f6d 80 PA_8 = 0x08,
mbed_official 45:faebcbaa5f6d 81 PA_9 = 0x09,
mbed_official 45:faebcbaa5f6d 82 PA_10 = 0x0A,
mbed_official 45:faebcbaa5f6d 83 PA_11 = 0x0B,
mbed_official 45:faebcbaa5f6d 84 PA_12 = 0x0C,
mbed_official 45:faebcbaa5f6d 85 PA_13 = 0x0D,
mbed_official 45:faebcbaa5f6d 86 PA_14 = 0x0E,
mbed_official 45:faebcbaa5f6d 87 PA_15 = 0x0F,
mbed_official 45:faebcbaa5f6d 88
mbed_official 45:faebcbaa5f6d 89 PB_0 = 0x10,
mbed_official 45:faebcbaa5f6d 90 PB_1 = 0x11,
mbed_official 45:faebcbaa5f6d 91 PB_2 = 0x12,
mbed_official 45:faebcbaa5f6d 92 PB_3 = 0x13,
mbed_official 45:faebcbaa5f6d 93 PB_4 = 0x14,
mbed_official 45:faebcbaa5f6d 94 PB_5 = 0x15,
mbed_official 45:faebcbaa5f6d 95 PB_6 = 0x16,
mbed_official 45:faebcbaa5f6d 96 PB_7 = 0x17,
mbed_official 45:faebcbaa5f6d 97 PB_8 = 0x18,
mbed_official 45:faebcbaa5f6d 98 PB_9 = 0x19,
mbed_official 45:faebcbaa5f6d 99 PB_10 = 0x1A,
mbed_official 45:faebcbaa5f6d 100 PB_12 = 0x1C,
mbed_official 45:faebcbaa5f6d 101 PB_13 = 0x1D,
mbed_official 45:faebcbaa5f6d 102 PB_14 = 0x1E,
mbed_official 45:faebcbaa5f6d 103 PB_15 = 0x1F,
mbed_official 45:faebcbaa5f6d 104
mbed_official 45:faebcbaa5f6d 105 PC_0 = 0x20,
mbed_official 45:faebcbaa5f6d 106 PC_1 = 0x21,
mbed_official 45:faebcbaa5f6d 107 PC_2 = 0x22,
mbed_official 45:faebcbaa5f6d 108 PC_3 = 0x23,
mbed_official 45:faebcbaa5f6d 109 PC_4 = 0x24,
mbed_official 45:faebcbaa5f6d 110 PC_5 = 0x25,
mbed_official 45:faebcbaa5f6d 111 PC_6 = 0x26,
mbed_official 45:faebcbaa5f6d 112 PC_7 = 0x27,
mbed_official 45:faebcbaa5f6d 113 PC_8 = 0x28,
mbed_official 45:faebcbaa5f6d 114 PC_9 = 0x29,
mbed_official 45:faebcbaa5f6d 115 PC_10 = 0x2A,
mbed_official 45:faebcbaa5f6d 116 PC_11 = 0x2B,
mbed_official 45:faebcbaa5f6d 117 PC_12 = 0x2C,
mbed_official 45:faebcbaa5f6d 118 PC_13 = 0x2D,
mbed_official 45:faebcbaa5f6d 119 PC_14 = 0x2E,
mbed_official 45:faebcbaa5f6d 120 PC_15 = 0x2F,
mbed_official 45:faebcbaa5f6d 121
mbed_official 45:faebcbaa5f6d 122 PD_0 = 0x30,
mbed_official 75:245e7931bad6 123 PD_1 = 0x31,
mbed_official 45:faebcbaa5f6d 124 PD_2 = 0x32,
mbed_official 45:faebcbaa5f6d 125 PD_3 = 0x33,
mbed_official 45:faebcbaa5f6d 126 PD_4 = 0x34,
mbed_official 45:faebcbaa5f6d 127 PD_5 = 0x35,
mbed_official 45:faebcbaa5f6d 128 PD_6 = 0x36,
mbed_official 45:faebcbaa5f6d 129 PD_7 = 0x37,
mbed_official 45:faebcbaa5f6d 130 PD_8 = 0x38,
mbed_official 45:faebcbaa5f6d 131 PD_9 = 0x39,
mbed_official 45:faebcbaa5f6d 132 PD_10 = 0x3A,
mbed_official 45:faebcbaa5f6d 133 PD_11 = 0x3B,
mbed_official 45:faebcbaa5f6d 134 PD_12 = 0x3C,
mbed_official 45:faebcbaa5f6d 135 PD_13 = 0x3D,
mbed_official 45:faebcbaa5f6d 136 PD_14 = 0x3E,
mbed_official 45:faebcbaa5f6d 137 PD_15 = 0x3F,
mbed_official 45:faebcbaa5f6d 138
mbed_official 45:faebcbaa5f6d 139 PE_0 = 0x40,
mbed_official 45:faebcbaa5f6d 140 PE_1 = 0x41,
mbed_official 45:faebcbaa5f6d 141 PE_2 = 0x42,
mbed_official 45:faebcbaa5f6d 142 PE_3 = 0x43,
mbed_official 45:faebcbaa5f6d 143 PE_4 = 0x44,
mbed_official 45:faebcbaa5f6d 144 PE_5 = 0x45,
mbed_official 45:faebcbaa5f6d 145 PE_6 = 0x46,
mbed_official 45:faebcbaa5f6d 146 PE_7 = 0x47,
mbed_official 45:faebcbaa5f6d 147 PE_8 = 0x48,
mbed_official 45:faebcbaa5f6d 148 PE_9 = 0x49,
mbed_official 45:faebcbaa5f6d 149 PE_10 = 0x4A,
mbed_official 45:faebcbaa5f6d 150 PE_11 = 0x4B,
mbed_official 45:faebcbaa5f6d 151 PE_12 = 0x4C,
mbed_official 45:faebcbaa5f6d 152 PE_13 = 0x4D,
mbed_official 45:faebcbaa5f6d 153 PE_14 = 0x4E,
mbed_official 45:faebcbaa5f6d 154 PE_15 = 0x4F,
mbed_official 45:faebcbaa5f6d 155
mbed_official 45:faebcbaa5f6d 156 PH_0 = 0x70,
mbed_official 45:faebcbaa5f6d 157 PH_1 = 0x71,
mbed_official 45:faebcbaa5f6d 158
<> 147:30b64687e01f 159 // ADC internal channels
<> 147:30b64687e01f 160 ADC_TEMP = 0xF0,
<> 147:30b64687e01f 161 ADC_VREF = 0xF1,
<> 147:30b64687e01f 162 ADC_VBAT = 0xF2,
<> 147:30b64687e01f 163
mbed_official 45:faebcbaa5f6d 164 // Arduino connector namings
mbed_official 45:faebcbaa5f6d 165 A0 = PA_1,
mbed_official 45:faebcbaa5f6d 166 A1 = PA_2,
mbed_official 45:faebcbaa5f6d 167 A2 = PC_3,
mbed_official 45:faebcbaa5f6d 168 A3 = PC_2,
mbed_official 45:faebcbaa5f6d 169 A4 = PB_1,
mbed_official 45:faebcbaa5f6d 170 A5 = PC_0,
mbed_official 45:faebcbaa5f6d 171 D0 = PD_6,
mbed_official 45:faebcbaa5f6d 172 D1 = PD_5,
mbed_official 45:faebcbaa5f6d 173 D2 = PD_4,
mbed_official 45:faebcbaa5f6d 174 D3 = PC_8,
mbed_official 45:faebcbaa5f6d 175 D4 = PD_2,
mbed_official 45:faebcbaa5f6d 176 D5 = PD_15,
mbed_official 45:faebcbaa5f6d 177 D6 = PD_14,
mbed_official 45:faebcbaa5f6d 178 D7 = PE_15,
mbed_official 45:faebcbaa5f6d 179 D8 = PE_3,
mbed_official 45:faebcbaa5f6d 180 D9 = PB_4,
mbed_official 45:faebcbaa5f6d 181 D10 = PE_4,
mbed_official 45:faebcbaa5f6d 182 D11 = PE_6,
mbed_official 45:faebcbaa5f6d 183 D12 = PE_5,
mbed_official 45:faebcbaa5f6d 184 D13 = PE_2,
mbed_official 45:faebcbaa5f6d 185 D14 = PC_12,
mbed_official 45:faebcbaa5f6d 186 D15 = PB_10,
mbed_official 45:faebcbaa5f6d 187
mbed_official 45:faebcbaa5f6d 188 // Generic signals namings
mbed_official 45:faebcbaa5f6d 189 LED1 = PD_10,
mbed_official 45:faebcbaa5f6d 190 LED2 = LED1,
mbed_official 45:faebcbaa5f6d 191 LED3 = PD_11,
mbed_official 45:faebcbaa5f6d 192 LED4 = PD_12,
<> 147:30b64687e01f 193 LED_RED = LED1,
mbed_official 45:faebcbaa5f6d 194 USER_BUTTON = PD_13,
mbed_official 45:faebcbaa5f6d 195 SERIAL_TX = PC_10,
mbed_official 45:faebcbaa5f6d 196 SERIAL_RX = PC_11,
mbed_official 45:faebcbaa5f6d 197 USBTX = SERIAL_TX,
mbed_official 45:faebcbaa5f6d 198 USBRX = SERIAL_RX,
mbed_official 45:faebcbaa5f6d 199 I2C_SCL = D15,
mbed_official 45:faebcbaa5f6d 200 I2C_SDA = D14,
mbed_official 45:faebcbaa5f6d 201 SPI_MOSI = D11,
mbed_official 45:faebcbaa5f6d 202 SPI_MISO = D12,
mbed_official 45:faebcbaa5f6d 203 SPI_SCK = D13,
mbed_official 45:faebcbaa5f6d 204 SPI_CS = D10,
mbed_official 45:faebcbaa5f6d 205 PWM_OUT = D3,
mbed_official 45:faebcbaa5f6d 206
mbed_official 45:faebcbaa5f6d 207 // Not connected
mbed_official 45:faebcbaa5f6d 208 NC = (int)0xFFFFFFFF
mbed_official 45:faebcbaa5f6d 209 } PinName;
mbed_official 45:faebcbaa5f6d 210
mbed_official 45:faebcbaa5f6d 211 typedef enum {
mbed_official 45:faebcbaa5f6d 212 PullNone = 0,
mbed_official 45:faebcbaa5f6d 213 PullUp = 1,
mbed_official 45:faebcbaa5f6d 214 PullDown = 2,
mbed_official 45:faebcbaa5f6d 215 OpenDrain = 3,
mbed_official 45:faebcbaa5f6d 216 PullDefault = PullNone
mbed_official 45:faebcbaa5f6d 217 } PinMode;
mbed_official 45:faebcbaa5f6d 218
mbed_official 45:faebcbaa5f6d 219 #ifdef __cplusplus
mbed_official 45:faebcbaa5f6d 220 }
mbed_official 45:faebcbaa5f6d 221 #endif
mbed_official 45:faebcbaa5f6d 222
mbed_official 45:faebcbaa5f6d 223 #endif