joni vanderhaeghe
/
bachelorproef
bachelorproef
menu.cpp@1:fda3af7f9bf7, 2020-03-26 (annotated)
- 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?
User | Revision | Line number | New 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 |