![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Embedded software Assessment 2
Dependencies: MCP23017 SDFileSystem USBDevice WattBob_TextLCD mbed
Diff: Function.h
- Revision:
- 14:17be0f2d153f
- Parent:
- 13:6094b94b3b7c
- Child:
- 15:d33c51364fac
diff -r 6094b94b3b7c -r 17be0f2d153f Function.h --- a/Function.h Fri Feb 21 12:32:00 2014 +0000 +++ b/Function.h Wed Feb 26 11:49:12 2014 +0000 @@ -22,7 +22,7 @@ bool Swch1; bool Swch2; bool Ena_job6=0; -bool FreqTimeOutE=1; +bool FreqTimeOutHpn; uint8_t Error_Code; uint16_t Freq; char Temp[4]; @@ -82,35 +82,49 @@ void FreqMsur(){ FreqTimeOut.start(); - while(!FrequencyIn){ - if (FreqTimeOut.read_ms() > 50) - break; + if(!FrequencyIn){ + while(!FrequencyIn){ + if (FreqTimeOut.read_ms() > 3) + break; + } } - while(FrequencyIn){ - if (FreqTimeOut.read_ms() > 50) - break; + else{ + while(FrequencyIn){ + if (FreqTimeOut.read_ms() > 3) + break; + } + } + FreqMsurT.start(); + if (FreqTimeOut.read_ms() > 3){ + FreqTimeOutHpn=1; } - if (FreqTimeOut.read_ms() > 50) - FreqTimeOutE=0; - - if(FreqTimeOutE){ - FreqMsurT.start(); - while(!FrequencyIn){ + else{ + FreqTimeOutHpn=0; + } + FreqTimeOut.stop(); + FreqTimeOut.reset(); + if(!FreqTimeOutHpn){ + if(!FrequencyIn){ + while(!FrequencyIn){ + } + while(FrequencyIn){ + } } - while(FrequencyIn){ + else{ + while(FrequencyIn){ + } + while(!FrequencyIn){ + } } FreqMsurT.stop(); float Period=FreqMsurT.read_us(); - Freq=1/Period*1000000.0; //Adding 0.5 to round the frequency to nearst int + Freq=1/Period*1000000.0+0.5; //Adding 0.5 to round the frequency to nearst int } else{ Freq=0xffff; } + FreqTimeOut.stop(); FreqMsurT.reset(); - FreqTimeOut.stop(); - FreqTimeOut.reset(); - FreqTimeOutE=1; - } //Read TWO digital inputs every 400mS (switch_1 and switch_2) @@ -145,7 +159,7 @@ **************************************************************/ void Display(){ Write_LCD(" ",0,2,0); - if( Freq<1200 && Freq>400){ + if( Freq<1010 && Freq>490){ sprintf(Temp, "%d", Freq); Write_LCD(Temp,0,2,0); } @@ -209,7 +223,7 @@ ***************************************************************/ void LogFile(){ char* Frq; - fp = fopen("/sd/LogDir/sdtest.txt", "a"); + fp = fopen("/sd/LogDir/LogHistory.txt", "a"); if( Freq<1200 && Freq>400){ sprintf(Temp, "%d", Freq); Frq = Temp;