init new PC
This commit is contained in:
173
Core/Application/VARH_VariableHandler.h
Normal file
173
Core/Application/VARH_VariableHandler.h
Normal file
@ -0,0 +1,173 @@
|
||||
//=================================================================================================
|
||||
//
|
||||
// Company: Paul Scherrer Institut
|
||||
// 5232 Villigen PSI
|
||||
// Switzerland
|
||||
//
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
//
|
||||
// Project: Peltier Controller V2
|
||||
// Author: Noah Piqué (noah.pique@psi.ch)
|
||||
//
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
//
|
||||
// Module: Variable Handler
|
||||
// Filename: VARH_VariableHandler.h
|
||||
// Date: Handled by Subversion (version control system)
|
||||
// Revision: Handled by Subversion (version control system)
|
||||
// History: Handled by Subversion (version control system)
|
||||
//
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
|
||||
#ifndef VARH_VARIABLEHANDLER_H
|
||||
#define VARH_VARIABLEHANDLER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
//=================================================================================================
|
||||
// Section: INCLUDES
|
||||
// Description: List of required include files (visible by all modules).
|
||||
//=================================================================================================
|
||||
|
||||
#include "../SDEF_StandardDefinitions.h"
|
||||
|
||||
//=================================================================================================
|
||||
// Section: DEFINITIONS
|
||||
// Description: Definition of global constants (visible by all modules).
|
||||
//=================================================================================================
|
||||
|
||||
// Flags for variable
|
||||
#define VARH_FLAG_VALID (1<<0) // is data valid
|
||||
#define VARH_FLAG_OUTOFRANGE (1<<1) // is data out of range
|
||||
#define VARH_FLAG_MODIFIED (1<<2) // is variable modified (compared to flash)
|
||||
#define VARH_FLAG_FLASHCORRUPT (1<<3) // data from flash is corrupted
|
||||
|
||||
// Flags for variable infos
|
||||
#define VARH_FLAGINFO_NONE 0 // no flag
|
||||
#define VARH_FLAGINFO_FLOAT (1<<0) // variable in floating point format
|
||||
#define VARH_FLAGINFO_SIGNED (1<<1) // variable is signed integer
|
||||
#define VARH_FLAGINFO_BOOL (1<<2) // variable is boolean
|
||||
#define VARH_FLAGINFO_READONLY (1<<3) // variable is readonly, master can not set variable
|
||||
#define VARH_FLAGINFO_FLASH (1<<4) // variable is stored in flash
|
||||
|
||||
//=================================================================================================
|
||||
// Section: MACROS
|
||||
// Description: Definition of global macros (visible by all modules).
|
||||
//=================================================================================================
|
||||
|
||||
//=================================================================================================
|
||||
// Section: ENUMERATIONS
|
||||
// Description: Definition of global enumerations (visible by all modules).
|
||||
//=================================================================================================
|
||||
|
||||
// variables
|
||||
typedef enum
|
||||
{
|
||||
VARH_eMode = 0,
|
||||
|
||||
VARH_eControlVoltage = 1,
|
||||
|
||||
VARH_ePID_kp,
|
||||
VARH_ePID_ki,
|
||||
VARH_ePID_kd,
|
||||
VARH_ePID_Temp,
|
||||
VARH_ePID_Max,
|
||||
VARH_ePID_Min,
|
||||
|
||||
VARH_eTemp_H,
|
||||
VARH_eTemp_C,
|
||||
VARH_eTemp_Diff,
|
||||
|
||||
VARH_ePeltier_U,
|
||||
VARH_ePeltier_I,
|
||||
VARH_ePeltier_R,
|
||||
VARH_ePeltier_P,
|
||||
|
||||
VARH_eSupply_U,
|
||||
VARH_eSupply_I,
|
||||
VARH_eSupply_P,
|
||||
|
||||
VARH_ePowerState,
|
||||
|
||||
VARH_eNumberOfVariables, // Must be last entry
|
||||
} VARH_EnVariables;
|
||||
|
||||
//=================================================================================================
|
||||
// Section: STRUCTURES
|
||||
// Description: Definition of global Structures (visible by all modules).
|
||||
//=================================================================================================
|
||||
|
||||
#pragma pack(4)
|
||||
typedef union {
|
||||
FLOAT flVal;
|
||||
U32 u32Val;
|
||||
S32 s32Val;
|
||||
} VARH_UVariable;
|
||||
#pragma pack()
|
||||
|
||||
typedef struct
|
||||
{
|
||||
U8 u8Flags; // flags
|
||||
VARH_UVariable uInitData; // initial Data (data is always 32 bit)
|
||||
VARH_UVariable uMinData; // min Value for Data
|
||||
VARH_UVariable uMaxData; // max Value for Data
|
||||
} VARH_StVarInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
VARH_UVariable uData; // Data (data is always 32 bit)
|
||||
U8 u8Flags; // flags
|
||||
} VARH_StVar;
|
||||
|
||||
//=================================================================================================
|
||||
// Section: GLOBAL VARIABLES
|
||||
// Description: Definition of global variables (visible by all modules).
|
||||
//=================================================================================================
|
||||
|
||||
//=================================================================================================
|
||||
// Section: GLOBAL CONSTANTS
|
||||
// Description: Definition of global constants (visible by all modules).
|
||||
//=================================================================================================
|
||||
|
||||
//=================================================================================================
|
||||
// Section: FUNCTION TYPES
|
||||
// Description: Definition of functions
|
||||
//=================================================================================================
|
||||
|
||||
//=================================================================================================
|
||||
// Section: GLOBAL FUNCTIONS (PROTOTYPES)
|
||||
// Description: Definition of global functions (visible by all modules).
|
||||
//=================================================================================================
|
||||
|
||||
BOOL VARH_boInitializeModule( VOID );
|
||||
|
||||
// set data
|
||||
VOID VARH_vSetVariableData( U8 u8Variable, VARH_UVariable uData );
|
||||
VOID VARH_vSetVariableDataU32( U8 u8Variable, U32 u32Data );
|
||||
VOID VARH_vSetVariableDataS32( U8 u8Variable, S32 s32Data );
|
||||
VOID VARH_vSetVariableDataFloat( U8 u8Variable, FLOAT flData );
|
||||
|
||||
// set data from system
|
||||
VOID VARH_vSetVariableDataFromSystem( U8 u8Variable, VARH_UVariable uData );
|
||||
VOID VARH_vSetVariableDataFromSystemU32( U8 u8Variable, U32 u32Data );
|
||||
VOID VARH_vSetVariableDataFromSystemS32( U8 u8Variable, S32 s32Data );
|
||||
VOID VARH_vSetVariableDataFromSystemFloat( U8 u8Variable, FLOAT flData );
|
||||
|
||||
// get data
|
||||
VARH_UVariable VARH_uGetVariableData( U8 u8Variable );
|
||||
U32 VARH_u32GetVariableData( U8 u8Variable );
|
||||
S32 VARH_s32GetVariableData( U8 u8Variable );
|
||||
FLOAT VARH_flGetVariableData( U8 u8Variable );
|
||||
U8 VARH_uGetVariableFlags( U8 u8Variable );
|
||||
|
||||
// reset data
|
||||
VOID VARH_vSetVariableToInitData( U8 u8Variable );
|
||||
VOID VARH_vSetAllVariablesToInitData( VOID );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user