Jónar / Mbed OS Hopverkefni1

Dependencies:   X_NUCLEO_IKS01A1

Committer:
gesturandrei
Date:
Thu Jan 23 14:59:30 2020 +0000
Revision:
7:aa81a4060c62
Parent:
6:c4c88077923c
23.1.2020

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gesturandrei 7:aa81a4060c62 1 /* Náum í gagnasöfn */
gesturandrei 1:ae01414cd891 2 #include <iostream>
gesturandrei 4:9b7d5033d0ef 3 #include <stdlib.h>
gesturandrei 4:9b7d5033d0ef 4 #include <algorithm>
gesturandrei 1:ae01414cd891 5 using namespace std;
ivardor 0:1ba5cfaab64e 6 #include "mbed.h"
ivardor 0:1ba5cfaab64e 7 #include "x_nucleo_iks01a1.h"
ivardor 3:8cbc430199af 8 #include <ctime>
ivardor 3:8cbc430199af 9
gesturandrei 7:aa81a4060c62 10 //Skilgreiningar fyrir takka og led ljós
ivardor 3:8cbc430199af 11 InterruptIn button1(USER_BUTTON);
ivardor 3:8cbc430199af 12 volatile bool button1_pressed = false; // Used in the main loop
gesturandrei 7:aa81a4060c62 13 volatile bool button1_enabled = true; // Notað fyrir debouncing
gesturandrei 7:aa81a4060c62 14 Timeout button1_timeout; // Notað fyrir debouncing
ivardor 3:8cbc430199af 15 DigitalOut led1(LED1);
ivardor 0:1ba5cfaab64e 16
gesturandrei 7:aa81a4060c62 17 /* Skilgreinum X-Nucleo skjöldinn */
ivardor 0:1ba5cfaab64e 18 static X_NUCLEO_IKS01A1 *mems_expansion_board = X_NUCLEO_IKS01A1::Instance(D14, D15);
ivardor 0:1ba5cfaab64e 19
gesturandrei 7:aa81a4060c62 20 /* Náum í grunneiningar skjaldarinns */
ivardor 0:1ba5cfaab64e 21 static GyroSensor *gyroscope = mems_expansion_board->GetGyroscope();
ivardor 0:1ba5cfaab64e 22 static MotionSensor *accelerometer = mems_expansion_board->GetAccelerometer();
ivardor 0:1ba5cfaab64e 23 static MagneticSensor *magnetometer = mems_expansion_board->magnetometer;
ivardor 0:1ba5cfaab64e 24 static HumiditySensor *humidity_sensor = mems_expansion_board->ht_sensor;
ivardor 0:1ba5cfaab64e 25 static PressureSensor *pressure_sensor = mems_expansion_board->pt_sensor;
ivardor 0:1ba5cfaab64e 26 static TempSensor *temp_sensor1 = mems_expansion_board->ht_sensor;
ivardor 0:1ba5cfaab64e 27 static TempSensor *temp_sensor2 = mems_expansion_board->pt_sensor;
ivardor 0:1ba5cfaab64e 28
gesturandrei 7:aa81a4060c62 29 /* Hjálparfall til að prenta floats og doubles (tilbúið fall með athugasemdum á ensku)*/
ivardor 0:1ba5cfaab64e 30 static char *printDouble(char* str, double v, int decimalDigits=2)
ivardor 0:1ba5cfaab64e 31 {
ivardor 0:1ba5cfaab64e 32 int i = 1;
ivardor 0:1ba5cfaab64e 33 int intPart, fractPart;
ivardor 0:1ba5cfaab64e 34 int len;
ivardor 0:1ba5cfaab64e 35 char *ptr;
ivardor 0:1ba5cfaab64e 36
ivardor 0:1ba5cfaab64e 37 /* prepare decimal digits multiplicator */
ivardor 0:1ba5cfaab64e 38 for (;decimalDigits!=0; i*=10, decimalDigits--);
ivardor 0:1ba5cfaab64e 39
ivardor 0:1ba5cfaab64e 40 /* calculate integer & fractinal parts */
ivardor 0:1ba5cfaab64e 41 intPart = (int)v;
ivardor 0:1ba5cfaab64e 42 fractPart = (int)((v-(double)(int)v)*i);
ivardor 0:1ba5cfaab64e 43
ivardor 0:1ba5cfaab64e 44 /* fill in integer part */
ivardor 0:1ba5cfaab64e 45 sprintf(str, "%i.", intPart);
ivardor 0:1ba5cfaab64e 46
ivardor 0:1ba5cfaab64e 47 /* prepare fill in of fractional part */
ivardor 0:1ba5cfaab64e 48 len = strlen(str);
ivardor 0:1ba5cfaab64e 49 ptr = &str[len];
ivardor 0:1ba5cfaab64e 50
ivardor 0:1ba5cfaab64e 51 /* fill in leading fractional zeros */
ivardor 0:1ba5cfaab64e 52 for (i/=10;i>1; i/=10, ptr++) {
ivardor 0:1ba5cfaab64e 53 if(fractPart >= i) break;
ivardor 0:1ba5cfaab64e 54 *ptr = '0';
ivardor 0:1ba5cfaab64e 55 }
ivardor 0:1ba5cfaab64e 56
ivardor 0:1ba5cfaab64e 57 /* fill in (rest of) fractional part */
ivardor 0:1ba5cfaab64e 58 sprintf(ptr, "%i", fractPart);
ivardor 0:1ba5cfaab64e 59
ivardor 0:1ba5cfaab64e 60 return str;
ivardor 0:1ba5cfaab64e 61 }
ivardor 0:1ba5cfaab64e 62
gesturandrei 7:aa81a4060c62 63 // Fall sem virkjar takkann þegar bouncing er búið
ivardor 3:8cbc430199af 64 void button1_enabled_cb(void)
ivardor 3:8cbc430199af 65 {
ivardor 3:8cbc430199af 66 button1_enabled = true;
ivardor 3:8cbc430199af 67 }
ivardor 3:8cbc430199af 68
gesturandrei 7:aa81a4060c62 69 // ISR meðhöndlun þegar ýtt er á takkann
ivardor 3:8cbc430199af 70 void button1_onpressed_cb(void)
ivardor 3:8cbc430199af 71 {
gesturandrei 7:aa81a4060c62 72 if (button1_enabled) { // Slökt á meðan að takki er bouncing
ivardor 3:8cbc430199af 73 button1_enabled = false;
gesturandrei 7:aa81a4060c62 74 button1_pressed = true;
gesturandrei 7:aa81a4060c62 75 button1_timeout.attach(callback(button1_enabled_cb), 0.3); // Debounce tími 300 ms
ivardor 3:8cbc430199af 76 }
ivardor 3:8cbc430199af 77 }
ivardor 3:8cbc430199af 78
gesturandrei 7:aa81a4060c62 79 /* Tilfelli 1, fall sem prentar út hitastig, rakastig og loftþrýsting í umhverfi brettisins */
ivardor 2:ff2d1e351302 80 void tilfelli1() {
ivardor 2:ff2d1e351302 81 printf("\r\n");
ivardor 3:8cbc430199af 82 printf("Tilfelli 1 valið: \r\n");
gesturandrei 7:aa81a4060c62 83
ivardor 3:8cbc430199af 84 float value1, value2;
ivardor 3:8cbc430199af 85 char buffer1[32], buffer2[32];
gesturandrei 7:aa81a4060c62 86
gesturandrei 7:aa81a4060c62 87 /* Lesum hitastig og rakastig og prentum út */
ivardor 3:8cbc430199af 88 temp_sensor1->get_temperature(&value1);
ivardor 3:8cbc430199af 89 humidity_sensor->get_humidity(&value2);
gesturandrei 7:aa81a4060c62 90 printf(" Hitastig: %7s°C\n Rakastig: %s%%\r\n", printDouble(buffer1, value1), printDouble(buffer2, value2));
gesturandrei 7:aa81a4060c62 91
gesturandrei 7:aa81a4060c62 92 /* Lesum loftþrýsting og prentum út */
gesturandrei 7:aa81a4060c62 93 pressure_sensor->get_pressure(&value2);
gesturandrei 7:aa81a4060c62 94 printf(" Loftþrýstingur: %s mbar\r\n", printDouble(buffer2, value2));
gesturandrei 7:aa81a4060c62 95
ivardor 3:8cbc430199af 96 printf("\n");
ivardor 2:ff2d1e351302 97 }
ivardor 2:ff2d1e351302 98
gesturandrei 7:aa81a4060c62 99 /* Tilfelli 2, fall sem prentar út segulstefnu, hröðun og hornhröðun brettisins í þrívíðum hnitum */
ivardor 2:ff2d1e351302 100 void tilfelli2() {
ivardor 2:ff2d1e351302 101 printf("\r\n");
ivardor 3:8cbc430199af 102 printf("Tilfelli 2 valið: \r\n");
gesturandrei 7:aa81a4060c62 103
ivardor 3:8cbc430199af 104 char buffer1[32], buffer2[32];
ivardor 3:8cbc430199af 105 int32_t axes[3];
gesturandrei 7:aa81a4060c62 106
gesturandrei 7:aa81a4060c62 107 /* Lesum segulstefnur og prentum út */
ivardor 3:8cbc430199af 108 magnetometer->get_m_axes(axes);
ivardor 3:8cbc430199af 109 printf(" Segulstefnur: %7ld, %7ld, %7ld\r\n", axes[0], axes[1], axes[2]);
gesturandrei 7:aa81a4060c62 110
gesturandrei 7:aa81a4060c62 111 /* Lesum hröðunarmerki og prentum út */
ivardor 3:8cbc430199af 112 accelerometer->get_x_axes(axes);
gesturandrei 4:9b7d5033d0ef 113 printf(" Hröðun: %7ld %7ld, %7ld\r\n", axes[0], axes[1], axes[2]);
gesturandrei 7:aa81a4060c62 114
gesturandrei 7:aa81a4060c62 115 /* Lesum hornhröðunarmerki og prentum út */
ivardor 3:8cbc430199af 116 gyroscope->get_g_axes(axes);
gesturandrei 4:9b7d5033d0ef 117 printf(" Hornhröðun: %7ld, %7ld, %7ld\r\n", axes[0], axes[1], axes[2]);
gesturandrei 7:aa81a4060c62 118
ivardor 3:8cbc430199af 119 printf("\n");
ivardor 2:ff2d1e351302 120 }
ivardor 2:ff2d1e351302 121
gesturandrei 7:aa81a4060c62 122 /* Tilfelli 3, fall sem samsvarar takkavalmynd */
ivardor 3:8cbc430199af 123 void tilfelli3() {
gesturandrei 4:9b7d5033d0ef 124 printf("\r\n");
gesturandrei 4:9b7d5033d0ef 125 printf("Tilfelli 3 valið: \r\n");
gesturandrei 6:c4c88077923c 126 printf("Ýttu 1 sinni á takkann til að fá stöðu brettisins einu sinni. \r\n");
gesturandrei 6:c4c88077923c 127 printf("Ýttu 2 sinnum á takkann til að athuga hvort brettið sé upprétt einu sinni. \r\n");
gesturandrei 6:c4c88077923c 128 printf("Ýttu 3 sinnum á takkann til að fá stöðu brettisins í rauntíma. \r\n");
gesturandrei 7:aa81a4060c62 129 printf("Ýttu 4 sinnum á takkann til að fara til baka í aðalvalmynd. \r\n");
gesturandrei 7:aa81a4060c62 130
gesturandrei 7:aa81a4060c62 131 button1.fall(callback(button1_onpressed_cb)); // Viðhengja ISR til að meðhöndla þegar ýtt er á takka
ivardor 3:8cbc430199af 132
gesturandrei 7:aa81a4060c62 133 int idx = 0; // Teljari fyrir hversu oft ýtt er á takka
gesturandrei 7:aa81a4060c62 134
gesturandrei 7:aa81a4060c62 135 /* Lykkja fyrir takkavalmynd */
gesturandrei 6:c4c88077923c 136 while(1) {
gesturandrei 7:aa81a4060c62 137 idx = 0; // Endurræsum teljara
gesturandrei 7:aa81a4060c62 138 if (button1_pressed) {
ivardor 3:8cbc430199af 139 button1_pressed = false;
ivardor 3:8cbc430199af 140 clock_t time = clock();
ivardor 3:8cbc430199af 141 idx++;
gesturandrei 7:aa81a4060c62 142 /* Lykkja sem gefur notanda 3 sek til að ýta á takkan eins oft og notandi vill */
gesturandrei 4:9b7d5033d0ef 143 while ((clock() - time) / CLOCKS_PER_SEC < 3) {
ivardor 3:8cbc430199af 144 if (button1_pressed) {
ivardor 3:8cbc430199af 145 button1_pressed = false;
gesturandrei 7:aa81a4060c62 146 idx++; // Hækkum teljara ef ýtt er á takka
ivardor 3:8cbc430199af 147 }
ivardor 3:8cbc430199af 148 }
ivardor 3:8cbc430199af 149 }
ivardor 3:8cbc430199af 150
gesturandrei 7:aa81a4060c62 151 /* Ef ýtt er á takka þá prentast út hversu of ýtt var á hann */
gesturandrei 7:aa81a4060c62 152 if (idx > 1) {
gesturandrei 6:c4c88077923c 153 printf("\r\n");
gesturandrei 7:aa81a4060c62 154 printf("Þrýst á takkann %d sinnum. \r\n", idx);
gesturandrei 7:aa81a4060c62 155 }
gesturandrei 7:aa81a4060c62 156 else if (idx == 1) {
gesturandrei 7:aa81a4060c62 157 printf("\r\n");
gesturandrei 7:aa81a4060c62 158 printf("Þrýst á takkann %d sinni. \r\n", idx);
gesturandrei 6:c4c88077923c 159 }
gesturandrei 6:c4c88077923c 160
ivardor 3:8cbc430199af 161 if (idx == 1) {
gesturandrei 7:aa81a4060c62 162 /* Staða reiknuð út */
gesturandrei 4:9b7d5033d0ef 163 char buffer1[32], buffer2[32];
gesturandrei 4:9b7d5033d0ef 164 int32_t axes[3];
gesturandrei 4:9b7d5033d0ef 165 accelerometer->get_x_axes(axes);
gesturandrei 4:9b7d5033d0ef 166 int max_1 = max(abs(axes[0]), abs(axes[1]));
gesturandrei 4:9b7d5033d0ef 167 max_1 = max(max_1, abs(axes[2]));
gesturandrei 4:9b7d5033d0ef 168
gesturandrei 7:aa81a4060c62 169 /* Niðurstaða prentuð út */
gesturandrei 7:aa81a4060c62 170 printf("Hlið brettisins sem snýr upp á við er: ");
gesturandrei 7:aa81a4060c62 171
gesturandrei 4:9b7d5033d0ef 172 if (max_1 == abs(axes[0])) {
gesturandrei 4:9b7d5033d0ef 173 if (max_1 == axes[0]) {
gesturandrei 7:aa81a4060c62 174 printf("HÆGRI HLIÐIN. \n");
gesturandrei 4:9b7d5033d0ef 175 } else {
gesturandrei 7:aa81a4060c62 176 printf("VINSTRI HLIÐIN. \n");
gesturandrei 4:9b7d5033d0ef 177 }
gesturandrei 4:9b7d5033d0ef 178 }
gesturandrei 4:9b7d5033d0ef 179 else if (max_1 == abs(axes[1])) {
gesturandrei 4:9b7d5033d0ef 180 if (max_1 == axes[1]) {
gesturandrei 7:aa81a4060c62 181 printf("FRAM HLIÐIN. \n");
gesturandrei 4:9b7d5033d0ef 182 } else {
gesturandrei 7:aa81a4060c62 183 printf("BAK HLIÐIN. \n");
gesturandrei 4:9b7d5033d0ef 184 }
gesturandrei 4:9b7d5033d0ef 185 }
gesturandrei 4:9b7d5033d0ef 186 else if (max_1 == abs(axes[2])) {
gesturandrei 4:9b7d5033d0ef 187 if (max_1 == axes[2]) {
gesturandrei 7:aa81a4060c62 188 printf("TOPP HLIÐIN. \n");
gesturandrei 4:9b7d5033d0ef 189 } else {
gesturandrei 7:aa81a4060c62 190 printf("BOTN HLIÐIN. \n");
gesturandrei 4:9b7d5033d0ef 191 }
gesturandrei 4:9b7d5033d0ef 192 }
ivardor 3:8cbc430199af 193 }
gesturandrei 7:aa81a4060c62 194 /* Ef ýtt er 2 sinnum á takkann */
ivardor 3:8cbc430199af 195 else if (idx == 2) {
gesturandrei 7:aa81a4060c62 196 cout << "Ljós helst stöðugt í 2 sek ef brettið er upprétt, annars blikkar það." << endl;
gesturandrei 7:aa81a4060c62 197
gesturandrei 7:aa81a4060c62 198 /* Staða reiknuð út */
gesturandrei 4:9b7d5033d0ef 199 char buffer1[32], buffer2[32];
gesturandrei 4:9b7d5033d0ef 200 int32_t axes[3];
gesturandrei 4:9b7d5033d0ef 201 accelerometer->get_x_axes(axes);
gesturandrei 4:9b7d5033d0ef 202 int max_1 = max(abs(axes[0]), abs(axes[1]));
gesturandrei 4:9b7d5033d0ef 203 max_1 = max(max_1, abs(axes[2]));
gesturandrei 4:9b7d5033d0ef 204
gesturandrei 7:aa81a4060c62 205 /* Ef brettið er upprétt helst ljós kveikt í 2 sek en annars blikkar það í 2 sek */
gesturandrei 4:9b7d5033d0ef 206 if (max_1 == axes[2]) {
gesturandrei 4:9b7d5033d0ef 207 clock_t time = clock();
gesturandrei 4:9b7d5033d0ef 208 while ((clock() - time) / CLOCKS_PER_SEC < 2) {
gesturandrei 4:9b7d5033d0ef 209 led1 = true;
gesturandrei 4:9b7d5033d0ef 210 }
gesturandrei 4:9b7d5033d0ef 211 } else {
gesturandrei 4:9b7d5033d0ef 212 clock_t time = clock();
gesturandrei 4:9b7d5033d0ef 213 while ((clock() - time) / CLOCKS_PER_SEC < 2) {
gesturandrei 4:9b7d5033d0ef 214 led1 = !led1;
gesturandrei 7:aa81a4060c62 215 wait(0.2);
gesturandrei 4:9b7d5033d0ef 216 }
gesturandrei 4:9b7d5033d0ef 217 }
gesturandrei 4:9b7d5033d0ef 218 led1 = false;
ivardor 3:8cbc430199af 219 }
gesturandrei 7:aa81a4060c62 220 /* Ef ýtt er 3 sinnum á takkann */
ivardor 3:8cbc430199af 221 else if (idx == 3) {
gesturandrei 7:aa81a4060c62 222 printf("Ljós helst stöðugt ef brettið er upprétt, annars blikkar það. \r\n");
gesturandrei 7:aa81a4060c62 223 printf("Ýttu 3 sinnum á takkann til að fara til baka í takkavalmynd. \r\n");
gesturandrei 7:aa81a4060c62 224
gesturandrei 7:aa81a4060c62 225 /* Lykkja til að sýna hvort brettið sé upprétt í rauntíma með led ljósinu */
ivardor 5:dd52b4b8a40b 226 while(1){
gesturandrei 7:aa81a4060c62 227 idx = 0; // Teljari
gesturandrei 7:aa81a4060c62 228 if (button1_pressed) { // Ef ýtt
gesturandrei 6:c4c88077923c 229 button1_pressed = false;
gesturandrei 6:c4c88077923c 230 clock_t time = clock();
gesturandrei 7:aa81a4060c62 231 idx++; // Teljari hækkaður
gesturandrei 7:aa81a4060c62 232 /* Gefnar 3 sek til að ýta á takka */
gesturandrei 6:c4c88077923c 233 while ((clock() - time) / CLOCKS_PER_SEC < 3) {
gesturandrei 6:c4c88077923c 234 if (button1_pressed) {
gesturandrei 6:c4c88077923c 235 button1_pressed = false;
gesturandrei 7:aa81a4060c62 236 idx++; // Teljari hækkaður
gesturandrei 6:c4c88077923c 237 }
gesturandrei 6:c4c88077923c 238 }
gesturandrei 6:c4c88077923c 239 }
gesturandrei 7:aa81a4060c62 240
gesturandrei 7:aa81a4060c62 241 /* Ef ýtt er þrisvar sinnum á takkan er farið aftur í takkavalmynd */
gesturandrei 6:c4c88077923c 242 if (idx == 3) {
gesturandrei 7:aa81a4060c62 243 led1 = 0; // Slökkt á led ljósinu
gesturandrei 6:c4c88077923c 244 break;
gesturandrei 6:c4c88077923c 245 }
gesturandrei 6:c4c88077923c 246
gesturandrei 7:aa81a4060c62 247 /* Staða reiknuð út */
ivardor 5:dd52b4b8a40b 248 char buffer1[32], buffer2[32];
ivardor 5:dd52b4b8a40b 249 int32_t axes[3];
ivardor 5:dd52b4b8a40b 250 accelerometer->get_x_axes(axes);
ivardor 5:dd52b4b8a40b 251 int max_1 = max(abs(axes[0]), abs(axes[1]));
ivardor 5:dd52b4b8a40b 252 max_1 = max(max_1, abs(axes[2]));
gesturandrei 7:aa81a4060c62 253
gesturandrei 7:aa81a4060c62 254 /* Ef brettið er upprétt helst ljós kveikt en annars blikkar það */
gesturandrei 6:c4c88077923c 255 if (max_1 == axes[2]) {
gesturandrei 6:c4c88077923c 256 led1 = 1;
gesturandrei 6:c4c88077923c 257 } else {
gesturandrei 6:c4c88077923c 258 led1 = !led1;
gesturandrei 6:c4c88077923c 259 wait(0.2);
ivardor 5:dd52b4b8a40b 260 }
ivardor 5:dd52b4b8a40b 261 }
ivardor 3:8cbc430199af 262 }
gesturandrei 7:aa81a4060c62 263
gesturandrei 7:aa81a4060c62 264 /* Fara til baka í aðalvalmyn ef ýtt er á takkann fjórum sinnum */
gesturandrei 7:aa81a4060c62 265 else if (idx == 4) {
gesturandrei 7:aa81a4060c62 266 printf("Farið til baka í aðalvalmynd. \r\n");
gesturandrei 7:aa81a4060c62 267 printf("\r\n");
ivardor 3:8cbc430199af 268 break;
ivardor 3:8cbc430199af 269 }
gesturandrei 7:aa81a4060c62 270
gesturandrei 7:aa81a4060c62 271 /* Prenta valmöguleika aftur ef á við */
gesturandrei 7:aa81a4060c62 272 if (idx > 0 and idx < 4) {
gesturandrei 7:aa81a4060c62 273 printf("\r\n");
gesturandrei 7:aa81a4060c62 274 printf("Ýttu 1 sinni á takkann til að fá stöðu brettisins einu sinni. \r\n");
gesturandrei 7:aa81a4060c62 275 printf("Ýttu 2 sinnum á takkann til að athuga hvort brettið sé upprétt einu sinni. \r\n");
gesturandrei 7:aa81a4060c62 276 printf("Ýttu 3 sinnum á takkann til að fá stöðu brettisins í rauntíma. \r\n");
gesturandrei 7:aa81a4060c62 277 printf("Ýttu 4 sinnum á takkann til að fara til baka í aðalvalmynd. \r\n");
gesturandrei 7:aa81a4060c62 278 }
gesturandrei 7:aa81a4060c62 279 else if (idx > 0) {
gesturandrei 7:aa81a4060c62 280 printf("Ekkert gerist. \r\n");
gesturandrei 7:aa81a4060c62 281 }
ivardor 3:8cbc430199af 282 }
ivardor 3:8cbc430199af 283 }
ivardor 3:8cbc430199af 284
gesturandrei 7:aa81a4060c62 285 /* Einfalt main-fall sem samsvarar aðalvalmynd */
gesturandrei 7:aa81a4060c62 286 int main() {
ivardor 0:1ba5cfaab64e 287 while(1) {
gesturandrei 1:ae01414cd891 288 int userInput;
ivardor 5:dd52b4b8a40b 289 cout << "Veldu tilfelli 1-3: " << endl;
gesturandrei 7:aa81a4060c62 290 cout << "Veldu 1 til að fá hitastig, rakastig og loftþrýsting." << endl;
gesturandrei 7:aa81a4060c62 291 cout << "Veldu 2 til að fá segulstefnu, hröðun og hornhröðun brettisins í þrívíðum hnitum." << endl;
gesturandrei 7:aa81a4060c62 292 cout << "Veldu 3 til að opna takkavalmynd." << endl;
gesturandrei 7:aa81a4060c62 293 cin >> userInput; // Fáum tölugildi frá notanda
ivardor 2:ff2d1e351302 294 switch(userInput) {
ivardor 2:ff2d1e351302 295 case 1: tilfelli1();
ivardor 3:8cbc430199af 296 break;
ivardor 2:ff2d1e351302 297 case 2: tilfelli2();
ivardor 3:8cbc430199af 298 break;
ivardor 3:8cbc430199af 299 case 3: tilfelli3();
ivardor 3:8cbc430199af 300 break;
ivardor 2:ff2d1e351302 301 default: break;
gesturandrei 7:aa81a4060c62 302 }
ivardor 0:1ba5cfaab64e 303 }
ivardor 0:1ba5cfaab64e 304 }
ivardor 2:ff2d1e351302 305