fort test av mbed cli

Fork of Alarmsystem_rev_innlevering by Programmeringsgruppe 1

Committer:
Banyrud
Date:
Thu Mar 08 22:34:53 2018 +0000
Revision:
17:f27485b6d16e
Parent:
16:3d2e29aa5df5
Child:
18:e06a42c5d2a4
Det essensielle skal funke n?. bare sm? ting igjen...

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andreped 0:33bf28fd1ac6 1 #include "mbed.h"
andreped 12:0193024eab13 2 #include "rtos.h"
andreped 15:272fb4e610dc 3 #include <string>
andreped 16:3d2e29aa5df5 4 #include <stdio.h>
andreped 12:0193024eab13 5
Banyrud 13:0622c228b67d 6 /////DEFINISJONER/////
andreped 6:a3b97bf7902b 7 #define Inn 4
Banyrud 13:0622c228b67d 8 Serial pc(USBTX, USBRX);
andreped 16:3d2e29aa5df5 9 LocalFileSystem local("local");
andreped 10:f0a6d74095d4 10
Banyrud 13:0622c228b67d 11 /////INNGANGER/////
andreped 0:33bf28fd1ac6 12 DigitalIn Servicebryter(p20);
andreped 12:0193024eab13 13 AnalogIn _Sone1(p15);
andreped 12:0193024eab13 14 AnalogIn _Sone2(p16);
andreped 12:0193024eab13 15 AnalogIn _Sone3(p17);
andreped 12:0193024eab13 16 AnalogIn _Sone4(p19);
Banyrud 13:0622c228b67d 17
Banyrud 13:0622c228b67d 18 /////UTGANGER/////
Banyrud 13:0622c228b67d 19 DigitalOut Driftslys(LED1);
Banyrud 17:f27485b6d16e 20 DigitalOut Utganger[8] = {p21, p22, p23, p24, p25,p26,p27,p28};
Banyrud 13:0622c228b67d 21
Banyrud 13:0622c228b67d 22 /////VARIABLER/////
andreped 12:0193024eab13 23 float Soner[Inn];
Banyrud 17:f27485b6d16e 24 int minne[8] = {};
Banyrud 17:f27485b6d16e 25 int tilstand[8]= {};
Banyrud 17:f27485b6d16e 26 volatile int buffer;
andreped 12:0193024eab13 27 volatile bool running = true;
andreped 15:272fb4e610dc 28 volatile bool admin = false;
Banyrud 17:f27485b6d16e 29 volatile bool start = false;
Banyrud 17:f27485b6d16e 30 volatile bool stopp = true;
Banyrud 17:f27485b6d16e 31 string passord = ("admin");
Banyrud 17:f27485b6d16e 32 string start_kommando = ("start");
Banyrud 17:f27485b6d16e 33 string stopp_kommando = ("stopp");
andreped 16:3d2e29aa5df5 34 Timer t;
Banyrud 17:f27485b6d16e 35 int v = 0;
andreped 1:6917ec4f5e6d 36
Banyrud 13:0622c228b67d 37 /////FUNKSJON DEKLARASJONER/////
Banyrud 13:0622c228b67d 38 void Alarmf();
andreped 15:272fb4e610dc 39 Thread Alarm;
Banyrud 17:f27485b6d16e 40 Thread Read;
andreped 15:272fb4e610dc 41 void admin_access_granted();
andreped 15:272fb4e610dc 42 void sone_monitor();
Banyrud 17:f27485b6d16e 43 int log_to_file(int, int);
andreped 15:272fb4e610dc 44 void password_check();
andreped 16:3d2e29aa5df5 45 void read_keyinput();
Banyrud 17:f27485b6d16e 46 void start_sys();
Banyrud 17:f27485b6d16e 47 void stopp_sys();
Banyrud 17:f27485b6d16e 48 int logg_start();
Banyrud 17:f27485b6d16e 49 int logg_stopp();
Banyrud 17:f27485b6d16e 50 int request_status_sys();
Banyrud 17:f27485b6d16e 51 int request_status_alarm(int);
Banyrud 17:f27485b6d16e 52 int TilstandSjekk();
andreped 16:3d2e29aa5df5 53 extern "C" void mbed_reset();
andreped 12:0193024eab13 54
Banyrud 13:0622c228b67d 55 /////MAIN/////
andreped 1:6917ec4f5e6d 56 int main()
andreped 1:6917ec4f5e6d 57 {
Banyrud 17:f27485b6d16e 58 Read.start(password_check);// here stod den når vi brukte (read_keyinput)
andreped 16:3d2e29aa5df5 59 t.start();
andreped 15:272fb4e610dc 60 while(1) {
Banyrud 17:f27485b6d16e 61 if(Servicebryter == 1) { //Hvis du trykker på servicebryteren, starter man innelåst modus i 15 sek der alarmer slår seg av.
andreped 16:3d2e29aa5df5 62 running = false;
andreped 16:3d2e29aa5df5 63 pc.printf("NB! Alle alarmer er i innelast modus i 15 sek!! \n");
andreped 16:3d2e29aa5df5 64 wait(10);
andreped 16:3d2e29aa5df5 65 pc.printf("NB! Alarmer gar pa om 5 sek! \n");
andreped 16:3d2e29aa5df5 66 wait(5);
andreped 16:3d2e29aa5df5 67 }
Banyrud 17:f27485b6d16e 68 while((admin) && (Servicebryter == 0)&&(start == true) && (stopp == false)) { //Hvis man har skrevet inn admin passord og servicebryteren ikke er trykket på, kjører alle funksjonene i en løkke.
Banyrud 17:f27485b6d16e 69 Alarm.start(Alarmf); //dette starter funksjonen Alarmf i en tråd, dvs at denne går kontinuerlig og ikke stopper opp programmet.
Banyrud 17:f27485b6d16e 70 sone_monitor();// Tilordener sloyfe verdier til tabell for soner.
Banyrud 17:f27485b6d16e 71 wait(0.1);
Banyrud 17:f27485b6d16e 72 TilstandSjekk();
andreped 16:3d2e29aa5df5 73 }
andreped 16:3d2e29aa5df5 74 }
andreped 15:272fb4e610dc 75 }
Banyrud 14:8e7aaf0cf5d7 76
Banyrud 17:f27485b6d16e 77
Banyrud 13:0622c228b67d 78 /////FUNKSJONER/////
Banyrud 14:8e7aaf0cf5d7 79 void Alarmf(void)
Banyrud 14:8e7aaf0cf5d7 80 {
andreped 15:272fb4e610dc 81 while(1) {
Banyrud 17:f27485b6d16e 82 if(running == true) { //Running er en global variabel som blir satt til false ved tilstand Normaldrift eller ved servicebryter lagt inn.
andreped 15:272fb4e610dc 83 Driftslys = !Driftslys;
Banyrud 17:f27485b6d16e 84 Thread::wait(50); //Som vanlig wait funksjon, bare litt annerledes kode i thread library OS5.
Banyrud 17:f27485b6d16e 85 } else { //Hvis vi er i normaldrift driftlyset lyse kontinuerlig.
andreped 15:272fb4e610dc 86 Driftslys = 1;
andreped 15:272fb4e610dc 87 }
andreped 15:272fb4e610dc 88 }
Banyrud 13:0622c228b67d 89 }
Banyrud 13:0622c228b67d 90
Banyrud 17:f27485b6d16e 91 void sone_monitor()
andreped 11:dad1798ed88f 92 {
Banyrud 17:f27485b6d16e 93 //Først legger vi de forskjellige sonene inn i en tabell.
Banyrud 17:f27485b6d16e 94 Soner[0] = _Sone1;
Banyrud 17:f27485b6d16e 95 Soner[1] = _Sone2;
Banyrud 17:f27485b6d16e 96 Soner[2] = _Sone3;
Banyrud 17:f27485b6d16e 97 Soner[3] = _Sone4;
Banyrud 17:f27485b6d16e 98 for(int i = 0, x = 0; i < 4; i++,x+=2) { //Dette sjekker en og en sone og setter de inn i riktige tilstander.
Banyrud 17:f27485b6d16e 99 if( (Soner[i] > 0.35 ) && ( Soner[i] < 0.45) ) { //Normaldrift
Banyrud 17:f27485b6d16e 100 tilstand[x] = 0;
Banyrud 17:f27485b6d16e 101 tilstand[x+1] = 0;
Banyrud 17:f27485b6d16e 102 }
Banyrud 17:f27485b6d16e 103 if( (Soner[i] > 0.6 ) && ( Soner[i] < 0.7) ) { //Tilstand1, Dør 1 åpen
Banyrud 17:f27485b6d16e 104 tilstand[x] = 1;
Banyrud 17:f27485b6d16e 105 tilstand[x+1] = 0;
Banyrud 17:f27485b6d16e 106 running = true;
Banyrud 17:f27485b6d16e 107 }
Banyrud 17:f27485b6d16e 108 if( (Soner[i] > 0.46 ) && ( Soner[i] < 0.55) ) { //Tilstand2, Dør 2 åpen
Banyrud 17:f27485b6d16e 109 tilstand[x] = 0;
Banyrud 17:f27485b6d16e 110 tilstand[x+1] = 1;
Banyrud 17:f27485b6d16e 111 running = true;
Banyrud 17:f27485b6d16e 112 }
Banyrud 17:f27485b6d16e 113 if( (Soner[i] > 0.9) ) { //Tilstand 3, Begge dører er åpen
Banyrud 17:f27485b6d16e 114 tilstand[x] = 1;
Banyrud 17:f27485b6d16e 115 tilstand[x+1] = 1;
Banyrud 17:f27485b6d16e 116 }
andreped 11:dad1798ed88f 117 }
andreped 10:f0a6d74095d4 118 }
andreped 16:3d2e29aa5df5 119
Banyrud 17:f27485b6d16e 120
Banyrud 17:f27485b6d16e 121 int TilstandSjekk() // [ x, x+1, x+2, x+3, x+4, x+5, x+6, x+7 ]
andreped 16:3d2e29aa5df5 122 {
Banyrud 17:f27485b6d16e 123 for (int i = 0; i < 8; i++) {
Banyrud 17:f27485b6d16e 124 if(minne[i] != tilstand[i]) {
Banyrud 17:f27485b6d16e 125 Utganger[i] = 1;
Banyrud 17:f27485b6d16e 126 minne[i] = tilstand[i];
Banyrud 17:f27485b6d16e 127 log_to_file(i,Utganger[i]);
andreped 16:3d2e29aa5df5 128 }
andreped 16:3d2e29aa5df5 129 }
andreped 16:3d2e29aa5df5 130 return 0;
andreped 16:3d2e29aa5df5 131 }
andreped 16:3d2e29aa5df5 132
Banyrud 17:f27485b6d16e 133 ////////////////////////////////////////////////////////////
Banyrud 17:f27485b6d16e 134 /////////////////Mulige logg innforinger////////////////////
Banyrud 17:f27485b6d16e 135 // Tid: t sekunder //
Banyrud 17:f27485b6d16e 136 // Alarm 1 har blitt utloost // Dette betyr Sone 1 door 1 //
Banyrud 17:f27485b6d16e 137 // Alarm 2 har blitt utloost // Dette betyr Sone 1 door 2 //
Banyrud 17:f27485b6d16e 138 // Alarm 3 har blitt utloost // Dette betyr Sone 2 door 1 //
Banyrud 17:f27485b6d16e 139 // Alarm 4 har blitt utloost // Dette betyr Sone 2 door 2 //
Banyrud 17:f27485b6d16e 140 // Alarm 5 har blitt utloost // Dette betyr Sone 3 door 1 //
Banyrud 17:f27485b6d16e 141 // Alarm 6 har blitt utloost // Dette betyr Sone 3 door 2 //
Banyrud 17:f27485b6d16e 142 // Alarm 7 har blitt utloost // Dette betyr Sone 4 door 1 //
Banyrud 17:f27485b6d16e 143 // Alarm 8 har blitt utloost // Dette betyr Sone 4 door 2 //
Banyrud 17:f27485b6d16e 144 ////////////////////////////////////////////////////////////
Banyrud 17:f27485b6d16e 145
Banyrud 17:f27485b6d16e 146 int log_to_file(int c, int b) // c er sone, b er tilsand.
Banyrud 14:8e7aaf0cf5d7 147 {
Banyrud 17:f27485b6d16e 148 FILE *fp ;
Banyrud 17:f27485b6d16e 149 fp = fopen( "/local/log.txt", "a" ) ;
Banyrud 17:f27485b6d16e 150 if(fp != NULL) {
Banyrud 17:f27485b6d16e 151 float tid = t.read();
Banyrud 17:f27485b6d16e 152 fprintf(fp, "Tid: %.2f i sekunder siden systemet blir spenningsatt \nAlarm %d: er utloost \n", tid, c+1);
Banyrud 14:8e7aaf0cf5d7 153 }
Banyrud 17:f27485b6d16e 154 fclose(fp);
Banyrud 17:f27485b6d16e 155 return 0;
Banyrud 14:8e7aaf0cf5d7 156 }
Banyrud 17:f27485b6d16e 157
andreped 15:272fb4e610dc 158 void admin_access_granted()
andreped 15:272fb4e610dc 159 {
andreped 15:272fb4e610dc 160 admin = true;
Banyrud 17:f27485b6d16e 161 running = false;
Banyrud 17:f27485b6d16e 162 pc.printf("\nAdministrator tilgang innvilget\n");//info
andreped 15:272fb4e610dc 163 pc.printf("Folgende kommandoer kan brukes: \n");// liste over funksjoner tilgjenglig.
Banyrud 17:f27485b6d16e 164 pc.printf("Starte overvaaking av systemet. Kommando: 'start' + 'Enter'\n");//
Banyrud 17:f27485b6d16e 165 pc.printf("Stoppe overvaaking av systemet. Kommando: 'stopp' + 'Enter'\n");//
Banyrud 17:f27485b6d16e 166 pc.printf("Status alarm for hver some. Kommando: reqa1 \n");// funksjon 1 - request spesific status
Banyrud 17:f27485b6d16e 167 pc.printf("Status alle soner og dorer. Kommando: 'status' \n");// funksjon 1 - request status all
Banyrud 17:f27485b6d16e 168 pc.printf("Reset hele systemet. Kommando: 'reset' \n");// funksjon 4 - request log all
Banyrud 17:f27485b6d16e 169 read_keyinput();
andreped 15:272fb4e610dc 170 }
andreped 16:3d2e29aa5df5 171
andreped 15:272fb4e610dc 172 void password_check()
Banyrud 14:8e7aaf0cf5d7 173 {
Banyrud 17:f27485b6d16e 174 if(v == 0) {
Banyrud 17:f27485b6d16e 175 pc.printf("Skriv passord: ");
Banyrud 17:f27485b6d16e 176 v = 1;
Banyrud 17:f27485b6d16e 177 }
Banyrud 17:f27485b6d16e 178 char tastepassord[20];
Banyrud 17:f27485b6d16e 179 pc.scanf("%s",&tastepassord);
Banyrud 17:f27485b6d16e 180 int k = strcmp(tastepassord, "passord");
Banyrud 17:f27485b6d16e 181 if(!k) {
Banyrud 17:f27485b6d16e 182 admin_access_granted();
andreped 15:272fb4e610dc 183 }
Banyrud 14:8e7aaf0cf5d7 184 }
Banyrud 14:8e7aaf0cf5d7 185
andreped 16:3d2e29aa5df5 186 void read_keyinput()
andreped 1:6917ec4f5e6d 187 {
Banyrud 17:f27485b6d16e 188 char read[20];
Banyrud 17:f27485b6d16e 189 pc.scanf("%s",&read);
Banyrud 17:f27485b6d16e 190 if(!strcmp(read, "start")) {
Banyrud 17:f27485b6d16e 191 pc.printf("du er i start kommando");
Banyrud 17:f27485b6d16e 192 start_sys();
Banyrud 17:f27485b6d16e 193 }
Banyrud 17:f27485b6d16e 194 if(!strcmp(read,"stopp")) {
Banyrud 17:f27485b6d16e 195 stopp_sys();
andreped 15:272fb4e610dc 196 }
Banyrud 17:f27485b6d16e 197 if( !strcmp(read, "reset")) mbed_reset();
Banyrud 17:f27485b6d16e 198 if( !strcmp(read, "reqa1")) request_status_alarm(1);
Banyrud 17:f27485b6d16e 199 if( !strcmp(read, "reqa2")) request_status_alarm(2);
Banyrud 17:f27485b6d16e 200 if( !strcmp(read, "reqa3")) request_status_alarm(3);
Banyrud 17:f27485b6d16e 201 if( !strcmp(read, "reqa4")) request_status_alarm(4);
Banyrud 17:f27485b6d16e 202 if( !strcmp(read, "reqa5")) request_status_alarm(5); /// Jeg skriver denne kommandoen til systemet - gå til linje 287!
Banyrud 17:f27485b6d16e 203 if( !strcmp(read, "reqa6")) request_status_alarm(6);
Banyrud 17:f27485b6d16e 204 if( !strcmp(read, "reqa7")) request_status_alarm(7);
Banyrud 17:f27485b6d16e 205 if( !strcmp(read, "reqa8")) request_status_alarm(8);
Banyrud 17:f27485b6d16e 206 if( !strcmp(read, "status")) request_status_sys();
Banyrud 17:f27485b6d16e 207 }
Banyrud 17:f27485b6d16e 208
Banyrud 17:f27485b6d16e 209 void start_sys() // funksjon som lar systemet starte opp og kaller opp logg funksjon for og logge start.
Banyrud 17:f27485b6d16e 210 {
Banyrud 17:f27485b6d16e 211 start = true;
Banyrud 17:f27485b6d16e 212 stopp = false;
Banyrud 17:f27485b6d16e 213 pc.printf("\nSystemet ble startet\n");
Banyrud 17:f27485b6d16e 214 logg_start();
Banyrud 17:f27485b6d16e 215 }
Banyrud 17:f27485b6d16e 216
Banyrud 17:f27485b6d16e 217 void stopp_sys() // funksjon som lar systemet stopp opp og kaller opp logg funksjon for og logge stopp.
Banyrud 17:f27485b6d16e 218 {
Banyrud 17:f27485b6d16e 219 start = false;
Banyrud 17:f27485b6d16e 220 stopp = true;
Banyrud 17:f27485b6d16e 221 running = false;
Banyrud 17:f27485b6d16e 222 pc.printf("\nSystemet ble stoppet\n");
Banyrud 17:f27485b6d16e 223 logg_stopp();
andreped 15:272fb4e610dc 224 }
andreped 15:272fb4e610dc 225
Banyrud 17:f27485b6d16e 226 int logg_start()
Banyrud 17:f27485b6d16e 227 {
Banyrud 17:f27485b6d16e 228 FILE *fp ;
Banyrud 17:f27485b6d16e 229 fp = fopen( "/local/log.txt", "a" ) ;
Banyrud 17:f27485b6d16e 230 if(fp != NULL) {
Banyrud 17:f27485b6d16e 231 float tid = t.read();
Banyrud 17:f27485b6d16e 232 fprintf(fp, "Tid: %.2f i sekunder siden systemet blir spenningsatt \n Overvaakingen ble startet \n", tid);//t er tid
andreped 16:3d2e29aa5df5 233
Banyrud 17:f27485b6d16e 234 fclose(fp);
Banyrud 17:f27485b6d16e 235 return 0;
Banyrud 17:f27485b6d16e 236 } else {
Banyrud 17:f27485b6d16e 237 return 1;
Banyrud 17:f27485b6d16e 238 }
Banyrud 17:f27485b6d16e 239 }
Banyrud 17:f27485b6d16e 240 int logg_stopp()
Banyrud 17:f27485b6d16e 241 {
Banyrud 17:f27485b6d16e 242 FILE *fp ;
Banyrud 17:f27485b6d16e 243 fp = fopen( "/local/log.txt", "a" ) ;
Banyrud 17:f27485b6d16e 244 if(fp != NULL) {
Banyrud 17:f27485b6d16e 245 float tid = t.read();
Banyrud 17:f27485b6d16e 246 fprintf(fp, "Tid: %.2f i sekunder siden systemet blir spenningsatt \n Overvaakingen ble stoppet \n", tid);//t er tid
Banyrud 17:f27485b6d16e 247 fclose(fp);
Banyrud 17:f27485b6d16e 248 return 0;
Banyrud 17:f27485b6d16e 249 } else {
Banyrud 17:f27485b6d16e 250 return 1;
Banyrud 17:f27485b6d16e 251 }
Banyrud 17:f27485b6d16e 252 }
Banyrud 17:f27485b6d16e 253 int request_status_alarm(int v)
andreped 15:272fb4e610dc 254 {
Banyrud 17:f27485b6d16e 255 switch(v) {
Banyrud 17:f27485b6d16e 256 case 1:
Banyrud 17:f27485b6d16e 257 if(Utganger[v] == 1) {
Banyrud 17:f27485b6d16e 258 pc.printf("Door 1 i sone 1 er utloost\n");
Banyrud 17:f27485b6d16e 259 } else {
Banyrud 17:f27485b6d16e 260 pc.printf("Door 1 i sone 1 er ikke utloost\n");
Banyrud 17:f27485b6d16e 261 }
Banyrud 17:f27485b6d16e 262 break;
Banyrud 17:f27485b6d16e 263 case 2:
Banyrud 17:f27485b6d16e 264 if(Utganger[v] == 1) {
Banyrud 17:f27485b6d16e 265 pc.printf("Door 2 i sone 1 er utloost\n");
Banyrud 17:f27485b6d16e 266 } else {
Banyrud 17:f27485b6d16e 267 pc.printf("Door 2 i sone 1 er ikke utloost\n");
Banyrud 17:f27485b6d16e 268 }
Banyrud 17:f27485b6d16e 269 break;
Banyrud 17:f27485b6d16e 270 case 3:
Banyrud 17:f27485b6d16e 271 if(Utganger[v] == 1) {
Banyrud 17:f27485b6d16e 272 pc.printf("Door 1 i sone 2 er utloost\n");
Banyrud 17:f27485b6d16e 273 } else {
Banyrud 17:f27485b6d16e 274 pc.printf("Door 1 i sone 2 er ikke utloost\n");
Banyrud 17:f27485b6d16e 275 }
Banyrud 17:f27485b6d16e 276 break;
Banyrud 17:f27485b6d16e 277 case 4:
Banyrud 17:f27485b6d16e 278 if(Utganger[v] == 1) {
Banyrud 17:f27485b6d16e 279 pc.printf("Door 2 i sone 2 er utloost\n");
Banyrud 17:f27485b6d16e 280 } else {
Banyrud 17:f27485b6d16e 281 pc.printf("Door 2 i sone 2 er ikke utloost\n");
andreped 16:3d2e29aa5df5 282 }
Banyrud 17:f27485b6d16e 283 break;
Banyrud 17:f27485b6d16e 284 case 5:
Banyrud 17:f27485b6d16e 285 if(Utganger[v] == 1) {
Banyrud 17:f27485b6d16e 286 pc.printf("Door 1 i sone 3 er utloost\n");
Banyrud 17:f27485b6d16e 287 } else {
Banyrud 17:f27485b6d16e 288 pc.printf("Door 1 i sone 3 er ikke utloost\n");
Banyrud 17:f27485b6d16e 289 }
Banyrud 17:f27485b6d16e 290 break;
Banyrud 17:f27485b6d16e 291 case 6:
Banyrud 17:f27485b6d16e 292 if(Utganger[v] == 1) {
Banyrud 17:f27485b6d16e 293 pc.printf("Door 2 i sone 3 er utloost\n");
Banyrud 17:f27485b6d16e 294 } else {
Banyrud 17:f27485b6d16e 295 pc.printf("Door 2 i sone 3 er ikke utloost\n");
andreped 16:3d2e29aa5df5 296 }
Banyrud 17:f27485b6d16e 297 break;
Banyrud 17:f27485b6d16e 298 case 7:
Banyrud 17:f27485b6d16e 299 if(Utganger[v] == 1) {
Banyrud 17:f27485b6d16e 300 pc.printf("Door 1 i sone 4 er utloost\n");
Banyrud 17:f27485b6d16e 301 } else {
Banyrud 17:f27485b6d16e 302 pc.printf("Door 1 i sone 4 er ikke utloost\n");
Banyrud 17:f27485b6d16e 303 }
Banyrud 17:f27485b6d16e 304 break;
Banyrud 17:f27485b6d16e 305 case 8:
Banyrud 17:f27485b6d16e 306 if(Utganger[v] == 1) {
Banyrud 17:f27485b6d16e 307 pc.printf("Door 2 i sone 4 er utloost\n");
Banyrud 17:f27485b6d16e 308 } else {
Banyrud 17:f27485b6d16e 309 pc.printf("Door 2 i sone 4 er ikke utloost\n");
Banyrud 17:f27485b6d16e 310 }
Banyrud 17:f27485b6d16e 311 break;
Banyrud 17:f27485b6d16e 312 }
Banyrud 17:f27485b6d16e 313 return 0;
Banyrud 17:f27485b6d16e 314 }
Banyrud 17:f27485b6d16e 315 int request_status_sys()
Banyrud 17:f27485b6d16e 316 {
Banyrud 17:f27485b6d16e 317 for(int u = 1; u <9; u++) {
Banyrud 17:f27485b6d16e 318 if(Utganger[u] == 1) {
Banyrud 17:f27485b6d16e 319 pc.printf("Alarm %d er utloost\n", u);
Banyrud 17:f27485b6d16e 320 } else {
Banyrud 17:f27485b6d16e 321 pc.printf("Alarm %d er ikke utloost\n", u);
andreped 16:3d2e29aa5df5 322 }
andreped 15:272fb4e610dc 323 }
Banyrud 17:f27485b6d16e 324 return 0;
andreped 16:3d2e29aa5df5 325 }