Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Committer:
sahilmgandhi
Date:
Sun May 14 23:18:57 2017 +0000
Revision:
18:6a4db94011d3
Publishing again

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sahilmgandhi 18:6a4db94011d3 1 /* mbed Microcontroller Library
sahilmgandhi 18:6a4db94011d3 2 *******************************************************************************
sahilmgandhi 18:6a4db94011d3 3 * Copyright (c) 2014, STMicroelectronics
sahilmgandhi 18:6a4db94011d3 4 * All rights reserved.
sahilmgandhi 18:6a4db94011d3 5 *
sahilmgandhi 18:6a4db94011d3 6 * Redistribution and use in source and binary forms, with or without
sahilmgandhi 18:6a4db94011d3 7 * modification, are permitted provided that the following conditions are met:
sahilmgandhi 18:6a4db94011d3 8 *
sahilmgandhi 18:6a4db94011d3 9 * 1. Redistributions of source code must retain the above copyright notice,
sahilmgandhi 18:6a4db94011d3 10 * this list of conditions and the following disclaimer.
sahilmgandhi 18:6a4db94011d3 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
sahilmgandhi 18:6a4db94011d3 12 * this list of conditions and the following disclaimer in the documentation
sahilmgandhi 18:6a4db94011d3 13 * and/or other materials provided with the distribution.
sahilmgandhi 18:6a4db94011d3 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
sahilmgandhi 18:6a4db94011d3 15 * may be used to endorse or promote products derived from this software
sahilmgandhi 18:6a4db94011d3 16 * without specific prior written permission.
sahilmgandhi 18:6a4db94011d3 17 *
sahilmgandhi 18:6a4db94011d3 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
sahilmgandhi 18:6a4db94011d3 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
sahilmgandhi 18:6a4db94011d3 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
sahilmgandhi 18:6a4db94011d3 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
sahilmgandhi 18:6a4db94011d3 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
sahilmgandhi 18:6a4db94011d3 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
sahilmgandhi 18:6a4db94011d3 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
sahilmgandhi 18:6a4db94011d3 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
sahilmgandhi 18:6a4db94011d3 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
sahilmgandhi 18:6a4db94011d3 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
sahilmgandhi 18:6a4db94011d3 28 *******************************************************************************
sahilmgandhi 18:6a4db94011d3 29 */
sahilmgandhi 18:6a4db94011d3 30 #ifndef MBED_PINNAMES_H
sahilmgandhi 18:6a4db94011d3 31 #define MBED_PINNAMES_H
sahilmgandhi 18:6a4db94011d3 32
sahilmgandhi 18:6a4db94011d3 33 #include "cmsis.h"
sahilmgandhi 18:6a4db94011d3 34 #include "PinNamesTypes.h"
sahilmgandhi 18:6a4db94011d3 35
sahilmgandhi 18:6a4db94011d3 36 #ifdef __cplusplus
sahilmgandhi 18:6a4db94011d3 37 extern "C" {
sahilmgandhi 18:6a4db94011d3 38 #endif
sahilmgandhi 18:6a4db94011d3 39
sahilmgandhi 18:6a4db94011d3 40 typedef enum {
sahilmgandhi 18:6a4db94011d3 41 PA_0 = 0x00, PA_1 = 0x01, PA_2 = 0x02, PA_3 = 0x03,
sahilmgandhi 18:6a4db94011d3 42 PA_4 = 0x04, PA_5 = 0x05, PA_6 = 0x06, PA_7 = 0x07,
sahilmgandhi 18:6a4db94011d3 43 PA_8 = 0x08, PA_9 = 0x09, PA_10 = 0x0A, PA_11 = 0x0B,
sahilmgandhi 18:6a4db94011d3 44 PA_12 = 0x0C, PA_13 = 0x0D, PA_14 = 0x0E, PA_15 = 0x0F,
sahilmgandhi 18:6a4db94011d3 45
sahilmgandhi 18:6a4db94011d3 46 PB_0 = 0x10, PB_1 = 0x11, PB_2 = 0x12, PB_3 = 0x13,
sahilmgandhi 18:6a4db94011d3 47 PB_4 = 0x14, PB_5 = 0x15, PB_6 = 0x16, PB_7 = 0x17,
sahilmgandhi 18:6a4db94011d3 48 PB_8 = 0x18, PB_9 = 0x19, PB_10 = 0x1A, PB_11 = 0x1B,
sahilmgandhi 18:6a4db94011d3 49 PB_12 = 0x1C, PB_13 = 0x1D, PB_14 = 0x1E, PB_15 = 0x1F,
sahilmgandhi 18:6a4db94011d3 50
sahilmgandhi 18:6a4db94011d3 51 PC_0 = 0x20, PC_1 = 0x21, PC_2 = 0x22, PC_3 = 0x23,
sahilmgandhi 18:6a4db94011d3 52 PC_4 = 0x24, PC_5 = 0x25, PC_6 = 0x26, PC_7 = 0x27,
sahilmgandhi 18:6a4db94011d3 53 PC_8 = 0x28, PC_9 = 0x29, PC_10 = 0x2A, PC_11 = 0x2B,
sahilmgandhi 18:6a4db94011d3 54 PC_12 = 0x2C, PC_13 = 0x2D, PC_14 = 0x2E, PC_15 = 0x2F,
sahilmgandhi 18:6a4db94011d3 55
sahilmgandhi 18:6a4db94011d3 56 PD_0 = 0x30, PD_1 = 0x31, PD_2 = 0x32, PD_3 = 0x33,
sahilmgandhi 18:6a4db94011d3 57 PD_4 = 0x34, PD_5 = 0x35, PD_6 = 0x36, PD_7 = 0x37,
sahilmgandhi 18:6a4db94011d3 58 PD_8 = 0x38, PD_9 = 0x39, PD_10 = 0x3A, PD_11 = 0x3B,
sahilmgandhi 18:6a4db94011d3 59 PD_12 = 0x3C, PD_13 = 0x3D, PD_14 = 0x3E, PD_15 = 0x3F,
sahilmgandhi 18:6a4db94011d3 60
sahilmgandhi 18:6a4db94011d3 61 PE_0 = 0x40, PE_1 = 0x41, PE_2 = 0x42, PE_3 = 0x43,
sahilmgandhi 18:6a4db94011d3 62 PE_4 = 0x44, PE_5 = 0x45, PE_6 = 0x46, PE_7 = 0x47,
sahilmgandhi 18:6a4db94011d3 63 PE_8 = 0x48, PE_9 = 0x49, PE_10 = 0x4A, PE_11 = 0x4B,
sahilmgandhi 18:6a4db94011d3 64 PE_12 = 0x4C, PE_13 = 0x4D, PE_14 = 0x4E, PE_15 = 0x4F,
sahilmgandhi 18:6a4db94011d3 65
sahilmgandhi 18:6a4db94011d3 66
sahilmgandhi 18:6a4db94011d3 67 PH_0 = 0x70, PH_1 = 0x71,
sahilmgandhi 18:6a4db94011d3 68
sahilmgandhi 18:6a4db94011d3 69 // Not connected
sahilmgandhi 18:6a4db94011d3 70 NC = -1,
sahilmgandhi 18:6a4db94011d3 71
sahilmgandhi 18:6a4db94011d3 72 GNSSTXD = PC_6,
sahilmgandhi 18:6a4db94011d3 73 GNSSRXD = PC_7,
sahilmgandhi 18:6a4db94011d3 74 // Control
sahilmgandhi 18:6a4db94011d3 75 GNSSRST = PC_10, // Reset (input to GPS, active low)
sahilmgandhi 18:6a4db94011d3 76 GNSSPWR = PE_0, // 2.8V rail, should be set to open drain output
sahilmgandhi 18:6a4db94011d3 77 GNSSEN = PA_15, // VCC_IO to GNSS, should be set to push-pull, no pull-up, output
sahilmgandhi 18:6a4db94011d3 78 // u-blox LISA/SARA cellular modem
sahilmgandhi 18:6a4db94011d3 79 // http://www.u-blox.com/wireless-modules.html
sahilmgandhi 18:6a4db94011d3 80 // -----------------------------------------------------------
sahilmgandhi 18:6a4db94011d3 81 // UART (LISA/SARA = DCE)
sahilmgandhi 18:6a4db94011d3 82 MDMTXD = PD_5, // Transmit Data
sahilmgandhi 18:6a4db94011d3 83 MDMRXD = PD_6, // Receive Data
sahilmgandhi 18:6a4db94011d3 84 MDMCTS = PD_3, // Clear to Send
sahilmgandhi 18:6a4db94011d3 85 MDMRTS = PD_4, // Request to Send (set high or use handshake)
sahilmgandhi 18:6a4db94011d3 86 MDMDCD = NC, // DCD line not connecetd
sahilmgandhi 18:6a4db94011d3 87
sahilmgandhi 18:6a4db94011d3 88 // USB
sahilmgandhi 18:6a4db94011d3 89 // Control
sahilmgandhi 18:6a4db94011d3 90 MDMEN = PC_2, // Supply Control (high = enabled)
sahilmgandhi 18:6a4db94011d3 91 MDMPWRON = PE_14, //
sahilmgandhi 18:6a4db94011d3 92 MDMGPIO2 = PD_1, //
sahilmgandhi 18:6a4db94011d3 93 MDMGPIO3 = PB_4, //
sahilmgandhi 18:6a4db94011d3 94 MDMRST = PB_5, // Reset (active low, set as open drain!)
sahilmgandhi 18:6a4db94011d3 95
sahilmgandhi 18:6a4db94011d3 96 // Board Pins
sahilmgandhi 18:6a4db94011d3 97 // A0-A5
sahilmgandhi 18:6a4db94011d3 98 A0 = PA_3,
sahilmgandhi 18:6a4db94011d3 99 A1 = PC_0,
sahilmgandhi 18:6a4db94011d3 100 A2 = PC_3,
sahilmgandhi 18:6a4db94011d3 101 A3 = PA_4,
sahilmgandhi 18:6a4db94011d3 102 A4 = PA_6,
sahilmgandhi 18:6a4db94011d3 103 A5 = PB_0,
sahilmgandhi 18:6a4db94011d3 104 // D0-D15
sahilmgandhi 18:6a4db94011d3 105 D0 = PD_9, // UART3-RX
sahilmgandhi 18:6a4db94011d3 106 D1 = PD_8, // UART3-TX
sahilmgandhi 18:6a4db94011d3 107 D2 = PD_11, // UART3-CTS
sahilmgandhi 18:6a4db94011d3 108 D3 = PB_14, // UART3-RTS
sahilmgandhi 18:6a4db94011d3 109 D4 = PB_1,
sahilmgandhi 18:6a4db94011d3 110 D5 = PA_5,
sahilmgandhi 18:6a4db94011d3 111 D6 = PB_8, // UART3-CTS
sahilmgandhi 18:6a4db94011d3 112 D7 = PB_15, // UART3-RTS
sahilmgandhi 18:6a4db94011d3 113 D8 = PD_15, // UART1-TX
sahilmgandhi 18:6a4db94011d3 114 D9 = PD_12, // SDCard-CS
sahilmgandhi 18:6a4db94011d3 115 D10 = PE_11, // SSEL
sahilmgandhi 18:6a4db94011d3 116 D11 = PE_6, // MOSI
sahilmgandhi 18:6a4db94011d3 117 D12 = PE_5, // MISO
sahilmgandhi 18:6a4db94011d3 118 D13 = PE_2, // SCK
sahilmgandhi 18:6a4db94011d3 119 D14 = PB_7, // SDA
sahilmgandhi 18:6a4db94011d3 120 D15 = PB_6, // SCL
sahilmgandhi 18:6a4db94011d3 121 // Internal
sahilmgandhi 18:6a4db94011d3 122 LED1 = PE_3, // Red / Mode
sahilmgandhi 18:6a4db94011d3 123 LED2 = PE_4, // Green / Switch-1
sahilmgandhi 18:6a4db94011d3 124 LED3 = PE_1, // Blue
sahilmgandhi 18:6a4db94011d3 125 LED4 = PE_7, // A definition is required by the mbed platform RTC test code, this is the Ethernet connector yellow LED
sahilmgandhi 18:6a4db94011d3 126 LED_RED = LED1,
sahilmgandhi 18:6a4db94011d3 127 SW0 = PC_13, // Switch-0
sahilmgandhi 18:6a4db94011d3 128
sahilmgandhi 18:6a4db94011d3 129 // ST-Link
sahilmgandhi 18:6a4db94011d3 130 USBRX = PA_10,
sahilmgandhi 18:6a4db94011d3 131 USBTX = PA_9,
sahilmgandhi 18:6a4db94011d3 132 SWDIO = PA_13,
sahilmgandhi 18:6a4db94011d3 133 SWCLK = PA_14,
sahilmgandhi 18:6a4db94011d3 134 NTRST = PB_4,
sahilmgandhi 18:6a4db94011d3 135 } PinName;
sahilmgandhi 18:6a4db94011d3 136
sahilmgandhi 18:6a4db94011d3 137 #define GNSSBAUD 9600 // Default GNSS Baud Rate
sahilmgandhi 18:6a4db94011d3 138 #define MDMBAUD 115200 // Default Modem Baud Rate
sahilmgandhi 18:6a4db94011d3 139
sahilmgandhi 18:6a4db94011d3 140 #ifdef __cplusplus
sahilmgandhi 18:6a4db94011d3 141 }
sahilmgandhi 18:6a4db94011d3 142 #endif
sahilmgandhi 18:6a4db94011d3 143
sahilmgandhi 18:6a4db94011d3 144 #endif