mappe1 beta

Dependencies:   mbed

Revision:
3:e55f06ddce90
Parent:
2:316f91ebaf49
--- a/main.cpp	Thu Feb 27 08:06:40 2014 +0000
+++ b/main.cpp	Thu Feb 27 13:13:26 2014 +0000
@@ -13,7 +13,7 @@
 
 Serial pc(USBTX, USBRX);
 
-
+                    //alle funskjoner
 void alarm1(void);
 void alarm2(void);
 void alarm3(void);
@@ -27,7 +27,8 @@
 void reset(void);
 void sekunder(void);
 void passord(void);
-void meny(void);
+void menyles(void);
+void menyprint(void);
 void status(void);
 void linje1(void);
 
@@ -41,110 +42,126 @@
 volatile unsigned int sek = 0,min = 0,hour = 0,dag = 0,stat_rod1,stat_rod2,stat_rod3,stat_rod4,stat_rod5,stat_rod6,stat_rod7,stat_rod8,stat_reset,passord_1,valg,reset2;
 
 
-int main()
+int main()                                // Her er hoved programmet
 {
     reset1.mode(PullDown);
-    passord();
-    meny();
-    t1.attach(&sekunder, 1.0);
     while(1) {
-        alarm1();
-        alarm2();
-        alarm3();
-        alarm4();
+        passord();
+        menyprint();
+        t1.attach(&sekunder, 1.0);
+        while(1) {
+            alarm1();
+            alarm2();
+            alarm3();
+            alarm4();
+            menyles();
 
-        reset();
-        wait (0.1);
+            if (valg == 1 || reset1 == 0) {
+                reset2 = 1;
+                reset();
+            } else if (valg == 2) {
+                pc.printf("\r\nDu er n\x86 logget ut\r\n");
+                pc.printf("\r\nTakk for at benyttet deg av BitGaurd 3.25.1\r\n");
+                reset2 = 1;
+                reset();
+                break;
+            } else if(valg == 3) {
+                pc.printf("\r\n\r\nStatus:\r\n");
+                status();
+            }
+            reset();
+            wait (0.1);
+        }
+    }
+}
+
+void menyles(void)
+{
+    int stat;
+
+    valg = 0;
+    if (pc.readable()) {
+        stat = pc.scanf("%d",&valg);
+        if (stat != 1) {
+            valg = 0;
+        }
+        if (!(valg >= 1 && valg <= 3)) {
+            pc.printf("\r\nFeil verdi!\r\n\r\nvenligst pr\x9Bv igjen\r\n");
+        }
     }
 
 }
-void meny(void)
+void menyprint(void)                            //Hovedmeny
 {
 
     printf("\r\n\r\nMeny\r\n\r\n");
     printf("Tast:\r\n");
-    printf("1 starte systemet\r\n");
-    printf("2 reset alarmen\r\n");
-    printf("3 avslutte systemet\r\n");
-    printf("4 status\r\n");
-    scanf("%d",&valg);
-
-    if(valg == 1) {
-
-    } else if(valg == 2) {
-        reset2 = 1;
-    } else if(valg == 3) {
-        passord();
-    } else if(valg == 4) {
-        status();
-    } else {
-
-    }
+    printf("1 reset alarmen\r\n");
+    printf("2 avslutte systemet\r\n");
+    printf("3 status\r\n");
 }
 
 
 
-void linje1(void)
+void linje1(void)                               //
 {
     printf("\r\nVelkommen til BitGuard 3.25.1");
 }
 
-void status(void)
+void status(void)                               //Denne funskjonen skriver til tera term hvilke alarm som har gått
 {
     if(rod1 == 1) {
-        printf("sløyfe 1\r\ndetektor 1 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
+        pc.printf("\r\nsl\x9Byfe 1\r\ndetektor 1 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
     }
     if (rod2 == 1) {
-        printf("sløyfe 1\r\ndetektor 2 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
+        pc.printf("\r\nsl\x9Byfe 1\r\ndetektor 2 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
     }
     if(rod3 == 1) {
-        printf("sløyfe 2\r\ndetektor 1 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
+        pc.printf("\r\nsl\x9Byfe 2\r\ndetektor 1 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
     }
     if(rod4 == 1) {
-        printf("sløyfe 2\r\ndetektor 2 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
+        pc.printf("\r\nsl\x9Byfe 2\r\ndetektor 2 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
     }
     if(rod5 == 1) {
-        printf("sløyfe 3\r\ndetektor 1 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
+        pc.printf("\r\nsl\x9Byfe 3\r\ndetektor 1 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
     }
     if(rod6 == 1) {
-        printf("sløyfe 3\r\ndetektor 2 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
+        pc.printf("\r\nsl\x9Byfe 3\r\ndetektor 2 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
     }
     if(rod7 == 1) {
-        printf("sløyfe 4\r\ndetektor 1 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
-
+        pc.printf("\r\nsl\x9Byfe 4\r\ndetektor 1 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
     }
     if(rod8 == 1) {
-        printf("sløyfe 4\r\ndetektor 2 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
+        pc.printf("\r\nsl\x9Byfe 4\r\ndetektor 2 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag);
+    }
+
+    if(rod1==0&&rod2==0&&rod3==0&&rod4==0&&rod5==0&&rod6==0&&rod7==0&&rod8 == 0) {
+        pc.printf("\r\nAlt er i orden, ingen alarm er utl\x9Bst");
     }
-    if(reset1 == 0) {
-        printf("alarmen har blitt resatt\r\n");
-    } else {
-        printf("\r\nalt er i orden, ingen alarm er utlost");
-    }
-    meny();
+    menyprint();
 }
-void passord (void)
+void passord (void)                                 //Her må brukeren taste et oppgit passord for å få tilgang til alle mulighetene BitGuard 3.25.1 tilbyr
 {
-    printf("Hei!\r\nvenligst tast inn passord\r\n");
+    printf("\r\nHei!\r\nvenligst tast inn passord for \x86 sette i gang alarmen\r\n");
     scanf("%d", &passord_1);
     while (passord_1 != 258456) {
-        printf("passord du har tastet inn er feil \r\nvenligst prov igjen\r\n ");
+        printf("\r\nPassordet du har tastet inn er feil \r\nVenligst pr\x9Bv igjen\r\n ");
         scanf("%d", &passord_1);
     }
     linje1();
 }
-void sekunder(void)
+void sekunder(void)                                 //tid taker funksjon
 {
     sek++;
     min = sek / 60;
-    sek = sek % 60;
+    sek %= 60;
     hour = min / 60;
     min %= 60;
     dag = hour / 24;
     hour %= 24;
 
 }
-void alarm1(void)
+void alarm1(void)                                   //Her ser man testen på alarmen
 {
     if( (sone1 >=  (grense0 - vindu)) && (sone1 <= (grense0 + vindu))) {
         blink1();
@@ -237,7 +254,7 @@
 
 
 }
-void blink1(void)
+void blink1(void)                               //Denne får sløyfe lyset til å blinke
 {
     if ( rod1 == 1||rod2 == 1) {
         drift1 = 1;
@@ -280,17 +297,16 @@
         drift4 = 1;
     }
 }
-void reset(void)
+void reset(void)                                            //reset funskjon
 {
     if (reset1 == 0 || reset2 == 1 ) {
         rod1=rod2=rod3=rod4=rod5=rod6=rod7=rod8=drift1=drift2=drift3=drift4 = 0 ;
     }
     reset2 = 0;
-    // scanf("%d",&valg);
 }
 
 
-void testlogg(void)
+void testlogg(void)                                         //Tester om det skal logges
 {
     if(rod1||rod2||rod3||rod4||rod5||rod6||rod7||rod8 == 1) {
         logg();
@@ -299,7 +315,7 @@
 }
 
 
-void logg(void)
+void logg(void)                                             //Lager en txt fil som det logges på
 {
     FILE *fp = fopen("/local/logg.txt", "a");
     if (fp == NULL) {