mbed official / mbed

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

Committer:
Anna Bridge
Date:
Wed Jan 17 16:13:02 2018 +0000
Revision:
160:5571c4ff569f
Parent:
156:ff21514d8981
mbed library. Release version 158

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 156:ff21514d8981 1 /***************************************************************************//**
AnnaBridge 156:ff21514d8981 2 * @file PinNames.h
AnnaBridge 156:ff21514d8981 3 *******************************************************************************
AnnaBridge 156:ff21514d8981 4 * @section License
AnnaBridge 156:ff21514d8981 5 * <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
AnnaBridge 156:ff21514d8981 6 *******************************************************************************
AnnaBridge 156:ff21514d8981 7 *
AnnaBridge 156:ff21514d8981 8 * SPDX-License-Identifier: Apache-2.0
AnnaBridge 156:ff21514d8981 9 *
AnnaBridge 156:ff21514d8981 10 * Licensed under the Apache License, Version 2.0 (the "License"); you may
AnnaBridge 156:ff21514d8981 11 * not use this file except in compliance with the License.
AnnaBridge 156:ff21514d8981 12 * You may obtain a copy of the License at
AnnaBridge 156:ff21514d8981 13 *
AnnaBridge 156:ff21514d8981 14 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 156:ff21514d8981 15 *
AnnaBridge 156:ff21514d8981 16 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 156:ff21514d8981 17 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
AnnaBridge 156:ff21514d8981 18 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 156:ff21514d8981 19 * See the License for the specific language governing permissions and
AnnaBridge 156:ff21514d8981 20 * limitations under the License.
AnnaBridge 156:ff21514d8981 21 *
AnnaBridge 156:ff21514d8981 22 ******************************************************************************/
AnnaBridge 156:ff21514d8981 23 #ifndef MBED_COMMONPINNAMES_H
AnnaBridge 156:ff21514d8981 24 #define MBED_COMMONPINNAMES_H
AnnaBridge 156:ff21514d8981 25
AnnaBridge 156:ff21514d8981 26 #include "em_gpio.h"
AnnaBridge 156:ff21514d8981 27
AnnaBridge 156:ff21514d8981 28 /* EFM32 Pin Names
AnnaBridge 156:ff21514d8981 29 * First 4 bits represent pin number, the remaining
AnnaBridge 156:ff21514d8981 30 * bits represent port number (A = 0, B = 1, ...)
AnnaBridge 156:ff21514d8981 31 */
AnnaBridge 156:ff21514d8981 32 #define EFM32_STANDARD_PIN_DEFINITIONS \
AnnaBridge 156:ff21514d8981 33 PA0 = 0 << 4, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15, \
AnnaBridge 156:ff21514d8981 34 PB0 = 1 << 4, PB1, PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15, \
AnnaBridge 156:ff21514d8981 35 PC0 = 2 << 4, PC1, PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, \
AnnaBridge 156:ff21514d8981 36 PD0 = 3 << 4, PD1, PD2, PD3, PD4, PD5, PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, \
AnnaBridge 156:ff21514d8981 37 PE0 = 4 << 4, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, \
AnnaBridge 156:ff21514d8981 38 PF0 = 5 << 4, PF1, PF2, PF3, PF4, PF5, PF6, PF7, PF8, PF9, PF10, PF11, PF12, PF13, PF14, PF15, \
AnnaBridge 156:ff21514d8981 39 PG0 = 6 << 4, PG1, PG2, PG3, PG4, PG5, PG6, PG7, PG8, PG9, PG10, PG11, PG12, PG13, PG14, PG15, \
AnnaBridge 156:ff21514d8981 40 PH0 = 7 << 4, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9, PH10, PH11, PH12, PH13, PH14, PH15, \
AnnaBridge 156:ff21514d8981 41 PI0 = 8 << 4, PI1, PI2, PI3, PI4, PI5, PI6, PI7, PI8, PI9, PI10, PI11, PI12, PI13, PI14, PI15, \
AnnaBridge 156:ff21514d8981 42 PJ0 = 9 << 4, PJ1, PJ2, PJ3, PJ4, PJ5, PJ6, PJ7, PJ8, PJ9, PJ10, PJ11, PJ12, PJ13, PJ14, PJ15, \
AnnaBridge 156:ff21514d8981 43 PK0 = 10 << 4, PK1, PK2, PK3, PK4, PK5, PK6, PK7, PK8, PK9, PK10, PK11, PK12, PK13, PK14, PK15, \
Anna Bridge 160:5571c4ff569f 44 NC = (unsigned int) 0xFFFFFFFFUL
AnnaBridge 156:ff21514d8981 45
AnnaBridge 156:ff21514d8981 46 #ifdef __cplusplus
AnnaBridge 156:ff21514d8981 47 extern "C" {
AnnaBridge 156:ff21514d8981 48 #endif
AnnaBridge 156:ff21514d8981 49
AnnaBridge 156:ff21514d8981 50 typedef enum {
AnnaBridge 156:ff21514d8981 51 PIN_INPUT = 0,
AnnaBridge 156:ff21514d8981 52 PIN_OUTPUT = 1
AnnaBridge 156:ff21514d8981 53 } PinDirection;
AnnaBridge 156:ff21514d8981 54
AnnaBridge 156:ff21514d8981 55 /* 0x10 represents setting the DOUT register (see efm32 modes in ref. manual) */
AnnaBridge 156:ff21514d8981 56 typedef enum {
AnnaBridge 156:ff21514d8981 57 /* EFM32 pin modes */
AnnaBridge 156:ff21514d8981 58 Disabled = gpioModeDisabled,
AnnaBridge 156:ff21514d8981 59 DisabledPullUp = gpioModeDisabled | 0x10,
AnnaBridge 156:ff21514d8981 60 Input = gpioModeInput,
AnnaBridge 156:ff21514d8981 61 InputFilter = gpioModeInput | 0x10,
AnnaBridge 156:ff21514d8981 62 InputPullDown = gpioModeInputPull,
AnnaBridge 156:ff21514d8981 63 InputPullUp = gpioModeInputPull | 0x10,
AnnaBridge 156:ff21514d8981 64 InputPullFilterDown = gpioModeInputPullFilter,
AnnaBridge 156:ff21514d8981 65 InputPullFilterUp = gpioModeInputPullFilter | 0x10,
AnnaBridge 156:ff21514d8981 66 PushPull = gpioModePushPull,
AnnaBridge 156:ff21514d8981 67 #if defined( _GPIO_P_MODEL_MODE0_PUSHPULLDRIVE )
AnnaBridge 156:ff21514d8981 68 PushPullDrive = gpioModePushPullDrive,
AnnaBridge 156:ff21514d8981 69 #endif
AnnaBridge 156:ff21514d8981 70 WiredOr = gpioModeWiredOr,
AnnaBridge 156:ff21514d8981 71 WiredOrPullDown = gpioModeWiredOrPullDown,
AnnaBridge 156:ff21514d8981 72 WiredAnd = gpioModeWiredAnd,
AnnaBridge 156:ff21514d8981 73 WiredAndFilter = gpioModeWiredAndFilter,
AnnaBridge 156:ff21514d8981 74 WiredAndPullUp = gpioModeWiredAndPullUp,
AnnaBridge 156:ff21514d8981 75 WiredAndPullUpFilter = gpioModeWiredAndPullUpFilter,
AnnaBridge 156:ff21514d8981 76 #if defined( _GPIO_P_MODEL_MODE0_WIREDANDDRIVE )
AnnaBridge 156:ff21514d8981 77 WiredAndDrive = gpioModeWiredAndDrive,
AnnaBridge 156:ff21514d8981 78 WiredAndDriveFilter = gpioModeWiredAndDriveFilter,
AnnaBridge 156:ff21514d8981 79 WiredAndDrivePullUp = gpioModeWiredAndDrivePullUp,
AnnaBridge 156:ff21514d8981 80 WiredAndDrivePullUpFilter = gpioModeWiredAndDrivePullUpFilter,
AnnaBridge 156:ff21514d8981 81 #endif
AnnaBridge 156:ff21514d8981 82
AnnaBridge 156:ff21514d8981 83 /* mbed modes:
AnnaBridge 156:ff21514d8981 84 * PullUp, PullDown, PullNone, OpenDrain
AnnaBridge 156:ff21514d8981 85 *
AnnaBridge 156:ff21514d8981 86 * mbed default digital input mode:
AnnaBridge 156:ff21514d8981 87 * PullDefault
AnnaBridge 156:ff21514d8981 88 *
AnnaBridge 156:ff21514d8981 89 * mbed default digital output mode:
AnnaBridge 156:ff21514d8981 90 * PullNone
AnnaBridge 156:ff21514d8981 91 */
AnnaBridge 156:ff21514d8981 92 PullUp = InputPullUp,
AnnaBridge 156:ff21514d8981 93 PullDown = InputPullDown,
AnnaBridge 156:ff21514d8981 94 OpenDrain = WiredAnd,
AnnaBridge 156:ff21514d8981 95 PullNone = PushPull,
AnnaBridge 156:ff21514d8981 96 PullDefault = PushPull
AnnaBridge 156:ff21514d8981 97 } PinMode;
AnnaBridge 156:ff21514d8981 98
AnnaBridge 156:ff21514d8981 99 #ifdef __cplusplus
AnnaBridge 156:ff21514d8981 100 }
AnnaBridge 156:ff21514d8981 101 #endif
AnnaBridge 156:ff21514d8981 102
AnnaBridge 156:ff21514d8981 103 #endif