The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 161:aa5281ff4a02 1 /* mbed Microcontroller Library
AnnaBridge 161:aa5281ff4a02 2 *******************************************************************************
AnnaBridge 161:aa5281ff4a02 3 * Copyright (c) 2014, STMicroelectronics
AnnaBridge 161:aa5281ff4a02 4 * All rights reserved.
AnnaBridge 161:aa5281ff4a02 5 *
AnnaBridge 161:aa5281ff4a02 6 * Redistribution and use in source and binary forms, with or without
AnnaBridge 161:aa5281ff4a02 7 * modification, are permitted provided that the following conditions are met:
AnnaBridge 161:aa5281ff4a02 8 *
AnnaBridge 161:aa5281ff4a02 9 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 161:aa5281ff4a02 10 * this list of conditions and the following disclaimer.
AnnaBridge 161:aa5281ff4a02 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 161:aa5281ff4a02 12 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 161:aa5281ff4a02 13 * and/or other materials provided with the distribution.
AnnaBridge 161:aa5281ff4a02 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 161:aa5281ff4a02 15 * may be used to endorse or promote products derived from this software
AnnaBridge 161:aa5281ff4a02 16 * without specific prior written permission.
AnnaBridge 161:aa5281ff4a02 17 *
AnnaBridge 161:aa5281ff4a02 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 161:aa5281ff4a02 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 161:aa5281ff4a02 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 161:aa5281ff4a02 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 161:aa5281ff4a02 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 161:aa5281ff4a02 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 161:aa5281ff4a02 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 161:aa5281ff4a02 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 161:aa5281ff4a02 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 161:aa5281ff4a02 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 161:aa5281ff4a02 28 *******************************************************************************
AnnaBridge 161:aa5281ff4a02 29 */
AnnaBridge 161:aa5281ff4a02 30 #ifndef MBED_PINNAMES_H
AnnaBridge 161:aa5281ff4a02 31 #define MBED_PINNAMES_H
AnnaBridge 161:aa5281ff4a02 32
AnnaBridge 161:aa5281ff4a02 33 #include "cmsis.h"
AnnaBridge 161:aa5281ff4a02 34 #include "PinNamesTypes.h"
AnnaBridge 161:aa5281ff4a02 35
AnnaBridge 161:aa5281ff4a02 36 #ifdef __cplusplus
AnnaBridge 161:aa5281ff4a02 37 extern "C" {
AnnaBridge 161:aa5281ff4a02 38 #endif
AnnaBridge 161:aa5281ff4a02 39
AnnaBridge 161:aa5281ff4a02 40 typedef enum {
AnnaBridge 161:aa5281ff4a02 41 // Not connected
AnnaBridge 161:aa5281ff4a02 42 NC = -1,
AnnaBridge 161:aa5281ff4a02 43
AnnaBridge 161:aa5281ff4a02 44 PA_0 = 0x00,
AnnaBridge 161:aa5281ff4a02 45 PA_1 = 0x01,
AnnaBridge 161:aa5281ff4a02 46 PA_2 = 0x02,
AnnaBridge 161:aa5281ff4a02 47 PA_3 = 0x03,
AnnaBridge 161:aa5281ff4a02 48 PA_4 = 0x04,
AnnaBridge 161:aa5281ff4a02 49 PA_5 = 0x05,
AnnaBridge 161:aa5281ff4a02 50 PA_6 = 0x06,
AnnaBridge 161:aa5281ff4a02 51 PA_7 = 0x07,
AnnaBridge 161:aa5281ff4a02 52 PA_8 = 0x08,
AnnaBridge 161:aa5281ff4a02 53 PA_9 = 0x09,
AnnaBridge 161:aa5281ff4a02 54 PA_10 = 0x0A,
AnnaBridge 161:aa5281ff4a02 55 PA_11 = 0x0B,
AnnaBridge 161:aa5281ff4a02 56 PA_12 = 0x0C,
AnnaBridge 161:aa5281ff4a02 57 PA_13 = 0x0D,
AnnaBridge 161:aa5281ff4a02 58 PA_14 = 0x0E,
AnnaBridge 161:aa5281ff4a02 59 PA_15 = 0x0F,
AnnaBridge 161:aa5281ff4a02 60
AnnaBridge 161:aa5281ff4a02 61 PB_0 = 0x10,
AnnaBridge 161:aa5281ff4a02 62 PB_1 = 0x11,
AnnaBridge 161:aa5281ff4a02 63 PB_2 = 0x12,
AnnaBridge 161:aa5281ff4a02 64 PB_3 = 0x13,
AnnaBridge 161:aa5281ff4a02 65 PB_4 = 0x14,
AnnaBridge 161:aa5281ff4a02 66 PB_5 = 0x15,
AnnaBridge 161:aa5281ff4a02 67 PB_6 = 0x16,
AnnaBridge 161:aa5281ff4a02 68 PB_7 = 0x17,
AnnaBridge 161:aa5281ff4a02 69 PB_8 = 0x18,
AnnaBridge 161:aa5281ff4a02 70 PB_9 = 0x19,
AnnaBridge 161:aa5281ff4a02 71 PB_10 = 0x1A,
AnnaBridge 161:aa5281ff4a02 72 PB_12 = 0x1C,
AnnaBridge 161:aa5281ff4a02 73 PB_13 = 0x1D,
AnnaBridge 161:aa5281ff4a02 74 PB_14 = 0x1E,
AnnaBridge 161:aa5281ff4a02 75 PB_15 = 0x1F,
AnnaBridge 161:aa5281ff4a02 76
AnnaBridge 161:aa5281ff4a02 77 PC_0 = 0x20,
AnnaBridge 161:aa5281ff4a02 78 PC_1 = 0x21,
AnnaBridge 161:aa5281ff4a02 79 PC_2 = 0x22,
AnnaBridge 161:aa5281ff4a02 80 PC_3 = 0x23,
AnnaBridge 161:aa5281ff4a02 81 PC_4 = 0x24,
AnnaBridge 161:aa5281ff4a02 82 PC_5 = 0x25,
AnnaBridge 161:aa5281ff4a02 83 PC_6 = 0x26,
AnnaBridge 161:aa5281ff4a02 84 PC_7 = 0x27,
AnnaBridge 161:aa5281ff4a02 85 PC_8 = 0x28,
AnnaBridge 161:aa5281ff4a02 86 PC_9 = 0x29,
AnnaBridge 161:aa5281ff4a02 87 PC_10 = 0x2A,
AnnaBridge 161:aa5281ff4a02 88 PC_11 = 0x2B,
AnnaBridge 161:aa5281ff4a02 89 PC_12 = 0x2C,
AnnaBridge 161:aa5281ff4a02 90 PC_13 = 0x2D,
AnnaBridge 161:aa5281ff4a02 91 PC_14 = 0x2E,
AnnaBridge 161:aa5281ff4a02 92 PC_15 = 0x2F,
AnnaBridge 161:aa5281ff4a02 93
AnnaBridge 161:aa5281ff4a02 94 PD_2 = 0x32,
AnnaBridge 161:aa5281ff4a02 95
AnnaBridge 161:aa5281ff4a02 96 PH_0 = 0x70,
AnnaBridge 161:aa5281ff4a02 97 PH_1 = 0x71,
AnnaBridge 161:aa5281ff4a02 98
AnnaBridge 161:aa5281ff4a02 99 // ADC internal channels
AnnaBridge 161:aa5281ff4a02 100 ADC_TEMP = 0xF0,
AnnaBridge 161:aa5281ff4a02 101 ADC_VREF = 0xF1,
AnnaBridge 161:aa5281ff4a02 102 ADC_VBAT = 0xF2,
AnnaBridge 161:aa5281ff4a02 103
AnnaBridge 161:aa5281ff4a02 104 // Module pins
AnnaBridge 161:aa5281ff4a02 105 // Defined based on the external pin (40-pin connector) alternate function mapping (Page 15 of MTQ-H5-B01 device guide)
AnnaBridge 161:aa5281ff4a02 106 // Device guide used: S000628,Version1.4
AnnaBridge 161:aa5281ff4a02 107 P_1 = PB_6,
AnnaBridge 161:aa5281ff4a02 108 P_2 = PA_14,
AnnaBridge 161:aa5281ff4a02 109 P_3 = PA_15,
AnnaBridge 161:aa5281ff4a02 110 P_4 = PB_4,
AnnaBridge 161:aa5281ff4a02 111 P_5 = NC,
AnnaBridge 161:aa5281ff4a02 112 P_6 = NC,
AnnaBridge 161:aa5281ff4a02 113 P_7 = NC,
AnnaBridge 161:aa5281ff4a02 114 P_8 = NC,
AnnaBridge 161:aa5281ff4a02 115 P_9 = PA_2,
AnnaBridge 161:aa5281ff4a02 116 P_10 = PA_7,
AnnaBridge 161:aa5281ff4a02 117 P_11 = PB_1,
AnnaBridge 161:aa5281ff4a02 118 P_12 = PA_1,
AnnaBridge 161:aa5281ff4a02 119 P_13 = NC,
AnnaBridge 161:aa5281ff4a02 120 P_14 = PB_5,
AnnaBridge 161:aa5281ff4a02 121 P_15 = PA_5,
AnnaBridge 161:aa5281ff4a02 122 P_16 = PB_8,
AnnaBridge 161:aa5281ff4a02 123 P_17 = PB_15,
AnnaBridge 161:aa5281ff4a02 124 P_18 = PC_2,
AnnaBridge 161:aa5281ff4a02 125 P_19 = PB_0,
AnnaBridge 161:aa5281ff4a02 126 P_20 = PC_0,
AnnaBridge 161:aa5281ff4a02 127 P_21 = PC_1,
AnnaBridge 161:aa5281ff4a02 128 P_22 = PC_4,
AnnaBridge 161:aa5281ff4a02 129 P_23 = PB_13,
AnnaBridge 161:aa5281ff4a02 130 P_24 = PC_9,
AnnaBridge 161:aa5281ff4a02 131 P_25 = PB_9,
AnnaBridge 161:aa5281ff4a02 132 P_26 = PA_6,
AnnaBridge 161:aa5281ff4a02 133 P_27 = PC_8,
AnnaBridge 161:aa5281ff4a02 134 P_28 = NC,
AnnaBridge 161:aa5281ff4a02 135 P_29 = PA_0,
AnnaBridge 161:aa5281ff4a02 136 P_30 = PA_9,
AnnaBridge 161:aa5281ff4a02 137 P_31 = PA_8,
AnnaBridge 161:aa5281ff4a02 138 P_32 = PA_3,
AnnaBridge 161:aa5281ff4a02 139 P_33 = NC,
AnnaBridge 161:aa5281ff4a02 140 P_34 = NC,
AnnaBridge 161:aa5281ff4a02 141 P_35 = NC,
AnnaBridge 161:aa5281ff4a02 142 P_36 = NC,
AnnaBridge 161:aa5281ff4a02 143 P_37 = NC,
AnnaBridge 161:aa5281ff4a02 144 P_38 = PB_3,
AnnaBridge 161:aa5281ff4a02 145 P_39 = PA_13,
AnnaBridge 161:aa5281ff4a02 146 P_40 = PB_7,
AnnaBridge 161:aa5281ff4a02 147
AnnaBridge 161:aa5281ff4a02 148 // STDIO for console print
AnnaBridge 161:aa5281ff4a02 149 #ifdef MBED_CONF_TARGET_STDIO_UART_TX
AnnaBridge 161:aa5281ff4a02 150 STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
AnnaBridge 161:aa5281ff4a02 151 #elif MBED_CONF_TARGET_USB_TX
AnnaBridge 161:aa5281ff4a02 152 STDIO_UART_TX = MBED_CONF_TARGET_USB_TX,
AnnaBridge 161:aa5281ff4a02 153 #else
AnnaBridge 161:aa5281ff4a02 154 STDIO_UART_TX = PB_6,
AnnaBridge 161:aa5281ff4a02 155 #endif
AnnaBridge 161:aa5281ff4a02 156
AnnaBridge 161:aa5281ff4a02 157 #ifdef MBED_CONF_TARGET_STDIO_UART_RX
AnnaBridge 161:aa5281ff4a02 158 STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
AnnaBridge 161:aa5281ff4a02 159 #elif MBED_CONF_TARGET_USB_RX
AnnaBridge 161:aa5281ff4a02 160 STDIO_UART_TX = MBED_CONF_TARGET_USB_RX,
AnnaBridge 161:aa5281ff4a02 161 #else
AnnaBridge 161:aa5281ff4a02 162 STDIO_UART_RX = PB_7,
AnnaBridge 161:aa5281ff4a02 163 #endif
AnnaBridge 161:aa5281ff4a02 164
AnnaBridge 161:aa5281ff4a02 165 //DAPLink
AnnaBridge 161:aa5281ff4a02 166 USBTX = STDIO_UART_TX,
AnnaBridge 161:aa5281ff4a02 167 USBRX = STDIO_UART_RX,
AnnaBridge 161:aa5281ff4a02 168 SWDIO = PA_13,
AnnaBridge 161:aa5281ff4a02 169 SWCLK = PA_14,
AnnaBridge 161:aa5281ff4a02 170
AnnaBridge 161:aa5281ff4a02 171 I2C1_SCL = PB_8,
AnnaBridge 170:e95d10626187 172 I2C1_SDA = PB_9,
AnnaBridge 161:aa5281ff4a02 173 I2C3_SCL = PA_8,
AnnaBridge 161:aa5281ff4a02 174 I2C3_SDA = PC_9,
AnnaBridge 161:aa5281ff4a02 175
AnnaBridge 161:aa5281ff4a02 176 I2C_SCL = I2C1_SCL,
AnnaBridge 161:aa5281ff4a02 177 I2C_SDA = I2C1_SDA,
AnnaBridge 161:aa5281ff4a02 178
AnnaBridge 161:aa5281ff4a02 179 SPI1_MOSI = PB_5,
AnnaBridge 161:aa5281ff4a02 180 SPI1_MISO = PA_6,
AnnaBridge 161:aa5281ff4a02 181 SPI1_SCK = PA_5,
AnnaBridge 161:aa5281ff4a02 182 SPI2_MOSI = PB_15,
AnnaBridge 161:aa5281ff4a02 183 SPI2_MISO = PC_2,
AnnaBridge 161:aa5281ff4a02 184 SPI2_SCK = PB_13,
AnnaBridge 161:aa5281ff4a02 185
AnnaBridge 161:aa5281ff4a02 186 SPI_MOSI = SPI1_MOSI,
AnnaBridge 161:aa5281ff4a02 187 SPI_MISO = SPI1_MISO,
AnnaBridge 161:aa5281ff4a02 188 SPI_SCK = SPI1_SCK,
AnnaBridge 161:aa5281ff4a02 189 SPI_CS1 = PA_3, //LCD CS
AnnaBridge 161:aa5281ff4a02 190 SPI_CS2 = PA_15, //SD Card CS
AnnaBridge 161:aa5281ff4a02 191
AnnaBridge 161:aa5281ff4a02 192 SERIAL_TX = PA_2,
AnnaBridge 161:aa5281ff4a02 193 SERIAL_RX = PA_3,
AnnaBridge 161:aa5281ff4a02 194 SERIAL_RTS = PA_0,
AnnaBridge 161:aa5281ff4a02 195 SERIAL_CTS = PA_1,
AnnaBridge 161:aa5281ff4a02 196 SERIAL_DCD = PA_7,
AnnaBridge 161:aa5281ff4a02 197 SERIAL_DSR = PA_9,
AnnaBridge 161:aa5281ff4a02 198 SERIAL_DTR = PA_8,
AnnaBridge 161:aa5281ff4a02 199 SERIAL_RI = PB_1,
AnnaBridge 161:aa5281ff4a02 200
AnnaBridge 161:aa5281ff4a02 201 WAKEUP = PA_0,
AnnaBridge 161:aa5281ff4a02 202
AnnaBridge 161:aa5281ff4a02 203 // Generic signals namings
AnnaBridge 161:aa5281ff4a02 204 LED1 = PA_7,
AnnaBridge 161:aa5281ff4a02 205 LED2 = PC_4,
AnnaBridge 161:aa5281ff4a02 206 LED3 = PB_13, //MTB mapped to LINK_STATUS pin on module.
AnnaBridge 161:aa5281ff4a02 207 SW1 = PB_4,
AnnaBridge 161:aa5281ff4a02 208 GPIO1 = PC_8,
AnnaBridge 161:aa5281ff4a02 209 GPIO3 = PB_1,
AnnaBridge 161:aa5281ff4a02 210 AIN0 = PB_0,
AnnaBridge 161:aa5281ff4a02 211 AIN1 = PC_0,
AnnaBridge 161:aa5281ff4a02 212 AIN2 = PC_1,
AnnaBridge 161:aa5281ff4a02 213
AnnaBridge 161:aa5281ff4a02 214 //Standardized button names
AnnaBridge 161:aa5281ff4a02 215 BUTTON1 = SW1,
AnnaBridge 161:aa5281ff4a02 216
AnnaBridge 161:aa5281ff4a02 217 RADIO_TX = PC_7,
AnnaBridge 161:aa5281ff4a02 218 RADIO_RX = PC_6,
AnnaBridge 161:aa5281ff4a02 219 RADIO_RTS = PB_10,
AnnaBridge 161:aa5281ff4a02 220 RADIO_CTS = PB_12,
AnnaBridge 161:aa5281ff4a02 221 RADIO_DCD = NC,
AnnaBridge 161:aa5281ff4a02 222 RADIO_DSR = NC,
AnnaBridge 161:aa5281ff4a02 223 RADIO_DTR = NC,
AnnaBridge 161:aa5281ff4a02 224 RADIO_RI = NC,
AnnaBridge 161:aa5281ff4a02 225 MDMPWRON = PC_13, // 3G_ONOFF DragonFly Design Guide, Page No. 16
AnnaBridge 161:aa5281ff4a02 226 MDMTXD = RADIO_TX, // Transmit Data
AnnaBridge 161:aa5281ff4a02 227 MDMRXD = RADIO_RX, // Receive Data
AnnaBridge 161:aa5281ff4a02 228 MDMRTS = RADIO_RTS, // Request to Send
AnnaBridge 161:aa5281ff4a02 229 MDMCTS = RADIO_CTS, // Clear to Send
AnnaBridge 161:aa5281ff4a02 230 MDMDCD = RADIO_DCD, // Data Carrier Detect
AnnaBridge 161:aa5281ff4a02 231 MDMDSR = RADIO_DSR, // Data Set Ready
AnnaBridge 161:aa5281ff4a02 232 MDMDTR = RADIO_DTR, // Data Terminal Ready
AnnaBridge 161:aa5281ff4a02 233 MDMRI = RADIO_RI, // Ring Indicator
AnnaBridge 161:aa5281ff4a02 234
AnnaBridge 161:aa5281ff4a02 235 } PinName;
AnnaBridge 161:aa5281ff4a02 236
AnnaBridge 161:aa5281ff4a02 237 #define ACTIVE_HIGH_POLARITY 1
AnnaBridge 161:aa5281ff4a02 238 #define ACTIVE_LOW_POLARITY 0
AnnaBridge 161:aa5281ff4a02 239
AnnaBridge 161:aa5281ff4a02 240 #define MDM_PIN_POLARITY ACTIVE_HIGH_POLARITY
AnnaBridge 161:aa5281ff4a02 241
AnnaBridge 161:aa5281ff4a02 242
AnnaBridge 161:aa5281ff4a02 243 #ifdef __cplusplus
AnnaBridge 161:aa5281ff4a02 244 }
AnnaBridge 161:aa5281ff4a02 245 #endif
AnnaBridge 161:aa5281ff4a02 246
AnnaBridge 161:aa5281ff4a02 247 #endif