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.cpp
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 #include "Pokitto.h"
Pokitto 31:f4b9b85c7b62 22
Pokitto 31:f4b9b85c7b62 23 using namespace mbed; //needed for interruptin
Pokitto 31:f4b9b85c7b62 24
Pokitto 31:f4b9b85c7b62 25 #if POK_USE_EXT > 0
Pokitto 31:f4b9b85c7b62 26 //#if POK_BOARDREV == 1
Pokitto 31:f4b9b85c7b62 27 /** 2-layer board rev 1.3 **/
Pokitto 31:f4b9b85c7b62 28 //#else
Pokitto 31:f4b9b85c7b62 29 /** 4-layer board rev 2.1 **/
Pokitto 31:f4b9b85c7b62 30 //InterruptIn ext0(P1_19);
Pokitto 31:f4b9b85c7b62 31 AnalogIn ext0(P1_19);
Pokitto 31:f4b9b85c7b62 32 DigitalIn ext1(P0_11, PullUp);
Pokitto 31:f4b9b85c7b62 33 //DigitalOut ext0(P1_19);
Pokitto 31:f4b9b85c7b62 34 //DigitalOut ext1(P0_11);
Pokitto 31:f4b9b85c7b62 35 DigitalOut ext2(P0_12);
Pokitto 31:f4b9b85c7b62 36 DigitalOut ext3(P0_13);
Pokitto 31:f4b9b85c7b62 37 DigitalOut ext4(P0_14);
Pokitto 31:f4b9b85c7b62 38 DigitalOut ext5(P0_17);
Pokitto 31:f4b9b85c7b62 39 DigitalOut ext6(P0_18);
Pokitto 31:f4b9b85c7b62 40 DigitalOut ext7(P0_19);
Pokitto 31:f4b9b85c7b62 41 DigitalOut ext8(P1_20);
Pokitto 31:f4b9b85c7b62 42 DigitalOut ext9(P1_21);
Pokitto 31:f4b9b85c7b62 43 DigitalOut ext10(P1_22);
Pokitto 31:f4b9b85c7b62 44 DigitalOut ext11(P1_23);
Pokitto 31:f4b9b85c7b62 45 DigitalOut ext12(P1_5);
Pokitto 31:f4b9b85c7b62 46 DigitalOut ext13(P1_6);
Pokitto 31:f4b9b85c7b62 47 DigitalOut ext14(P1_8);
Pokitto 31:f4b9b85c7b62 48 DigitalOut ext15(P1_26);
Pokitto 31:f4b9b85c7b62 49 DigitalOut ext16(P1_27);
Pokitto 31:f4b9b85c7b62 50 DigitalOut ext17(P0_16);
Pokitto 31:f4b9b85c7b62 51 //#endif // POK_BOARDREV
Pokitto 31:f4b9b85c7b62 52 #endif // POK_USE_EXT
Pokitto 31:f4b9b85c7b62 53
Pokitto 31:f4b9b85c7b62 54
Pokitto 31:f4b9b85c7b62 55
Pokitto 31:f4b9b85c7b62 56 void ext_write(uint32_t value) {
Pokitto 31:f4b9b85c7b62 57 #if POK_USE_EXT > 0
Pokitto 31:f4b9b85c7b62 58 if (value & 1) SET_EXT0 else CLR_EXT0;
Pokitto 31:f4b9b85c7b62 59 value >>= 1;
Pokitto 31:f4b9b85c7b62 60 if (value & 1) SET_EXT1 else CLR_EXT1;
Pokitto 31:f4b9b85c7b62 61 value >>= 1;
Pokitto 31:f4b9b85c7b62 62 if (value & 1) SET_EXT2 else CLR_EXT2;
Pokitto 31:f4b9b85c7b62 63 value >>= 1;
Pokitto 31:f4b9b85c7b62 64 if (value & 1) SET_EXT3 else CLR_EXT3;
Pokitto 31:f4b9b85c7b62 65 value >>= 1;
Pokitto 31:f4b9b85c7b62 66 if (value & 1) SET_EXT4 else CLR_EXT4;
Pokitto 31:f4b9b85c7b62 67 value >>= 1;
Pokitto 31:f4b9b85c7b62 68 if (value & 1) SET_EXT5 else CLR_EXT5;
Pokitto 31:f4b9b85c7b62 69 value >>= 1;
Pokitto 31:f4b9b85c7b62 70 if (value & 1) SET_EXT6 else CLR_EXT6;
Pokitto 31:f4b9b85c7b62 71 value >>= 1;
Pokitto 31:f4b9b85c7b62 72 if (value & 1) SET_EXT7 else CLR_EXT7;
Pokitto 31:f4b9b85c7b62 73 value >>= 1;
Pokitto 31:f4b9b85c7b62 74 if (value & 1) SET_EXT8 else CLR_EXT8;
Pokitto 31:f4b9b85c7b62 75 value >>= 1;
Pokitto 31:f4b9b85c7b62 76 if (value & 1) SET_EXT9 else CLR_EXT9;
Pokitto 31:f4b9b85c7b62 77 value >>= 1;
Pokitto 31:f4b9b85c7b62 78 if (value & 1) SET_EXT10 else CLR_EXT10;
Pokitto 31:f4b9b85c7b62 79 value >>= 1;
Pokitto 31:f4b9b85c7b62 80 if (value & 1) SET_EXT11 else CLR_EXT11;
Pokitto 31:f4b9b85c7b62 81 value >>= 1;
Pokitto 31:f4b9b85c7b62 82 if (value & 1) SET_EXT12 else CLR_EXT12;
Pokitto 31:f4b9b85c7b62 83 value >>= 1;
Pokitto 31:f4b9b85c7b62 84 if (value & 1) SET_EXT13 else CLR_EXT13;
Pokitto 31:f4b9b85c7b62 85 value >>= 1;
Pokitto 31:f4b9b85c7b62 86 if (value & 1) SET_EXT14 else CLR_EXT14;
Pokitto 31:f4b9b85c7b62 87 value >>= 1;
Pokitto 31:f4b9b85c7b62 88 if (value & 1) SET_EXT15 else CLR_EXT15;
Pokitto 31:f4b9b85c7b62 89 value >>= 1;
Pokitto 31:f4b9b85c7b62 90 if (value & 1) SET_EXT16 else CLR_EXT16;
Pokitto 31:f4b9b85c7b62 91 value >>= 1;
Pokitto 31:f4b9b85c7b62 92 if (value & 1) SET_EXT17 else CLR_EXT17;
Pokitto 31:f4b9b85c7b62 93 #endif
Pokitto 31:f4b9b85c7b62 94 }
Pokitto 31:f4b9b85c7b62 95
Pokitto 31:f4b9b85c7b62 96