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.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