Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 729 → Rev 730

/Transportables_Koptertool/trunk/eeprom.c
0,0 → 1,68
/*****************************************************************************
* Copyright (C) 2010 Peter "woggle" Mack, mac@denich.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* *
*****************************************************************************/
 
#include <avr/io.h>
#include <avr/eeprom.h>
#include <avr/pgmspace.h>
 
#include "eeprom.h"
#include "lcd.h"
#ifndef USE_MMT
#include "lipo.h"
#endif
#include "timer.h"
 
//*****************************************************************************
//
unsigned char EEPromArray[E2END+1] EEMEM;
 
//*****************************************************************************
//
void WriteParameterDefaults (void)
{
eeprom_write_byte(&EEPromArray[EEPROM_ADDR_VALID], EEPROM_REV);
eeprom_write_byte(&EEPromArray[EEPROM_ADDR_ORIENTATION], 0);
#ifndef USE_MMT
eeprom_write_byte(&EEPromArray[EEPROM_ADDR_LIPO], 33);
#endif
}
 
//*****************************************************************************
//
void ReadParameter (void)
{
if ((eeprom_read_byte(&EEPromArray[EEPROM_ADDR_VALID])) != EEPROM_REV)
{
WriteParameterDefaults();
}
LCD_ORIENTATION = eeprom_read_byte (&EEPromArray[EEPROM_ADDR_ORIENTATION]);
#ifndef USE_MMT
AD_WarnLevel = eeprom_read_byte (&EEPromArray[EEPROM_ADDR_LIPO]);
#endif
}
 
//*****************************************************************************
//
void WriteParameter (void)
{
eeprom_write_byte(&EEPromArray[EEPROM_ADDR_ORIENTATION], LCD_ORIENTATION);
#ifndef USE_MMT
eeprom_write_byte(&EEPromArray[EEPROM_ADDR_LIPO], AD_WarnLevel);
#endif
}