add first rev of eeprom

and ref voltage in varhandler
This commit is contained in:
2022-12-13 14:30:40 +01:00
parent bf7cde9730
commit 7cadcdbc28
47 changed files with 30486 additions and 1377 deletions

View File

@ -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.