bachelorproef

Dependencies:   mbed C12832

Committer:
jonivdh
Date:
Thu Mar 26 01:44:45 2020 +0000
Revision:
1:fda3af7f9bf7
Parent:
0:6c9daa430100
Child:
2:f65ff03fe1ac
add functionality

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jonivdh 0:6c9daa430100 1 #include "menu.h"
jonivdh 0:6c9daa430100 2 #include "tcp.h"
jonivdh 1:fda3af7f9bf7 3 #include "lcd.h"
jonivdh 1:fda3af7f9bf7 4 //#include "C12832.h"
jonivdh 1:fda3af7f9bf7 5 //C12832 lcd(D11, D13, D12, D7, D10);
jonivdh 0:6c9daa430100 6
jonivdh 1:fda3af7f9bf7 7 Interrupt newinterrupt(A2,A3,A4,A5,D4);
jonivdh 1:fda3af7f9bf7 8 LCD newlcd;
jonivdh 0:6c9daa430100 9 TCP tcp;
jonivdh 0:6c9daa430100 10 Menu::Menu (){
jonivdh 0:6c9daa430100 11 lastnumberIP = 101;
jonivdh 0:6c9daa430100 12 frequency = 98;
jonivdh 0:6c9daa430100 13 length = 120;
jonivdh 0:6c9daa430100 14 i = 1;
jonivdh 0:6c9daa430100 15 count = 0;
jonivdh 0:6c9daa430100 16 }
jonivdh 0:6c9daa430100 17
jonivdh 1:fda3af7f9bf7 18 void Menu::beginmenu () {
jonivdh 0:6c9daa430100 19 if ( newinterrupt.flagRight == true && i < 4) {
jonivdh 0:6c9daa430100 20 i++;
jonivdh 0:6c9daa430100 21 newinterrupt.flagRight = false;
jonivdh 0:6c9daa430100 22 }
jonivdh 0:6c9daa430100 23 if ( newinterrupt.flagLeft == true && i > 1) {
jonivdh 0:6c9daa430100 24 i--;
jonivdh 0:6c9daa430100 25 newinterrupt.flagLeft = false;
jonivdh 0:6c9daa430100 26 }
jonivdh 1:fda3af7f9bf7 27 newlcd.printstart();
jonivdh 0:6c9daa430100 28
jonivdh 0:6c9daa430100 29 switch (i) {
jonivdh 0:6c9daa430100 30 case 1:
jonivdh 1:fda3af7f9bf7 31 newlcd.printrectsend();
jonivdh 0:6c9daa430100 32 if (newinterrupt.flagEnter == true) {
jonivdh 0:6c9daa430100 33 newinterrupt.nextScreen++;
jonivdh 0:6c9daa430100 34 newinterrupt.flagEnter = false;
jonivdh 0:6c9daa430100 35 }
jonivdh 0:6c9daa430100 36 break;
jonivdh 0:6c9daa430100 37
jonivdh 0:6c9daa430100 38 case 2:
jonivdh 1:fda3af7f9bf7 39 newlcd.printrectreceive();
jonivdh 1:fda3af7f9bf7 40 if (newinterrupt.flagEnter == true) {
jonivdh 1:fda3af7f9bf7 41 newinterrupt.flagEnter = false;
jonivdh 1:fda3af7f9bf7 42 receivepacket();
jonivdh 1:fda3af7f9bf7 43 }
jonivdh 0:6c9daa430100 44 break;
jonivdh 0:6c9daa430100 45
jonivdh 0:6c9daa430100 46 case 3:
jonivdh 1:fda3af7f9bf7 47 newlcd.printrectstatus();
jonivdh 0:6c9daa430100 48 break;
jonivdh 0:6c9daa430100 49 }
jonivdh 0:6c9daa430100 50
jonivdh 0:6c9daa430100 51 }
jonivdh 1:fda3af7f9bf7 52 void Menu::receivepacket() {
jonivdh 1:fda3af7f9bf7 53 newlcd.receivepacket();
jonivdh 1:fda3af7f9bf7 54 tcp.receive();
jonivdh 1:fda3af7f9bf7 55 newlcd.receivepacketconfirmed(tcp.buffer);
jonivdh 1:fda3af7f9bf7 56 }
jonivdh 1:fda3af7f9bf7 57 void Menu::sendpacket() {
jonivdh 1:fda3af7f9bf7 58 newlcd.sendpacket();
jonivdh 1:fda3af7f9bf7 59 tcp.send(lastnumberIP);
jonivdh 1:fda3af7f9bf7 60 newlcd.sendpacketconfirmed();
jonivdh 1:fda3af7f9bf7 61 wait(3.0);
jonivdh 1:fda3af7f9bf7 62 newinterrupt.nextScreen = 0;
jonivdh 1:fda3af7f9bf7 63 }
jonivdh 0:6c9daa430100 64
jonivdh 1:fda3af7f9bf7 65 void Menu::enter() {
jonivdh 1:fda3af7f9bf7 66 if (newinterrupt.flagEnter == true) {
jonivdh 1:fda3af7f9bf7 67 newinterrupt.flagEnter = false;
jonivdh 1:fda3af7f9bf7 68 newinterrupt.nextScreen++;
jonivdh 1:fda3af7f9bf7 69 }
jonivdh 1:fda3af7f9bf7 70 }
jonivdh 1:fda3af7f9bf7 71
jonivdh 1:fda3af7f9bf7 72 void Menu::back() {
jonivdh 1:fda3af7f9bf7 73 if (newinterrupt.flagEnter == true) {
jonivdh 1:fda3af7f9bf7 74 newinterrupt.flagEnter = false;
jonivdh 1:fda3af7f9bf7 75 newinterrupt.nextScreen--;
jonivdh 1:fda3af7f9bf7 76 }
jonivdh 1:fda3af7f9bf7 77 }
jonivdh 1:fda3af7f9bf7 78
jonivdh 1:fda3af7f9bf7 79 void Menu::selectIP() {
jonivdh 0:6c9daa430100 80 if ( newinterrupt.flagLeft == true && lastnumberIP < 121) {
jonivdh 0:6c9daa430100 81 lastnumberIP++;
jonivdh 0:6c9daa430100 82 newinterrupt.flagLeft = false;
jonivdh 0:6c9daa430100 83 }
jonivdh 0:6c9daa430100 84 if ( newinterrupt.flagRight == true&& lastnumberIP > 101) {
jonivdh 0:6c9daa430100 85 lastnumberIP--;
jonivdh 0:6c9daa430100 86 newinterrupt.flagRight = false;
jonivdh 0:6c9daa430100 87 }
jonivdh 1:fda3af7f9bf7 88 newlcd.printIP(lastnumberIP);
jonivdh 0:6c9daa430100 89
jonivdh 0:6c9daa430100 90 if (newinterrupt.flagEnter == true) {
jonivdh 0:6c9daa430100 91 newinterrupt.flagEnter = false;
jonivdh 1:fda3af7f9bf7 92 newinterrupt.nextScreen++;
jonivdh 1:fda3af7f9bf7 93 }
jonivdh 1:fda3af7f9bf7 94
jonivdh 1:fda3af7f9bf7 95 /*
jonivdh 1:fda3af7f9bf7 96 if (newinterrupt.flagDown == true) {
jonivdh 1:fda3af7f9bf7 97 newinterrupt.flagDown = false;
jonivdh 1:fda3af7f9bf7 98 newlcd.printIP(lastnumberIP);
jonivdh 1:fda3af7f9bf7 99 newlcd.printrectback();
jonivdh 0:6c9daa430100 100 }
jonivdh 1:fda3af7f9bf7 101 if (newinterrupt.flagUp == true) {
jonivdh 1:fda3af7f9bf7 102 newinterrupt.flagUp = false;
jonivdh 1:fda3af7f9bf7 103 newlcd.printIP(lastnumberIP);
jonivdh 1:fda3af7f9bf7 104 }
jonivdh 1:fda3af7f9bf7 105 /**/
jonivdh 0:6c9daa430100 106 }
jonivdh 0:6c9daa430100 107
jonivdh 1:fda3af7f9bf7 108 void Menu::selectfrequency () {
jonivdh 0:6c9daa430100 109 if (newinterrupt.flagLeft == true && frequency < 130) {
jonivdh 0:6c9daa430100 110 frequency++;
jonivdh 0:6c9daa430100 111 newinterrupt.flagLeft = false;
jonivdh 0:6c9daa430100 112 }
jonivdh 0:6c9daa430100 113 if (newinterrupt.flagRight == true && frequency > 98) {
jonivdh 0:6c9daa430100 114 frequency--;
jonivdh 0:6c9daa430100 115 newinterrupt.flagRight = false;
jonivdh 0:6c9daa430100 116 }
jonivdh 1:fda3af7f9bf7 117
jonivdh 1:fda3af7f9bf7 118 newlcd.printfreq(frequency);
jonivdh 1:fda3af7f9bf7 119
jonivdh 1:fda3af7f9bf7 120 if (newinterrupt.flagEnter == true) {
jonivdh 1:fda3af7f9bf7 121 newinterrupt.flagEnter = false;
jonivdh 1:fda3af7f9bf7 122 newinterrupt.nextScreen++;
jonivdh 1:fda3af7f9bf7 123 }
jonivdh 1:fda3af7f9bf7 124 }
jonivdh 1:fda3af7f9bf7 125 void Menu::selectlength() {
jonivdh 0:6c9daa430100 126 if (newinterrupt.flagLeft == true && length < 480) {
jonivdh 0:6c9daa430100 127 length = length + 20;
jonivdh 0:6c9daa430100 128 newinterrupt.flagLeft = false;
jonivdh 0:6c9daa430100 129 }
jonivdh 0:6c9daa430100 130 if (newinterrupt.flagRight == true && length > 120) {
jonivdh 0:6c9daa430100 131 length = length - 20;
jonivdh 0:6c9daa430100 132 newinterrupt.flagRight = false;
jonivdh 0:6c9daa430100 133 }
jonivdh 1:fda3af7f9bf7 134 newlcd.printlength(length);
jonivdh 1:fda3af7f9bf7 135
jonivdh 1:fda3af7f9bf7 136 if (newinterrupt.flagEnter == true) {
jonivdh 1:fda3af7f9bf7 137 newinterrupt.flagEnter = false;
jonivdh 1:fda3af7f9bf7 138 newinterrupt.nextScreen++;
jonivdh 0:6c9daa430100 139 }
jonivdh 0:6c9daa430100 140 }
jonivdh 0:6c9daa430100 141 void Menu::updateLCD () {
jonivdh 0:6c9daa430100 142
jonivdh 0:6c9daa430100 143 switch (newinterrupt.currentScreen){
jonivdh 0:6c9daa430100 144 case 0:
jonivdh 1:fda3af7f9bf7 145 beginmenu();
jonivdh 0:6c9daa430100 146 break;
jonivdh 0:6c9daa430100 147 case 1:
jonivdh 1:fda3af7f9bf7 148 selectIP();
jonivdh 0:6c9daa430100 149 break;
jonivdh 0:6c9daa430100 150 case 2:
jonivdh 1:fda3af7f9bf7 151 selectfrequency();
jonivdh 1:fda3af7f9bf7 152 break;
jonivdh 1:fda3af7f9bf7 153 case 3:
jonivdh 1:fda3af7f9bf7 154 selectlength();
jonivdh 1:fda3af7f9bf7 155 break;
jonivdh 1:fda3af7f9bf7 156 case 4:
jonivdh 1:fda3af7f9bf7 157 sendpacket();
jonivdh 0:6c9daa430100 158 break;
jonivdh 0:6c9daa430100 159 }
jonivdh 0:6c9daa430100 160 }
jonivdh 0:6c9daa430100 161
jonivdh 0:6c9daa430100 162 void Menu::screen () {
jonivdh 0:6c9daa430100 163 if (newinterrupt.currentScreen != newinterrupt.nextScreen) {
jonivdh 0:6c9daa430100 164 newinterrupt.currentScreen = newinterrupt.nextScreen;
jonivdh 0:6c9daa430100 165 updateLCD();
jonivdh 0:6c9daa430100 166 }
jonivdh 0:6c9daa430100 167 if (newinterrupt.flagLeft || newinterrupt.flagRight || newinterrupt.flagEnter) {
jonivdh 0:6c9daa430100 168 newinterrupt.currentScreen = newinterrupt.nextScreen;
jonivdh 0:6c9daa430100 169 updateLCD();
jonivdh 0:6c9daa430100 170 }
jonivdh 0:6c9daa430100 171 }
jonivdh 0:6c9daa430100 172