add first rev of eeprom
and ref voltage in varhandler
This commit is contained in:
@ -30,6 +30,8 @@
|
||||
|
||||
#include "VARH_VariableHandler.h"
|
||||
|
||||
#include "USFL_UserFlash.h"
|
||||
|
||||
// Toolbox
|
||||
#include "../Toolbox/UTIL_Utility.h"
|
||||
|
||||
@ -69,6 +71,11 @@ LOCAL osMutexId_t m_pstMutexID = NULL;
|
||||
// Description: Definition of local constants (visible by this module only).
|
||||
//=================================================================================================
|
||||
|
||||
/*
|
||||
If you set the VARH_FLAGINFO_FLASH, don't forget to update the Number of variables saved into Flash!!!
|
||||
Middlewares\ST\EEPROM_Emul\Core\eeprom_emul_conf.h
|
||||
*/
|
||||
|
||||
LOCAL CONST VARH_StVarInfo m_astVarInfo[VARH_eNumberOfVariables] =
|
||||
{
|
||||
{ VARH_FLAGINFO_NONE, (VARH_UVariable)(U32)1, (VARH_UVariable)(U32)0, (VARH_UVariable)(U32)1}, // VARH_eMode
|
||||
@ -97,6 +104,7 @@ LOCAL CONST VARH_StVarInfo m_astVarInfo[VARH_eNumberOfVariables] =
|
||||
|
||||
{ VARH_FLAGINFO_READONLY, (VARH_UVariable)(U32)0, (VARH_UVariable)(U32)0, (VARH_UVariable)(U32)1 }, // VARH_ePowerState
|
||||
{ VARH_FLAGINFO_READONLY, (VARH_UVariable)(U32)0, (VARH_UVariable)(U32)0, (VARH_UVariable)(U32)0xFFFFFFFF }, // VARH_eError
|
||||
{ VARH_FLAGINFO_FLASH | VARH_FLAGINFO_FLOAT, (VARH_UVariable)3.3f, (VARH_UVariable)(U32)2.0f, (VARH_UVariable)4.0f }, // VARH_eRef_U
|
||||
};
|
||||
|
||||
LOCAL CONST osMutexAttr_t m_stMutexAttr =
|
||||
@ -353,6 +361,56 @@ VOID VARH_vSetAllVariablesToInitData( VOID )
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
// Function: VARH_vSaveVariablestoFlash
|
||||
// Description: Saves all Variables with Flag VARH_FLAGINFO_FLASH to Flash
|
||||
// Parameters: None
|
||||
// Returns: TRUE if successful
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
BOOL VARH_vSaveVariablestoFlash( VOID )
|
||||
{
|
||||
BOOL boOK = TRUE;
|
||||
USFL_vUnlock();
|
||||
for( U8 u8Var = 0; u8Var < VARH_eNumberOfVariables; u8Var++ )
|
||||
{
|
||||
if( (m_astVarInfo[u8Var].u8Flags & VARH_FLAGINFO_FLASH) == VARH_FLAGINFO_FLASH ){
|
||||
boOK &= USFL_boSetVariable(u8Var, VARH_u32GetVariableData(u8Var));
|
||||
}
|
||||
}
|
||||
USFL_vLock();
|
||||
|
||||
return boOK;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
// Function: VARH_vSaveVariablestoFlash
|
||||
// Description: Saves all Variables with Flag VARH_FLAGINFO_FLASH to Flash
|
||||
// Parameters: None
|
||||
// Returns: None
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
VOID VARH_vLoadVariablesfromFlash( VOID )
|
||||
{
|
||||
BOOL boOK = TRUE;
|
||||
for( U8 u8Var = 0; u8Var < VARH_eNumberOfVariables; u8Var++ )
|
||||
{
|
||||
if( (m_astVarInfo[u8Var].u8Flags & VARH_FLAGINFO_FLASH) == VARH_FLAGINFO_FLASH ){
|
||||
U32 u32Data;
|
||||
boOK &= USFL_boGetVariable(u8Var, &u32Data);
|
||||
if( boOK ) VARH_vSetVariableDataFromSystemU32(u8Var, u32Data);
|
||||
}
|
||||
}
|
||||
if( !boOK ){
|
||||
for( U8 u8Var = 0; u8Var < VARH_eNumberOfVariables; u8Var++ )
|
||||
{
|
||||
if( (m_astVarInfo[u8Var].u8Flags & VARH_FLAGINFO_FLASH) == VARH_FLAGINFO_FLASH ){
|
||||
VARH_vSetVariableToInitData( u8Var );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================================
|
||||
// Section: LOCAL FUNCTIONS
|
||||
// Descriptionn: Definition (implementation) of local functions.
|
||||
|
Reference in New Issue
Block a user