⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 icta_var.c

📁 ICCP Toolkit 是在 Tru64下开发Tase.2通信协议的开发包
💻 C
📖 第 1 页 / 共 5 页
字号:
      pstDiscreteQExt->TimeStamp = time(NULL) + TWO_YEARS;      pstDiscreteQExt->COVCount++;#ifdef SISCO_THREADS      pstDiscreteQExt = (icTypeDiscreteQExtended *)pstVar->extraPtr;      pstDiscreteQExt->Flags++;      pstDiscreteQExt->Value++;      pstDiscreteQExt->TimeStamp = time(NULL) + TWO_YEARS;      pstDiscreteQExt->COVCount++;#endif      break;    case IC_TYPE_REAL:      pstReal = (icTypeReal *)pstVar->varPtr;      *pstReal += (float) 1.01;#ifdef SISCO_THREADS      pstReal = (icTypeReal *)pstVar->extraPtr;      *pstReal += (float) 1.01;#endif      break;    case IC_TYPE_REAL_Q:      pstRealQ = (icTypeRealQ *)pstVar->varPtr;      pstRealQ->Flags++;      pstRealQ->Value += (float) 1.01;#ifdef SISCO_THREADS      pstRealQ = (icTypeRealQ *)pstVar->extraPtr;      pstRealQ->Flags++;      pstRealQ->Value += (float) 1.01;#endif      break;    case IC_TYPE_REAL_Q_TIME_TAG:      pstRealQTimeTag = (icTypeRealQTimeTag *)pstVar->varPtr;      pstRealQTimeTag->Flags++;      pstRealQTimeTag->Value += (float) 1.01;      pstRealQTimeTag->TimeStamp = time(NULL) + TWO_YEARS;#ifdef SISCO_THREADS      pstRealQTimeTag = (icTypeRealQTimeTag *)pstVar->extraPtr;      pstRealQTimeTag->Flags++;      pstRealQTimeTag->Value += (float) 1.01;      pstRealQTimeTag->TimeStamp = time(NULL) + TWO_YEARS;#endif      break;    case IC_TYPE_REAL_EXTENDED:      pstRealExt = (icTypeRealExtended *)pstVar->varPtr;      pstRealExt->Flags++;      pstRealExt->Value += (float) 1.01;      pstRealExt->TimeStamp = time(NULL) + TWO_YEARS;      pstRealExt->COVCount++;#ifdef SISCO_THREADS      pstRealExt = (icTypeRealExtended *)pstVar->extraPtr;      pstRealExt->Flags++;      pstRealExt->Value += (float) 1.01;      pstRealExt->TimeStamp = time(NULL) + TWO_YEARS;      pstRealExt->COVCount++;#endif      break;    default:      ICA_Log_Err2("Update Variable %s Failed - Invalid Type %d",		   pstVar->varName, pstVar->iccpType);      break;    }  }/************************************************************************//* incStateFlags:  increment state flags				*//************************************************************************/static void incStateFlags(icTypeState *stateFlags)  {icChar valid, currSource, normVal;  valid = *stateFlags & 0x30;  valid >>= 4;  valid++;  valid %= 4;  valid <<= 4;  *stateFlags &= ~0x30;  *stateFlags |= valid;  currSource = *stateFlags & 0x0C;  currSource >>= 2;  currSource++;  currSource %= 4;  currSource <<= 2;  *stateFlags &= ~0x0c;  *stateFlags |= currSource;  normVal = *stateFlags & 0x2;  normVal >>= 1;  normVal ^= 1;  normVal <<= 1;  *stateFlags &= ~0x2;  *stateFlags |= normVal;  }/************************************************************************//* incState:  increment state	      					*//************************************************************************/static void incState (icTypeState *state)  {icChar justState;  justState = *state & 0xC0;  justState >>= 6;  justState++;  justState %= 4;  justState <<= 6;  *state &= ~0xc0;  *state |= justState;  }/************************************************************************//* showVarValue:  display the value of the variable			*//************************************************************************/static void showVarValue(ICTA_VAR_INFO *pstVar)  {icTypeState         	*pstState;icTypeStateQ 	    	*pstStateQ;icTypeStateQTimeTag 	*pstStateQTimeTag;icTypeStateExtended 	*pstStateExt;icTypeDiscrete      	*pstDiscrete;icTypeDiscreteQ	    	*pstDiscreteQ;icTypeDiscreteQTimeTag	*pstDiscreteQTimeTag;icTypeDiscreteQExtended *pstDiscreteQExt;icTypeReal		*pstReal;icTypeRealQ         	*pstRealQ;icTypeRealQTimeTag	*pstRealQTimeTag;icTypeRealExtended  	*pstRealExt;  switch (pstVar->iccpType)    {    case IC_TYPE_STATE:      pstState = (icTypeStateQ *)pstVar->varPtr;      if (bRunVerbose)	printf ("\tState Flags = 0x%x", *pstState);      ICA_Log_CData1 ("State Flags = 0x%x", *pstState);      showStateFlags(*pstState);    break;    case IC_TYPE_STATE_Q:      pstStateQ = (icTypeStateQ *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tState Flags = 0x%x", *pstStateQ);      ICA_Log_CData1 ("State Flags = 0x%x", *pstStateQ);      showStateFlags(*pstStateQ);    break;    case IC_TYPE_STATE_Q_TIME_TAG:      pstStateQTimeTag = (icTypeStateQTimeTag *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tState Flags = 0x%x", pstStateQTimeTag->Flags);      ICA_Log_CData1 ("State Flags = 0x%x", pstStateQTimeTag->Flags);      showStateFlags(pstStateQTimeTag->Flags);      if (bRunVerbose)        printf ("\tTimeStamp = %s ", ctime((time_t *)&pstStateQTimeTag->TimeStamp));      ICA_Log_CData1("TimeStamp = %s ", ctime((time_t *)&pstStateQTimeTag->TimeStamp));    break;    case IC_TYPE_STATE_EXTENDED:      pstStateExt = (icTypeStateExtended *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tState Flags = 0x%x", pstStateExt->Flags);      ICA_Log_CData1 ("State Flags = 0x%x", pstStateExt->Flags);      showStateFlags(pstStateExt->Flags);      if (bRunVerbose)	{        printf ("\tCOV Count = %d  TimeStamp = %s",        	        pstStateExt->COVCount, ctime((time_t *)&pstStateExt->TimeStamp));	}      ICA_Log_CData1 ("COV = %d", pstStateExt->COVCount);      ICA_Log_CData1 ("TimeStamp = %s", ctime((time_t *)&pstStateExt->TimeStamp));      break;    case IC_TYPE_DISCRETE:      pstDiscrete = (icTypeDiscrete *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tValue = %ld \n", *pstDiscrete);      ICA_Log_CData1 ("Value = %ld", *pstDiscrete);    break;    case IC_TYPE_DISCRETE_Q:      pstDiscreteQ = (icTypeDiscreteQ *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tState Flags = 0x%x", pstDiscreteQ->Flags);      ICA_Log_CData1 ("State Flags = 0x%x", pstDiscreteQ->Flags);      showStateFlags(pstDiscreteQ->Flags);      if (bRunVerbose)        printf ("\tValue = %ld \n", pstDiscreteQ->Value);      ICA_Log_CData1 ("Value = %ld", pstDiscreteQ->Value);    break;    case IC_TYPE_DISCRETE_Q_TIME_TAG:      pstDiscreteQTimeTag = (icTypeDiscreteQTimeTag *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tState Flags = 0x%x", pstDiscreteQTimeTag->Flags);      ICA_Log_CData1 ("State Flags = 0x%x", pstDiscreteQTimeTag->Flags);      showStateFlags(pstDiscreteQTimeTag->Flags);      if (bRunVerbose)	{        printf ("\tValue = %ld  TimeStamp = %s",       	        pstDiscreteQTimeTag->Value, 	        ctime((time_t *)&pstDiscreteQTimeTag->TimeStamp));	}      ICA_Log_CData1 ("Value = %ld", pstDiscreteQTimeTag->Value);      ICA_Log_CData1 ("TimeStamp = %s", 	              ctime((time_t *)&pstDiscreteQTimeTag->TimeStamp));    break;    case IC_TYPE_DISCRETE_Q_EXTENDED:      pstDiscreteQExt = (icTypeDiscreteQExtended *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tState Flags = 0x%x", pstDiscreteQExt->Flags);      ICA_Log_CData1 ("State Flags = 0x%x", pstDiscreteQExt->Flags);      showStateFlags(pstDiscreteQExt->Flags);      if (bRunVerbose)	{        printf ("\tValue = %ld  COV Counter = %d  TimeStamp = %s",       	        pstDiscreteQExt->Value,       	        pstDiscreteQExt->COVCount,	        ctime((time_t *)&pstDiscreteQExt->TimeStamp));	}	      ICA_Log_CData1 ("Value = %ld", pstDiscreteQExt->Value);      ICA_Log_CData1 ("COV = %d", pstDiscreteQExt->COVCount);      ICA_Log_CData1 ("TimeStamp = %s", 	              ctime((time_t *)&pstDiscreteQExt->TimeStamp));    break;    case IC_TYPE_REAL:      pstReal = (icTypeReal *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tValue = %f \n", *pstReal);      ICA_Log_CData1 ("Value = %f", *pstReal);    break;	       case IC_TYPE_REAL_Q:      pstRealQ = (icTypeRealQ *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tState Flags = 0x%x", pstRealQ->Flags);       ICA_Log_CData1 ("State Flags = 0x%x", pstRealQ->Flags);      showStateFlags(pstRealQ->Flags);      if (bRunVerbose)        printf ("\tValue = %f \n", pstRealQ->Value);      ICA_Log_CData1 ("Value = %f", pstRealQ->Value);      break;    case IC_TYPE_REAL_Q_TIME_TAG:      pstRealQTimeTag = (icTypeRealQTimeTag *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tState Flags = 0x%x", pstRealQTimeTag->Flags);      ICA_Log_CData1 ("State Flags = 0x%x", pstRealQTimeTag->Flags);      showStateFlags(pstRealQTimeTag->Flags);       if (bRunVerbose)	{	printf ("\tValue = %f  TimeStamp = %s",       	        pstRealQTimeTag->Value, ctime((time_t *)&pstRealQTimeTag->TimeStamp)); 	}      ICA_Log_CData1 ("Value = %f", pstRealQTimeTag->Value);      ICA_Log_CData1 ("TimeStamp = %s", ctime((time_t *)&pstRealQTimeTag->TimeStamp));     break;    case IC_TYPE_REAL_EXTENDED:      pstRealExt = (icTypeRealExtended *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tState Flags = 0x%x", pstRealExt->Flags);      ICA_Log_CData1 ("State Flags = 0x%x", pstRealExt->Flags);      showStateFlags(pstRealExt->Flags);      if (bRunVerbose)	{	printf ("\tValue = %f  COV Count = %d  TimeStamp = %s",       	        pstRealExt->Value,                 pstRealExt->COVCount,	        ctime((time_t *)&pstRealExt->TimeStamp));	}      ICA_Log_CData1 ("Value = %f", pstRealExt->Value);      ICA_Log_CData1 ("COV = %d", pstRealExt->COVCount);      ICA_Log_CData1 ("TimeStamp = %s", ctime((time_t *)&pstRealExt->TimeStamp));       break;    case IC_TYPE_USER_DEFINED:      print_arb_data ((ST_CHAR*)(pstVar->varPtr), 	                     (NAMED_TYPE*)(pstVar->pstType->typeId));      break;    default:      if (bRunVerbose)        printf ("\tInvalid Type - %d\n", pstVar->iccpType);      break;    }  }/************************************************************************//* showValueOnly:							*//************************************************************************/static void showValueOnly(ICTA_VAR_INFO *pstVar)  {icTypeState         	*pstState;icTypeStateQ 	    	*pstStateQ;icTypeStateQTimeTag 	*pstStateQTimeTag;icTypeStateExtended 	*pstStateExt;icTypeDiscrete      	*pstDiscrete;icTypeDiscreteQ	    	*pstDiscreteQ;icTypeDiscreteQTimeTag	*pstDiscreteQTimeTag;icTypeDiscreteQExtended *pstDiscreteQExt;icTypeReal		*pstReal;icTypeRealQ         	*pstRealQ;icTypeRealQTimeTag	*pstRealQTimeTag;icTypeRealExtended  	*pstRealExt;  switch (pstVar->iccpType)    {    case IC_TYPE_STATE:      pstState = (icTypeStateQ *)pstVar->varPtr;      if (bRunVerbose)	printf ("\tState Flags = 0x%x", *pstState);      ICA_Log_CData1 ("\tState Flags = 0x%x", *pstState);    break;    case IC_TYPE_STATE_Q:      pstStateQ = (icTypeStateQ *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tState Flags = 0x%x", *pstStateQ);      ICA_Log_CData1 ("\tState Flags = 0x%x", *pstStateQ);    break;    case IC_TYPE_STATE_Q_TIME_TAG:      pstStateQTimeTag = (icTypeStateQTimeTag *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tState Flags = 0x%x", pstStateQTimeTag->Flags);      ICA_Log_CData1 ("\tState Flags = 0x%x", pstStateQTimeTag->Flags);    break;    case IC_TYPE_STATE_EXTENDED:      pstStateExt = (icTypeStateExtended *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tState Flags = 0x%x", pstStateExt->Flags);      ICA_Log_CData1 ("\tState Flags = 0x%x", pstStateExt->Flags);    break;    case IC_TYPE_DISCRETE:      pstDiscrete = (icTypeDiscrete *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tValue = %ld ", *pstDiscrete);      ICA_Log_CData1 ("\tValue = %ld", *pstDiscrete);    break;    case IC_TYPE_DISCRETE_Q:      pstDiscreteQ = (icTypeDiscreteQ *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tValue = %ld", pstDiscreteQ->Value);      ICA_Log_CData1 ("\tValue = %ld", pstDiscreteQ->Value);    break;    case IC_TYPE_DISCRETE_Q_TIME_TAG:      pstDiscreteQTimeTag = (icTypeDiscreteQTimeTag *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tValue = %ld ", pstDiscreteQTimeTag->Value);      ICA_Log_CData1 ("\tValue = %ld", pstDiscreteQTimeTag->Value);    break;    case IC_TYPE_DISCRETE_Q_EXTENDED:      pstDiscreteQExt = (icTypeDiscreteQExtended *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tValue = %ld",pstDiscreteQExt->Value);      ICA_Log_CData1 ("\tValue = %ld", pstDiscreteQExt->Value);    break;    case IC_TYPE_REAL:      pstReal = (icTypeReal *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tValue = %f", *pstReal);      ICA_Log_CData1 ("\tValue = %f", *pstReal);    break;	       case IC_TYPE_REAL_Q:      pstRealQ = (icTypeRealQ *)pstVar->varPtr;      if (bRunVerbose)        printf ("\tValue = %f", pstRealQ->Value);      ICA_Log_CData1 ("\tValue = %f", pstRealQ->Value);      break;    case IC_TYPE_REAL_Q_TIME_TAG:      pstRealQTimeTag = (icTypeRealQTimeTag *)pstVar->varPtr;      if (bRunVerbose)	printf ("\tValue = %f", pstRealQTimeTag->Value);      ICA_Log_CData1 ("\tValue = %f", pstRealQTimeTag->Value);    break;    case IC_TYPE_REAL_EXTENDED:      pstRealExt = (icTypeRealExtended *)pstVar->varPtr;      if (bRunVerbose)	printf ("\tValue = %f ", pstRealExt->Value);      ICA_Log_CData1 ("\tValue = %f", pstRealExt->Value);    break;    case IC_TYPE_USER_DEFINED:      print_arb_data ((ST_CHAR*)(pstVar->varPtr), 	                     (NAMED_TYPE*)(pstVar->pstType->typeId));    break;    default:      if (bRunVerbose)        printf ("\tInvalid Type - %d\n", pstVar->iccpType);      break;    }  }#ifdef SISCO_THREADS/************************************************************************//* showExtraVarValue:  display the value of the extra variable ptr	*//************************************************************************/static void showExtraVarValue(ICTA_VAR_INFO *pstVar)  {icTypeState         	*pstState;icTypeStateQ 	    	*pstStateQ;icTypeStateQTimeTag 	*pstStateQTimeTag;icTypeStateExtended 	*pstStateExt;icTypeDiscrete      	*pstDiscrete;icTypeDiscreteQ	    	*pstDiscreteQ;icTypeDiscreteQTimeTag	*pstDiscreteQTimeTag;icTypeD

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -