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

Dependents:   YATTT sd_map_test cPong SnowDemo ... more

PokittoLib

Library for programming Pokitto hardware

How to Use

  1. Import this library to online compiler (see button "import" on the right hand side
  2. DO NOT import mbed-src anymore, a better version is now included inside PokittoLib
  3. Change My_settings.h according to your project
  4. Start coding!
Committer:
Pokitto
Date:
Wed Dec 25 23:59:52 2019 +0000
Revision:
71:531419862202
Parent:
31:f4b9b85c7b62
Changed Mode2 C++ refresh code (graphical errors)

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