![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
ok
Fork of Alarmsystem-FINAL1 by
Diff: loggforing.cpp
- Revision:
- 0:c9f607286335
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/loggforing.cpp Thu Feb 25 11:31:10 2016 +0000 @@ -0,0 +1,87 @@ +#include "mbed.h" +#include "loggforing.h" +#include "string" + + +/* LocalFileSystem er en local funksjon i mbed, som tilater oss å skrive, lese og åpne en .txt fil.*/ +LocalFileSystem local("local"); + +Serial data(USBTX, USBRX); + +int brudd = 1; //En variable som teller opp antall brudd når systemet er aktivt. + +/*Array string printer status etter verdi som blir returnet fra funksjonen i filen "systempaa.cpp" +Elementene 0-7 representerer de samme elementene som i arrayet kr_status[]. Elementene 8-11, representerer begge bryterne i krets 1 til krests 4*/ +string kr_verdi[12] = {"krets1 bryter1", "krets1 bryter2", "krets2 bryter1", "krets2 bryter2", "krets3 bryter1", "krets3 bryter2", "krets4 bryter1", "krets4 bryter2", "krets1 begge brytere", "krets2 begge brytere", "krets3 begge brytere", "krets4 begge brytere"}; + + +/* +>>>>>>>>>>>>>>>>>>>>>>>>> Funksjonsprototyper <<<<<<<<<<<<<<<<<<<<<<<<<<<< + +Loggfører hvilken krets og til hvilken tid det er et inbrudd. +void logg_inbrudd(int status, float timer);. + +Loggfører til hvilken tid systemet blir nullstilt via servicebryter +void logg_servicebryter(float sek); + +Loggfører at systemet er blitt nullstilt via bruker. +void logg_brukernullstill(float sek); + +Loggfører til hvilken tid systemet blir skrudd av. +void logg_system_av(float timer); + +Loggføring hvis det er tastet inn feil passord eller tid utløpt +void logg_feilpass(void); + +*/ + +/* Funksjonen leter etter en fil som heter logg.txt på mbed modulen for å skrive videre på den. Er den ikke å finne blir det oprettet en ny fil. +Hvis det ikke skulle bli oprettet en fil, vil funksjonen skrive en error text på skjermen og avbryte logging. Funksjone får tilsendt 3 variabler som +forteller hva funksjonen skal loggføre. Status forteller hvilket elemet i arrayet kr_verdi som skal hentes ut og skrives inn. Funksjonen loggfører antall brudd +i totalt i systemet, til hvilken tid bruddet var, og hvilken spenning det var over bryteren ved bruddet. */ +void logg_inbrudd(int status, float timer, float volt) +{ + FILE *fp = fopen("/local/logg.txt", "a"); + if(fp == NULL) { + data.printf("ERROR! Loggfil ikke funnet eller apnet!"); + fclose(fp); + } + string temp = kr_verdi[status]; + fprintf(fp, "Brudd %d i %s ved %.2f sekunder.\n", brudd, temp.c_str(), timer); + fprintf(fp, "Spenning over %s ved brudd var %.6f V\n", temp.c_str(), volt); + brudd++; + fclose(fp); +} + +/* Funksjonen åpner fila logg.txt, eller oppretter den hvis det ikke finnes en. Det blir loggført at systemet +er nullstilt via servicebryter og til hvilken tid */ +void logg_servicebryter(float sek) +{ + FILE *fp = fopen("/local/logg.txt", "a"); + fprintf(fp, "Alle kretser nullstilt via servicebryter ved %.2f sekunder.\n", sek); + fclose(fp); +} + +/* Loggfører at systemet blir nullstils via brukeren og til hvilken tid. */ +void logg_brukernullstill(float sek) +{ + FILE *fp = fopen("/local/logg.txt", "a"); + fprintf(fp, "Alle kretser nulstilt via bruker ved %.2f sekunder.\n", sek); + fclose(fp); +} + +/* Funksjonen logfører til hvilken tid systemet ble avsluttet. */ +void logg_system_av(float timer) +{ + FILE *fp = fopen("/local/logg.txt", "a"); + fprintf(fp, "System avlsuttet. Alarm aktiv i %.2f\n", timer); + fclose(fp); +} + +/* Hvis det er tastet inn feil passord eller at tiden er utløpt, vil dette loggføres */ +void logg_feilpass() +{ + FILE *fp = fopen("/local/logg.txt", "a"); + fprintf(fp, "Alarm aktivert. \nFeil passord eller tid utlopt"); + fclose(fp); +} \ No newline at end of file