mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

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

Committer:
mbed_official
Date:
Mon Jul 13 09:45:08 2015 +0100
Revision:
589:6c996abb70b0
Parent:
567:a97fd0eca828
Synchronized with git revision 3a12b5f998967abbcf8b2884bea8b85b61196753

Full URL: https://github.com/mbedmicro/mbed/commit/3a12b5f998967abbcf8b2884bea8b85b61196753/

I2C PeripheralPins bug fix.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 558:0880f51c4036 1 /* mbed Microcontroller Library
mbed_official 558:0880f51c4036 2 *******************************************************************************
mbed_official 558:0880f51c4036 3 * Copyright (c) 2015 WIZnet Co.,Ltd. All rights reserved.
mbed_official 558:0880f51c4036 4 * All rights reserved.
mbed_official 558:0880f51c4036 5 *
mbed_official 558:0880f51c4036 6 * Redistribution and use in source and binary forms, with or without
mbed_official 558:0880f51c4036 7 * modification, are permitted provided that the following conditions are met:
mbed_official 558:0880f51c4036 8 *
mbed_official 558:0880f51c4036 9 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 558:0880f51c4036 10 * this list of conditions and the following disclaimer.
mbed_official 558:0880f51c4036 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 558:0880f51c4036 12 * this list of conditions and the following disclaimer in the documentation
mbed_official 558:0880f51c4036 13 * and/or other materials provided with the distribution.
mbed_official 558:0880f51c4036 14 * 3. Neither the name of ARM Limited nor the names of its contributors
mbed_official 558:0880f51c4036 15 * may be used to endorse or promote products derived from this software
mbed_official 558:0880f51c4036 16 * without specific prior written permission.
mbed_official 558:0880f51c4036 17 *
mbed_official 558:0880f51c4036 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 558:0880f51c4036 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 558:0880f51c4036 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 558:0880f51c4036 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 558:0880f51c4036 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 558:0880f51c4036 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 558:0880f51c4036 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 558:0880f51c4036 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 558:0880f51c4036 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 558:0880f51c4036 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 558:0880f51c4036 28 *******************************************************************************
mbed_official 558:0880f51c4036 29 */
mbed_official 558:0880f51c4036 30
mbed_official 558:0880f51c4036 31 #ifndef MBED_PINNAMES_H
mbed_official 558:0880f51c4036 32 #define MBED_PINNAMES_H
mbed_official 558:0880f51c4036 33
mbed_official 558:0880f51c4036 34 #include "cmsis.h"
mbed_official 558:0880f51c4036 35
mbed_official 558:0880f51c4036 36 #ifdef __cplusplus
mbed_official 558:0880f51c4036 37 extern "C" {
mbed_official 558:0880f51c4036 38 #endif
mbed_official 558:0880f51c4036 39
mbed_official 558:0880f51c4036 40
mbed_official 558:0880f51c4036 41 // See W7500x_hal_gpio.h for values of MODE, PUPD and AFNUM
mbed_official 567:a97fd0eca828 42 #define WIZ_PIN_DATA(MODE, PUPD, AFNUM) ((int)(((MODE) << 8) | ((PUPD) << 4) | ((AFNUM) << 0)))
mbed_official 558:0880f51c4036 43 #define WIZ_PIN_PUPD(X) (((X) >> 4) & 0x0F)
mbed_official 567:a97fd0eca828 44 #define WIZ_PIN_AFNUM(X) (((X) >> 0) & 0x0F)
mbed_official 567:a97fd0eca828 45 #define WIZ_PIN_MODE(X) (((X) >> 8) & 0x0F)
mbed_official 558:0880f51c4036 46 #define WIZ_MODE_INPUT (0)
mbed_official 558:0880f51c4036 47 #define WIZ_MODE_OUTPUT (1)
mbed_official 558:0880f51c4036 48 #define WIZ_MODE_AF (2)
mbed_official 558:0880f51c4036 49
mbed_official 558:0880f51c4036 50 #define WIZ_GPIO_NOPULL (0) /*!< No Pull-up or Pull-down activation */
mbed_official 558:0880f51c4036 51 #define WIZ_GPIO_PULLDOWN (1) /*!< Pull-down activation */
mbed_official 558:0880f51c4036 52 #define WIZ_GPIO_PULLUP (2) /*!< Pull-up activation */
mbed_official 558:0880f51c4036 53 #define WIZ_GPIO_OPEN_DRAIN (3) /*!< Open Drain activation */
mbed_official 558:0880f51c4036 54
mbed_official 558:0880f51c4036 55
mbed_official 558:0880f51c4036 56 #define WIZ_PORT(X) (((uint32_t)(X) >> 4) & 0xF) // port number (0=A, 1=B, 2=C, 3=D)
mbed_official 567:a97fd0eca828 57 #define WIZ_PIN_NUM(X) ((uint32_t)(X) & 0xF) // pin number
mbed_official 567:a97fd0eca828 58 #define WIZ_PIN_INDEX(X) (1 << ((uint32_t)(X) & 0xF)) // pin index : flag bit
mbed_official 558:0880f51c4036 59
mbed_official 558:0880f51c4036 60
mbed_official 558:0880f51c4036 61 typedef enum {
mbed_official 558:0880f51c4036 62 PIN_INPUT,
mbed_official 558:0880f51c4036 63 PIN_OUTPUT
mbed_official 558:0880f51c4036 64 } PinDirection;
mbed_official 558:0880f51c4036 65
mbed_official 558:0880f51c4036 66
mbed_official 558:0880f51c4036 67 typedef enum {
mbed_official 567:a97fd0eca828 68 // W7500x PORT[5:4] + PIN[3:0])
mbed_official 558:0880f51c4036 69 PA_0 = 0x000,
mbed_official 558:0880f51c4036 70 PA_1 = 0x001,
mbed_official 558:0880f51c4036 71 PA_2 = 0x002,
mbed_official 558:0880f51c4036 72 PA_3 = 0x003,
mbed_official 558:0880f51c4036 73 PA_4 = 0x004,
mbed_official 558:0880f51c4036 74 PA_5 = 0x005,
mbed_official 558:0880f51c4036 75 PA_6 = 0x006,
mbed_official 558:0880f51c4036 76 PA_7 = 0x007,
mbed_official 558:0880f51c4036 77 PA_8 = 0x008,
mbed_official 558:0880f51c4036 78 PA_9 = 0x009,
mbed_official 558:0880f51c4036 79 PA_10 = 0x00A,
mbed_official 558:0880f51c4036 80 PA_11 = 0x00B,
mbed_official 558:0880f51c4036 81 PA_12 = 0x00C,
mbed_official 558:0880f51c4036 82 PA_13 = 0x00D,
mbed_official 558:0880f51c4036 83 PA_14 = 0x00E,
mbed_official 558:0880f51c4036 84 PA_15 = 0x00F,
mbed_official 567:a97fd0eca828 85
mbed_official 589:6c996abb70b0 86 PB_0 = 0x010,
mbed_official 589:6c996abb70b0 87 PB_1 = 0x011,
mbed_official 589:6c996abb70b0 88 PB_2 = 0x012,
mbed_official 589:6c996abb70b0 89 PB_3 = 0x013,
mbed_official 558:0880f51c4036 90 PB_4 = 0x014,
mbed_official 558:0880f51c4036 91 PB_5 = 0x015,
mbed_official 558:0880f51c4036 92 PB_6 = 0x016,
mbed_official 558:0880f51c4036 93 PB_7 = 0x017,
mbed_official 558:0880f51c4036 94 PB_8 = 0x018,
mbed_official 558:0880f51c4036 95 PB_9 = 0x019,
mbed_official 558:0880f51c4036 96 PB_10 = 0x01A,
mbed_official 558:0880f51c4036 97 PB_11 = 0x01B,
mbed_official 558:0880f51c4036 98 PB_12 = 0x01C,
mbed_official 558:0880f51c4036 99 PB_13 = 0x01D,
mbed_official 558:0880f51c4036 100 PB_14 = 0x01E,
mbed_official 558:0880f51c4036 101 PB_15 = 0x01F,
mbed_official 567:a97fd0eca828 102
mbed_official 589:6c996abb70b0 103 PC_0 = 0x020,
mbed_official 589:6c996abb70b0 104 PC_1 = 0x021,
mbed_official 558:0880f51c4036 105 PC_2 = 0x022,
mbed_official 558:0880f51c4036 106 PC_3 = 0x023,
mbed_official 589:6c996abb70b0 107 PC_4 = 0x024,
mbed_official 558:0880f51c4036 108 PC_5 = 0x025,
mbed_official 558:0880f51c4036 109 PC_6 = 0x026,
mbed_official 558:0880f51c4036 110 PC_7 = 0x027,
mbed_official 589:6c996abb70b0 111 PC_8 = 0x028,
mbed_official 589:6c996abb70b0 112 PC_9 = 0x029,
mbed_official 567:a97fd0eca828 113
mbed_official 589:6c996abb70b0 114 PC_10 = 0x02A,
mbed_official 589:6c996abb70b0 115 PC_11 = 0x02B,
mbed_official 589:6c996abb70b0 116 PC_12 = 0x02C,
mbed_official 589:6c996abb70b0 117 PC_13 = 0x02D,
mbed_official 589:6c996abb70b0 118 PC_14 = 0x02E,
mbed_official 589:6c996abb70b0 119 PC_15 = 0x02F,
mbed_official 567:a97fd0eca828 120
mbed_official 558:0880f51c4036 121 PD_0 = 0x030,
mbed_official 558:0880f51c4036 122 PD_1 = 0x031,
mbed_official 558:0880f51c4036 123 PD_2 = 0x032,
mbed_official 558:0880f51c4036 124 PD_3 = 0x033,
mbed_official 558:0880f51c4036 125 PD_4 = 0x034,
mbed_official 558:0880f51c4036 126
mbed_official 589:6c996abb70b0 127 PA_00 = PA_0,
mbed_official 589:6c996abb70b0 128 PA_01 = PA_1,
mbed_official 589:6c996abb70b0 129 PA_02 = PA_2,
mbed_official 589:6c996abb70b0 130 PA_03 = PA_3,
mbed_official 589:6c996abb70b0 131 PA_04 = PA_4,
mbed_official 589:6c996abb70b0 132 PA_05 = PA_5,
mbed_official 589:6c996abb70b0 133 PA_06 = PA_6,
mbed_official 589:6c996abb70b0 134 PA_07 = PA_7,
mbed_official 589:6c996abb70b0 135 PA_08 = PA_8,
mbed_official 589:6c996abb70b0 136 PA_09 = PA_9,
mbed_official 558:0880f51c4036 137
mbed_official 589:6c996abb70b0 138 PB_00 = PB_0,
mbed_official 589:6c996abb70b0 139 PB_01 = PB_1,
mbed_official 589:6c996abb70b0 140 PB_02 = PB_2,
mbed_official 589:6c996abb70b0 141 PB_03 = PB_3,
mbed_official 589:6c996abb70b0 142 PB_04 = PB_4,
mbed_official 589:6c996abb70b0 143 PB_05 = PB_5,
mbed_official 589:6c996abb70b0 144 PB_06 = PB_6,
mbed_official 589:6c996abb70b0 145 PB_07 = PB_7,
mbed_official 589:6c996abb70b0 146 PB_08 = PB_8,
mbed_official 589:6c996abb70b0 147 PB_09 = PB_9,
mbed_official 589:6c996abb70b0 148
mbed_official 589:6c996abb70b0 149 PC_00 = PC_0,
mbed_official 589:6c996abb70b0 150 PC_01 = PC_1,
mbed_official 589:6c996abb70b0 151 PC_02 = PC_2,
mbed_official 589:6c996abb70b0 152 PC_03 = PC_3,
mbed_official 589:6c996abb70b0 153 PC_04 = PC_4,
mbed_official 589:6c996abb70b0 154 PC_05 = PC_5,
mbed_official 589:6c996abb70b0 155 PC_06 = PC_6,
mbed_official 589:6c996abb70b0 156 PC_07 = PC_7,
mbed_official 589:6c996abb70b0 157 PC_08 = PC_8,
mbed_official 589:6c996abb70b0 158 PC_09 = PC_9,
mbed_official 589:6c996abb70b0 159
mbed_official 589:6c996abb70b0 160 PD_00 = PD_0,
mbed_official 589:6c996abb70b0 161 PD_01 = PD_1,
mbed_official 589:6c996abb70b0 162 PD_02 = PD_2,
mbed_official 589:6c996abb70b0 163 PD_03 = PD_3,
mbed_official 589:6c996abb70b0 164 PD_04 = PD_4,
mbed_official 589:6c996abb70b0 165
mbed_official 558:0880f51c4036 166 // Arduino connector namings
mbed_official 589:6c996abb70b0 167 A0 = PC_15, // AIN0
mbed_official 589:6c996abb70b0 168 A1 = PC_14, // AIN1
mbed_official 589:6c996abb70b0 169 A2 = PC_13, // AIN2
mbed_official 589:6c996abb70b0 170 A3 = PC_12, // AIN3
mbed_official 589:6c996abb70b0 171 A4 = PC_11, // AIN4
mbed_official 589:6c996abb70b0 172 A5 = PC_10, // AIN5
mbed_official 589:6c996abb70b0 173 A6 = PC_9, // AIN6
mbed_official 589:6c996abb70b0 174 A7 = PC_8, // AIN7
mbed_official 589:6c996abb70b0 175 D0 = PA_14,
mbed_official 589:6c996abb70b0 176 D1 = PA_13,
mbed_official 589:6c996abb70b0 177 D2 = PC_1,
mbed_official 589:6c996abb70b0 178 D3 = PC_0,
mbed_official 589:6c996abb70b0 179 D4 = PA_2,
mbed_official 589:6c996abb70b0 180 D5 = PA_1,
mbed_official 589:6c996abb70b0 181 D6 = PA_0,
mbed_official 589:6c996abb70b0 182 D7 = PC_6,
mbed_official 589:6c996abb70b0 183 D8 = PC_7,
mbed_official 589:6c996abb70b0 184 D9 = PC_4,
mbed_official 589:6c996abb70b0 185 D10 = PA_5,
mbed_official 589:6c996abb70b0 186 D11 = PA_8,
mbed_official 589:6c996abb70b0 187 D12 = PA_7,
mbed_official 589:6c996abb70b0 188 D13 = PA_6,
mbed_official 589:6c996abb70b0 189 D14 = PA_10,
mbed_official 589:6c996abb70b0 190 D15 = PA_9,
mbed_official 558:0880f51c4036 191
mbed_official 558:0880f51c4036 192 // Generic signals namings
mbed_official 589:6c996abb70b0 193 LED_RED = PC_8,
mbed_official 589:6c996abb70b0 194 LED_GREEN = PC_9,
mbed_official 589:6c996abb70b0 195 LED_BLUE = PC_5,
mbed_official 558:0880f51c4036 196
mbed_official 558:0880f51c4036 197 LED1 = LED_RED,
mbed_official 558:0880f51c4036 198 LED2 = LED_GREEN,
mbed_official 558:0880f51c4036 199 LED3 = LED_BLUE,
mbed_official 558:0880f51c4036 200 LED4 = LED_BLUE,
mbed_official 558:0880f51c4036 201
mbed_official 589:6c996abb70b0 202 LEDR = LED_RED,
mbed_official 589:6c996abb70b0 203 LEDG = LED_GREEN,
mbed_official 589:6c996abb70b0 204 LEDB = LED_BLUE,
mbed_official 589:6c996abb70b0 205
mbed_official 589:6c996abb70b0 206 USBTX = PC_2,
mbed_official 589:6c996abb70b0 207 USBRX = PC_3,
mbed_official 589:6c996abb70b0 208
mbed_official 589:6c996abb70b0 209 //Use SPI1
mbed_official 589:6c996abb70b0 210 SD_SEL = PB_0, // SPI1_CS
mbed_official 589:6c996abb70b0 211 SD_CLK = PB_1, // SPI1_CLK
mbed_official 558:0880f51c4036 212 SD_MISO = PB_2, // MOSI1
mbed_official 558:0880f51c4036 213 SD_MOSI = PB_3, // MISO1
mbed_official 558:0880f51c4036 214
mbed_official 558:0880f51c4036 215 // Not connected
mbed_official 558:0880f51c4036 216 NC = (int)0xFFFFFFFF
mbed_official 558:0880f51c4036 217 } PinName;
mbed_official 558:0880f51c4036 218
mbed_official 558:0880f51c4036 219 typedef enum {
mbed_official 558:0880f51c4036 220 PullNone = 0,
mbed_official 558:0880f51c4036 221 PullDown = 1,
mbed_official 558:0880f51c4036 222 PullUp = 2,
mbed_official 558:0880f51c4036 223 PullDefault = PullNone
mbed_official 558:0880f51c4036 224 } PinMode;
mbed_official 558:0880f51c4036 225
mbed_official 558:0880f51c4036 226
mbed_official 558:0880f51c4036 227 #ifdef __cplusplus
mbed_official 558:0880f51c4036 228 }
mbed_official 558:0880f51c4036 229 #endif
mbed_official 558:0880f51c4036 230
mbed_official 558:0880f51c4036 231 #endif