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:
184:08ed48f1de7f
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 184:08ed48f1de7f 1 /* mbed Microcontroller Library
AnnaBridge 184:08ed48f1de7f 2 * Copyright (c) 2018 ARM Limited
AnnaBridge 184:08ed48f1de7f 3 *
AnnaBridge 184:08ed48f1de7f 4 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 184:08ed48f1de7f 5 * you may not use this file except in compliance with the License.
AnnaBridge 184:08ed48f1de7f 6 * You may obtain a copy of the License at
AnnaBridge 184:08ed48f1de7f 7 *
AnnaBridge 184:08ed48f1de7f 8 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 184:08ed48f1de7f 9 *
AnnaBridge 184:08ed48f1de7f 10 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 184:08ed48f1de7f 11 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 184:08ed48f1de7f 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 184:08ed48f1de7f 13 * See the License for the specific language governing permissions and
AnnaBridge 184:08ed48f1de7f 14 * limitations under the License.
AnnaBridge 184:08ed48f1de7f 15 */
AnnaBridge 184:08ed48f1de7f 16
AnnaBridge 184:08ed48f1de7f 17 #ifndef __MBED_GPIO_OBJECTS_H__
AnnaBridge 184:08ed48f1de7f 18 #define __MBED_GPIO_OBJECTS_H__
AnnaBridge 184:08ed48f1de7f 19
AnnaBridge 184:08ed48f1de7f 20 /*
AnnaBridge 184:08ed48f1de7f 21 * GPIO device number, there are 16 pins per GPIO
AnnaBridge 184:08ed48f1de7f 22 * equivalent: pin / 16
AnnaBridge 184:08ed48f1de7f 23 */
AnnaBridge 184:08ed48f1de7f 24 #define GPIO_DEV_NUMBER(pin) ((pin) >> 4)
AnnaBridge 184:08ed48f1de7f 25 /*
AnnaBridge 184:08ed48f1de7f 26 * Pin number of this pin inside its GPIO
AnnaBridge 184:08ed48f1de7f 27 * equivalent: pin % 16
AnnaBridge 184:08ed48f1de7f 28 */
AnnaBridge 184:08ed48f1de7f 29 #define GPIO_PIN_NUMBER(pin) ((pin) & 0xF)
AnnaBridge 184:08ed48f1de7f 30
AnnaBridge 184:08ed48f1de7f 31 /* Number of the GPIO device */
AnnaBridge 184:08ed48f1de7f 32 #define GPIO0_NUMBER 0
AnnaBridge 184:08ed48f1de7f 33 #define GPIO1_NUMBER 1
AnnaBridge 184:08ed48f1de7f 34 #define GPIO2_NUMBER 2
AnnaBridge 184:08ed48f1de7f 35 #define GPIO3_NUMBER 3
AnnaBridge 184:08ed48f1de7f 36
AnnaBridge 184:08ed48f1de7f 37 /* Base EXP pin number for the corresponding GPIO */
AnnaBridge 184:08ed48f1de7f 38 #define EXP_PIN_BASE0 EXP0
AnnaBridge 184:08ed48f1de7f 39 #define EXP_PIN_BASE1 EXP16
AnnaBridge 184:08ed48f1de7f 40 #define EXP_PIN_BASE2 EXP32
AnnaBridge 184:08ed48f1de7f 41 #define EXP_PIN_BASE3 EXP48
AnnaBridge 184:08ed48f1de7f 42
AnnaBridge 184:08ed48f1de7f 43 #define GPIO_DEVICES 4
AnnaBridge 184:08ed48f1de7f 44 #define PINS_PER_GPIO 16
AnnaBridge 184:08ed48f1de7f 45 /* Pins 4 to 15 of GPIO3 are not used */
AnnaBridge 184:08ed48f1de7f 46 #define PINS_NOT_USED 12
AnnaBridge 184:08ed48f1de7f 47 #define PINS_NUMBER (GPIO_DEVICES * PINS_PER_GPIO - PINS_NOT_USED)
AnnaBridge 184:08ed48f1de7f 48
AnnaBridge 184:08ed48f1de7f 49 /* GPIO3 port only uses first 4 pins */
AnnaBridge 184:08ed48f1de7f 50 #define GPIO3_PIN_NUMBER 4
AnnaBridge 184:08ed48f1de7f 51
AnnaBridge 184:08ed48f1de7f 52 /* When doing a port access, the pin number argument is useless */
AnnaBridge 184:08ed48f1de7f 53 #define ARG_NOT_USED 0
AnnaBridge 184:08ed48f1de7f 54
AnnaBridge 184:08ed48f1de7f 55 #endif /* __MBED_GPIO_OBJECTS_H__ */
AnnaBridge 184:08ed48f1de7f 56