Fredrik Bjørken
/
Alarmsystem-FINAL1
ok
Fork of Alarmsystem-FINAL1 by
loggforing.cpp@0:c9f607286335, 2016-02-25 (annotated)
- Committer:
- bredeh
- Date:
- Thu Feb 25 11:31:10 2016 +0000
- Revision:
- 0:c9f607286335
alarmsystem;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bredeh | 0:c9f607286335 | 1 | #include "mbed.h" |
bredeh | 0:c9f607286335 | 2 | #include "loggforing.h" |
bredeh | 0:c9f607286335 | 3 | #include "string" |
bredeh | 0:c9f607286335 | 4 | |
bredeh | 0:c9f607286335 | 5 | |
bredeh | 0:c9f607286335 | 6 | /* LocalFileSystem er en local funksjon i mbed, som tilater oss å skrive, lese og åpne en .txt fil.*/ |
bredeh | 0:c9f607286335 | 7 | LocalFileSystem local("local"); |
bredeh | 0:c9f607286335 | 8 | |
bredeh | 0:c9f607286335 | 9 | Serial data(USBTX, USBRX); |
bredeh | 0:c9f607286335 | 10 | |
bredeh | 0:c9f607286335 | 11 | int brudd = 1; //En variable som teller opp antall brudd når systemet er aktivt. |
bredeh | 0:c9f607286335 | 12 | |
bredeh | 0:c9f607286335 | 13 | /*Array string printer status etter verdi som blir returnet fra funksjonen i filen "systempaa.cpp" |
bredeh | 0:c9f607286335 | 14 | Elementene 0-7 representerer de samme elementene som i arrayet kr_status[]. Elementene 8-11, representerer begge bryterne i krets 1 til krests 4*/ |
bredeh | 0:c9f607286335 | 15 | 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"}; |
bredeh | 0:c9f607286335 | 16 | |
bredeh | 0:c9f607286335 | 17 | |
bredeh | 0:c9f607286335 | 18 | /* |
bredeh | 0:c9f607286335 | 19 | >>>>>>>>>>>>>>>>>>>>>>>>> Funksjonsprototyper <<<<<<<<<<<<<<<<<<<<<<<<<<<< |
bredeh | 0:c9f607286335 | 20 | |
bredeh | 0:c9f607286335 | 21 | Loggfører hvilken krets og til hvilken tid det er et inbrudd. |
bredeh | 0:c9f607286335 | 22 | void logg_inbrudd(int status, float timer);. |
bredeh | 0:c9f607286335 | 23 | |
bredeh | 0:c9f607286335 | 24 | Loggfører til hvilken tid systemet blir nullstilt via servicebryter |
bredeh | 0:c9f607286335 | 25 | void logg_servicebryter(float sek); |
bredeh | 0:c9f607286335 | 26 | |
bredeh | 0:c9f607286335 | 27 | Loggfører at systemet er blitt nullstilt via bruker. |
bredeh | 0:c9f607286335 | 28 | void logg_brukernullstill(float sek); |
bredeh | 0:c9f607286335 | 29 | |
bredeh | 0:c9f607286335 | 30 | Loggfører til hvilken tid systemet blir skrudd av. |
bredeh | 0:c9f607286335 | 31 | void logg_system_av(float timer); |
bredeh | 0:c9f607286335 | 32 | |
bredeh | 0:c9f607286335 | 33 | Loggføring hvis det er tastet inn feil passord eller tid utløpt |
bredeh | 0:c9f607286335 | 34 | void logg_feilpass(void); |
bredeh | 0:c9f607286335 | 35 | |
bredeh | 0:c9f607286335 | 36 | */ |
bredeh | 0:c9f607286335 | 37 | |
bredeh | 0:c9f607286335 | 38 | /* 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. |
bredeh | 0:c9f607286335 | 39 | 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 |
bredeh | 0:c9f607286335 | 40 | 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 |
bredeh | 0:c9f607286335 | 41 | i totalt i systemet, til hvilken tid bruddet var, og hvilken spenning det var over bryteren ved bruddet. */ |
bredeh | 0:c9f607286335 | 42 | void logg_inbrudd(int status, float timer, float volt) |
bredeh | 0:c9f607286335 | 43 | { |
bredeh | 0:c9f607286335 | 44 | FILE *fp = fopen("/local/logg.txt", "a"); |
bredeh | 0:c9f607286335 | 45 | if(fp == NULL) { |
bredeh | 0:c9f607286335 | 46 | data.printf("ERROR! Loggfil ikke funnet eller apnet!"); |
bredeh | 0:c9f607286335 | 47 | fclose(fp); |
bredeh | 0:c9f607286335 | 48 | } |
bredeh | 0:c9f607286335 | 49 | string temp = kr_verdi[status]; |
bredeh | 0:c9f607286335 | 50 | fprintf(fp, "Brudd %d i %s ved %.2f sekunder.\n", brudd, temp.c_str(), timer); |
bredeh | 0:c9f607286335 | 51 | fprintf(fp, "Spenning over %s ved brudd var %.6f V\n", temp.c_str(), volt); |
bredeh | 0:c9f607286335 | 52 | brudd++; |
bredeh | 0:c9f607286335 | 53 | fclose(fp); |
bredeh | 0:c9f607286335 | 54 | } |
bredeh | 0:c9f607286335 | 55 | |
bredeh | 0:c9f607286335 | 56 | /* Funksjonen åpner fila logg.txt, eller oppretter den hvis det ikke finnes en. Det blir loggført at systemet |
bredeh | 0:c9f607286335 | 57 | er nullstilt via servicebryter og til hvilken tid */ |
bredeh | 0:c9f607286335 | 58 | void logg_servicebryter(float sek) |
bredeh | 0:c9f607286335 | 59 | { |
bredeh | 0:c9f607286335 | 60 | FILE *fp = fopen("/local/logg.txt", "a"); |
bredeh | 0:c9f607286335 | 61 | fprintf(fp, "Alle kretser nullstilt via servicebryter ved %.2f sekunder.\n", sek); |
bredeh | 0:c9f607286335 | 62 | fclose(fp); |
bredeh | 0:c9f607286335 | 63 | } |
bredeh | 0:c9f607286335 | 64 | |
bredeh | 0:c9f607286335 | 65 | /* Loggfører at systemet blir nullstils via brukeren og til hvilken tid. */ |
bredeh | 0:c9f607286335 | 66 | void logg_brukernullstill(float sek) |
bredeh | 0:c9f607286335 | 67 | { |
bredeh | 0:c9f607286335 | 68 | FILE *fp = fopen("/local/logg.txt", "a"); |
bredeh | 0:c9f607286335 | 69 | fprintf(fp, "Alle kretser nulstilt via bruker ved %.2f sekunder.\n", sek); |
bredeh | 0:c9f607286335 | 70 | fclose(fp); |
bredeh | 0:c9f607286335 | 71 | } |
bredeh | 0:c9f607286335 | 72 | |
bredeh | 0:c9f607286335 | 73 | /* Funksjonen logfører til hvilken tid systemet ble avsluttet. */ |
bredeh | 0:c9f607286335 | 74 | void logg_system_av(float timer) |
bredeh | 0:c9f607286335 | 75 | { |
bredeh | 0:c9f607286335 | 76 | FILE *fp = fopen("/local/logg.txt", "a"); |
bredeh | 0:c9f607286335 | 77 | fprintf(fp, "System avlsuttet. Alarm aktiv i %.2f\n", timer); |
bredeh | 0:c9f607286335 | 78 | fclose(fp); |
bredeh | 0:c9f607286335 | 79 | } |
bredeh | 0:c9f607286335 | 80 | |
bredeh | 0:c9f607286335 | 81 | /* Hvis det er tastet inn feil passord eller at tiden er utløpt, vil dette loggføres */ |
bredeh | 0:c9f607286335 | 82 | void logg_feilpass() |
bredeh | 0:c9f607286335 | 83 | { |
bredeh | 0:c9f607286335 | 84 | FILE *fp = fopen("/local/logg.txt", "a"); |
bredeh | 0:c9f607286335 | 85 | fprintf(fp, "Alarm aktivert. \nFeil passord eller tid utlopt"); |
bredeh | 0:c9f607286335 | 86 | fclose(fp); |
bredeh | 0:c9f607286335 | 87 | } |