EL4121 Embedded System / mbed-os

Dependents:   cobaLCDJoyMotor_Thread odometry_omni_3roda_v3 odometry_omni_3roda_v1 odometry_omni_3roda_v2 ... more

Committer:
be_bryan
Date:
Mon Dec 11 17:54:04 2017 +0000
Revision:
0:b74591d5ab33
motor ++

Who changed what in which revision?

UserRevisionLine numberNew contents of line
be_bryan 0:b74591d5ab33 1 /**
be_bryan 0:b74591d5ab33 2 ******************************************************************************
be_bryan 0:b74591d5ab33 3 * @file PinNames.h
be_bryan 0:b74591d5ab33 4 * @brief Implements common PIN names for peripherals.
be_bryan 0:b74591d5ab33 5 * @internal
be_bryan 0:b74591d5ab33 6 * @author ON Semiconductor
be_bryan 0:b74591d5ab33 7 * $Rev: 0.1 $
be_bryan 0:b74591d5ab33 8 * $Date: 2015-11-06 $
be_bryan 0:b74591d5ab33 9 ******************************************************************************
be_bryan 0:b74591d5ab33 10 * Copyright 2016 Semiconductor Components Industries LLC (d/b/a “ON Semiconductor”).
be_bryan 0:b74591d5ab33 11 * All rights reserved. This software and/or documentation is licensed by ON Semiconductor
be_bryan 0:b74591d5ab33 12 * under limited terms and conditions. The terms and conditions pertaining to the software
be_bryan 0:b74591d5ab33 13 * and/or documentation are available at http://www.onsemi.com/site/pdf/ONSEMI_T&C.pdf
be_bryan 0:b74591d5ab33 14 * (“ON Semiconductor Standard Terms and Conditions of Sale, Section 8 Software”) and
be_bryan 0:b74591d5ab33 15 * if applicable the software license agreement. Do not use this software and/or
be_bryan 0:b74591d5ab33 16 * documentation unless you have carefully read and you agree to the limited terms and
be_bryan 0:b74591d5ab33 17 * conditions. By using this software and/or documentation, you agree to the limited
be_bryan 0:b74591d5ab33 18 * terms and conditions.
be_bryan 0:b74591d5ab33 19 *
be_bryan 0:b74591d5ab33 20 * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
be_bryan 0:b74591d5ab33 21 * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
be_bryan 0:b74591d5ab33 22 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
be_bryan 0:b74591d5ab33 23 * ON SEMICONDUCTOR SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL,
be_bryan 0:b74591d5ab33 24 * INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
be_bryan 0:b74591d5ab33 25 * @endinternal
be_bryan 0:b74591d5ab33 26 *
be_bryan 0:b74591d5ab33 27 * @ingroup debug
be_bryan 0:b74591d5ab33 28 */
be_bryan 0:b74591d5ab33 29
be_bryan 0:b74591d5ab33 30
be_bryan 0:b74591d5ab33 31 #ifndef PINNAME_H_
be_bryan 0:b74591d5ab33 32 #define PINNAME_H_
be_bryan 0:b74591d5ab33 33
be_bryan 0:b74591d5ab33 34 #include "types.h"
be_bryan 0:b74591d5ab33 35 #ifdef __cplusplus
be_bryan 0:b74591d5ab33 36 extern "C" {
be_bryan 0:b74591d5ab33 37 #endif
be_bryan 0:b74591d5ab33 38
be_bryan 0:b74591d5ab33 39 typedef enum {
be_bryan 0:b74591d5ab33 40 NC = (int)0xFFFFFFFF,
be_bryan 0:b74591d5ab33 41 GPIO0 = 0,
be_bryan 0:b74591d5ab33 42 GPIO1,
be_bryan 0:b74591d5ab33 43 GPIO2,
be_bryan 0:b74591d5ab33 44 GPIO3,
be_bryan 0:b74591d5ab33 45 GPIO4,
be_bryan 0:b74591d5ab33 46 GPIO5,
be_bryan 0:b74591d5ab33 47 GPIO6,
be_bryan 0:b74591d5ab33 48 GPIO7,
be_bryan 0:b74591d5ab33 49 GPIO8,
be_bryan 0:b74591d5ab33 50 GPIO9,
be_bryan 0:b74591d5ab33 51 GPIO10,
be_bryan 0:b74591d5ab33 52 GPIO11,
be_bryan 0:b74591d5ab33 53 GPIO12,
be_bryan 0:b74591d5ab33 54 GPIO13,
be_bryan 0:b74591d5ab33 55 GPIO14,
be_bryan 0:b74591d5ab33 56 GPIO15,
be_bryan 0:b74591d5ab33 57 GPIO16,
be_bryan 0:b74591d5ab33 58 GPIO17,
be_bryan 0:b74591d5ab33 59 A0,
be_bryan 0:b74591d5ab33 60 A1,
be_bryan 0:b74591d5ab33 61 A2,
be_bryan 0:b74591d5ab33 62 A3,
be_bryan 0:b74591d5ab33 63 A4 = NC,
be_bryan 0:b74591d5ab33 64 A5 = NC,
be_bryan 0:b74591d5ab33 65 UART1_TX = GPIO0,
be_bryan 0:b74591d5ab33 66 UART1_RX = GPIO1,
be_bryan 0:b74591d5ab33 67 UART2_TX = GPIO8,
be_bryan 0:b74591d5ab33 68 UART2_RX = GPIO9,
be_bryan 0:b74591d5ab33 69
be_bryan 0:b74591d5ab33 70 I2C1_SCLK_1 = GPIO2,
be_bryan 0:b74591d5ab33 71 I2C1_SDATA_1 = GPIO3,
be_bryan 0:b74591d5ab33 72 I2C1_SCLK_2 = GPIO5,
be_bryan 0:b74591d5ab33 73 I2C1_SDATA_2 = GPIO4,
be_bryan 0:b74591d5ab33 74 I2C1_SCLK = I2C1_SCLK_1, /*Default*/
be_bryan 0:b74591d5ab33 75 I2C1_SDATA = I2C1_SDATA_1, /*Default*/
be_bryan 0:b74591d5ab33 76
be_bryan 0:b74591d5ab33 77 I2C2_SCLK_1 = GPIO14,
be_bryan 0:b74591d5ab33 78 I2C2_SDATA_1 = GPIO15,
be_bryan 0:b74591d5ab33 79 I2C2_SCLK_2 = GPIO17,
be_bryan 0:b74591d5ab33 80 I2C2_SDATA_2 = GPIO16,
be_bryan 0:b74591d5ab33 81 I2C2_SCLK = I2C2_SCLK_2, /*Default*/
be_bryan 0:b74591d5ab33 82 I2C2_SDATA = I2C2_SDATA_2, /*Default*/
be_bryan 0:b74591d5ab33 83 I2C_SCL = I2C1_SCLK_1, /*Default*/
be_bryan 0:b74591d5ab33 84 I2C_SDA = I2C1_SDATA_1, /*Default*/
be_bryan 0:b74591d5ab33 85
be_bryan 0:b74591d5ab33 86 /* SPI 1 with 1st set of CROSS BAR */
be_bryan 0:b74591d5ab33 87 SPI1_SSNO0_1 = GPIO0,
be_bryan 0:b74591d5ab33 88 SPI1_SSNO1_1 = GPIO1,
be_bryan 0:b74591d5ab33 89 SPI1_SSNO2_1 = GPIO2,
be_bryan 0:b74591d5ab33 90 SPI1_SSNO3_1 = GPIO3,
be_bryan 0:b74591d5ab33 91
be_bryan 0:b74591d5ab33 92 /* SPI 1 with 2st set of CROSS BAR */
be_bryan 0:b74591d5ab33 93 SPI1_SCLK_2 = GPIO4,
be_bryan 0:b74591d5ab33 94 SPI1_SDATAO_2 = GPIO5,
be_bryan 0:b74591d5ab33 95 SPI1_SDATAI_2 = GPIO6,
be_bryan 0:b74591d5ab33 96 SPI1_SSNI_2 = GPIO7,
be_bryan 0:b74591d5ab33 97 SPI1_SSNO0_2 = GPIO8,
be_bryan 0:b74591d5ab33 98 SPI1_SSNO1_2 = GPIO9,
be_bryan 0:b74591d5ab33 99 SPI1_SSNO2_2 = GPIO10,
be_bryan 0:b74591d5ab33 100
be_bryan 0:b74591d5ab33 101 SPI1_SCLK = SPI1_SCLK_2, /*Default*/
be_bryan 0:b74591d5ab33 102 SPI1_SDATAO = SPI1_SDATAO_2, /*Default*/
be_bryan 0:b74591d5ab33 103 SPI1_SDATAI = SPI1_SDATAI_2, /*Default*/
be_bryan 0:b74591d5ab33 104 SPI1_SSNI = SPI1_SSNI_2, /*Default*/
be_bryan 0:b74591d5ab33 105 SPI1_SSNO0 = SPI1_SSNO0_2, /*Default*/
be_bryan 0:b74591d5ab33 106 SPI1_SSNO1 = SPI1_SSNO1_2, /*Default*/
be_bryan 0:b74591d5ab33 107 SPI1_SSNO2 = SPI1_SSNO2_2, /*Default*/
be_bryan 0:b74591d5ab33 108
be_bryan 0:b74591d5ab33 109 /* SPI 1 with 3rd set of CROSS BAR */
be_bryan 0:b74591d5ab33 110 SPI1_SCLK_3 = GPIO8,
be_bryan 0:b74591d5ab33 111 SPI1_SDATAO_3 = GPIO9,
be_bryan 0:b74591d5ab33 112 SPI1_SDATAI_3 = GPIO10,
be_bryan 0:b74591d5ab33 113
be_bryan 0:b74591d5ab33 114 /* SPI 2 */
be_bryan 0:b74591d5ab33 115 SPI2_SCLK = GPIO14,
be_bryan 0:b74591d5ab33 116 SPI2_SDATAO = GPIO15,
be_bryan 0:b74591d5ab33 117 SPI2_SDATAI = GPIO16,
be_bryan 0:b74591d5ab33 118 SPI2_SSNI = GPIO17,
be_bryan 0:b74591d5ab33 119 SPI2_SSNO0 = GPIO17,
be_bryan 0:b74591d5ab33 120
be_bryan 0:b74591d5ab33 121 // Generic signals namings
be_bryan 0:b74591d5ab33 122 LED1 = GPIO4,
be_bryan 0:b74591d5ab33 123 LED2 = GPIO6,
be_bryan 0:b74591d5ab33 124 LED3 = GPIO5,
be_bryan 0:b74591d5ab33 125 LED4 = (int)0xFFFFFFFF,
be_bryan 0:b74591d5ab33 126 LED5 = (int)0xFFFFFFFF,
be_bryan 0:b74591d5ab33 127 LED_GREEN = GPIO4,
be_bryan 0:b74591d5ab33 128 LED_YELLOW = GPIO6,
be_bryan 0:b74591d5ab33 129 LED_BLUE = GPIO5,
be_bryan 0:b74591d5ab33 130 USER_BUTTON = GPIO7, /*NEW connection on NCS36510-RF Rev 1.1 - Alias of SW1 */
be_bryan 0:b74591d5ab33 131
be_bryan 0:b74591d5ab33 132 SW1 = GPIO7, /*NEW connection on NCS36510-RF Rev 1.1 */
be_bryan 0:b74591d5ab33 133 SW2 = GPIO10, /*NEW connection on NCS36510-RF Rev 1.1 */
be_bryan 0:b74591d5ab33 134
be_bryan 0:b74591d5ab33 135 // Standardized button names
be_bryan 0:b74591d5ab33 136 BUTTON1 = SW1,
be_bryan 0:b74591d5ab33 137 BUTTON2 = SW2,
be_bryan 0:b74591d5ab33 138
be_bryan 0:b74591d5ab33 139 SERIAL_TX = GPIO0,
be_bryan 0:b74591d5ab33 140 SERIAL_RX = GPIO1,
be_bryan 0:b74591d5ab33 141 USBTX = GPIO0,
be_bryan 0:b74591d5ab33 142 USBRX = GPIO1,
be_bryan 0:b74591d5ab33 143 D0 = GPIO9,
be_bryan 0:b74591d5ab33 144 D1 = GPIO8,
be_bryan 0:b74591d5ab33 145 D2 = GPIO4,
be_bryan 0:b74591d5ab33 146 D3 = GPIO6,
be_bryan 0:b74591d5ab33 147 D4 = GPIO5,
be_bryan 0:b74591d5ab33 148 D5 = GPIO7,
be_bryan 0:b74591d5ab33 149 D6 = GPIO10,
be_bryan 0:b74591d5ab33 150 D7 = (int)0xFFFFFFFF,
be_bryan 0:b74591d5ab33 151 D8 = (int)0xFFFFFFFF,
be_bryan 0:b74591d5ab33 152 D9 = (int)0xFFFFFFFF,
be_bryan 0:b74591d5ab33 153 D10 = GPIO17,
be_bryan 0:b74591d5ab33 154 D11 = GPIO15,
be_bryan 0:b74591d5ab33 155 D12 = GPIO16,
be_bryan 0:b74591d5ab33 156 D13 = GPIO14,
be_bryan 0:b74591d5ab33 157 D14 = GPIO3,
be_bryan 0:b74591d5ab33 158 D15 = GPIO2
be_bryan 0:b74591d5ab33 159 } PinName;
be_bryan 0:b74591d5ab33 160
be_bryan 0:b74591d5ab33 161 typedef enum {
be_bryan 0:b74591d5ab33 162 PIN_INPUT,
be_bryan 0:b74591d5ab33 163 PIN_OUTPUT,
be_bryan 0:b74591d5ab33 164
be_bryan 0:b74591d5ab33 165 } PinDirection;
be_bryan 0:b74591d5ab33 166
be_bryan 0:b74591d5ab33 167 typedef enum {
be_bryan 0:b74591d5ab33 168 PushPullPullDown = 0,
be_bryan 0:b74591d5ab33 169 PushPullNoPull = 1,
be_bryan 0:b74591d5ab33 170 PushPullPullUp = 2,
be_bryan 0:b74591d5ab33 171 OpenDrainPullDown = 3,
be_bryan 0:b74591d5ab33 172 OpenDrainNoPull = 4,
be_bryan 0:b74591d5ab33 173 OpenDrainPullUp = 5,
be_bryan 0:b74591d5ab33 174 PullNone = PushPullNoPull,
be_bryan 0:b74591d5ab33 175 PullUp = PushPullPullUp,
be_bryan 0:b74591d5ab33 176 PullDown = PushPullPullDown,
be_bryan 0:b74591d5ab33 177 OpenDrain = OpenDrainPullUp,
be_bryan 0:b74591d5ab33 178 PullDefault = PullNone
be_bryan 0:b74591d5ab33 179
be_bryan 0:b74591d5ab33 180 } PinMode;
be_bryan 0:b74591d5ab33 181
be_bryan 0:b74591d5ab33 182 #ifdef __cplusplus
be_bryan 0:b74591d5ab33 183 }
be_bryan 0:b74591d5ab33 184 #endif
be_bryan 0:b74591d5ab33 185
be_bryan 0:b74591d5ab33 186 #endif //PINNAME_H_