From bbc microbit library

Dependents:   microbit-dal

Fork of mbed-dev-bin by Lancaster University

Committer:
euxton
Date:
Thu Jan 11 21:18:19 2018 +0000
Revision:
4:4a743b1a8b47
Parent:
0:e1a608bb55e8
microbit library commits required

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jamesadevine 0:e1a608bb55e8 1 /* mbed Microcontroller Library
jamesadevine 0:e1a608bb55e8 2 * Copyright (c) 2013 Nordic Semiconductor
jamesadevine 0:e1a608bb55e8 3 *
jamesadevine 0:e1a608bb55e8 4 * Licensed under the Apache License, Version 2.0 (the "License");
jamesadevine 0:e1a608bb55e8 5 * you may not use this file except in compliance with the License.
jamesadevine 0:e1a608bb55e8 6 * You may obtain a copy of the License at
jamesadevine 0:e1a608bb55e8 7 *
jamesadevine 0:e1a608bb55e8 8 * http://www.apache.org/licenses/LICENSE-2.0
jamesadevine 0:e1a608bb55e8 9 *
jamesadevine 0:e1a608bb55e8 10 * Unless required by applicable law or agreed to in writing, software
jamesadevine 0:e1a608bb55e8 11 * distributed under the License is distributed on an "AS IS" BASIS,
jamesadevine 0:e1a608bb55e8 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
jamesadevine 0:e1a608bb55e8 13 * See the License for the specific language governing permissions and
jamesadevine 0:e1a608bb55e8 14 * limitations under the License.
jamesadevine 0:e1a608bb55e8 15 */
jamesadevine 0:e1a608bb55e8 16 #ifndef MBED_PINNAMES_H
jamesadevine 0:e1a608bb55e8 17 #define MBED_PINNAMES_H
jamesadevine 0:e1a608bb55e8 18
jamesadevine 0:e1a608bb55e8 19 #include "cmsis.h"
jamesadevine 0:e1a608bb55e8 20
jamesadevine 0:e1a608bb55e8 21 #ifdef __cplusplus
jamesadevine 0:e1a608bb55e8 22 extern "C" {
jamesadevine 0:e1a608bb55e8 23 #endif
jamesadevine 0:e1a608bb55e8 24
jamesadevine 0:e1a608bb55e8 25 typedef enum {
jamesadevine 0:e1a608bb55e8 26 PIN_INPUT,
jamesadevine 0:e1a608bb55e8 27 PIN_OUTPUT
jamesadevine 0:e1a608bb55e8 28 } PinDirection;
jamesadevine 0:e1a608bb55e8 29
jamesadevine 0:e1a608bb55e8 30 #define PORT_SHIFT 3
jamesadevine 0:e1a608bb55e8 31
jamesadevine 0:e1a608bb55e8 32 typedef enum {
jamesadevine 0:e1a608bb55e8 33 p0 = 0,
jamesadevine 0:e1a608bb55e8 34 p1 = 1,
jamesadevine 0:e1a608bb55e8 35 p2 = 2,
jamesadevine 0:e1a608bb55e8 36 p3 = 3,
jamesadevine 0:e1a608bb55e8 37 p4 = 4,
jamesadevine 0:e1a608bb55e8 38 p5 = 5,
jamesadevine 0:e1a608bb55e8 39 p6 = 6,
jamesadevine 0:e1a608bb55e8 40 p7 = 7,
jamesadevine 0:e1a608bb55e8 41 p8 = 8,
jamesadevine 0:e1a608bb55e8 42 p9 = 9,
jamesadevine 0:e1a608bb55e8 43 p10 = 10,
jamesadevine 0:e1a608bb55e8 44 p11 = 11,
jamesadevine 0:e1a608bb55e8 45 p12 = 12,
jamesadevine 0:e1a608bb55e8 46 p13 = 13,
jamesadevine 0:e1a608bb55e8 47 p14 = 14,
jamesadevine 0:e1a608bb55e8 48 p15 = 15,
jamesadevine 0:e1a608bb55e8 49 p16 = 16,
jamesadevine 0:e1a608bb55e8 50 p17 = 17,
jamesadevine 0:e1a608bb55e8 51 p18 = 18,
jamesadevine 0:e1a608bb55e8 52 p19 = 19,
jamesadevine 0:e1a608bb55e8 53 p20 = 20,
jamesadevine 0:e1a608bb55e8 54 p21 = 21,
jamesadevine 0:e1a608bb55e8 55 p22 = 22,
jamesadevine 0:e1a608bb55e8 56 p23 = 23,
jamesadevine 0:e1a608bb55e8 57 p24 = 24,
jamesadevine 0:e1a608bb55e8 58 p25 = 25,
jamesadevine 0:e1a608bb55e8 59 p26 = 26,
jamesadevine 0:e1a608bb55e8 60 p27 = 27,
jamesadevine 0:e1a608bb55e8 61 p28 = 28,
jamesadevine 0:e1a608bb55e8 62 p29 = 29,
jamesadevine 0:e1a608bb55e8 63 p30 = 30,
jamesadevine 0:e1a608bb55e8 64
jamesadevine 0:e1a608bb55e8 65 //NORMAL PINS...
jamesadevine 0:e1a608bb55e8 66 P0_0 = p0,
jamesadevine 0:e1a608bb55e8 67 P0_1 = p1,
jamesadevine 0:e1a608bb55e8 68 P0_2 = p2,
jamesadevine 0:e1a608bb55e8 69 P0_3 = p3,
jamesadevine 0:e1a608bb55e8 70 P0_4 = p4,
jamesadevine 0:e1a608bb55e8 71 P0_5 = p5,
jamesadevine 0:e1a608bb55e8 72 P0_6 = p6,
jamesadevine 0:e1a608bb55e8 73 P0_7 = p7,
jamesadevine 0:e1a608bb55e8 74
jamesadevine 0:e1a608bb55e8 75 P0_8 = p8,
jamesadevine 0:e1a608bb55e8 76 P0_9 = p9,
jamesadevine 0:e1a608bb55e8 77 P0_10 = p10,
jamesadevine 0:e1a608bb55e8 78 P0_11 = p11,
jamesadevine 0:e1a608bb55e8 79 P0_12 = p12,
jamesadevine 0:e1a608bb55e8 80 P0_13 = p13,
jamesadevine 0:e1a608bb55e8 81 P0_14 = p14,
jamesadevine 0:e1a608bb55e8 82 P0_15 = p15,
jamesadevine 0:e1a608bb55e8 83
jamesadevine 0:e1a608bb55e8 84 P0_16 = p16,
jamesadevine 0:e1a608bb55e8 85 P0_17 = p17,
jamesadevine 0:e1a608bb55e8 86 P0_18 = p18,
jamesadevine 0:e1a608bb55e8 87 P0_19 = p19,
jamesadevine 0:e1a608bb55e8 88 P0_20 = p20,
jamesadevine 0:e1a608bb55e8 89 P0_21 = p21,
jamesadevine 0:e1a608bb55e8 90 P0_22 = p22,
jamesadevine 0:e1a608bb55e8 91 P0_23 = p23,
jamesadevine 0:e1a608bb55e8 92
jamesadevine 0:e1a608bb55e8 93 P0_24 = p24,
jamesadevine 0:e1a608bb55e8 94 P0_25 = p25,
jamesadevine 0:e1a608bb55e8 95 P0_26 = p26,
jamesadevine 0:e1a608bb55e8 96 P0_27 = p27,
jamesadevine 0:e1a608bb55e8 97 P0_28 = p28,
jamesadevine 0:e1a608bb55e8 98 P0_29 = p29,
jamesadevine 0:e1a608bb55e8 99 P0_30 = p30,
jamesadevine 0:e1a608bb55e8 100
jamesadevine 0:e1a608bb55e8 101 //PADS
jamesadevine 0:e1a608bb55e8 102 PAD3 = p1,
jamesadevine 0:e1a608bb55e8 103 PAD2 = p2,
jamesadevine 0:e1a608bb55e8 104 PAD1 = p3,
jamesadevine 0:e1a608bb55e8 105
jamesadevine 0:e1a608bb55e8 106
jamesadevine 0:e1a608bb55e8 107 //LED MATRIX COLS
jamesadevine 0:e1a608bb55e8 108 COL1 = p4,
jamesadevine 0:e1a608bb55e8 109 COL2 = p5,
jamesadevine 0:e1a608bb55e8 110 COL3 = p6,
jamesadevine 0:e1a608bb55e8 111 COL4 = p7,
jamesadevine 0:e1a608bb55e8 112 COL5 = p8,
jamesadevine 0:e1a608bb55e8 113 COL6 = p9,
jamesadevine 0:e1a608bb55e8 114 COL7 = p10,
jamesadevine 0:e1a608bb55e8 115 COL8 = p11,
jamesadevine 0:e1a608bb55e8 116 COL9 = p12,
jamesadevine 0:e1a608bb55e8 117
jamesadevine 0:e1a608bb55e8 118 //LED MATRIX ROWS
jamesadevine 0:e1a608bb55e8 119 ROW1 = p13,
jamesadevine 0:e1a608bb55e8 120 ROW2 = p14,
jamesadevine 0:e1a608bb55e8 121 ROW3 = p15,
jamesadevine 0:e1a608bb55e8 122
jamesadevine 0:e1a608bb55e8 123 //NORMAL PIN (NO SPECIFIED FUNCTIONALITY)
jamesadevine 0:e1a608bb55e8 124 //PIN_16
jamesadevine 0:e1a608bb55e8 125
jamesadevine 0:e1a608bb55e8 126 // BUTTON A
jamesadevine 0:e1a608bb55e8 127 BUTTON_A = p17,
jamesadevine 0:e1a608bb55e8 128
jamesadevine 0:e1a608bb55e8 129
jamesadevine 0:e1a608bb55e8 130 //NORMAL PIN (NO SPECIFIED FUNCTIONALITY)
jamesadevine 0:e1a608bb55e8 131 //PIN_18
jamesadevine 0:e1a608bb55e8 132
jamesadevine 0:e1a608bb55e8 133 //TARGET RESET
jamesadevine 0:e1a608bb55e8 134 TGT_NRESET = p19,
jamesadevine 0:e1a608bb55e8 135
jamesadevine 0:e1a608bb55e8 136 //NORMAL PIN (NO SPECIFIED FUNCTIONALITY)
jamesadevine 0:e1a608bb55e8 137 //PIN_20
jamesadevine 0:e1a608bb55e8 138
jamesadevine 0:e1a608bb55e8 139 //MASTER OUT SLAVE IN
jamesadevine 0:e1a608bb55e8 140 MOSI = p21,
jamesadevine 0:e1a608bb55e8 141
jamesadevine 0:e1a608bb55e8 142 //MASTER IN SLAVE OUT
jamesadevine 0:e1a608bb55e8 143 MISO = p22,
jamesadevine 0:e1a608bb55e8 144
jamesadevine 0:e1a608bb55e8 145 //SERIAL CLOCK
jamesadevine 0:e1a608bb55e8 146 SCK = p23,
jamesadevine 0:e1a608bb55e8 147
jamesadevine 0:e1a608bb55e8 148 // RX AND TX PINS
jamesadevine 0:e1a608bb55e8 149 TGT_TX = p24,
jamesadevine 0:e1a608bb55e8 150 TGT_RX = p25,
jamesadevine 0:e1a608bb55e8 151
jamesadevine 0:e1a608bb55e8 152 //BUTTON B
jamesadevine 0:e1a608bb55e8 153 BUTTON_B = p26,
jamesadevine 0:e1a608bb55e8 154
jamesadevine 0:e1a608bb55e8 155 //ACCEL INTERRUPT PINS (MMA8653FC)
jamesadevine 0:e1a608bb55e8 156 ACCEL_INT2 = p27,
jamesadevine 0:e1a608bb55e8 157 ACCEL_INT1 = p28,
jamesadevine 0:e1a608bb55e8 158
jamesadevine 0:e1a608bb55e8 159 //MAGENETOMETER INTERRUPT PIN (MAG3110)
jamesadevine 0:e1a608bb55e8 160 MAG_INT1 = p29,
jamesadevine 0:e1a608bb55e8 161
jamesadevine 0:e1a608bb55e8 162 // Not connected
jamesadevine 0:e1a608bb55e8 163 NC = (int)0xFFFFFFFF,
jamesadevine 0:e1a608bb55e8 164
jamesadevine 0:e1a608bb55e8 165 RX_PIN_NUMBER = TGT_RX,
jamesadevine 0:e1a608bb55e8 166 TX_PIN_NUMBER = TGT_TX,
jamesadevine 0:e1a608bb55e8 167 CTS_PIN_NUMBER = 31, //unused ** REQUIRES A PROPER FIX **
jamesadevine 0:e1a608bb55e8 168 RTS_PIN_NUMBER = 31, //unused
jamesadevine 0:e1a608bb55e8 169
jamesadevine 0:e1a608bb55e8 170 // mBed interface Pins
jamesadevine 0:e1a608bb55e8 171 USBTX = TX_PIN_NUMBER,
jamesadevine 0:e1a608bb55e8 172 USBRX = RX_PIN_NUMBER,
jamesadevine 0:e1a608bb55e8 173
jamesadevine 0:e1a608bb55e8 174 LED1 = PAD1,
jamesadevine 0:e1a608bb55e8 175 LED2 = PAD2,
jamesadevine 0:e1a608bb55e8 176 LED3 = PAD3,
jamesadevine 0:e1a608bb55e8 177 LED4 = P0_16,
jamesadevine 0:e1a608bb55e8 178
jamesadevine 0:e1a608bb55e8 179 //SDA (SERIAL DATA LINE)
jamesadevine 0:e1a608bb55e8 180 I2C_SDA0 = p30,
jamesadevine 0:e1a608bb55e8 181
jamesadevine 0:e1a608bb55e8 182 //SCL (SERIAL CLOCK LINE)
jamesadevine 0:e1a608bb55e8 183 I2C_SCL0 = p0
jamesadevine 0:e1a608bb55e8 184
jamesadevine 0:e1a608bb55e8 185 } PinName;
jamesadevine 0:e1a608bb55e8 186
jamesadevine 0:e1a608bb55e8 187 typedef enum {
jamesadevine 0:e1a608bb55e8 188 PullNone = 0,
jamesadevine 0:e1a608bb55e8 189 PullDown = 1,
jamesadevine 0:e1a608bb55e8 190 PullUp = 3,
jamesadevine 0:e1a608bb55e8 191 PullDefault = PullUp
jamesadevine 0:e1a608bb55e8 192 } PinMode;
jamesadevine 0:e1a608bb55e8 193
jamesadevine 0:e1a608bb55e8 194 #ifdef __cplusplus
jamesadevine 0:e1a608bb55e8 195 }
jamesadevine 0:e1a608bb55e8 196 #endif
jamesadevine 0:e1a608bb55e8 197
jamesadevine 0:e1a608bb55e8 198 #endif