Added HangmanGame class, but does not work yet

Dependencies:   SDFileSystem app epson mbed msp430 pl tests

Committer:
markpsymonds
Date:
Mon Dec 04 20:15:18 2017 +0000
Revision:
1:a5ec6f9dcf0d
Parent:
0:fa7450a43b99
Fixed most compile issues in hangman.cpp/.h.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-FlexBook 0:fa7450a43b99 1 //
group-FlexBook 0:fa7450a43b99 2 // Filename: pagetouch.cpp
group-FlexBook 0:fa7450a43b99 3 //
group-FlexBook 0:fa7450a43b99 4 // Flexbook page for page A4.
group-FlexBook 0:fa7450a43b99 5 //
group-FlexBook 0:fa7450a43b99 6
group-FlexBook 0:fa7450a43b99 7 #include "pagetouch.h"
group-FlexBook 0:fa7450a43b99 8 #include "pageflexenable.h"
group-FlexBook 0:fa7450a43b99 9
group-FlexBook 0:fa7450a43b99 10 #include "log.h"
group-FlexBook 0:fa7450a43b99 11
group-FlexBook 0:fa7450a43b99 12 #include <iostream>
group-FlexBook 0:fa7450a43b99 13
group-FlexBook 0:fa7450a43b99 14 namespace Flexbook {
group-FlexBook 0:fa7450a43b99 15
group-FlexBook 0:fa7450a43b99 16 PageTouch::PageTouch()
group-FlexBook 0:fa7450a43b99 17 : pageflexenable(),
group-FlexBook 0:fa7450a43b99 18 i2c(p28, p27), irq(p26),
group-FlexBook 0:fa7450a43b99 19 at42qt2120(i2c), key(0)
group-FlexBook 0:fa7450a43b99 20 {
group-FlexBook 0:fa7450a43b99 21 Log("Creating PageTouch");
group-FlexBook 0:fa7450a43b99 22
group-FlexBook 0:fa7450a43b99 23 at42qt2120.SetSliderOptions(HAL::WHEEL);
group-FlexBook 0:fa7450a43b99 24
group-FlexBook 0:fa7450a43b99 25 at42qt2120.SetKeyControl(1, false, 2, false, true);
group-FlexBook 0:fa7450a43b99 26 at42qt2120.SetKeyControl(2, false, 2, false, true);
group-FlexBook 0:fa7450a43b99 27 at42qt2120.SetKeyControl(3, false, 2, false, true);
group-FlexBook 0:fa7450a43b99 28
group-FlexBook 0:fa7450a43b99 29 at42qt2120.SetKeyControl(5, false, 1, false, true);
group-FlexBook 0:fa7450a43b99 30 at42qt2120.SetKeyControl(6, false, 1, false, true);
group-FlexBook 0:fa7450a43b99 31 at42qt2120.SetKeyControl(7, false, 1, false, true);
group-FlexBook 0:fa7450a43b99 32 at42qt2120.SetKeyControl(8, false, 1, false, true);
group-FlexBook 0:fa7450a43b99 33 at42qt2120.SetKeyControl(9, false, 1, false, true);
group-FlexBook 0:fa7450a43b99 34 at42qt2120.SetKeyControl(10, false, 1, false, true);
group-FlexBook 0:fa7450a43b99 35
group-FlexBook 0:fa7450a43b99 36 irq.fall(callback(this, &Flexbook::PageTouch::TouchChange));
group-FlexBook 0:fa7450a43b99 37 newtouch = false;
group-FlexBook 0:fa7450a43b99 38 imgnumber = 0;
group-FlexBook 0:fa7450a43b99 39
group-FlexBook 0:fa7450a43b99 40 #ifdef VERBOSE
group-FlexBook 0:fa7450a43b99 41 for(int n = 0; n < 99; n++)
group-FlexBook 0:fa7450a43b99 42 printf("Register %03d %02x\n", n, at42qt2120.Read((HAL::REG_AT42QT2120) n));
group-FlexBook 0:fa7450a43b99 43 #endif
group-FlexBook 0:fa7450a43b99 44 }
group-FlexBook 0:fa7450a43b99 45
group-FlexBook 0:fa7450a43b99 46 PageTouch::~PageTouch()
group-FlexBook 0:fa7450a43b99 47 {
group-FlexBook 0:fa7450a43b99 48 Log("Deleting PageTouch");
group-FlexBook 0:fa7450a43b99 49
group-FlexBook 0:fa7450a43b99 50 irq.disable_irq();
group-FlexBook 0:fa7450a43b99 51 }
group-FlexBook 0:fa7450a43b99 52
group-FlexBook 0:fa7450a43b99 53 void PageTouch::TouchChange()
group-FlexBook 0:fa7450a43b99 54 {
group-FlexBook 0:fa7450a43b99 55 static volatile bool inirq = false;
group-FlexBook 0:fa7450a43b99 56 if(!inirq)
group-FlexBook 0:fa7450a43b99 57 {
group-FlexBook 0:fa7450a43b99 58 inirq = true;
group-FlexBook 0:fa7450a43b99 59 Page::ShortBeep();
group-FlexBook 0:fa7450a43b99 60
group-FlexBook 0:fa7450a43b99 61 HAL::AT42QT2120::Status status;
group-FlexBook 0:fa7450a43b99 62 if(at42qt2120.ReadStatus(status))
group-FlexBook 0:fa7450a43b99 63 {
group-FlexBook 0:fa7450a43b99 64 if(status.keyschanged)
group-FlexBook 0:fa7450a43b99 65 {
group-FlexBook 0:fa7450a43b99 66 key = status.keys;
group-FlexBook 0:fa7450a43b99 67
group-FlexBook 0:fa7450a43b99 68 if(status.keys & HAL::KEY0)
group-FlexBook 0:fa7450a43b99 69 Log("Key 0");
group-FlexBook 0:fa7450a43b99 70 if(status.keys & HAL::KEY1)
group-FlexBook 0:fa7450a43b99 71 Log("Key 1");
group-FlexBook 0:fa7450a43b99 72 if(status.keys & HAL::KEY2)
group-FlexBook 0:fa7450a43b99 73 Log("Key 2");
group-FlexBook 0:fa7450a43b99 74 if(status.keys & HAL::KEY3)
group-FlexBook 0:fa7450a43b99 75 Log("Key 3");
group-FlexBook 0:fa7450a43b99 76 if(status.keys & HAL::KEY4)
group-FlexBook 0:fa7450a43b99 77 Log("Key 4");
group-FlexBook 0:fa7450a43b99 78 if(status.keys & HAL::KEY5)
group-FlexBook 0:fa7450a43b99 79 Log("Key 5");
group-FlexBook 0:fa7450a43b99 80 if(status.keys & HAL::KEY6)
group-FlexBook 0:fa7450a43b99 81 {
group-FlexBook 0:fa7450a43b99 82 Log("Key 6");
group-FlexBook 0:fa7450a43b99 83 if (imgnumber < 8) imgnumber = imgnumber + 1;
group-FlexBook 0:fa7450a43b99 84 printf("%i \n", imgnumber);
group-FlexBook 0:fa7450a43b99 85 pageflexenable.numimage = imgnumber;
group-FlexBook 0:fa7450a43b99 86 Log("number set");
group-FlexBook 0:fa7450a43b99 87 //pageflexenable.UpdateImage();
group-FlexBook 0:fa7450a43b99 88 Log("image updated");
group-FlexBook 0:fa7450a43b99 89 }
group-FlexBook 0:fa7450a43b99 90 if(status.keys & HAL::KEY7)
group-FlexBook 0:fa7450a43b99 91 Log("Key 7");
group-FlexBook 0:fa7450a43b99 92 if(status.keys & HAL::KEY8)
group-FlexBook 0:fa7450a43b99 93 Log("Key 8");
group-FlexBook 0:fa7450a43b99 94 if(status.keys & HAL::KEY9)
group-FlexBook 0:fa7450a43b99 95 {
group-FlexBook 0:fa7450a43b99 96 Log("Key 9");
group-FlexBook 0:fa7450a43b99 97 if (imgnumber > 0) imgnumber = imgnumber - 1;
group-FlexBook 0:fa7450a43b99 98 printf("%i \n", imgnumber);
group-FlexBook 0:fa7450a43b99 99 pageflexenable.numimage = imgnumber;
group-FlexBook 0:fa7450a43b99 100 Log("number set");
group-FlexBook 0:fa7450a43b99 101 //pageflexenable.UpdateImage();
group-FlexBook 0:fa7450a43b99 102 Log("image updated");
group-FlexBook 0:fa7450a43b99 103 }
group-FlexBook 0:fa7450a43b99 104 if(status.keys & HAL::KEY10)
group-FlexBook 0:fa7450a43b99 105 Log("Key 10");
group-FlexBook 0:fa7450a43b99 106 if(status.keys & HAL::KEY11)
group-FlexBook 0:fa7450a43b99 107 Log("Key 11");
group-FlexBook 0:fa7450a43b99 108 }
group-FlexBook 0:fa7450a43b99 109 if(status.sliderchanged)
group-FlexBook 0:fa7450a43b99 110 {
group-FlexBook 0:fa7450a43b99 111 printf("Slider/wheel: %x\n", status.slider);
group-FlexBook 0:fa7450a43b99 112 }
group-FlexBook 0:fa7450a43b99 113 }
group-FlexBook 0:fa7450a43b99 114
group-FlexBook 0:fa7450a43b99 115 inirq = false;
group-FlexBook 0:fa7450a43b99 116 }
group-FlexBook 0:fa7450a43b99 117 }
group-FlexBook 0:fa7450a43b99 118
group-FlexBook 0:fa7450a43b99 119 int PageTouch::GetKey()
group-FlexBook 0:fa7450a43b99 120 {
group-FlexBook 0:fa7450a43b99 121 int outkey = key;
group-FlexBook 0:fa7450a43b99 122 key = 0;
group-FlexBook 0:fa7450a43b99 123 return outkey;
group-FlexBook 0:fa7450a43b99 124 }
group-FlexBook 0:fa7450a43b99 125
group-FlexBook 0:fa7450a43b99 126 /*
group-FlexBook 0:fa7450a43b99 127 void PageTouch::HandlePageActions()
group-FlexBook 0:fa7450a43b99 128 {
group-FlexBook 0:fa7450a43b99 129 if (newtouch)
group-FlexBook 0:fa7450a43b99 130 {
group-FlexBook 0:fa7450a43b99 131 printf("%i \n", imgnumber);
group-FlexBook 0:fa7450a43b99 132 pageflexenable.numimage = imgnumber;
group-FlexBook 0:fa7450a43b99 133 //pageflexenable.UpdateImage();
group-FlexBook 0:fa7450a43b99 134 newtouch = false;
group-FlexBook 0:fa7450a43b99 135 }
group-FlexBook 0:fa7450a43b99 136 }
group-FlexBook 0:fa7450a43b99 137 */
group-FlexBook 0:fa7450a43b99 138 } // End Flexbook namespace.
group-FlexBook 0:fa7450a43b99 139
group-FlexBook 0:fa7450a43b99 140
group-FlexBook 0:fa7450a43b99 141