Embedded software Assessment 2

Dependencies:   MCP23017 SDFileSystem USBDevice WattBob_TextLCD mbed

Revision:
20:00a9a95ef083
Parent:
18:f485d46a7acb
Child:
22:644d53f1f291
diff -r 304b17087d06 -r 00a9a95ef083 Function.h
--- a/Function.h	Tue Mar 04 17:08:22 2014 +0000
+++ b/Function.h	Tue Mar 04 18:42:38 2014 +0000
@@ -86,124 +86,12 @@
     Write_LCD("S2=",0,12,0);
     Write_LCD("E",1,14,0);
 }
-/**********************************************************************
-        Read TWO digital inputs every 400mS (switch_1 and switch_2) 
-***********************************************************************/
-void ReadDigitalin(){
-    ReadDigitalinPin = !(ReadDigitalinPin);
-    Swch1=Switch1;
-    Swch2=Switch2;    
-}
-/*******************************************************************
-    Read TWO analogue inputs every 800mS (Analogue_in_1 at pin 19
-    and Analogue_in_2 at pin 20). Also, averaging the last 4 readings
-********************************************************************/
-void ReadAnalogin(){
-        ReadAnaloginPin = ! (ReadAnaloginPin);
-        Analug1_valu[4]=0;
-        Analug2_valu[4]=0;
-        for(int i=0;i<3;i++){
-            Analug1_valu[i]=Analug1_valu[i+1];
-            Analug1_valu[4]=Analug1_valu[4]+Analug1_valu[i]/4;
-            Analug2_valu[i]=Analug2_valu[i+1];
-            Analug2_valu[4]=Analug2_valu[4]+Analug2_valu[i]/4;
-        }
-        Analug1_valu[3]=Analogue_in_1.read()*255;
-        Analug2_valu[3]=Analogue_in_2.read()*255;
-        Analug1_valu[4]=Analug1_valu[4]+Analug1_valu[3]/4;
-        Analug2_valu[4]=Analug2_valu[4]+Analug2_valu[3]/4; 
-}
-/***************************************************************************************
-Measure the frequency of a 3.3v square wave signal once every second. The frequency range
-is 500Hz to 1000Hz with 50% duty cycle). In this code the on complet cycle is peiod is 
-masured after detcting the edge also a timeout timer is seting to detect open loop.
-*****************************************************************************************/
 
-void FreqMsur(){
-    FreqMsurPin = ! (FreqMsurPin);
-    FreqTimeOut.start();
-    // Ignore first part of the signal to detect the edge
-    if(!FrequencyIn){ 
-        while(!FrequencyIn){
-            if (FreqTimeOut.read_ms() > 4)
-                break;
-        }
-    }
-    else{
-        while(FrequencyIn){
-            if (FreqTimeOut.read_ms() > 4)
-                break;
-        }
-    }
-    //This is the begining of the edge start the timer to masure
-    FreqMsurT.start();
-    if (FreqTimeOut.read_ms() > 4){
-           FreqTimeOutHpn=1;
-    }
-    else{
-            FreqTimeOutHpn=0;
-    }
-    FreqTimeOut.stop(); 
-    FreqTimeOut.reset();
-    if(!FreqTimeOutHpn){
-        if(!FrequencyIn){
-            while(!FrequencyIn){
-            }
-            while(FrequencyIn){
-            }
-        }
-        else{
-            while(FrequencyIn){
-            }
-            while(!FrequencyIn){
-            }
-        }    
-        FreqMsurT.stop();
-        float Period=FreqMsurT.read_us();
-        Freq=1/Period*1000000.0+0.5;  //Adding 0.5 to round the frequency to nearst int
-    }
-    else{
-        Freq=0xffff; 
-    }                
-    FreqTimeOut.stop();
-    FreqMsurT.reset();
-}
-
-/*************************************************************
-Display the following on the LCD display every 2 seconds 
-a. Frequency value (show as integer) 
-b. analogue values (show as integers) 
-c. digital values
-d. Possible error code
-**************************************************************/
-void Display(){  
-    DisplayPin = ! (DisplayPin);
-    Write_LCD("    ",0,2,0);  
-    if( Freq<1010 && Freq>490){
-        sprintf(Temp, "%d", Freq);
-        Write_LCD(Temp,0,2,0);
-    }
-    else{
-        Write_LCD("Err",0,2,0);
-    }
-    sprintf(Temp, "%d", Analug1_valu[4]);
-    Write_LCD("   ",1,3,0);
-    Write_LCD(Temp,1,3,0);
-    sprintf(Temp, "%d", Analug2_valu[4]);
-    Write_LCD("   ",1,10,0);
-    Write_LCD(Temp,1,10,0);
-    sprintf(Temp, "%d", Swch1);
-    Write_LCD(Temp,0,10,0);
-    sprintf(Temp, "%d", Swch2);
-    Write_LCD(Temp,0,15,0);
-    sprintf(Temp, "%d", Error_Code);
-    Write_LCD(Temp,1,15,0);
-}
 /*************************************************************************
-                Cheaking the four input
+                Cheaking the four input every 1.8 Sec
 ************************************************************************/
 void InputCheck(){
-    InputCheckPin = ! (InputCheckPin);
+    InputCheckPin = ! (InputCheckPin);    //Pin 25
     if(Swch1&&(Analug1_valu[4]>Analug2_valu[4])){
         Error_Code=3;
     }
@@ -217,20 +105,7 @@
         Ena_BinCounter=0;
     }        
 }
-/***************************************************************
-            Binery counter on the four Led
-*****************************************************************/
-void BinaryCounter(){
-     BinaryCounterPin = !(BinaryCounterPin);
-     if(Ena_BinCounter){
-         BinLed=Bin;
-         Bin++;    
-     }
-     else{
-         BinLed=0x00;
-         Bin=0x00;
-    }         
-}
+
 /***************************************************************
               Initialising the SD card file
 *****************************************************************/
@@ -250,7 +125,7 @@
         c. Filtered analogue values
 ***************************************************************/
 void LogFile(){ 
-    LogFilePin = ! (LogFilePin);
+    LogFilePin = ! (LogFilePin);         //Pin 27
     fp = fopen( "/sd/LogDir/LogHistory.csv" , "a"); 
     fprintf(fp,"%i;",(LogTimer.read_ms()/1000));
     if (Freq !=0xffff){