bachelorproef

Dependencies:   mbed C12832

Committer:
jonivdh
Date:
Tue Mar 24 22:00:48 2020 +0000
Revision:
0:6c9daa430100
Child:
1:fda3af7f9bf7
tcp

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 0:6c9daa430100 3 #include "C12832.h"
jonivdh 0:6c9daa430100 4 C12832 lcd(D11, D13, D12, D7, D10);
jonivdh 0:6c9daa430100 5
jonivdh 0:6c9daa430100 6 Interrupt newinterrupt(A2,A3,A4,A5,D4);
jonivdh 0:6c9daa430100 7 TCP tcp;
jonivdh 0:6c9daa430100 8 Menu::Menu (){
jonivdh 0:6c9daa430100 9 lastnumberIP = 101;
jonivdh 0:6c9daa430100 10 frequency = 98;
jonivdh 0:6c9daa430100 11 length = 120;
jonivdh 0:6c9daa430100 12 i = 1;
jonivdh 0:6c9daa430100 13 count = 0;
jonivdh 0:6c9daa430100 14 }
jonivdh 0:6c9daa430100 15
jonivdh 0:6c9daa430100 16 void Menu::start () {
jonivdh 0:6c9daa430100 17 if ( newinterrupt.flagRight == true && i < 4) {
jonivdh 0:6c9daa430100 18 i++;
jonivdh 0:6c9daa430100 19 newinterrupt.flagRight = false;
jonivdh 0:6c9daa430100 20 }
jonivdh 0:6c9daa430100 21 if ( newinterrupt.flagLeft == true && i > 1) {
jonivdh 0:6c9daa430100 22 i--;
jonivdh 0:6c9daa430100 23 newinterrupt.flagLeft = false;
jonivdh 0:6c9daa430100 24 }
jonivdh 0:6c9daa430100 25 lcd.cls();
jonivdh 0:6c9daa430100 26 lcd.locate(5,15);
jonivdh 0:6c9daa430100 27 lcd.printf("Send");
jonivdh 0:6c9daa430100 28 lcd.locate(40,15);
jonivdh 0:6c9daa430100 29 lcd.printf("Receive");
jonivdh 0:6c9daa430100 30 lcd.locate(85,15);
jonivdh 0:6c9daa430100 31 lcd.printf("Status");
jonivdh 0:6c9daa430100 32
jonivdh 0:6c9daa430100 33 switch (i) {
jonivdh 0:6c9daa430100 34 case 1:
jonivdh 0:6c9daa430100 35 lcd.rect(3, 13, 29, 25, 1);
jonivdh 0:6c9daa430100 36 lcd.rect(38, 13, 73, 25, 0);
jonivdh 0:6c9daa430100 37 lcd.rect(83, 13, 115, 25, 0);
jonivdh 0:6c9daa430100 38 if (newinterrupt.flagEnter == true) {
jonivdh 0:6c9daa430100 39 newinterrupt.nextScreen++;
jonivdh 0:6c9daa430100 40 newinterrupt.flagEnter = false;
jonivdh 0:6c9daa430100 41 }
jonivdh 0:6c9daa430100 42 break;
jonivdh 0:6c9daa430100 43
jonivdh 0:6c9daa430100 44 case 2:
jonivdh 0:6c9daa430100 45 lcd.rect(3, 13, 29, 25, 0);
jonivdh 0:6c9daa430100 46 lcd.rect(38, 13, 73, 25, 1);
jonivdh 0:6c9daa430100 47 lcd.rect(83, 13, 115, 25, 0);
jonivdh 0:6c9daa430100 48 break;
jonivdh 0:6c9daa430100 49
jonivdh 0:6c9daa430100 50 case 3:
jonivdh 0:6c9daa430100 51 lcd.rect(3, 13, 29, 25, 0);
jonivdh 0:6c9daa430100 52 lcd.rect(38, 13, 73, 25, 0);
jonivdh 0:6c9daa430100 53 lcd.rect(83, 13, 115, 25, 1);
jonivdh 0:6c9daa430100 54 break;
jonivdh 0:6c9daa430100 55 }
jonivdh 0:6c9daa430100 56
jonivdh 0:6c9daa430100 57 }
jonivdh 0:6c9daa430100 58
jonivdh 0:6c9daa430100 59 void Menu::chooseIP() {
jonivdh 0:6c9daa430100 60 if ( newinterrupt.flagLeft == true && lastnumberIP < 121) {
jonivdh 0:6c9daa430100 61 lastnumberIP++;
jonivdh 0:6c9daa430100 62 newinterrupt.flagLeft = false;
jonivdh 0:6c9daa430100 63 }
jonivdh 0:6c9daa430100 64 if ( newinterrupt.flagRight == true&& lastnumberIP > 101) {
jonivdh 0:6c9daa430100 65 lastnumberIP--;
jonivdh 0:6c9daa430100 66 newinterrupt.flagRight = false;
jonivdh 0:6c9daa430100 67 }
jonivdh 0:6c9daa430100 68 lcd.cls();
jonivdh 0:6c9daa430100 69 lcd.locate(0,3);
jonivdh 0:6c9daa430100 70 lcd.printf("192.168.0. %d" , lastnumberIP);
jonivdh 0:6c9daa430100 71
jonivdh 0:6c9daa430100 72 if (newinterrupt.flagEnter == true) {
jonivdh 0:6c9daa430100 73 lcd.cls();
jonivdh 0:6c9daa430100 74 lcd.locate(0,3);
jonivdh 0:6c9daa430100 75 lcd.printf("sending");
jonivdh 0:6c9daa430100 76 tcp.send(lastnumberIP);
jonivdh 0:6c9daa430100 77 newinterrupt.flagEnter = false;
jonivdh 0:6c9daa430100 78 lcd.cls();
jonivdh 0:6c9daa430100 79 lcd.locate(0,3);
jonivdh 0:6c9daa430100 80 lcd.printf("end");
jonivdh 0:6c9daa430100 81 }
jonivdh 0:6c9daa430100 82 }
jonivdh 0:6c9daa430100 83
jonivdh 0:6c9daa430100 84 void Menu::tunes () {
jonivdh 0:6c9daa430100 85 if (newinterrupt.flagEnter == true) {
jonivdh 0:6c9daa430100 86 count ++;
jonivdh 0:6c9daa430100 87 newinterrupt.flagEnter = false;
jonivdh 0:6c9daa430100 88 }
jonivdh 0:6c9daa430100 89 switch (count){
jonivdh 0:6c9daa430100 90 case 1:
jonivdh 0:6c9daa430100 91 if (newinterrupt.flagLeft == true && frequency < 130) {
jonivdh 0:6c9daa430100 92 frequency++;
jonivdh 0:6c9daa430100 93 newinterrupt.flagLeft = false;
jonivdh 0:6c9daa430100 94 }
jonivdh 0:6c9daa430100 95 if (newinterrupt.flagRight == true && frequency > 98) {
jonivdh 0:6c9daa430100 96 frequency--;
jonivdh 0:6c9daa430100 97 newinterrupt.flagRight = false;
jonivdh 0:6c9daa430100 98 }
jonivdh 0:6c9daa430100 99 break;
jonivdh 0:6c9daa430100 100 case 2:
jonivdh 0:6c9daa430100 101 if (newinterrupt.flagLeft == true && length < 480) {
jonivdh 0:6c9daa430100 102 length = length + 20;
jonivdh 0:6c9daa430100 103 newinterrupt.flagLeft = false;
jonivdh 0:6c9daa430100 104 }
jonivdh 0:6c9daa430100 105 if (newinterrupt.flagRight == true && length > 120) {
jonivdh 0:6c9daa430100 106 length = length - 20;
jonivdh 0:6c9daa430100 107 newinterrupt.flagRight = false;
jonivdh 0:6c9daa430100 108 }
jonivdh 0:6c9daa430100 109 break;
jonivdh 0:6c9daa430100 110 }
jonivdh 0:6c9daa430100 111 lcd.cls();
jonivdh 0:6c9daa430100 112 lcd.locate(0,3);
jonivdh 0:6c9daa430100 113 lcd.printf("%d" , frequency);
jonivdh 0:6c9daa430100 114 lcd.locate(0,14);
jonivdh 0:6c9daa430100 115 lcd.printf("%d" , length);
jonivdh 0:6c9daa430100 116 }
jonivdh 0:6c9daa430100 117
jonivdh 0:6c9daa430100 118 void Menu::updateLCD () {
jonivdh 0:6c9daa430100 119
jonivdh 0:6c9daa430100 120 switch (newinterrupt.currentScreen){
jonivdh 0:6c9daa430100 121 case 0:
jonivdh 0:6c9daa430100 122 start();
jonivdh 0:6c9daa430100 123 break;
jonivdh 0:6c9daa430100 124 case 1:
jonivdh 0:6c9daa430100 125 chooseIP();
jonivdh 0:6c9daa430100 126 break;
jonivdh 0:6c9daa430100 127 case 2:
jonivdh 0:6c9daa430100 128 tunes();
jonivdh 0:6c9daa430100 129 break;
jonivdh 0:6c9daa430100 130 }
jonivdh 0:6c9daa430100 131 }
jonivdh 0:6c9daa430100 132
jonivdh 0:6c9daa430100 133 void Menu::screen () {
jonivdh 0:6c9daa430100 134 if (newinterrupt.currentScreen != newinterrupt.nextScreen) {
jonivdh 0:6c9daa430100 135 newinterrupt.currentScreen = newinterrupt.nextScreen;
jonivdh 0:6c9daa430100 136 updateLCD();
jonivdh 0:6c9daa430100 137 }
jonivdh 0:6c9daa430100 138 if (newinterrupt.flagLeft || newinterrupt.flagRight || newinterrupt.flagEnter) {
jonivdh 0:6c9daa430100 139 newinterrupt.currentScreen = newinterrupt.nextScreen;
jonivdh 0:6c9daa430100 140 updateLCD();
jonivdh 0:6c9daa430100 141 }
jonivdh 0:6c9daa430100 142 }
jonivdh 0:6c9daa430100 143