Brede Hesvik / Mbed 2 deprecated Alarmsystem-FINAL1

Dependencies:   mbed

Fork of Alarmsystem-FINAL by Brede Hesvik

Revision:
2:285c66b24ae4
Parent:
1:d678123d3117
Child:
6:c942caec6eb8
--- a/system.cpp	Thu Feb 25 13:32:07 2016 +0000
+++ b/system.cpp	Thu Feb 25 15:33:24 2016 +0000
@@ -26,12 +26,16 @@
 Timer timer;                   //Startes ved aktivering av systemet for å kunne logge tid på de ulike situasjonenen.
 Ticker kontroll;           //kaller opp overvaking()
 Ticker led_aktiver;        //kaller opp led_status()
+Ticker pass_varsel;         //
 
 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>> FUNKSJONSPROTOTYPER <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
 
  //Komplett funksjon for systempa, inkl, loggforing og varsling av krets. 
 void systempaa(int aktiv);
 
+//stopper og reseter timer, og loggfører at systemet er skrudd av.
+void systemav();
+
 // Funksjonen blir kalt med 1Hz(1.0s) i en tikker, for overvåkning av kretser. 
 void overvaking(void);
 
@@ -44,6 +48,7 @@
 // Blinke funksjon til baragraph. 
 void led_status(void);
 
+void feil_pass();
 
 /*Funksjonen motar en verdi for variable akitv, timer t; blir startet, led_status og overvaking blir kalt opp i 2 ticker i while-løkka.
 Funksjonen vil bli i while løkka så lenge aktiv er sann, når det blir satt til 0 eller usann vil den bryte ut av while-løkka, stopper timer,
@@ -53,14 +58,20 @@
     timer.start();
     led_aktiver.attach(&led_status, 0.1);
     kontroll.attach(&overvaking, 1.0);
-    while(aktiv); 
+    //while(aktiv == 1); 
+}
+
+
+void systemav()
+{
+    led_aktiver.detach();
+    kontroll.detach();
+    for(int i = 0; i < 8; i++) kr_status[i] = 0;
     timer.stop();
     logg_system_av(timer.read());
-    timer.reset();
-
+    timer.reset();    
 }
 
-
 /* Funksjonen kontrolerer de 4 kretsene i en for løkke fra 0-3 som er basert på elementene i arrayet krets[].
 Spennings verdiene over bryteren testes i 3 tester, første er bryter 1, andre er bryter 2, og siste test er begge brytere.
 Hvis det er oppdaget en feil i en krets, vil den sett en 0 inn i arrayet led[] utifra hvilken bryter som er aktivert.
@@ -144,7 +155,6 @@
     toggle = !toggle;
 }
 
-
 /* Hvis det er tastet feil passord vil denne funksjonen sette alle elementene i led[] til 0 for å varsle om at 
 alarmen har gått. */
 void feil_passord()
@@ -153,4 +163,10 @@
         led[i] = 0;
     }
     logg_feilpass();
+}
+
+void feil_pass()
+{
+    feil_passord();
+    pass_varsel.attach(&led_status, 0.1);
 }
\ No newline at end of file