Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Alarmsystem-FINAL by
Diff: system.cpp
- 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
    