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-FINAL1 by
loggforing.cpp
00001 #include "mbed.h" 00002 #include "loggforing.h" 00003 #include "string" 00004 00005 00006 /* LocalFileSystem er en local funksjon i mbed, som tilater oss å skrive, lese og åpne en .txt fil.*/ 00007 LocalFileSystem local("local"); 00008 00009 Serial data(USBTX, USBRX); 00010 00011 int brudd = 1; //En variable som teller opp antall brudd når systemet er aktivt. 00012 00013 /*Array string printer status etter verdi som blir returnet fra funksjonen i filen "systempaa.cpp" 00014 Elementene 0-7 representerer de samme elementene som i arrayet kr_status[]. Elementene 8-11, representerer begge bryterne i krets 1 til krests 4*/ 00015 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"}; 00016 00017 00018 /* 00019 >>>>>>>>>>>>>>>>>>>>>>>>> Funksjonsprototyper <<<<<<<<<<<<<<<<<<<<<<<<<<<< 00020 00021 Loggfører hvilken krets og til hvilken tid det er et inbrudd. 00022 void logg_inbrudd(int status, float timer);. 00023 00024 Loggfører til hvilken tid systemet blir nullstilt via servicebryter 00025 void logg_servicebryter(float sek); 00026 00027 Loggfører at systemet er blitt nullstilt via bruker. 00028 void logg_brukernullstill(float sek); 00029 00030 Loggfører til hvilken tid systemet blir skrudd av. 00031 void logg_system_av(float timer); 00032 00033 Loggføring hvis det er tastet inn feil passord eller tid utløpt 00034 void logg_feilpass(void); 00035 00036 */ 00037 00038 /* 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. 00039 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 00040 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 00041 i totalt i systemet, til hvilken tid bruddet var, og hvilken spenning det var over bryteren ved bruddet. */ 00042 void logg_inbrudd(int status, float timer, float volt) 00043 { 00044 FILE *fp = fopen("/local/logg.txt", "a"); 00045 if(fp == NULL) { 00046 data.printf("ERROR! Loggfil ikke funnet eller apnet!"); 00047 fclose(fp); 00048 } 00049 string temp = kr_verdi[status]; 00050 fprintf(fp, "Brudd %d i %s ved %.2f sekunder.\n", brudd, temp.c_str(), timer); 00051 fprintf(fp, "Spenning over %s ved brudd var %.6f V\n", temp.c_str(), volt); 00052 brudd++; 00053 fclose(fp); 00054 } 00055 00056 /* Funksjonen åpner fila logg.txt, eller oppretter den hvis det ikke finnes en. Det blir loggført at systemet 00057 er nullstilt via servicebryter og til hvilken tid */ 00058 void logg_servicebryter(float sek) 00059 { 00060 FILE *fp = fopen("/local/logg.txt", "a"); 00061 fprintf(fp, "Alle kretser nullstilt via servicebryter ved %.2f sekunder.\n", sek); 00062 fclose(fp); 00063 } 00064 00065 /* Loggfører at systemet blir nullstils via brukeren og til hvilken tid. */ 00066 void logg_brukernullstill(float sek) 00067 { 00068 FILE *fp = fopen("/local/logg.txt", "a"); 00069 fprintf(fp, "Alle kretser nulstilt via bruker ved %.2f sekunder.\n", sek); 00070 fclose(fp); 00071 } 00072 00073 /* Funksjonen logfører til hvilken tid systemet ble avsluttet. */ 00074 void logg_system_av(float timer) 00075 { 00076 FILE *fp = fopen("/local/logg.txt", "a"); 00077 fprintf(fp, "System avlsuttet. Alarm aktiv i %.2f\n", timer); 00078 fclose(fp); 00079 } 00080 00081 /* Hvis det er tastet inn feil passord eller at tiden er utløpt, vil dette loggføres */ 00082 void logg_feilpass() 00083 { 00084 FILE *fp = fopen("/local/logg.txt", "a"); 00085 fprintf(fp, "Alarm aktivert. \nFeil passord eller tid utlopt"); 00086 fclose(fp); 00087 }
Generated on Thu Jul 14 2022 05:31:55 by
1.7.2
