PokittoLib is the library needed for programming the Pokitto DIY game console (www.pokitto.com)

Committer:
spinal
Date:
Sun Nov 18 15:47:54 2018 +0000
Revision:
64:6e6c6c2b664e
Parent:
31:f4b9b85c7b62
added fix for directrectangle()

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Pokitto 31:f4b9b85c7b62 1 /**************************************************************************/
Pokitto 31:f4b9b85c7b62 2 /*!
Pokitto 31:f4b9b85c7b62 3 @file Pokitto_extport.h
Pokitto 31:f4b9b85c7b62 4 @author Jonne Valola
Pokitto 31:f4b9b85c7b62 5
Pokitto 31:f4b9b85c7b62 6 @section LICENSE
Pokitto 31:f4b9b85c7b62 7
Pokitto 31:f4b9b85c7b62 8 Pokitto development stage library
Pokitto 31:f4b9b85c7b62 9 Software License Agreement
Pokitto 31:f4b9b85c7b62 10
Pokitto 31:f4b9b85c7b62 11 Copyright (c) 2015, Jonne Valola ("Author")
Pokitto 31:f4b9b85c7b62 12 All rights reserved.
Pokitto 31:f4b9b85c7b62 13
Pokitto 31:f4b9b85c7b62 14 This library is intended solely for the purpose of Pokitto development.
Pokitto 31:f4b9b85c7b62 15
Pokitto 31:f4b9b85c7b62 16 Redistribution and use in source and binary forms, with or without
Pokitto 31:f4b9b85c7b62 17 modification requires written permission from Author.
Pokitto 31:f4b9b85c7b62 18 */
Pokitto 31:f4b9b85c7b62 19 /**************************************************************************/
Pokitto 31:f4b9b85c7b62 20
Pokitto 31:f4b9b85c7b62 21 #ifndef POKITTO_EXTPORT_H
Pokitto 31:f4b9b85c7b62 22 #define POKITTO_EXTPORT_H
Pokitto 31:f4b9b85c7b62 23
Pokitto 31:f4b9b85c7b62 24 #include "mbed.h"
Pokitto 31:f4b9b85c7b62 25
Pokitto 31:f4b9b85c7b62 26 using namespace mbed; //interruptin
Pokitto 31:f4b9b85c7b62 27
Pokitto 31:f4b9b85c7b62 28 #if POK_BOARDREV == 1
Pokitto 31:f4b9b85c7b62 29 /** 2-layer board rev 1.3 **/
Pokitto 31:f4b9b85c7b62 30 #define EXT0_PORT 1
Pokitto 31:f4b9b85c7b62 31 #define EXT0_PIN 19
Pokitto 31:f4b9b85c7b62 32 #define EXT1_PORT 0
Pokitto 31:f4b9b85c7b62 33 #define EXT1_PIN 11
Pokitto 31:f4b9b85c7b62 34 #define EXT2_PORT 0
Pokitto 31:f4b9b85c7b62 35 #define EXT2_PIN 12
Pokitto 31:f4b9b85c7b62 36 #define EXT3_PORT 0
Pokitto 31:f4b9b85c7b62 37 #define EXT3_PIN 13
Pokitto 31:f4b9b85c7b62 38 #define EXT4_PORT 0
Pokitto 31:f4b9b85c7b62 39 #define EXT4_PIN 14
Pokitto 31:f4b9b85c7b62 40 #define EXT5_PORT 0
Pokitto 31:f4b9b85c7b62 41 #define EXT5_PIN 17
Pokitto 31:f4b9b85c7b62 42 #define EXT6_PORT 0
Pokitto 31:f4b9b85c7b62 43 #define EXT6_PIN 18
Pokitto 31:f4b9b85c7b62 44 #define EXT7_PORT 0
Pokitto 31:f4b9b85c7b62 45 #define EXT7_PIN 19
Pokitto 31:f4b9b85c7b62 46 #define EXT8_PORT 1
Pokitto 31:f4b9b85c7b62 47 #define EXT8_PIN 20
Pokitto 31:f4b9b85c7b62 48 #define EXT9_PORT 1
Pokitto 31:f4b9b85c7b62 49 #define EXT9_PIN 21
Pokitto 31:f4b9b85c7b62 50 #define EXT10_PORT 1
Pokitto 31:f4b9b85c7b62 51 #define EXT10_PIN 22
Pokitto 31:f4b9b85c7b62 52 #define EXT11_PORT 1
Pokitto 31:f4b9b85c7b62 53 #define EXT11_PIN 23
Pokitto 31:f4b9b85c7b62 54 #define EXT12_PORT 1
Pokitto 31:f4b9b85c7b62 55 #define EXT12_PIN 5
Pokitto 31:f4b9b85c7b62 56 #define EXT13_PORT 1
Pokitto 31:f4b9b85c7b62 57 #define EXT13_PIN 6
Pokitto 31:f4b9b85c7b62 58 #define EXT14_PORT 1
Pokitto 31:f4b9b85c7b62 59 #define EXT14_PIN 8
Pokitto 31:f4b9b85c7b62 60 #define EXT15_PORT 0
Pokitto 31:f4b9b85c7b62 61 #define EXT15_PIN 19
Pokitto 31:f4b9b85c7b62 62 #define EXT16_PORT 0
Pokitto 31:f4b9b85c7b62 63 #define EXT16_PIN 13
Pokitto 31:f4b9b85c7b62 64 #define EXT17_PORT 0
Pokitto 31:f4b9b85c7b62 65 #define EXT17_PIN 16
Pokitto 31:f4b9b85c7b62 66 #else
Pokitto 31:f4b9b85c7b62 67 /** 4-layer board rev 2.1 **/
Pokitto 31:f4b9b85c7b62 68 #define EXT0_PORT 1
Pokitto 31:f4b9b85c7b62 69 #define EXT0_PIN 19
Pokitto 31:f4b9b85c7b62 70 #define EXT1_PORT 0
Pokitto 31:f4b9b85c7b62 71 #define EXT1_PIN 11
Pokitto 31:f4b9b85c7b62 72 #define EXT2_PORT 0
Pokitto 31:f4b9b85c7b62 73 #define EXT2_PIN 12
Pokitto 31:f4b9b85c7b62 74 #define EXT3_PORT 0
Pokitto 31:f4b9b85c7b62 75 #define EXT3_PIN 13
Pokitto 31:f4b9b85c7b62 76 #define EXT4_PORT 0
Pokitto 31:f4b9b85c7b62 77 #define EXT4_PIN 14
Pokitto 31:f4b9b85c7b62 78 #define EXT5_PORT 0
Pokitto 31:f4b9b85c7b62 79 #define EXT5_PIN 17
Pokitto 31:f4b9b85c7b62 80 #define EXT6_PORT 0
Pokitto 31:f4b9b85c7b62 81 #define EXT6_PIN 18
Pokitto 31:f4b9b85c7b62 82 #define EXT7_PORT 0
Pokitto 31:f4b9b85c7b62 83 #define EXT7_PIN 19
Pokitto 31:f4b9b85c7b62 84 #define EXT8_PORT 1
Pokitto 31:f4b9b85c7b62 85 #define EXT8_PIN 20
Pokitto 31:f4b9b85c7b62 86 #define EXT9_PORT 1
Pokitto 31:f4b9b85c7b62 87 #define EXT9_PIN 21
Pokitto 31:f4b9b85c7b62 88 #define EXT10_PORT 1
Pokitto 31:f4b9b85c7b62 89 #define EXT10_PIN 22
Pokitto 31:f4b9b85c7b62 90 #define EXT11_PORT 1
Pokitto 31:f4b9b85c7b62 91 #define EXT11_PIN 23
Pokitto 31:f4b9b85c7b62 92 #define EXT12_PORT 1
Pokitto 31:f4b9b85c7b62 93 #define EXT12_PIN 5
Pokitto 31:f4b9b85c7b62 94 #define EXT13_PORT 1
Pokitto 31:f4b9b85c7b62 95 #define EXT13_PIN 6
Pokitto 31:f4b9b85c7b62 96 #define EXT14_PORT 1
Pokitto 31:f4b9b85c7b62 97 #define EXT14_PIN 8
Pokitto 31:f4b9b85c7b62 98 #define EXT15_PORT 0
Pokitto 31:f4b9b85c7b62 99 #define EXT15_PIN 19
Pokitto 31:f4b9b85c7b62 100 #define EXT16_PORT 0
Pokitto 31:f4b9b85c7b62 101 #define EXT16_PIN 13
Pokitto 31:f4b9b85c7b62 102 #define EXT17_PORT 0
Pokitto 31:f4b9b85c7b62 103 #define EXT17_PIN 16
Pokitto 31:f4b9b85c7b62 104
Pokitto 31:f4b9b85c7b62 105 #define EXT0 P1_19
Pokitto 31:f4b9b85c7b62 106 #define EXT1 P0_11
Pokitto 31:f4b9b85c7b62 107 #define EXT2 P0_12
Pokitto 31:f4b9b85c7b62 108 #define EXT3 P0_13
Pokitto 31:f4b9b85c7b62 109 #define EXT4 P0_14
Pokitto 31:f4b9b85c7b62 110 #define EXT5 P0_17
Pokitto 31:f4b9b85c7b62 111 #define EXT6 P0_18
Pokitto 31:f4b9b85c7b62 112 #define EXT7 P0_19
Pokitto 31:f4b9b85c7b62 113 #define EXT8 P1_20
Pokitto 31:f4b9b85c7b62 114 #define EXT9 P1_21
Pokitto 31:f4b9b85c7b62 115 #define EXT10 P1_22
Pokitto 31:f4b9b85c7b62 116 #define EXT11 P1_23
Pokitto 31:f4b9b85c7b62 117 #define EXT12 P1_5
Pokitto 31:f4b9b85c7b62 118 #define EXT13 P1_6
Pokitto 31:f4b9b85c7b62 119 #define EXT14 P1_8
Pokitto 31:f4b9b85c7b62 120 #define EXT15 P1_26
Pokitto 31:f4b9b85c7b62 121 #define EXT16 P1_27
Pokitto 31:f4b9b85c7b62 122 #define EXT17 P0_16
Pokitto 31:f4b9b85c7b62 123
Pokitto 31:f4b9b85c7b62 124 #endif // POK_BOARDREV
Pokitto 31:f4b9b85c7b62 125
Pokitto 31:f4b9b85c7b62 126 #define CLR_EXT0 LPC_GPIO_PORT->CLR[EXT0_PORT] = 1 << EXT0_PIN;
Pokitto 31:f4b9b85c7b62 127 #define SET_EXT0 LPC_GPIO_PORT->SET[EXT0_PORT] = 1 << EXT0_PIN;
Pokitto 31:f4b9b85c7b62 128 #define CLR_EXT1 LPC_GPIO_PORT->CLR[EXT1_PORT] = 1 << EXT1_PIN;
Pokitto 31:f4b9b85c7b62 129 #define SET_EXT1 LPC_GPIO_PORT->SET[EXT1_PORT] = 1 << EXT1_PIN;
Pokitto 31:f4b9b85c7b62 130 #define CLR_EXT2 LPC_GPIO_PORT->CLR[EXT2_PORT] = 1 << EXT2_PIN;
Pokitto 31:f4b9b85c7b62 131 #define SET_EXT2 LPC_GPIO_PORT->SET[EXT2_PORT] = 1 << EXT2_PIN;
Pokitto 31:f4b9b85c7b62 132 #define CLR_EXT3 LPC_GPIO_PORT->CLR[EXT3_PORT] = 1 << EXT3_PIN;
Pokitto 31:f4b9b85c7b62 133 #define SET_EXT3 LPC_GPIO_PORT->SET[EXT3_PORT] = 1 << EXT3_PIN;
Pokitto 31:f4b9b85c7b62 134 #define CLR_EXT4 LPC_GPIO_PORT->CLR[EXT4_PORT] = 1 << EXT4_PIN;
Pokitto 31:f4b9b85c7b62 135 #define SET_EXT4 LPC_GPIO_PORT->SET[EXT4_PORT] = 1 << EXT4_PIN;
Pokitto 31:f4b9b85c7b62 136 #define CLR_EXT5 LPC_GPIO_PORT->CLR[EXT5_PORT] = 1 << EXT5_PIN;
Pokitto 31:f4b9b85c7b62 137 #define SET_EXT5 LPC_GPIO_PORT->SET[EXT5_PORT] = 1 << EXT5_PIN;
Pokitto 31:f4b9b85c7b62 138 #define CLR_EXT6 LPC_GPIO_PORT->CLR[EXT6_PORT] = 1 << EXT6_PIN;
Pokitto 31:f4b9b85c7b62 139 #define SET_EXT6 LPC_GPIO_PORT->SET[EXT6_PORT] = 1 << EXT6_PIN;
Pokitto 31:f4b9b85c7b62 140 #define CLR_EXT7 LPC_GPIO_PORT->CLR[EXT7_PORT] = 1 << EXT7_PIN;
Pokitto 31:f4b9b85c7b62 141 #define SET_EXT7 LPC_GPIO_PORT->SET[EXT7_PORT] = 1 << EXT7_PIN;
Pokitto 31:f4b9b85c7b62 142 #define CLR_EXT8 LPC_GPIO_PORT->CLR[EXT8_PORT] = 1 << EXT8_PIN;
Pokitto 31:f4b9b85c7b62 143 #define SET_EXT8 LPC_GPIO_PORT->SET[EXT8_PORT] = 1 << EXT8_PIN;
Pokitto 31:f4b9b85c7b62 144 #define CLR_EXT9 LPC_GPIO_PORT->CLR[EXT9_PORT] = 1 << EXT9_PIN;
Pokitto 31:f4b9b85c7b62 145 #define SET_EXT9 LPC_GPIO_PORT->SET[EXT9_PORT] = 1 << EXT9_PIN;
Pokitto 31:f4b9b85c7b62 146 #define CLR_EXT10 LPC_GPIO_PORT->CLR[EXT10_PORT] = 1 << EXT10_PIN;
Pokitto 31:f4b9b85c7b62 147 #define SET_EXT10 LPC_GPIO_PORT->SET[EXT10_PORT] = 1 << EXT10_PIN;
Pokitto 31:f4b9b85c7b62 148 #define CLR_EXT11 LPC_GPIO_PORT->CLR[EXT11_PORT] = 1 << EXT11_PIN;
Pokitto 31:f4b9b85c7b62 149 #define SET_EXT11 LPC_GPIO_PORT->SET[EXT11_PORT] = 1 << EXT11_PIN;
Pokitto 31:f4b9b85c7b62 150 #define CLR_EXT12 LPC_GPIO_PORT->CLR[EXT12_PORT] = 1 << EXT12_PIN;
Pokitto 31:f4b9b85c7b62 151 #define SET_EXT12 LPC_GPIO_PORT->SET[EXT12_PORT] = 1 << EXT12_PIN;
Pokitto 31:f4b9b85c7b62 152 #define CLR_EXT13 LPC_GPIO_PORT->CLR[EXT13_PORT] = 1 << EXT13_PIN;
Pokitto 31:f4b9b85c7b62 153 #define SET_EXT13 LPC_GPIO_PORT->SET[EXT13_PORT] = 1 << EXT13_PIN;
Pokitto 31:f4b9b85c7b62 154 #define CLR_EXT14 LPC_GPIO_PORT->CLR[EXT14_PORT] = 1 << EXT14_PIN;
Pokitto 31:f4b9b85c7b62 155 #define SET_EXT14 LPC_GPIO_PORT->SET[EXT14_PORT] = 1 << EXT14_PIN;
Pokitto 31:f4b9b85c7b62 156 #define CLR_EXT15 LPC_GPIO_PORT->CLR[EXT15_PORT] = 1 << EXT15_PIN;
Pokitto 31:f4b9b85c7b62 157 #define SET_EXT15 LPC_GPIO_PORT->SET[EXT15_PORT] = 1 << EXT15_PIN;
Pokitto 31:f4b9b85c7b62 158 #define CLR_EXT16 LPC_GPIO_PORT->CLR[EXT16_PORT] = 1 << EXT16_PIN;
Pokitto 31:f4b9b85c7b62 159 #define SET_EXT16 LPC_GPIO_PORT->SET[EXT16_PORT] = 1 << EXT16_PIN;
Pokitto 31:f4b9b85c7b62 160 #define CLR_EXT17 LPC_GPIO_PORT->CLR[EXT17_PORT] = 1 << EXT17_PIN;
Pokitto 31:f4b9b85c7b62 161 #define SET_EXT17 LPC_GPIO_PORT->SET[EXT17_PORT] = 1 << EXT17_PIN;
Pokitto 31:f4b9b85c7b62 162
Pokitto 31:f4b9b85c7b62 163 #if POK_USE_EXT > 0
Pokitto 31:f4b9b85c7b62 164 //#if POK_BOARDREV == 1
Pokitto 31:f4b9b85c7b62 165 /** 2-layer board rev 1.3 **/
Pokitto 31:f4b9b85c7b62 166 //#else
Pokitto 31:f4b9b85c7b62 167 /** 4-layer board rev 2.1 **/
Pokitto 31:f4b9b85c7b62 168 //extern InterruptIn ext0;
Pokitto 31:f4b9b85c7b62 169 extern AnalogIn ext0;
Pokitto 31:f4b9b85c7b62 170 extern DigitalIn ext1;
Pokitto 31:f4b9b85c7b62 171 //DigitalOut ext0;
Pokitto 31:f4b9b85c7b62 172 //DigitalOut ext1;
Pokitto 31:f4b9b85c7b62 173 extern DigitalOut ext2;
Pokitto 31:f4b9b85c7b62 174 extern DigitalOut ext3;
Pokitto 31:f4b9b85c7b62 175 extern DigitalOut ext4;
Pokitto 31:f4b9b85c7b62 176 extern DigitalOut ext5;
Pokitto 31:f4b9b85c7b62 177 extern DigitalOut ext6;
Pokitto 31:f4b9b85c7b62 178 extern DigitalOut ext7;
Pokitto 31:f4b9b85c7b62 179 extern DigitalOut ext8;
Pokitto 31:f4b9b85c7b62 180 extern DigitalOut ext9;
Pokitto 31:f4b9b85c7b62 181 extern DigitalOut ext10;
Pokitto 31:f4b9b85c7b62 182 extern DigitalOut ext11;
Pokitto 31:f4b9b85c7b62 183 extern DigitalOut ext12;
Pokitto 31:f4b9b85c7b62 184 extern DigitalOut ext13;
Pokitto 31:f4b9b85c7b62 185 extern DigitalOut ext14;
Pokitto 31:f4b9b85c7b62 186 extern DigitalOut ext15;
Pokitto 31:f4b9b85c7b62 187 extern DigitalOut ext16;
Pokitto 31:f4b9b85c7b62 188 extern DigitalOut ext17;
Pokitto 31:f4b9b85c7b62 189 //#endif // POK_BOARDREV
Pokitto 31:f4b9b85c7b62 190 #endif // POK_USE_EXT
Pokitto 31:f4b9b85c7b62 191
Pokitto 31:f4b9b85c7b62 192 extern int turn;
Pokitto 31:f4b9b85c7b62 193 #endif // POKITTO_EXTPORT_H
Pokitto 31:f4b9b85c7b62 194
Pokitto 31:f4b9b85c7b62 195