added Variablehandler for Temp

This commit is contained in:
2021-12-15 13:57:58 +01:00
parent de0ddf839a
commit 4ab90de28a
11 changed files with 49 additions and 174 deletions

View File

@ -7,7 +7,7 @@
//-------------------------------------------------------------------------------------------------
//
// Project: Peltier Controller V2
// Author: Noah Piqu<EFBFBD> (noah.pique@psi.ch)
// Author: Noah Piqué (noah.pique@psi.ch)
//
//-------------------------------------------------------------------------------------------------
//

View File

@ -7,7 +7,7 @@
//-------------------------------------------------------------------------------------------------
//
// Project: Peltier Controller V2
// Author: Noah Piqu<EFBFBD> (noah.pique@psi.ch)
// Author: Noah Piqué (noah.pique@psi.ch)
//
//-------------------------------------------------------------------------------------------------
//

View File

@ -6,8 +6,8 @@
//
//-------------------------------------------------------------------------------------------------
//
// Project: High Stability Current Source
// Author: Lukas Kuenzi (lukas.kuenzi@psi.ch)
// Project: Peltier Controller V2
// Author: Noah Piqué (noah.pique@psi.ch)
//
//-------------------------------------------------------------------------------------------------
//
@ -19,7 +19,7 @@
//
//-------------------------------------------------------------------------------------------------
//
// Description: HVCT_HvController
// Description: TEC - Peltier Controller
//
//=================================================================================================
@ -34,7 +34,7 @@
#include "MAIN_MainApplication.h"
// Application
//#include "VARH_VariableHandler.h"
#include "VARH_VariableHandler.h"
//#include "ELOG_ErrorLogger.h"
// Drivers
@ -97,7 +97,6 @@
PRIVATE VOID vMainTask( PVOID arg );
PRIVATE VOID vEventCallback( PVOID pvData );
PRIVATE VOID vMsgRxCallback( CAND_Message stMessage );
//PRIVATE BOOL boSetValCheck( PVOID pvCallbackData, VARH_UVariable uNewValue );
//=================================================================================================
// Section: LOCAL VARIABLES
@ -173,7 +172,6 @@ LOCAL CONST osTimerAttr_t stTimerAttribute =
// Section: EXTERNAL VARIABLES
// Description: Definition of external (global) variables.
//=================================================================================================
//extern CRC_HandleTypeDef hcrc;
//=================================================================================================
// Section: GLOBAL FUNCTIONS
@ -197,50 +195,6 @@ BOOL MAIN_boInitializeModule( VOID )
boOK &= ((m_pstCANRxMsgQueueID = osMessageQueueNew( MSG_QUEUE_SIZE, sizeof(CAND_Message), &stCANRxMsgQueueAttribute ) ) == NULL ) ? FALSE : TRUE;
boOK &= (m_pstUpdateTimer = osTimerNew( vEventCallback, osTimerPeriodic, (PVOID)EVENT_TIMER_UPDATE, &stTimerAttribute )) == NULL ? FALSE : TRUE;
/*boOK &= VARH_boRegisterRangeCheck( VARH_eVoltageRefEn, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eStatusG, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eStatusR, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eEnabledG, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eEnabledR, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eInvertedG, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eInvertedR, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eSpareG, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eSpareR, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterNotification( VARH_eVoltageRefEn, VARH_eNewValue, vEventCallback, (PVOID)EVENT_VREF );
boOK &= VARH_boRegisterNotification( VARH_eStatusG, VARH_eNewValue, vEventCallback, (PVOID)EVENT_STATUS_G );
boOK &= VARH_boRegisterNotification( VARH_eStatusR, VARH_eNewValue, vEventCallback, (PVOID)EVENT_STATUS_R );
boOK &= VARH_boRegisterNotification( VARH_eEnabledG, VARH_eNewValue, vEventCallback, (PVOID)EVENT_ENABLE_G );
boOK &= VARH_boRegisterNotification( VARH_eEnabledR, VARH_eNewValue, vEventCallback, (PVOID)EVENT_ENABLE_R );
boOK &= VARH_boRegisterNotification( VARH_eInvertedG, VARH_eNewValue, vEventCallback, (PVOID)EVENT_INVERT_G );
boOK &= VARH_boRegisterNotification( VARH_eInvertedR, VARH_eNewValue, vEventCallback, (PVOID)EVENT_INVERT_R );
boOK &= VARH_boRegisterNotification( VARH_eSpareG, VARH_eNewValue, vEventCallback, (PVOID)EVENT_SPARE_G );
boOK &= VARH_boRegisterNotification( VARH_eSpareR, VARH_eNewValue, vEventCallback, (PVOID)EVENT_SPARE_R );
boOK &= VARH_boRegisterRangeCheck( VARH_eEnable, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eInvertA, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eInvertB, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eSetMode, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eDACStartStop, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eExtSyncEnable, VARH_boBooleanVarCheck, NULL );
boOK &= VARH_boRegisterRangeCheck( VARH_eSetValue, boSetValCheck, NULL );
boOK &= VARH_boRegisterNotification( VARH_eEnable, VARH_eRising, vEventCallback, (PVOID)EVENT_ENABLE );
boOK &= VARH_boRegisterNotification( VARH_eEnable, VARH_eFalling, vEventCallback, (PVOID)EVENT_DISABLE );
boOK &= VARH_boRegisterNotification( VARH_eInvertA, VARH_eNewValue, vEventCallback, (PVOID)EVENT_INVERT );
boOK &= VARH_boRegisterNotification( VARH_eInvertB, VARH_eNewValue, vEventCallback, (PVOID)EVENT_INVERT );
boOK &= VARH_boRegisterNotification( VARH_eExtSyncEnable, VARH_eNewValue, vEventCallback, (PVOID)EVENT_EXT_SYNC_ENABLE );
boOK &= VARH_boRegisterNotification( VARH_eSetValue, VARH_eNewValue, vEventCallback, (PVOID)EVENT_NEW_SET_VALUE );
boOK &= VARH_boRegisterNotification( VARH_eSetMode, VARH_eNewValue, vEventCallback, (PVOID)EVENT_NEW_MODE );
boOK &= VARH_boRegisterNotification( VARH_eDACStartStop, VARH_eRising, vEventCallback, (PVOID)EVENT_DAC_START );
boOK &= VARH_boRegisterNotification( VARH_eDACStartStop, VARH_eFalling, vEventCallback, (PVOID)EVENT_DAC_STOP ); */
// config DAC and ADC
// DACD_boConfig( BOOL boFast, CALI_St* pstOffsetGain, DACD_pfnWaveformCallback pfnWaveform, U16 u16WaveformLength )
// ADCD_boConfig( BOOL boFast, CALI_St* pstGainOffset, vEventCallback, (PVOID)EVENT_ADC_DATA_READY )
boOK &= (osTimerStart( m_pstUpdateTimer, 1000 ) == osOK ) ? TRUE : FALSE;
CAND_vSetRxCallback(vMsgRxCallback);
@ -316,8 +270,8 @@ PRIVATE VOID vMainTask( PVOID arg )
} else if(stMessage.u8Id == 0x15){
S16 Cold = (S16)(TEMP_dGetValue(ADCD_eCold)*100);
S16 Hot = (S16)(TEMP_dGetValue(ADCD_eHot)*100);
S16 Cold = (S16)(VARH_uGetVariableData(VARH_eTemp_C).flVal*100);
S16 Hot = (S16)(VARH_uGetVariableData(VARH_eTemp_H).flVal*100);
au8Buffer[0] = (Cold & 0xFF00) >> 8;
au8Buffer[1] = (Cold & 0xFF);

View File

@ -6,8 +6,8 @@
//
//-------------------------------------------------------------------------------------------------
//
// Project: High Stability Current Source
// Author: Lukas Kuenzi (lukas.kuenzi@psi.ch)
// Project: Peltier Controller V2
// Author: Noah Piqué (noah.pique@psi.ch)
//
//-------------------------------------------------------------------------------------------------
//

View File

@ -94,6 +94,14 @@ LOCAL CONST VARH_StVarInfo m_astVarInfo[VARH_eNumberOfVariables] =
{ VARH_FLAG_READONLY | VARH_FLAG_FLOAT, (VARH_UVariable)0.0f, (VARH_UVariable)-60.0f, (VARH_UVariable)100.0f }, // VARH_eTemp_C,
{ VARH_FLAG_READONLY | VARH_FLAG_FLOAT, (VARH_UVariable)0.0f, (VARH_UVariable)-50.0f, (VARH_UVariable)70.0f }, // VARH_eTemp_Diff,
{ VARH_FLAG_READONLY | VARH_FLAG_FLOAT, (VARH_UVariable)0.0f, (VARH_UVariable)-50.0f, (VARH_UVariable)70.0f }, // VARH_ePeltier_U,
{ VARH_FLAG_READONLY | VARH_FLAG_FLOAT, (VARH_UVariable)0.0f, (VARH_UVariable)-10.0f, (VARH_UVariable)10.0f }, // VARH_ePeltier_I,
{ VARH_FLAG_READONLY | VARH_FLAG_FLOAT, (VARH_UVariable)0.0f, (VARH_UVariable)0.0f, (VARH_UVariable)5.0f }, // VARH_ePeltier_R,
{ VARH_FLAG_READONLY | VARH_FLAG_FLOAT, (VARH_UVariable)0.0f, (VARH_UVariable)-50.0f, (VARH_UVariable)150.0f }, // VARH_ePeltier_P,
{ VARH_FLAG_READONLY | VARH_FLAG_FLOAT, (VARH_UVariable)0.0f, (VARH_UVariable)20.0f, (VARH_UVariable)30.0f }, // VARH_eSupply_U,
{ VARH_FLAG_READONLY | VARH_FLAG_FLOAT, (VARH_UVariable)0.0f, (VARH_UVariable)0.0f, (VARH_UVariable)5.0f }, // VARH_eSupply_I,
{ VARH_FLAG_READONLY | VARH_FLAG_FLOAT, (VARH_UVariable)0.0f, (VARH_UVariable)0.0f, (VARH_UVariable)150.0f }, // VARH_eSupply_P,
};
@ -247,23 +255,6 @@ VARH_UVariable VARH_uGetVariableData( U8 u8Variable )
return( uVar );
}
//-------------------------------------------------------------------------------------------------
// Function: VARH_u32GetVariableDataFromMaster
// Description: Gets the Variable Data from Master Protocol
// Only use this function from Master interpreter
// Parameters: U8 u8Variable
// Returns: VARH_UVariable
//-------------------------------------------------------------------------------------------------
VARH_UVariable VARH_u32GetVariableDataFromMaster( U8 u8Variable )
{
osMutexAcquire( m_pstMutexID, osWaitForever ); // aquire mutex
VARH_UVariable uVar = m_auVariable[u8Variable];
osMutexRelease( m_pstMutexID ); // release mutex
return( uVar );
}
//-------------------------------------------------------------------------------------------------
// Function: VARH_vSetVariableToInitData
// Description: Sets the variable to its initial data

View File

@ -75,6 +75,15 @@ typedef enum
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_eNumberOfVariables, // Must be last entry
} VARH_EnVariables;
@ -135,7 +144,6 @@ VOID VARH_vSetVariableDataFromMaster( U8 u8Variable, VARH_UVariable uData );
// get data function
VARH_UVariable VARH_uGetVariableData( U8 u8Variable );
VARH_UVariable VARH_u32GetVariableDataFromMaster( U8 u8Variable );
VOID VARH_vSetVariableToInitData( U8 u8Variable );
VOID VARH_vSetAllVariablesToInitData( VOID );