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 TextLCD_HelloWorld by
main.cpp
00001 #include "mbed.h" 00002 #include "TextLCD.h" 00003 #define Maxsamples 50 00004 00005 Serial pc(SERIAL_TX,SERIAL_RX); 00006 Ticker Test; 00007 unsigned mydelay; 00008 AnalogIn potpin1(PA_0); 00009 AnalogIn potpin2(PA_1); 00010 AnalogIn batpin(PC_0); 00011 AnalogIn Mains(PC_1); 00012 DigitalIn itz1k(PB_14); 00013 DigitalIn itz2k(PB_13); 00014 DigitalIn Userbutton(PA_15); 00015 //DigitalIn Reset(PB_9); 00016 DigitalIn sbutton(PB_12); 00017 DigitalIn silbutton(PB_11); 00018 DigitalOut myled(LED1); 00019 DigitalOut z1fled(PA_5, 1); 00020 DigitalOut z2fled(PA_4, 1); 00021 DigitalOut z1ftled(PA_7, 1); 00022 DigitalOut z2ftled(PA_6, 1); 00023 DigitalOut z1iled(PC_5, 1); 00024 DigitalOut z2iled(PC_4,1); 00025 DigitalOut silenceled(PB_1, 1); 00026 DigitalOut soundled(PB_0, 1); 00027 DigitalOut z1testled(PB_10, 1); 00028 DigitalOut z2testled(PB_2, 1); 00029 DigitalOut hooter(PC_8); 00030 DigitalOut buzzer(PA_9); 00031 DigitalOut z1r(PB_15); 00032 DigitalOut z2r(PC_6); 00033 DigitalOut Tx(PA_2); 00034 DigitalOut Rx(PA_3); 00035 DigitalOut TREN(PA_10); 00036 DigitalOut z1drv(PC_9); 00037 DigitalOut z2drv(PA_8); 00038 DigitalOut fr(PC_7); 00039 DigitalOut commonfire(PC_12, 1); 00040 uint16_t z1tflag=0; 00041 uint16_t z2tflag=0; 00042 uint16_t z1iflag=0; 00043 uint16_t z2iflag=0; 00044 TextLCD lcd(PA_11,PF_6,PF_7,PA_15,PC_10,PC_11);//RW- PA_12, 00045 float fval1=0.0; 00046 float fval2=0.0; 00047 float fval3=0.0; 00048 float fval4=0.0; 00049 float sense=0.20; 00050 //float Zone2sense=2.2; 00051 float scsense=2.2; 00052 float shortsense = 3.0; 00053 float ocsense=0.11; 00054 float mains = 2.7; 00055 float batsense=2.0; 00056 unsigned long val1=0; 00057 unsigned long val2=0; 00058 unsigned long val3=0; 00059 unsigned long val4=0; 00060 uint16_t i = 0; 00061 uint16_t j = 0; 00062 uint16_t it1flag = 0; 00063 uint16_t it2flag = 0; 00064 int SilFlag, SouFlag; 00065 int a; 00066 int HBTest; 00067 int OCflag; 00068 int w, x; 00069 void TestISR (void){ 00070 if (mydelay) mydelay--; 00071 } 00072 00073 void HooterON(void){ 00074 hooter=1; 00075 } 00076 00077 void BuzzerON(void){ 00078 buzzer=1; 00079 } 00080 00081 void HooterOFF(void){ 00082 hooter=0; 00083 } 00084 00085 void BuzzerOFF(void){ 00086 buzzer=0; 00087 } 00088 00089 void HooterTest(unsigned counter){ 00090 //if(HBTest == 0)HBTest = 1 ; 00091 //if(HBTest == 1){ 00092 HooterON(); 00093 BuzzerON(); 00094 mydelay = counter; 00095 while(mydelay); 00096 HooterOFF(); 00097 BuzzerOFF(); 00098 //mydelay = counter; 00099 //while(mydelay); 00100 //HBTest = 2; 00101 //} 00102 } 00103 00104 00105 00106 00107 void Z1FON(void){ 00108 z1fled = 0; 00109 } 00110 00111 void Z1FOFF(void){ 00112 z1fled = 1; 00113 } 00114 00115 void Z2FON(void){ 00116 z2fled = 0; 00117 } 00118 00119 void Z2FOFF(void){ 00120 z2fled = 1; 00121 } 00122 00123 void Z1FTON(void){ 00124 z1ftled = 0; 00125 } 00126 00127 void Z1FTOFF(void){ 00128 z1ftled = 1; 00129 } 00130 00131 00132 void Z2FTON(void){ 00133 z2ftled = 0; 00134 } 00135 00136 void Z2FTOFF(void){ 00137 z2ftled = 1; 00138 } 00139 00140 void Z1ION(void){ 00141 z1iled = 0; 00142 } 00143 00144 void Z1IOFF(void){ 00145 z1iled = 1; 00146 } 00147 00148 00149 void Z2ION(void){ 00150 z2iled = 0; 00151 } 00152 00153 void Z2IOFF(void){ 00154 z2iled = 1; 00155 } 00156 00157 00158 void SILENCEON(void){ 00159 silenceled = 0; 00160 } 00161 00162 void SILENCEOFF(void){ 00163 silenceled = 1; 00164 } 00165 00166 00167 void SOUNDON(void){ 00168 soundled = 0; 00169 } 00170 00171 void SOUNDOFF(void){ 00172 soundled = 1; 00173 } 00174 00175 00176 00177 void Z1TESTON(void){ 00178 z1testled = 0; 00179 } 00180 00181 void Z1TESTOFF(void){ 00182 z1testled = 1; 00183 } 00184 00185 00186 void Z2TESTON(void){ 00187 z2testled = 0; 00188 } 00189 00190 void Z2TESTOFF(void){ 00191 z2testled = 1; 00192 } 00193 00194 00195 00196 void CFIREON(void){ 00197 commonfire= 0; 00198 } 00199 00200 void CFIREOFF(void){ 00201 commonfire= 1; 00202 } 00203 00204 void Z1RON(void){ 00205 z1r = 1; 00206 } 00207 00208 void Z1ROFF(void){ 00209 z1r = 0; 00210 } 00211 00212 void Z2RON(void){ 00213 z2r = 1; 00214 } 00215 00216 void Z2ROFF(void){ 00217 z2r = 0; 00218 } 00219 00220 void FRON(void){ 00221 fr = 1; 00222 } 00223 00224 void FROFF(void){ 00225 fr = 0; 00226 } 00227 00228 void avg(void){ 00229 00230 00231 00232 fval1 = fval2 = fval3= fval4= 0; 00233 00234 for (int k=1; k<=Maxsamples; k++ ){ 00235 fval1 += potpin1.read(); 00236 fval2 += potpin2.read(); 00237 fval3 += batpin.read(); 00238 fval4 += Mains.read(); 00239 } 00240 fval1/=Maxsamples; 00241 fval2/=Maxsamples; 00242 fval3/=Maxsamples; 00243 fval4/=Maxsamples; 00244 00245 fval1 = fval1 *3.3; 00246 fval2 = fval2 *3.3; 00247 fval3 = fval3 *3.3; 00248 fval4 = fval4 *3.3; 00249 00250 } 00251 00252 void Autofirez1_test(void){ 00253 avg(); 00254 //if ((fval1>=sense) && (fval1<3.0)){ 00255 if ((fval1>=0.11) && (fval1 < 3.0)){ 00256 //lcd.locate(0,0); 00257 //lcd.printf("Fire Zn1 "); 00258 Z1FON(); 00259 Z1RON(); 00260 CFIREON(); 00261 if((SilFlag == 0)){ 00262 HooterTest(6); 00263 } 00264 00265 z1drv =0; 00266 wait(1); 00267 z1drv =1; 00268 00269 //HooterTest(6); 00270 00271 } 00272 else{ 00273 //lcd.locate(0,0); 00274 //lcd.printf(" "); 00275 //HooterOFF(); 00276 //BuzzerOFF(); 00277 //Z1FOFF(); 00278 //CFIREOFF(); 00279 Z1ROFF(); 00280 } 00281 } 00282 void IsolateZ1(void){ 00283 Z1FOFF(); 00284 Z1ROFF(); 00285 } 00286 void Autofirez1(void){ 00287 avg(); 00288 //if ((fval1>=sense) && (fval1<3.0)){ 00289 if ((fval1>=0.11) && (fval1 < 3.0)){ 00290 Z1RON(); 00291 lcd.locate(0,0); 00292 lcd.printf("Fire Zn1 "); 00293 Z1FON(); 00294 if((SilFlag == 0)){ 00295 //if(z2iflag != 1){ 00296 HooterON(); 00297 BuzzerON(); 00298 //} 00299 } 00300 CFIREON(); 00301 } 00302 else{ 00303 //lcd.locate(0,0); 00304 //lcd.printf(" "); 00305 //HooterOFF(); 00306 //BuzzerOFF(); 00307 //CFIREOFF(); 00308 //Z1FOFF(); 00309 Z1ROFF(); 00310 } 00311 } 00312 00313 void Autofirez2(){ 00314 avg(); 00315 //if ((fval2>=sense) && (fval2<3.0)){ 00316 if ((fval2>=0.11) && (fval2 < 3.0)){ 00317 Z2RON(); 00318 lcd.locate(0,1); 00319 lcd.printf("Fire Zn2 "); 00320 if((fval1>=0.003) && (fval1 < 0.09) && (z1iflag != 1) && (z1tflag != 1)){ 00321 lcd.locate(0,0); 00322 lcd.printf(" "); 00323 00324 } 00325 Z2FON(); 00326 if((SilFlag == 0)){ 00327 //if(z1iflag != 1){ 00328 HooterON(); 00329 BuzzerON(); 00330 //} 00331 } 00332 CFIREON(); 00333 } 00334 else{ 00335 //lcd.locate(0,1); 00336 //lcd.printf(" "); 00337 //HooterOFF(); 00338 //BuzzerOFF(); 00339 //CFIREOFF(); 00340 //Z2FOFF(); 00341 Z2ROFF(); 00342 } 00343 } 00344 00345 void Autofirez2_test(){ 00346 avg(); 00347 //if ((fval2>=sense) && (fval2<3.0)){ 00348 if ((fval2>=0.11) && (fval2 < 3.0)){ 00349 //lcd.locate(0,1); 00350 //lcd.printf("Fire Zn2 "); 00351 if((fval1>=0.003) && (fval1 < 0.09) && (z1iflag != 1) && (z1tflag != 1)){ 00352 lcd.locate(0,0); 00353 lcd.printf(" "); 00354 00355 } 00356 00357 Z2FON(); 00358 CFIREON(); 00359 Z2RON(); 00360 if((SilFlag == 0)){ 00361 HooterTest(6); 00362 } 00363 00364 z2drv =0; 00365 wait(1); 00366 z2drv =1; 00367 00368 00369 //HooterTest(6); 00370 00371 //BuzzerON(); 00372 } 00373 else{ 00374 //lcd.locate(0,1); 00375 //lcd.printf(" "); 00376 //HooterOFF(); 00377 //BuzzerOFF(); 00378 //CFIREOFF(); 00379 //Z2FOFF(); 00380 Z2ROFF(); 00381 } 00382 } 00383 00384 void IsolateZ2(void){ 00385 Z2FOFF(); 00386 Z2ROFF(); 00387 } 00388 void firepanel(void){ 00389 00390 if ((z1iflag != 1) && (z2iflag != 1) && (z1tflag != 1) && (z2tflag != 1)){ 00391 avg(); 00392 if (((fval1>=0.001) && (fval1<0.09)) && ((fval2>=0.001) && (fval2<0.09))){ 00393 wait_ms(10); 00394 avg(); 00395 if (((fval1>=0.001) && (fval1<0.09)) && ((fval2>=0.001) && (fval2<0.09))){ 00396 00397 lcd.locate(0,0); 00398 lcd.printf("Normal "); 00399 //lcd.locate(0,1); 00400 //lcd.printf(" "); 00401 00402 00403 } 00404 } 00405 00406 //else if((fval1>=0.003) && (fval1<0.15) && (fval2<0.001)){ 00407 // lcd.locate(0,0); 00408 // lcd.printf(" "); 00409 00410 //} 00411 } 00412 00413 } 00414 00415 void Shortz1 (void) { 00416 avg(); 00417 if (fval1>=3.20){ 00418 lcd.locate(0,0); 00419 lcd.printf("Short Zn1"); 00420 Z1FTON(); 00421 //HooterON(); 00422 //BuzzerON(); 00423 FRON(); 00424 00425 if((SouFlag != 1) && (fval2 >= 0.003) && (fval2 < 0.09)){ 00426 HooterOFF(); 00427 CFIREOFF(); 00428 } 00429 if((SilFlag == 0)){ 00430 BuzzerON(); 00431 } 00432 } 00433 else { 00434 //lcd.locate(9,0); 00435 //lcd.printf(" "); 00436 00437 //Z1FTOFF(); 00438 //FROFF(); 00439 } 00440 } 00441 00442 void Shortz2(void){ 00443 avg(); 00444 if(fval2 >= 3.20) { 00445 lcd.locate(0,1); 00446 lcd.printf("Short Zn2"); 00447 Z2FTON(); 00448 if((SouFlag != 1) && (fval1 >= 0.003) && (fval1 < 0.09)){ 00449 HooterOFF(); 00450 CFIREOFF(); 00451 } 00452 00453 if((SilFlag == 0)){ 00454 BuzzerON(); 00455 } 00456 //HooterON(); 00457 //BuzzerON(); 00458 FRON(); 00459 00460 } 00461 else{ 00462 //Z2FTOFF(); 00463 //FROFF(); 00464 //lcd.locate(9,1); 00465 //lcd.printf(" "); 00466 00467 } 00468 } 00469 00470 void battery(void){ 00471 avg(); 00472 if (fval3<1.8){ 00473 lcd.locate(10,0); 00474 lcd.printf("BatLow"); 00475 if((SilFlag == 0)){ 00476 BuzzerON(); 00477 } 00478 FRON(); 00479 //BuzzerON(); 00480 } 00481 else { 00482 lcd.locate(10,0); 00483 lcd.printf(" "); 00484 //BuzzerOFF(); 00485 00486 } 00487 } 00488 00489 00490 void opencircuitz1(void){ 00491 avg(); 00492 if (fval1<0.00009){ 00493 OCflag = 1; 00494 lcd.locate(0,0); 00495 lcd.printf("Open Zn1 "); 00496 Z1FTON(); 00497 FRON(); 00498 00499 if((SilFlag == 0)){ 00500 BuzzerON(); 00501 } 00502 if((SouFlag != 1) && (fval2 >= 0.003) && (fval2 < 0.09)){ 00503 HooterOFF(); 00504 CFIREOFF(); 00505 } 00506 00507 //BuzzerON(); 00508 //HooterON(); 00509 } 00510 else 00511 if((fval1>0.003) && (fval1<0.09)){ 00512 OCflag = 0; 00513 lcd.locate(0,0); 00514 //lcd.printf(" "); 00515 00516 //BuzzerOFF(); 00517 //HooterOFF(); 00518 //Z1FTOFF(); 00519 //FROFF(); 00520 } 00521 } 00522 00523 void opencircuitz2(void){ 00524 avg(); 00525 if (fval2<0.00009) { 00526 lcd.locate(0,1); 00527 lcd.printf("Open Zn2 "); 00528 Z2FTON(); 00529 //BuzzerON(); 00530 //HooterON(); 00531 FRON(); 00532 00533 if((SilFlag == 0)){ 00534 BuzzerON(); 00535 } 00536 if((SouFlag != 1) && (fval1 >= 0.003) && (fval1 < 0.09)){ 00537 HooterOFF(); 00538 CFIREOFF(); 00539 } 00540 00541 } 00542 else 00543 if((fval2>=0.003) && (fval2<0.09)){ 00544 if(z2tflag !=1){ 00545 lcd.locate(0,1); 00546 lcd.printf(" "); 00547 } 00548 00549 //BuzzerOFF(); 00550 //HooterOFF(); 00551 //Z2FTOFF(); 00552 //lcd.locate(9,1); 00553 //lcd.printf(" "); 00554 00555 } 00556 if((fval2<0.00009) && (fval1>0.003) && (fval1<0.09)) {//C 00557 if((z1tflag != 1) && (z1iflag !=1)){ 00558 lcd.locate(0,0); 00559 lcd.printf(" "); 00560 } 00561 } 00562 } 00563 00564 void ACFail(void){ 00565 avg(); 00566 if (fval4<2.4){ 00567 //lcd.locate(0,0); 00568 //lcd.printf("AC FAIL"); 00569 // Z1FT(); 00570 //BuzzerON(); 00571 lcd.locate(10,1); 00572 lcd.printf("ACFAIL"); 00573 if((SilFlag == 0)){ 00574 BuzzerON(); 00575 } 00576 FRON(); 00577 //Z1FT(); 00578 //BuzzerON(); 00579 } 00580 else { 00581 lcd.locate(10,1); 00582 lcd.printf(" "); 00583 //BuzzerOFF(); 00584 00585 } 00586 } 00587 00588 00589 00590 00591 void isolation(void){ 00592 if (z1iflag == 1){ 00593 Z1ION(); 00594 } 00595 else{ 00596 Z1IOFF(); 00597 } 00598 if (z2iflag == 1){ 00599 Z2ION(); 00600 } 00601 else{ 00602 Z2IOFF(); 00603 } 00604 } 00605 00606 void TEST(void){ 00607 if(z1tflag == 1){ 00608 Z1TESTON(); 00609 } 00610 else{ 00611 Z1TESTOFF(); 00612 } 00613 if(z2tflag == 1){ 00614 Z2TESTON(); 00615 } 00616 else{ 00617 Z2TESTOFF(); 00618 } 00619 00620 00621 00622 } 00623 00624 00625 void itkey1(void){ 00626 if(itz1k == 0){ 00627 a++; 00628 w++; 00629 if ((a >= 1) &&(a < 2)){ 00630 z1iflag=1; 00631 } 00632 if(a > 2){ 00633 z1iflag=0; 00634 } 00635 if(w>=10 && w<20){ 00636 z1tflag=1; 00637 } 00638 if (w>=20){ 00639 z1tflag=0; 00640 } 00641 if(a > 21) a = 0; 00642 if(w > 21) w = 0; 00643 } 00644 } 00645 void itkey2(void){ 00646 if(itz2k == 0){ 00647 j++; 00648 x++; 00649 if ((j >= 1) && (j < 2)){ 00650 z2iflag=1; 00651 } 00652 if(j > 2){ 00653 z2iflag=0; 00654 } 00655 if(x>=10 && x<20){ 00656 z2tflag=1; 00657 } 00658 if (x>=20){ 00659 z2tflag=0; 00660 } 00661 if(j >21) j = 0; 00662 if(x >21) x = 0; 00663 } 00664 } 00665 /* 00666 void Reset_in(void){ 00667 if (Reset ==0){ 00668 NVIC_SystemReset(); 00669 } 00670 } 00671 */ 00672 00673 void sound (void){ 00674 if (sbutton == 0){ 00675 SouFlag = 1; 00676 } 00677 if(SouFlag == 1){ 00678 SilFlag = 0; 00679 SOUNDON(); 00680 00681 avg(); 00682 if((fval1>=0.00) || (fval2>=0.00)){ 00683 HooterON(); 00684 BuzzerON(); 00685 } 00686 //else{ 00687 //HooterOFF(); 00688 //BuzzerOFF(); 00689 //SOUNDOFF(); 00690 //} 00691 } 00692 else SOUNDOFF(); 00693 00694 00695 } 00696 00697 void silence (void){ 00698 if (silbutton==0){ 00699 SilFlag = 1; 00700 } 00701 if(SilFlag == 1){ 00702 SouFlag = 0; 00703 HooterOFF(); 00704 BuzzerOFF(); 00705 SILENCEON(); 00706 } 00707 else{ 00708 SILENCEOFF(); 00709 } 00710 00711 } 00712 00713 void HBOFF(void){ 00714 avg(); 00715 if((SouFlag != 1) && (fval1 >= 0.003) && (fval1 < 0.09) && (fval2 >= 0.003) && (fval2 < 0.09) && (fval3 >= 1.9) && (fval4 >= 2.5)){ 00716 HooterOFF(); 00717 BuzzerOFF(); 00718 CFIREOFF(); 00719 } 00720 avg(); 00721 if((SouFlag != 1) && ((fval1 >= 3.2) || (fval1 < 0.00009)) && ((fval2 >= 3.2) || (fval2 < 0.00009))){//C 00722 HooterOFF(); 00723 CFIREOFF(); 00724 } 00725 } 00726 00727 void FaultOFF(){ 00728 avg(); 00729 if((fval1 >= 0.003) && (fval1 < 3.00) && (fval2 >= 0.003) && (fval2 < 3.00) && (fval3 >= 1.9) && (fval4 >= 2.5)){ 00730 wait_ms(10); 00731 if((fval1 >= 0.003) && (fval1 < 3.00) && (fval2 >= 0.003) && (fval2 < 3.00) && (fval3 >= 1.9) && (fval4 >= 2.5)){ 00732 FROFF(); 00733 } 00734 } 00735 if((fval1 >= 0.003) && (fval1 < 3.00)) { 00736 wait_ms(10); 00737 if((fval1 > 0.003) && (fval1 < 3.00)) { 00738 Z1FTOFF(); 00739 //lcd.locate(9,0); 00740 //lcd.printf(" "); 00741 00742 } 00743 } 00744 if((fval2 >= 0.003) && (fval2 < 3.00)) { 00745 wait_ms(10); 00746 if((fval2 >= 0.003) && (fval2 < 3.00)) { 00747 Z2FTOFF(); 00748 //lcd.locate(9,1); 00749 //lcd.printf(" "); 00750 00751 } 00752 } 00753 } 00754 00755 00756 void FireOFF(void){ 00757 avg(); 00758 if(fval1 < 0.17)Z1FOFF(); 00759 if(fval2 < 0.17)Z2FOFF(); 00760 } 00761 00762 void HBIOFF(void){ 00763 00764 if((z1iflag == 0) && (z2iflag == 1)){ 00765 avg(); 00766 if((fval1 >= 0.003) && (fval1 < 0.09)){ 00767 00768 if(SouFlag != 1){ 00769 //HooterOFF(); 00770 //BuzzerOFF(); 00771 //CFIREOFF(); 00772 } 00773 } 00774 } 00775 if((z1iflag == 1) && (z2iflag == 0)){ 00776 avg(); 00777 if((fval2 >= 0.003) && (fval2 < 1.5)){ 00778 00779 if(SouFlag != 1){ 00780 //HooterOFF(); 00781 //BuzzerOFF(); 00782 //CFIREOFF(); 00783 } 00784 } 00785 } 00786 00787 if((z1iflag == 1) && (z2iflag == 1)){ 00788 00789 if(SouFlag != 1){ 00790 HooterOFF(); 00791 BuzzerOFF(); 00792 CFIREOFF(); 00793 } 00794 } 00795 00796 00797 /* 00798 if((z1iflag != 0) || (z2iflag != 0)){ 00799 //avg(); 00800 //if((fval1 > 0.10) || (fval2 > 0.10)){ 00801 if(((z1iflag == 1) || (z1iflag == 0))&& ((z2iflag == 1) || (z2iflag == 0))){ 00802 HooterOFF(); 00803 BuzzerOFF(); 00804 CFIREOFF(); 00805 } 00806 //} 00807 } 00808 */ 00809 } 00810 00811 int main(){ 00812 /* 00813 while(1){ 00814 myled = !myled; 00815 wait_ms(100); 00816 } 00817 00818 unsigned int i; 00819 00820 while(1){ 00821 Z1FOFF(); 00822 00823 lcd.locate(0,0); 00824 lcd.printf("%u",i); 00825 wait_ms(100); 00826 i++; 00827 Z1FON(); 00828 00829 } 00830 */ 00831 00832 00833 00834 00835 Z1FOFF(); 00836 Z2FOFF(); 00837 Z1FTOFF(); 00838 Z2FTOFF(); 00839 Z1IOFF(); 00840 Z2IOFF(); 00841 Z1TESTOFF(); 00842 Z2TESTOFF(); 00843 CFIREOFF(); 00844 SOUNDOFF(); 00845 SILENCEOFF(); 00846 itz1k.mode(PullUp); 00847 itz2k.mode(PullUp); 00848 sbutton.mode(PullUp); 00849 silbutton.mode(PullUp); 00850 z1iflag = 0; 00851 z2iflag = 0; 00852 z1tflag = 0; 00853 z2tflag = 0; 00854 z1drv = 1; 00855 z2drv = 1; 00856 HBTest = 0; 00857 OCflag = 0; 00858 //pc.printf("FIRE DETECTOR"); 00859 00860 Test.attach(&TestISR,1.0); 00861 /* 00862 while(1){ 00863 avg(); 00864 //pc.print("Z1: %4u Z2: %4u\n", val1, val2); 00865 lcd.locate(0,0); 00866 lcd.printf("%2.4f %2.4f",fval1, fval3); 00867 lcd.locate(0,1); 00868 lcd.printf("%2.5f %2.4f",fval2, fval4); 00869 wait(1); 00870 00871 } 00872 */ 00873 // Reset(); 00874 while(1){ 00875 //myled=!myled; 00876 //pc.printf("z1: %d\n",z1fled.read()); 00877 itkey1(); 00878 itkey2(); 00879 firepanel(); 00880 //pc.printf("%4.2f %4.2f %4.2f \n",fval1,fval2,fval3); 00881 //wait(0.1); 00882 isolation(); 00883 TEST(); 00884 HBIOFF(); 00885 if(z1tflag != 1){ 00886 if (z1iflag==0){ 00887 Autofirez1(); 00888 //Manualfirez1(); 00889 opencircuitz1(); 00890 //Manualz1(); 00891 Shortz1(); 00892 HBOFF(); 00893 FaultOFF(); 00894 ACFail(); 00895 battery(); 00896 sound(); 00897 silence(); 00898 FireOFF(); 00899 } 00900 } 00901 if(z1iflag == 1) 00902 { 00903 lcd.locate(0,0); 00904 lcd.printf("Isolate 1"); 00905 IsolateZ1(); 00906 if((fval1 >= 0.003) && (fval1 < 3.00)) { 00907 wait_ms(10); 00908 if((fval1 >= 0.003) && (fval1 < 3.00)) { 00909 Z1FTOFF(); 00910 } 00911 } 00912 ACFail(); 00913 battery(); 00914 sound(); 00915 silence(); 00916 } 00917 00918 00919 if(z2tflag != 1){ 00920 if (z2iflag==0){ 00921 Autofirez2(); 00922 // Manualfirez2(); 00923 opencircuitz2(); 00924 //Manualz2(); 00925 Shortz2(); 00926 ACFail(); 00927 HBOFF(); 00928 FaultOFF(); 00929 battery(); 00930 sound(); 00931 silence(); 00932 FireOFF(); 00933 } 00934 } 00935 if(z2iflag == 1) 00936 { 00937 lcd.locate(0,1); 00938 lcd.printf("Isolate 2"); 00939 avg(); 00940 if((z1iflag == 0) && (z1tflag == 0) && ((fval1>=0.003) && (fval1<0.09))){ 00941 lcd.locate(0,0); 00942 lcd.printf(" "); 00943 00944 } 00945 IsolateZ2(); 00946 if((fval2 >= 0.03) && (fval2 < 3.00)) { 00947 wait_ms(10); 00948 if((fval2 >= 0.003) && (fval2 < 3.00)) { 00949 Z2FTOFF(); 00950 } 00951 } 00952 ACFail(); 00953 battery(); 00954 sound(); 00955 silence(); 00956 00957 00958 } 00959 avg(); 00960 //if((fval1 >= 0.003) && (fval1 < 0.15)){ 00961 if(z1tflag==1){ 00962 if((fval1 >= 0.003) && (fval1 < 0.09)){ 00963 lcd.locate(0,0); 00964 lcd.printf("Test Zn1 "); 00965 } 00966 Autofirez1_test(); 00967 //Manualz1_test(); 00968 opencircuitz1(); 00969 battery(); 00970 silence(); 00971 sound(); 00972 Shortz1(); 00973 ACFail(); 00974 //HBOFF(); 00975 FaultOFF(); 00976 FireOFF(); 00977 itkey1(); 00978 itkey2(); 00979 HBOFF(); 00980 00981 00982 //} 00983 } 00984 /* 00985 if(z1iflag!=1){ 00986 if(z1tflag!=1) 00987 { 00988 lcd.locate(0,0); 00989 lcd.printf(" "); 00990 00991 } 00992 } 00993 */ 00994 //if((fval2 >= 0.003) && (fval2 < 0.15)){ 00995 if(z2tflag==1){ 00996 if((fval2 >= 0.002) && (fval2 < 0.09)){ 00997 lcd.locate(0,1); 00998 lcd.printf("Test Zn2 "); 00999 } 01000 Autofirez2_test(); 01001 //Manualz2_test(); 01002 opencircuitz2(); 01003 battery(); 01004 silence(); 01005 sound(); 01006 Shortz2(); 01007 ACFail(); 01008 FaultOFF(); 01009 FireOFF(); 01010 itkey1(); 01011 itkey2(); 01012 HBOFF(); 01013 } 01014 //} 01015 if(z2iflag!=1){ 01016 if(z2tflag!=1) 01017 { 01018 avg(); 01019 if((fval2>=0.003) && (fval2 < 0.09)){ 01020 lcd.locate(0,1); 01021 lcd.printf(" "); 01022 } 01023 01024 } 01025 } 01026 if((z2tflag == 1) && (z1tflag != 1) && (z1iflag != 1) && (fval1 < 0.17)){ 01027 if(OCflag == 0){ 01028 lcd.locate(0,0); 01029 lcd.printf(" "); 01030 } 01031 01032 } 01033 wait_ms(10); 01034 } 01035 } 01036
Generated on Tue Jul 12 2022 19:03:01 by
1.7.2
