mappe1 beta
Dependencies: mbed
main.cpp@3:e55f06ddce90, 2014-02-27 (annotated)
- Committer:
- GramTech
- Date:
- Thu Feb 27 13:13:26 2014 +0000
- Revision:
- 3:e55f06ddce90
- Parent:
- 2:316f91ebaf49
Ferdig utgave av BitGuard 3.25.1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
GramTech | 0:b49b25afcee5 | 1 | #include "mbed.h" |
GramTech | 0:b49b25afcee5 | 2 | #include "SerialBuff.h" |
GramTech | 0:b49b25afcee5 | 3 | #include "Timer.h" |
GramTech | 0:b49b25afcee5 | 4 | |
GramTech | 0:b49b25afcee5 | 5 | DigitalOut drift1(LED1),drift2(LED2),drift3(LED3),drift4(LED4); |
GramTech | 0:b49b25afcee5 | 6 | DigitalOut rod1(p23),rod2(p24),rod3(p25),rod4(p26),rod5(p27),rod6(p28),rod7(p29),rod8(p30); |
GramTech | 0:b49b25afcee5 | 7 | DigitalIn reset1(p13); |
GramTech | 0:b49b25afcee5 | 8 | AnalogIn sone1(p15),sone2(p16),sone3(p17),sone4(p18); |
GramTech | 0:b49b25afcee5 | 9 | |
GramTech | 0:b49b25afcee5 | 10 | Ticker t1; |
GramTech | 0:b49b25afcee5 | 11 | |
GramTech | 0:b49b25afcee5 | 12 | LocalFileSystem local("local"); |
GramTech | 0:b49b25afcee5 | 13 | |
GramTech | 0:b49b25afcee5 | 14 | Serial pc(USBTX, USBRX); |
GramTech | 0:b49b25afcee5 | 15 | |
GramTech | 3:e55f06ddce90 | 16 | //alle funskjoner |
GramTech | 0:b49b25afcee5 | 17 | void alarm1(void); |
GramTech | 0:b49b25afcee5 | 18 | void alarm2(void); |
GramTech | 0:b49b25afcee5 | 19 | void alarm3(void); |
GramTech | 0:b49b25afcee5 | 20 | void alarm4(void); |
GramTech | 0:b49b25afcee5 | 21 | void blink1(void); |
GramTech | 0:b49b25afcee5 | 22 | void blink2(void); |
GramTech | 0:b49b25afcee5 | 23 | void blink3(void); |
GramTech | 0:b49b25afcee5 | 24 | void blink4(void); |
GramTech | 0:b49b25afcee5 | 25 | void logg(void); |
GramTech | 0:b49b25afcee5 | 26 | void testlogg(void); |
GramTech | 0:b49b25afcee5 | 27 | void reset(void); |
GramTech | 0:b49b25afcee5 | 28 | void sekunder(void); |
GramTech | 0:b49b25afcee5 | 29 | void passord(void); |
GramTech | 3:e55f06ddce90 | 30 | void menyles(void); |
GramTech | 3:e55f06ddce90 | 31 | void menyprint(void); |
GramTech | 0:b49b25afcee5 | 32 | void status(void); |
GramTech | 0:b49b25afcee5 | 33 | void linje1(void); |
GramTech | 0:b49b25afcee5 | 34 | |
GramTech | 0:b49b25afcee5 | 35 | #define grense0 1 // 3.3v |
GramTech | 0:b49b25afcee5 | 36 | #define grense3 0.5 // sone 1 0.5 |
GramTech | 0:b49b25afcee5 | 37 | #define grense2 0.662 // sone 2 0.662 |
GramTech | 0:b49b25afcee5 | 38 | #define grense1 0.398 // sone 1 og 2 0.398 |
GramTech | 0:b49b25afcee5 | 39 | #define blink 0.1 |
GramTech | 0:b49b25afcee5 | 40 | #define vindu 0.08 |
GramTech | 0:b49b25afcee5 | 41 | |
GramTech | 0:b49b25afcee5 | 42 | volatile unsigned int sek = 0,min = 0,hour = 0,dag = 0,stat_rod1,stat_rod2,stat_rod3,stat_rod4,stat_rod5,stat_rod6,stat_rod7,stat_rod8,stat_reset,passord_1,valg,reset2; |
GramTech | 0:b49b25afcee5 | 43 | |
GramTech | 0:b49b25afcee5 | 44 | |
GramTech | 3:e55f06ddce90 | 45 | int main() // Her er hoved programmet |
GramTech | 0:b49b25afcee5 | 46 | { |
GramTech | 0:b49b25afcee5 | 47 | reset1.mode(PullDown); |
GramTech | 0:b49b25afcee5 | 48 | while(1) { |
GramTech | 3:e55f06ddce90 | 49 | passord(); |
GramTech | 3:e55f06ddce90 | 50 | menyprint(); |
GramTech | 3:e55f06ddce90 | 51 | t1.attach(&sekunder, 1.0); |
GramTech | 3:e55f06ddce90 | 52 | while(1) { |
GramTech | 3:e55f06ddce90 | 53 | alarm1(); |
GramTech | 3:e55f06ddce90 | 54 | alarm2(); |
GramTech | 3:e55f06ddce90 | 55 | alarm3(); |
GramTech | 3:e55f06ddce90 | 56 | alarm4(); |
GramTech | 3:e55f06ddce90 | 57 | menyles(); |
GramTech | 0:b49b25afcee5 | 58 | |
GramTech | 3:e55f06ddce90 | 59 | if (valg == 1 || reset1 == 0) { |
GramTech | 3:e55f06ddce90 | 60 | reset2 = 1; |
GramTech | 3:e55f06ddce90 | 61 | reset(); |
GramTech | 3:e55f06ddce90 | 62 | } else if (valg == 2) { |
GramTech | 3:e55f06ddce90 | 63 | pc.printf("\r\nDu er n\x86 logget ut\r\n"); |
GramTech | 3:e55f06ddce90 | 64 | pc.printf("\r\nTakk for at benyttet deg av BitGaurd 3.25.1\r\n"); |
GramTech | 3:e55f06ddce90 | 65 | reset2 = 1; |
GramTech | 3:e55f06ddce90 | 66 | reset(); |
GramTech | 3:e55f06ddce90 | 67 | break; |
GramTech | 3:e55f06ddce90 | 68 | } else if(valg == 3) { |
GramTech | 3:e55f06ddce90 | 69 | pc.printf("\r\n\r\nStatus:\r\n"); |
GramTech | 3:e55f06ddce90 | 70 | status(); |
GramTech | 3:e55f06ddce90 | 71 | } |
GramTech | 3:e55f06ddce90 | 72 | reset(); |
GramTech | 3:e55f06ddce90 | 73 | wait (0.1); |
GramTech | 3:e55f06ddce90 | 74 | } |
GramTech | 3:e55f06ddce90 | 75 | } |
GramTech | 3:e55f06ddce90 | 76 | } |
GramTech | 3:e55f06ddce90 | 77 | |
GramTech | 3:e55f06ddce90 | 78 | void menyles(void) |
GramTech | 3:e55f06ddce90 | 79 | { |
GramTech | 3:e55f06ddce90 | 80 | int stat; |
GramTech | 3:e55f06ddce90 | 81 | |
GramTech | 3:e55f06ddce90 | 82 | valg = 0; |
GramTech | 3:e55f06ddce90 | 83 | if (pc.readable()) { |
GramTech | 3:e55f06ddce90 | 84 | stat = pc.scanf("%d",&valg); |
GramTech | 3:e55f06ddce90 | 85 | if (stat != 1) { |
GramTech | 3:e55f06ddce90 | 86 | valg = 0; |
GramTech | 3:e55f06ddce90 | 87 | } |
GramTech | 3:e55f06ddce90 | 88 | if (!(valg >= 1 && valg <= 3)) { |
GramTech | 3:e55f06ddce90 | 89 | pc.printf("\r\nFeil verdi!\r\n\r\nvenligst pr\x9Bv igjen\r\n"); |
GramTech | 3:e55f06ddce90 | 90 | } |
GramTech | 0:b49b25afcee5 | 91 | } |
GramTech | 0:b49b25afcee5 | 92 | |
GramTech | 0:b49b25afcee5 | 93 | } |
GramTech | 3:e55f06ddce90 | 94 | void menyprint(void) //Hovedmeny |
GramTech | 0:b49b25afcee5 | 95 | { |
GramTech | 0:b49b25afcee5 | 96 | |
GramTech | 0:b49b25afcee5 | 97 | printf("\r\n\r\nMeny\r\n\r\n"); |
GramTech | 0:b49b25afcee5 | 98 | printf("Tast:\r\n"); |
GramTech | 3:e55f06ddce90 | 99 | printf("1 reset alarmen\r\n"); |
GramTech | 3:e55f06ddce90 | 100 | printf("2 avslutte systemet\r\n"); |
GramTech | 3:e55f06ddce90 | 101 | printf("3 status\r\n"); |
GramTech | 0:b49b25afcee5 | 102 | } |
GramTech | 0:b49b25afcee5 | 103 | |
GramTech | 0:b49b25afcee5 | 104 | |
GramTech | 0:b49b25afcee5 | 105 | |
GramTech | 3:e55f06ddce90 | 106 | void linje1(void) // |
GramTech | 0:b49b25afcee5 | 107 | { |
GramTech | 0:b49b25afcee5 | 108 | printf("\r\nVelkommen til BitGuard 3.25.1"); |
GramTech | 0:b49b25afcee5 | 109 | } |
GramTech | 0:b49b25afcee5 | 110 | |
GramTech | 3:e55f06ddce90 | 111 | void status(void) //Denne funskjonen skriver til tera term hvilke alarm som har gått |
GramTech | 0:b49b25afcee5 | 112 | { |
GramTech | 0:b49b25afcee5 | 113 | if(rod1 == 1) { |
GramTech | 3:e55f06ddce90 | 114 | pc.printf("\r\nsl\x9Byfe 1\r\ndetektor 1 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 115 | } |
GramTech | 0:b49b25afcee5 | 116 | if (rod2 == 1) { |
GramTech | 3:e55f06ddce90 | 117 | pc.printf("\r\nsl\x9Byfe 1\r\ndetektor 2 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 118 | } |
GramTech | 0:b49b25afcee5 | 119 | if(rod3 == 1) { |
GramTech | 3:e55f06ddce90 | 120 | pc.printf("\r\nsl\x9Byfe 2\r\ndetektor 1 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 121 | } |
GramTech | 0:b49b25afcee5 | 122 | if(rod4 == 1) { |
GramTech | 3:e55f06ddce90 | 123 | pc.printf("\r\nsl\x9Byfe 2\r\ndetektor 2 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 124 | } |
GramTech | 0:b49b25afcee5 | 125 | if(rod5 == 1) { |
GramTech | 3:e55f06ddce90 | 126 | pc.printf("\r\nsl\x9Byfe 3\r\ndetektor 1 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 127 | } |
GramTech | 0:b49b25afcee5 | 128 | if(rod6 == 1) { |
GramTech | 3:e55f06ddce90 | 129 | pc.printf("\r\nsl\x9Byfe 3\r\ndetektor 2 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 130 | } |
GramTech | 0:b49b25afcee5 | 131 | if(rod7 == 1) { |
GramTech | 3:e55f06ddce90 | 132 | pc.printf("\r\nsl\x9Byfe 4\r\ndetektor 1 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 133 | } |
GramTech | 0:b49b25afcee5 | 134 | if(rod8 == 1) { |
GramTech | 3:e55f06ddce90 | 135 | pc.printf("\r\nsl\x9Byfe 4\r\ndetektor 2 har sl\x86tt ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 3:e55f06ddce90 | 136 | } |
GramTech | 3:e55f06ddce90 | 137 | |
GramTech | 3:e55f06ddce90 | 138 | if(rod1==0&&rod2==0&&rod3==0&&rod4==0&&rod5==0&&rod6==0&&rod7==0&&rod8 == 0) { |
GramTech | 3:e55f06ddce90 | 139 | pc.printf("\r\nAlt er i orden, ingen alarm er utl\x9Bst"); |
GramTech | 0:b49b25afcee5 | 140 | } |
GramTech | 3:e55f06ddce90 | 141 | menyprint(); |
GramTech | 0:b49b25afcee5 | 142 | } |
GramTech | 3:e55f06ddce90 | 143 | void passord (void) //Her må brukeren taste et oppgit passord for å få tilgang til alle mulighetene BitGuard 3.25.1 tilbyr |
GramTech | 0:b49b25afcee5 | 144 | { |
GramTech | 3:e55f06ddce90 | 145 | printf("\r\nHei!\r\nvenligst tast inn passord for \x86 sette i gang alarmen\r\n"); |
GramTech | 0:b49b25afcee5 | 146 | scanf("%d", &passord_1); |
GramTech | 0:b49b25afcee5 | 147 | while (passord_1 != 258456) { |
GramTech | 3:e55f06ddce90 | 148 | printf("\r\nPassordet du har tastet inn er feil \r\nVenligst pr\x9Bv igjen\r\n "); |
GramTech | 0:b49b25afcee5 | 149 | scanf("%d", &passord_1); |
GramTech | 0:b49b25afcee5 | 150 | } |
GramTech | 0:b49b25afcee5 | 151 | linje1(); |
GramTech | 0:b49b25afcee5 | 152 | } |
GramTech | 3:e55f06ddce90 | 153 | void sekunder(void) //tid taker funksjon |
GramTech | 0:b49b25afcee5 | 154 | { |
GramTech | 0:b49b25afcee5 | 155 | sek++; |
GramTech | 0:b49b25afcee5 | 156 | min = sek / 60; |
GramTech | 3:e55f06ddce90 | 157 | sek %= 60; |
GramTech | 0:b49b25afcee5 | 158 | hour = min / 60; |
GramTech | 0:b49b25afcee5 | 159 | min %= 60; |
GramTech | 0:b49b25afcee5 | 160 | dag = hour / 24; |
GramTech | 0:b49b25afcee5 | 161 | hour %= 24; |
GramTech | 0:b49b25afcee5 | 162 | |
GramTech | 0:b49b25afcee5 | 163 | } |
GramTech | 3:e55f06ddce90 | 164 | void alarm1(void) //Her ser man testen på alarmen |
GramTech | 0:b49b25afcee5 | 165 | { |
GramTech | 0:b49b25afcee5 | 166 | if( (sone1 >= (grense0 - vindu)) && (sone1 <= (grense0 + vindu))) { |
GramTech | 0:b49b25afcee5 | 167 | blink1(); |
GramTech | 0:b49b25afcee5 | 168 | testlogg(); |
GramTech | 0:b49b25afcee5 | 169 | } else if( (sone1 >= (grense1 - vindu)) && (sone1 <= (grense1 + vindu))) { |
GramTech | 0:b49b25afcee5 | 170 | blink1(); |
GramTech | 0:b49b25afcee5 | 171 | rod1 = 1; |
GramTech | 0:b49b25afcee5 | 172 | rod2 = 1; |
GramTech | 0:b49b25afcee5 | 173 | |
GramTech | 0:b49b25afcee5 | 174 | } else if( (sone1 >= (grense2 - vindu)) && (sone1 <= (grense2 + vindu))) { |
GramTech | 0:b49b25afcee5 | 175 | blink1(); |
GramTech | 0:b49b25afcee5 | 176 | rod1 = 1; |
GramTech | 0:b49b25afcee5 | 177 | |
GramTech | 0:b49b25afcee5 | 178 | } else { |
GramTech | 0:b49b25afcee5 | 179 | blink1(); |
GramTech | 0:b49b25afcee5 | 180 | rod2 = 1; |
GramTech | 0:b49b25afcee5 | 181 | |
GramTech | 0:b49b25afcee5 | 182 | |
GramTech | 0:b49b25afcee5 | 183 | } |
GramTech | 0:b49b25afcee5 | 184 | |
GramTech | 0:b49b25afcee5 | 185 | |
GramTech | 0:b49b25afcee5 | 186 | |
GramTech | 0:b49b25afcee5 | 187 | } |
GramTech | 0:b49b25afcee5 | 188 | |
GramTech | 0:b49b25afcee5 | 189 | |
GramTech | 0:b49b25afcee5 | 190 | |
GramTech | 0:b49b25afcee5 | 191 | |
GramTech | 0:b49b25afcee5 | 192 | void alarm2(void) |
GramTech | 0:b49b25afcee5 | 193 | { |
GramTech | 0:b49b25afcee5 | 194 | if((sone2 >= (grense0 - vindu)) && (sone2 <= (grense0 + vindu))) { |
GramTech | 0:b49b25afcee5 | 195 | blink2(); |
GramTech | 0:b49b25afcee5 | 196 | testlogg(); |
GramTech | 0:b49b25afcee5 | 197 | } else if((sone2 >= (grense1 - vindu)) && (sone2 <= (grense1 + vindu))) { |
GramTech | 0:b49b25afcee5 | 198 | blink2(); |
GramTech | 0:b49b25afcee5 | 199 | rod3 = 1; |
GramTech | 0:b49b25afcee5 | 200 | rod4 = 1; |
GramTech | 0:b49b25afcee5 | 201 | } else if((sone2 >= (grense2 - vindu)) && (sone2 <= (grense2 + vindu))) { |
GramTech | 0:b49b25afcee5 | 202 | blink2(); |
GramTech | 0:b49b25afcee5 | 203 | rod3 = 1; |
GramTech | 0:b49b25afcee5 | 204 | |
GramTech | 0:b49b25afcee5 | 205 | } else { |
GramTech | 0:b49b25afcee5 | 206 | blink2(); |
GramTech | 0:b49b25afcee5 | 207 | rod4 = 1; |
GramTech | 0:b49b25afcee5 | 208 | |
GramTech | 0:b49b25afcee5 | 209 | } |
GramTech | 0:b49b25afcee5 | 210 | |
GramTech | 0:b49b25afcee5 | 211 | |
GramTech | 0:b49b25afcee5 | 212 | } |
GramTech | 0:b49b25afcee5 | 213 | |
GramTech | 0:b49b25afcee5 | 214 | void alarm3(void) |
GramTech | 0:b49b25afcee5 | 215 | { |
GramTech | 0:b49b25afcee5 | 216 | if( (sone3 >= (grense0 - vindu)) && (sone3 <= (grense0 + vindu))) { |
GramTech | 0:b49b25afcee5 | 217 | blink3(); |
GramTech | 0:b49b25afcee5 | 218 | testlogg(); |
GramTech | 0:b49b25afcee5 | 219 | } else if( (sone3 >= (grense1 - vindu)) && (sone3 <= (grense1 + vindu))) { |
GramTech | 0:b49b25afcee5 | 220 | blink3(); |
GramTech | 0:b49b25afcee5 | 221 | rod5 = 1; |
GramTech | 0:b49b25afcee5 | 222 | rod6 = 1; |
GramTech | 0:b49b25afcee5 | 223 | } else if( (sone3 >= (grense2 - vindu)) && (sone3 <= (grense2 + vindu))) { |
GramTech | 0:b49b25afcee5 | 224 | blink3(); |
GramTech | 0:b49b25afcee5 | 225 | rod5 = 1; |
GramTech | 0:b49b25afcee5 | 226 | } else { |
GramTech | 0:b49b25afcee5 | 227 | blink3(); |
GramTech | 0:b49b25afcee5 | 228 | rod6 = 1; |
GramTech | 0:b49b25afcee5 | 229 | |
GramTech | 0:b49b25afcee5 | 230 | } |
GramTech | 0:b49b25afcee5 | 231 | |
GramTech | 0:b49b25afcee5 | 232 | |
GramTech | 0:b49b25afcee5 | 233 | |
GramTech | 0:b49b25afcee5 | 234 | } |
GramTech | 0:b49b25afcee5 | 235 | |
GramTech | 0:b49b25afcee5 | 236 | void alarm4(void) |
GramTech | 0:b49b25afcee5 | 237 | { |
GramTech | 0:b49b25afcee5 | 238 | if( (sone4 >= (grense0 - vindu)) && (sone4 <= (grense0 + vindu))) { |
GramTech | 0:b49b25afcee5 | 239 | blink4(); |
GramTech | 0:b49b25afcee5 | 240 | testlogg(); |
GramTech | 0:b49b25afcee5 | 241 | } else if( (sone4 >= (grense1 - vindu)) && (sone4 <= (grense1 + vindu))) { |
GramTech | 0:b49b25afcee5 | 242 | blink4(); |
GramTech | 0:b49b25afcee5 | 243 | rod7 = 1; |
GramTech | 0:b49b25afcee5 | 244 | rod8 = 1; |
GramTech | 0:b49b25afcee5 | 245 | } else if( (sone4 >= (grense2 - vindu)) && (sone4 <= (grense2 + vindu))) { |
GramTech | 0:b49b25afcee5 | 246 | blink4(); |
GramTech | 0:b49b25afcee5 | 247 | rod7 = 1; |
GramTech | 0:b49b25afcee5 | 248 | } else { |
GramTech | 0:b49b25afcee5 | 249 | blink4(); |
GramTech | 0:b49b25afcee5 | 250 | rod8 = 1; |
GramTech | 0:b49b25afcee5 | 251 | |
GramTech | 0:b49b25afcee5 | 252 | } |
GramTech | 0:b49b25afcee5 | 253 | |
GramTech | 0:b49b25afcee5 | 254 | |
GramTech | 0:b49b25afcee5 | 255 | |
GramTech | 0:b49b25afcee5 | 256 | } |
GramTech | 3:e55f06ddce90 | 257 | void blink1(void) //Denne får sløyfe lyset til å blinke |
GramTech | 0:b49b25afcee5 | 258 | { |
GramTech | 0:b49b25afcee5 | 259 | if ( rod1 == 1||rod2 == 1) { |
GramTech | 0:b49b25afcee5 | 260 | drift1 = 1; |
GramTech | 0:b49b25afcee5 | 261 | wait(blink); |
GramTech | 0:b49b25afcee5 | 262 | drift1 = 0; |
GramTech | 0:b49b25afcee5 | 263 | } else { |
GramTech | 0:b49b25afcee5 | 264 | drift1 = 1; |
GramTech | 0:b49b25afcee5 | 265 | } |
GramTech | 0:b49b25afcee5 | 266 | } |
GramTech | 0:b49b25afcee5 | 267 | |
GramTech | 0:b49b25afcee5 | 268 | void blink2(void) |
GramTech | 0:b49b25afcee5 | 269 | { |
GramTech | 0:b49b25afcee5 | 270 | if ( rod3 == 1||rod4 == 1) { |
GramTech | 0:b49b25afcee5 | 271 | drift2 = 1; |
GramTech | 0:b49b25afcee5 | 272 | wait(blink); |
GramTech | 0:b49b25afcee5 | 273 | drift2 = 0; |
GramTech | 0:b49b25afcee5 | 274 | } else { |
GramTech | 0:b49b25afcee5 | 275 | drift2 = 1; |
GramTech | 0:b49b25afcee5 | 276 | } |
GramTech | 0:b49b25afcee5 | 277 | } |
GramTech | 0:b49b25afcee5 | 278 | |
GramTech | 0:b49b25afcee5 | 279 | void blink3(void) |
GramTech | 0:b49b25afcee5 | 280 | { |
GramTech | 0:b49b25afcee5 | 281 | if ( rod5 == 1||rod6 == 1) { |
GramTech | 0:b49b25afcee5 | 282 | drift3 = 1; |
GramTech | 0:b49b25afcee5 | 283 | wait(blink); |
GramTech | 0:b49b25afcee5 | 284 | drift3 = 0; |
GramTech | 0:b49b25afcee5 | 285 | } else { |
GramTech | 0:b49b25afcee5 | 286 | drift3 = 1; |
GramTech | 0:b49b25afcee5 | 287 | } |
GramTech | 0:b49b25afcee5 | 288 | } |
GramTech | 0:b49b25afcee5 | 289 | |
GramTech | 0:b49b25afcee5 | 290 | void blink4(void) |
GramTech | 0:b49b25afcee5 | 291 | { |
GramTech | 0:b49b25afcee5 | 292 | if ( rod7 == 1||rod8 == 1) { |
GramTech | 0:b49b25afcee5 | 293 | drift4 = 1; |
GramTech | 0:b49b25afcee5 | 294 | wait(blink); |
GramTech | 0:b49b25afcee5 | 295 | drift4 = 0; |
GramTech | 0:b49b25afcee5 | 296 | } else { |
GramTech | 0:b49b25afcee5 | 297 | drift4 = 1; |
GramTech | 0:b49b25afcee5 | 298 | } |
GramTech | 0:b49b25afcee5 | 299 | } |
GramTech | 3:e55f06ddce90 | 300 | void reset(void) //reset funskjon |
GramTech | 0:b49b25afcee5 | 301 | { |
GramTech | 0:b49b25afcee5 | 302 | if (reset1 == 0 || reset2 == 1 ) { |
GramTech | 0:b49b25afcee5 | 303 | rod1=rod2=rod3=rod4=rod5=rod6=rod7=rod8=drift1=drift2=drift3=drift4 = 0 ; |
GramTech | 0:b49b25afcee5 | 304 | } |
GramTech | 0:b49b25afcee5 | 305 | reset2 = 0; |
GramTech | 0:b49b25afcee5 | 306 | } |
GramTech | 0:b49b25afcee5 | 307 | |
GramTech | 0:b49b25afcee5 | 308 | |
GramTech | 3:e55f06ddce90 | 309 | void testlogg(void) //Tester om det skal logges |
GramTech | 0:b49b25afcee5 | 310 | { |
GramTech | 0:b49b25afcee5 | 311 | if(rod1||rod2||rod3||rod4||rod5||rod6||rod7||rod8 == 1) { |
GramTech | 0:b49b25afcee5 | 312 | logg(); |
GramTech | 0:b49b25afcee5 | 313 | |
GramTech | 0:b49b25afcee5 | 314 | } |
GramTech | 0:b49b25afcee5 | 315 | } |
GramTech | 0:b49b25afcee5 | 316 | |
GramTech | 0:b49b25afcee5 | 317 | |
GramTech | 3:e55f06ddce90 | 318 | void logg(void) //Lager en txt fil som det logges på |
GramTech | 0:b49b25afcee5 | 319 | { |
GramTech | 0:b49b25afcee5 | 320 | FILE *fp = fopen("/local/logg.txt", "a"); |
GramTech | 0:b49b25afcee5 | 321 | if (fp == NULL) { |
GramTech | 0:b49b25afcee5 | 322 | pc.printf("Filfeil - avslutter\r\n"); |
GramTech | 0:b49b25afcee5 | 323 | exit(1); |
GramTech | 0:b49b25afcee5 | 324 | } |
GramTech | 0:b49b25afcee5 | 325 | |
GramTech | 0:b49b25afcee5 | 326 | if(rod1 == 1 && stat_rod1 == 0 ) { |
GramTech | 0:b49b25afcee5 | 327 | fprintf(fp,"sløyfe 1\r\ndetektor 1 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 328 | stat_rod1 = 1; |
GramTech | 0:b49b25afcee5 | 329 | } |
GramTech | 0:b49b25afcee5 | 330 | if (rod2 == 1 && stat_rod2 == 0 ) { |
GramTech | 0:b49b25afcee5 | 331 | fprintf(fp,"sløyfe 1\r\ndetektor 2 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 332 | stat_rod2 = 1; |
GramTech | 0:b49b25afcee5 | 333 | } |
GramTech | 0:b49b25afcee5 | 334 | if(rod3 == 1 && stat_rod3 == 0 ) { |
GramTech | 0:b49b25afcee5 | 335 | fprintf(fp,"sløyfe 2\r\ndetektor 1 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 336 | stat_rod3 = 1; |
GramTech | 0:b49b25afcee5 | 337 | } |
GramTech | 0:b49b25afcee5 | 338 | if(rod4 == 1 && stat_rod4 == 0 ) { |
GramTech | 0:b49b25afcee5 | 339 | fprintf(fp,"sløyfe 2\r\ndetektor 2 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 340 | stat_rod4 = 1; |
GramTech | 0:b49b25afcee5 | 341 | } |
GramTech | 0:b49b25afcee5 | 342 | if(rod5 == 1 && stat_rod5 == 0 ) { |
GramTech | 0:b49b25afcee5 | 343 | fprintf(fp,"sløyfe 3\r\ndetektor 1 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 344 | stat_rod5 = 1; |
GramTech | 0:b49b25afcee5 | 345 | } |
GramTech | 0:b49b25afcee5 | 346 | if(rod6 == 1 && stat_rod6 == 0 ) { |
GramTech | 0:b49b25afcee5 | 347 | fprintf(fp,"sløyfe 3\r\ndetektor 2 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 348 | stat_rod6 = 1; |
GramTech | 0:b49b25afcee5 | 349 | } |
GramTech | 0:b49b25afcee5 | 350 | if(rod7 == 1 && stat_rod7 == 0 ) { |
GramTech | 0:b49b25afcee5 | 351 | fprintf(fp,"sløyfe 4\r\ndetektor 1 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 352 | stat_rod7 = 1; |
GramTech | 0:b49b25afcee5 | 353 | } |
GramTech | 0:b49b25afcee5 | 354 | if(rod8 == 1 && stat_rod8 == 0 ) { |
GramTech | 0:b49b25afcee5 | 355 | fprintf(fp,"sløyfe 4\r\ndetektor 2 har slått ut etter %dsek %dmin %dtimer %ddager\r\n",sek,min,hour,dag); |
GramTech | 0:b49b25afcee5 | 356 | stat_rod8 = 1; |
GramTech | 0:b49b25afcee5 | 357 | } |
GramTech | 0:b49b25afcee5 | 358 | if(reset1 == 0 && stat_reset == 0) { |
GramTech | 0:b49b25afcee5 | 359 | fprintf(fp,"alarmen har blitt resatt\r\n"); |
GramTech | 0:b49b25afcee5 | 360 | stat_reset = 1; |
GramTech | 0:b49b25afcee5 | 361 | } |
GramTech | 0:b49b25afcee5 | 362 | fclose(fp); |
GramTech | 0:b49b25afcee5 | 363 | } |