191 lines
5.6 KiB
C++
191 lines
5.6 KiB
C++
// Global public functions
|
|
//
|
|
// YB
|
|
//////////////////////////////
|
|
#include "StdAfx.h"
|
|
|
|
#include "Others\CTL_Pub.hpp"
|
|
|
|
//External Modules
|
|
#include "CTL_ErO.hpp"
|
|
//End of External Modules
|
|
|
|
long CTL_g_lCurrentId = 10000;
|
|
|
|
CString CTL_g_csVersion;
|
|
|
|
CTL_td_p_fn_bControlCanBeDisplayed CTL_g_p_fnDefaultCallBack_ControlCanBeDisplayed = NULL;
|
|
CTL_td_p_fn_vCallBackWhenDataHasChanged CTL_g_p_fnDefaultCallBack_DataHasChanged = NULL;
|
|
|
|
CTL_td_p_fn_vStaticHasBeenClicked CTL_g_p_fnDefaultCallBack_StaticHasBeenClicked = NULL;
|
|
CTL_tdp_fn_vGetColor CTL_g_p_fnDefaultCallBack_GetColor = NULL;
|
|
|
|
#ifndef CTL_WITH_NO_TUT
|
|
//For TUT Module
|
|
extern CString CTL_g_csCurrentTAG;
|
|
extern CString CTL_g_csCurrentSecondaryInfo;
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
|
|
//******************************************************************************
|
|
void CTL_fn_vSetDefaultCallBackFunctionWhenControlMustBeDisplayed(CTL_td_p_fn_bControlCanBeDisplayed _p_fnCallBack)
|
|
{
|
|
CTL_g_p_fnDefaultCallBack_ControlCanBeDisplayed = _p_fnCallBack;
|
|
}
|
|
|
|
//******************************************************************************
|
|
void CTL_fn_vSetDefaultCallBackFunctionWhenDataHasChanged(CTL_td_p_fn_vCallBackWhenDataHasChanged _p_fnCallBack)
|
|
{
|
|
CTL_g_p_fnDefaultCallBack_DataHasChanged = _p_fnCallBack;
|
|
}
|
|
|
|
//******************************************************************************
|
|
void CTL_fn_vSetDefaultCallBackFunctionWhenStaticIsClicked(CTL_td_p_fn_vStaticHasBeenClicked _p_fnDefaultCallBack_StaticHasBeenClicked)
|
|
{
|
|
CTL_g_p_fnDefaultCallBack_StaticHasBeenClicked = _p_fnDefaultCallBack_StaticHasBeenClicked;
|
|
}
|
|
|
|
//******************************************************************************
|
|
void CTL_fn_vSetDefaultCallBackFunctionToGetStaticColor(CTL_tdp_fn_vGetColor _p_fnDefaultCallBack_StaticColor)
|
|
{
|
|
CTL_g_p_fnDefaultCallBack_GetColor = _p_fnDefaultCallBack_StaticColor;
|
|
}
|
|
|
|
//******************************************************************************
|
|
CString CTL_fn_csGetVersion()
|
|
{
|
|
return CTL_g_csVersion;
|
|
}
|
|
|
|
//******************************************************************************
|
|
void CTL_fn_vSetModuleInfo(CString _csTAG,
|
|
CString _csSecondaryInfo)
|
|
{
|
|
#ifndef CTL_WITH_NO_TUT
|
|
ERROR_PREPARE_M(CTL_g_csModuleNameForErO,
|
|
"Setting Module info for controls registration (TUT)",
|
|
"CTL_fn_csSetModuleInfo(...)",
|
|
E_ERROR_GRAVITY_INSTABLE,
|
|
"You are going to overwrite the actual Module name ! Please call 'CTL_fn_vResetModuleInfo()'");
|
|
ERROR_ASSERT( CTL_g_csCurrentTAG.IsEmpty() );
|
|
|
|
CTL_g_csCurrentTAG = _csTAG;
|
|
CTL_g_csCurrentSecondaryInfo = _csSecondaryInfo;
|
|
#endif //CTL_WITH_NO_TUT
|
|
}
|
|
|
|
//******************************************************************************
|
|
void CTL_fn_vResetModuleInfo()
|
|
{
|
|
#ifndef CTL_WITH_NO_TUT
|
|
CTL_g_csCurrentTAG = "";
|
|
CTL_g_csCurrentSecondaryInfo = "";
|
|
#endif //CTL_WITH_NO_TUT
|
|
}
|
|
|
|
//******************************************************************************
|
|
CString CTL_fn_csGetCurrentTAG()
|
|
{
|
|
#ifndef CTL_WITH_NO_TUT
|
|
return CTL_g_csCurrentTAG;
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
return "<< CTL is not using TUT ! >>";
|
|
}
|
|
|
|
//******************************************************************************
|
|
CString CTL_fn_csGetCurrentSecondaryInfo()
|
|
{
|
|
#ifndef CTL_WITH_NO_TUT
|
|
return CTL_g_csCurrentSecondaryInfo;
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
return "<< CTL is not using TUT ! >>";
|
|
}
|
|
|
|
//**************************************************************************
|
|
void CTL_fn_vSetMemory(void *pvDest,
|
|
void *pvSource,
|
|
char cDataLength)
|
|
{
|
|
//ANNECY CB
|
|
#if 0
|
|
ERROR_PREPARE_M(CTL_g_csModuleNameForErO,
|
|
"Seting memory to update a motor data",
|
|
"CTL_fn_vSetMemory(...)",
|
|
E_ERROR_GRAVITY_INSTABLE,
|
|
"The source is not a valid pointer : memory has not been updated");
|
|
ERROR_ASSERT( pvSource != NULL );
|
|
ERROR_PREPARE_M(CTL_g_csModuleNameForErO,
|
|
"Seting memory to update a motor data",
|
|
"CTL_fn_vSetMemory(...)",
|
|
E_ERROR_GRAVITY_INSTABLE,
|
|
"The destination is not a valid pointer : memory has not been updated");
|
|
ERROR_ASSERT( pvDest != NULL );
|
|
#endif
|
|
//END
|
|
|
|
if ( (pvSource != NULL) && (pvDest != NULL) )
|
|
{
|
|
if (cDataLength == 0)
|
|
{
|
|
*((char *)pvDest) &=0xf0;
|
|
*((char *)pvDest) |= *((char *)pvSource);
|
|
}
|
|
else
|
|
memcpy(pvDest, pvSource, cDataLength);
|
|
}
|
|
}
|
|
|
|
//**************************************************************************
|
|
void CTL_fn_vGetMemory(void *pvSource,
|
|
void *pvDest,
|
|
char cDataLength)
|
|
{
|
|
//ANNECY CB
|
|
#if 0
|
|
ERROR_PREPARE_M(CTL_g_csModuleNameForErO,
|
|
"Geting memory to update a motor data",
|
|
"CTL_fn_vGetMemory(...)",
|
|
E_ERROR_GRAVITY_INSTABLE,
|
|
"The source is not a valid pointer : memory has not been updated");
|
|
ERROR_ASSERT( pvSource != NULL );
|
|
ERROR_PREPARE_M(CTL_g_csModuleNameForErO,
|
|
"Geting memory to update a motor data",
|
|
"CTL_fn_vGetMemory(...)",
|
|
E_ERROR_GRAVITY_INSTABLE,
|
|
"The destination is not a valid pointer : memory has not been updated");
|
|
ERROR_ASSERT( pvDest != NULL );
|
|
#endif
|
|
//END
|
|
|
|
if ( (pvSource != NULL) && (pvDest != NULL) )
|
|
{
|
|
if (cDataLength == 0)
|
|
{
|
|
memcpy(pvDest, pvSource, 1);
|
|
*((char *)pvDest) &= 0x0f;
|
|
}
|
|
else
|
|
memcpy(pvDest, pvSource, cDataLength);
|
|
}
|
|
}
|
|
|
|
//****************************************************************************
|
|
//Returns 'CTL_g_lCurrentId', and adds one to it
|
|
//.... Will be improved in future versions ....
|
|
long CTL_fn_lGetNextAvailableIDForControl()
|
|
{
|
|
CTL_g_lCurrentId ++;
|
|
|
|
return (CTL_g_lCurrentId - 1);
|
|
}
|
|
|
|
//****************************************************************************
|
|
//Returns the last returned ID
|
|
long CPA_EXPORT CTL_fn_lGetCurrentIDForControl()
|
|
{
|
|
return (CTL_g_lCurrentId - 1);
|
|
}
|
|
|