Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/05/08 16:51
Read: times


 
#154435 - Config. Parameter save to Flash
In a application I need to do the following :
- Allow the user to alter 6 timing parameters ( all have a range of 1-90 sec)
- Use one Inc push button and Dec push button to alter and once the right value is reached, press Enter push button to write value to Flash.
- Pressing Enter also brings up the next parameter to edit in the sequence and once all 6 parameters are saved, wait for a reset to enter RUN mode.

While I have put together some obvious C-code, I really feel it can be compressed and made more elegant.Just have a look at the code meant to alter and save the first parameter. At the end it closes access to the first parameter and opens up the second one. I can simply copy and paste this code 5 more times changing only the parameter name - but that woould be funny right ?
void EditSaveVal (void)
{
  if ( CTParam )                  // Edit the Cycle Time values
    {
      if ( !IncPB  )              // Handle Increment command 
        {
	 if ( CycleTime < 90 )
	   {
	    ++CycleTime;
	   }
	 else
	   {
	    CycleTime = 90;       // Freeze at Upper limit
	   }
         }

     if ( !DecPB  )               // Handle Decrement command
        {
	  if ( CycleTime > 1 )
	    {
	     --CycleTime;
	    }
	  else
	    {
	     CycleTime = 0;       // Freeze at lower limit 
	    }
         }
      	  

  if ( !EnterPB )
    {
      CTParam  = 0;               // Cycle Time edit over    
      PRTParam = 1;               // Allow Press. Ramp time edit next
      <flash saving routine..>
    }
   
     sprintf( string , " Cycle Time Sec:       %02u", CycleTime);
     display(string);
     msDelay(200);
  } 
}	 		  	   

Raghu


List of 10 messages in thread
TopicAuthorDate
Config. Parameter save to Flash            01/01/70 00:00      
   erase, then write, both are ...            01/01/70 00:00      
      The chip is a Silabs F8051F020            01/01/70 00:00      
         Walking write            01/01/70 00:00      
         an issue and an answer            01/01/70 00:00      
   Some questions            01/01/70 00:00      
      Brief postings....            01/01/70 00:00      
         Parameter Storage....            01/01/70 00:00      
            The issue with migration..from ASM to C            01/01/70 00:00      
         killing a possible misconception            01/01/70 00:00      

Back to Subject List