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:
188:bcfe06ba3d64
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 188:bcfe06ba3d64 1 /* mbed Microcontroller Library
AnnaBridge 188:bcfe06ba3d64 2 * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2018 All rights reserved
AnnaBridge 188:bcfe06ba3d64 3 *
AnnaBridge 188:bcfe06ba3d64 4 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 188:bcfe06ba3d64 5 * you may not use this file except in compliance with the License.
AnnaBridge 188:bcfe06ba3d64 6 * You may obtain a copy of the License at
AnnaBridge 188:bcfe06ba3d64 7 *
AnnaBridge 188:bcfe06ba3d64 8 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 188:bcfe06ba3d64 9 *
AnnaBridge 188:bcfe06ba3d64 10 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 188:bcfe06ba3d64 11 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 188:bcfe06ba3d64 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 188:bcfe06ba3d64 13 * See the License for the specific language governing permissions and
AnnaBridge 188:bcfe06ba3d64 14 * limitations under the License.
AnnaBridge 188:bcfe06ba3d64 15 */
AnnaBridge 188:bcfe06ba3d64 16 #ifndef MBED_PINNAMES_H
AnnaBridge 188:bcfe06ba3d64 17 #define MBED_PINNAMES_H
AnnaBridge 188:bcfe06ba3d64 18
AnnaBridge 188:bcfe06ba3d64 19 #include "cmsis.h"
AnnaBridge 188:bcfe06ba3d64 20
AnnaBridge 188:bcfe06ba3d64 21 #ifdef __cplusplus
AnnaBridge 188:bcfe06ba3d64 22 extern "C" {
AnnaBridge 188:bcfe06ba3d64 23 #endif
AnnaBridge 188:bcfe06ba3d64 24
AnnaBridge 188:bcfe06ba3d64 25 #define PIN_PORT(X) (((uint32_t)(X) >> 3) & 0xFF)
AnnaBridge 188:bcfe06ba3d64 26 #define PIN_POS(X) ((uint32_t)(X) & 0x7)
AnnaBridge 188:bcfe06ba3d64 27
AnnaBridge 188:bcfe06ba3d64 28 // Pin data, bit 31..16: Pin Function, bit 15..0: Pin Direction
AnnaBridge 188:bcfe06ba3d64 29 #define PIN_DATA(FUNC, DIR) (int)(((FUNC) << 16) | ((DIR) << 0))
AnnaBridge 188:bcfe06ba3d64 30 #define PIN_FUNC(X) (((X) & 0xffff0000) >> 16)
AnnaBridge 188:bcfe06ba3d64 31 #define PIN_DIR(X) ((X) & 0xffff)
AnnaBridge 188:bcfe06ba3d64 32
AnnaBridge 188:bcfe06ba3d64 33 typedef enum {
AnnaBridge 188:bcfe06ba3d64 34 PIN_INPUT,
AnnaBridge 188:bcfe06ba3d64 35 PIN_OUTPUT,
AnnaBridge 188:bcfe06ba3d64 36 PIN_INOUT
AnnaBridge 188:bcfe06ba3d64 37 } PinDirection;
AnnaBridge 188:bcfe06ba3d64 38
AnnaBridge 188:bcfe06ba3d64 39 typedef enum {
AnnaBridge 188:bcfe06ba3d64 40 // TMPM4G9 Pin Names
AnnaBridge 188:bcfe06ba3d64 41 PA0 = 0 << 3, PA1, PA2, PA3, PA4, PA5, PA6, PA7,
AnnaBridge 188:bcfe06ba3d64 42 PB0 = 1 << 3, PB1, PB2, PB3, PB4, PB5, PB6, PB7,
AnnaBridge 188:bcfe06ba3d64 43 PC0 = 2 << 3, PC1, PC2, PC3, PC4, PC5, PC6, PC7,
AnnaBridge 188:bcfe06ba3d64 44 PD0 = 3 << 3, PD1, PD2, PD3, PD4, PD5, PD6, PD7,
AnnaBridge 188:bcfe06ba3d64 45 PE0 = 4 << 3, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
AnnaBridge 188:bcfe06ba3d64 46 PF0 = 5 << 3, PF1, PF2, PF3, PF4, PF5, PF6, PF7,
AnnaBridge 188:bcfe06ba3d64 47 PG0 = 6 << 3, PG1, PG2, PG3, PG4, PG5, PG6, PG7,
AnnaBridge 188:bcfe06ba3d64 48 PH0 = 7 << 3, PH1, PH2, PH3, PH4, PH5, PH6, PH7,
AnnaBridge 188:bcfe06ba3d64 49 PJ0 = 8 << 3, PJ1, PJ2, PJ3, PJ4, PJ5, PJ6, PJ7,
AnnaBridge 188:bcfe06ba3d64 50 PK0 = 9 << 3, PK1, PK2, PK3, PK4, PK5, PK6, PK7,
AnnaBridge 188:bcfe06ba3d64 51 PL0 = 10 << 3, PL1, PL2, PL3, PL4, PL5, PL6, PL7,
AnnaBridge 188:bcfe06ba3d64 52 PM0 = 11 << 3, PM1, PM2, PM3, PM4, PM5, PM6, PM7,
AnnaBridge 188:bcfe06ba3d64 53 PN0 = 12 << 3, PN1, PN2, PN3, PN4, PN5, PN6, PN7,
AnnaBridge 188:bcfe06ba3d64 54 PP0 = 13 << 3, PP1, PP2, PP3, PP4, PP5, PP6, PP7,
AnnaBridge 188:bcfe06ba3d64 55 PR0 = 14 << 3, PR1, PR2, PR3, PR4, PR5, PR6, PR7,
AnnaBridge 188:bcfe06ba3d64 56 PT0 = 15 << 3, PT1, PT2, PT3, PT4, PT5,
AnnaBridge 188:bcfe06ba3d64 57 PU0 = 16 << 3, PU1, PU2, PU3, PU4, PU5, PU6, PU7,
AnnaBridge 188:bcfe06ba3d64 58 PV0 = 17 << 3, PV1, PV2, PV3, PV4, PV5, PV6, PV7,
AnnaBridge 188:bcfe06ba3d64 59 PW0 = 18 << 3, PW1, PW2, PW3, PW4, PW5, PW6, PW7,
AnnaBridge 188:bcfe06ba3d64 60 PY0 = 19 << 3, PY1, PY2, PY3, PY4,
AnnaBridge 188:bcfe06ba3d64 61
AnnaBridge 188:bcfe06ba3d64 62 // Other mbed Pin Names
AnnaBridge 188:bcfe06ba3d64 63 LED1 = PE4,
AnnaBridge 188:bcfe06ba3d64 64 LED2 = PE5,
AnnaBridge 188:bcfe06ba3d64 65 LED3 = PE6,
AnnaBridge 188:bcfe06ba3d64 66 LED4 = PE7,
AnnaBridge 188:bcfe06ba3d64 67
AnnaBridge 188:bcfe06ba3d64 68 // External data bus Pin Names
AnnaBridge 188:bcfe06ba3d64 69 D0 = PJ0,
AnnaBridge 188:bcfe06ba3d64 70 D1 = PJ1,
AnnaBridge 188:bcfe06ba3d64 71 D2 = PF4,
AnnaBridge 188:bcfe06ba3d64 72 D3 = PB2,
AnnaBridge 188:bcfe06ba3d64 73 D4 = PF5,
AnnaBridge 188:bcfe06ba3d64 74 D5 = PB4,
AnnaBridge 188:bcfe06ba3d64 75 D6 = PC2,
AnnaBridge 188:bcfe06ba3d64 76 D7 = PF6,
AnnaBridge 188:bcfe06ba3d64 77 D8 = PA4,
AnnaBridge 188:bcfe06ba3d64 78 D9 = PC4,
AnnaBridge 188:bcfe06ba3d64 79 D10 = PA0,
AnnaBridge 188:bcfe06ba3d64 80 D11 = PA3,
AnnaBridge 188:bcfe06ba3d64 81 D12 = PA2,
AnnaBridge 188:bcfe06ba3d64 82 D13 = PA1,
AnnaBridge 188:bcfe06ba3d64 83 D14 = PG2,
AnnaBridge 188:bcfe06ba3d64 84 D15 = PG3,
AnnaBridge 188:bcfe06ba3d64 85
AnnaBridge 188:bcfe06ba3d64 86 // Analogue in pins
AnnaBridge 188:bcfe06ba3d64 87 A0 = PN0,
AnnaBridge 188:bcfe06ba3d64 88 A1 = PN1,
AnnaBridge 188:bcfe06ba3d64 89 A2 = PN2,
AnnaBridge 188:bcfe06ba3d64 90 A3 = PN3,
AnnaBridge 188:bcfe06ba3d64 91 A4 = PN4,
AnnaBridge 188:bcfe06ba3d64 92 A5 = PN5,
AnnaBridge 188:bcfe06ba3d64 93
AnnaBridge 188:bcfe06ba3d64 94 // USB2_UART
AnnaBridge 188:bcfe06ba3d64 95 USBTX = PU0,
AnnaBridge 188:bcfe06ba3d64 96 USBRX = PU1,
AnnaBridge 188:bcfe06ba3d64 97 MBEDIF_TXD = USBTX,
AnnaBridge 188:bcfe06ba3d64 98 MBEDIF_RXD = USBRX,
AnnaBridge 188:bcfe06ba3d64 99
AnnaBridge 188:bcfe06ba3d64 100 MBED_CONF_APP_UART0_TX = PE3,
AnnaBridge 188:bcfe06ba3d64 101 MBED_CONF_APP_UART0_RX = PE2,
AnnaBridge 188:bcfe06ba3d64 102
AnnaBridge 188:bcfe06ba3d64 103 // Switches
AnnaBridge 188:bcfe06ba3d64 104 SW1 = PL4,
AnnaBridge 188:bcfe06ba3d64 105 SW2 = PL5,
AnnaBridge 188:bcfe06ba3d64 106 SW3 = PV0,
AnnaBridge 188:bcfe06ba3d64 107 SW4 = PV1,
AnnaBridge 188:bcfe06ba3d64 108
AnnaBridge 188:bcfe06ba3d64 109 // I2C pins
AnnaBridge 188:bcfe06ba3d64 110 SDA = PG2,
AnnaBridge 188:bcfe06ba3d64 111 SCL = PG3,
AnnaBridge 188:bcfe06ba3d64 112 I2C_SDA = SDA,
AnnaBridge 188:bcfe06ba3d64 113 I2C_SCL = SCL,
AnnaBridge 188:bcfe06ba3d64 114
AnnaBridge 188:bcfe06ba3d64 115 // Analogue out
AnnaBridge 188:bcfe06ba3d64 116 DAC0 = PT0,
AnnaBridge 188:bcfe06ba3d64 117 DAC1 = PT1,
AnnaBridge 188:bcfe06ba3d64 118
AnnaBridge 188:bcfe06ba3d64 119 // Not connected
AnnaBridge 188:bcfe06ba3d64 120 NC = (int)0xFFFFFFFF,
AnnaBridge 188:bcfe06ba3d64 121 } PinName;
AnnaBridge 188:bcfe06ba3d64 122
AnnaBridge 188:bcfe06ba3d64 123 typedef enum {
AnnaBridge 188:bcfe06ba3d64 124 PullUp = 0,
AnnaBridge 188:bcfe06ba3d64 125 PullDown,
AnnaBridge 188:bcfe06ba3d64 126 PullNone,
AnnaBridge 188:bcfe06ba3d64 127 OpenDrain,
AnnaBridge 188:bcfe06ba3d64 128 PullDefault = PullDown
AnnaBridge 188:bcfe06ba3d64 129 } PinMode;
AnnaBridge 188:bcfe06ba3d64 130
AnnaBridge 188:bcfe06ba3d64 131 #ifdef __cplusplus
AnnaBridge 188:bcfe06ba3d64 132 }
AnnaBridge 188:bcfe06ba3d64 133 #endif
AnnaBridge 188:bcfe06ba3d64 134
AnnaBridge 188:bcfe06ba3d64 135 #endif