ok

Dependencies:   mbed

Fork of Alarmsystem-FINAL1 by Brede Hesvik

Committer:
bredeh
Date:
Thu Feb 25 11:31:10 2016 +0000
Revision:
0:c9f607286335
alarmsystem;

Who changed what in which revision?

UserRevisionLine numberNew 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 }