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

📄 lb_tmr.c

📁 中国石油二期加油站IC系统后台通讯软件
💻 C
字号:
/*
***********************************************************************************************************
													  Amos
										  The Real_Time Operation System
												   Multi Task
								 (c) Copyright 1998-2002, ShangYaoHui, Shenzhen
											  All Right Reserved
												  VERSION 6.01

" By  : 商耀挥(ShangYaoHui)
 create time: 2002-7-6 16:45:02  
***********************************************************************************************************
*/

/************ head file list *************/
#include "envopt.h"        /* environment options */
#include "envdep.h"        /* environment dependent */
#include "envind.h"        /* environment independent */

#include "gen.h"           /* general */
#include "cm5.h"           /* common functions */
#include "ssi.h"           /* system services */

/* header/extern include files (.x) */

#include "gen.x"           /* general */
#include "cm5.x"           /* common functions */
#include "ssi.x"           /* system services */

#include "cm_llist.h"
#include "cm_llist.x"

#ifdef WIN32
	#include "winbase.h"
#endif

#include "rx.h"
#include "rx.x"

#include "rx_msg.h"
#include "rx_msg.x"

#include "lb_cm.h"
#include "lb_cm.x"

#include "lb_recv.h"
#include "lb_recv.x"
#include "lb_xmit.h"
#include "lb_xmit.x"
#include "lb_msg.h"
#include "lb_msg.x"

#include "lb_bdy1.h"
#include "lb_bdy1.x"
#include "lb_bdy2.h"
#include "lb_bdy2.x"
#include "lb_bdy4.h"
#include "lb_bdy3.h"
#include "lb_bdy3.x"
#include "lb_bdy4.h"
#include "lb_bdy4.h"
#include "lb_bdy4.x"
#include "lb_bdy5.h"
#include "lb_bdy5.x"
#include "lb_bdy6.h"
#include "lb_bdy6.x"



/************* const define **************/

/******** import variable declare ********/

/******* gloable variable declare ********/
LbTmrCb_s lbTmrCb;

/*********** function declare ************/

/********** function prototype ***********/

S16 lbTmrInit(void)
{
	U32 i;

	lbTmrCb.tqCp.nxtEnt = 0;
	lbTmrCb.tqCp.tmrLen = LB_TMR_LEN;

	for(i = 0; i < LB_TMR_LEN; i++)
	{
		lbTmrCb.tqType[i].first = lbTmrCb.tqType[i].tail = NULLP;
	}
	RETVALUE(ROK);
}


S16 lbTmrProc(void * cp, S16 evnt)
{
	LbTmrEntry_s * tmr;
	if(cp == NULLP)
	{
		RXLOGERROR(0, 0, 0, "ERROR");
		RETVALUE(RFAILED);
	}
	tmr = (LbTmrEntry_s *)cp;

	switch(evnt)
	{
	case IND_TMR:
		lbIndRetxTmr(tmr->machId);

		break;
	case RQST_TMR:

		lbRqstRetxTmr(tmr->machId);
		break;
	case QUERY_TMR:

		lbQueryTmr(tmr->machId);
		break;

	}

	RETVALUE(ROK);
}

S16 lbSchdTmr(U32 tmrValue, S16 tmrType, S16 event)
{
	CmTmrArg arg;

	switch(event)
	{
	case START_TMR:
		if(tmrType == TMR_NONE)
		{
			RXLOGERROR(0, 0, 0, "ERROR");
			RETVALUE(RFAILED);
		}


		switch(tmrType)
		{
		case IND_TMR:
			arg.timers = &rxCb.indTmr.tmr;
			arg.cb = (PTR)&rxCb.indTmr;
			if(rxCb.indTmr.tmr.tmrEvnt != TMR_NONE)
			{
				RXLOGERROR(0, 0, 0, "ERROR");
				RETVALUE(RFAILED);
			}
			break;
		case RQST_TMR:
			arg.timers = &rxCb.rqstTmr.tmr;
			arg.cb = (PTR)&rxCb.rqstTmr;
			if(rxCb.rqstTmr.tmr.tmrEvnt != TMR_NONE)
			{
				RXLOGERROR(0, 0, 0, "ERROR");
				RETVALUE(RFAILED);
			}
			break;
		case QUERY_TMR:
			arg.timers = &rxCb.queryTmr.tmr;
			arg.cb = (PTR)&rxCb.queryTmr;
			if(rxCb.queryTmr.tmr.tmrEvnt != TMR_NONE)
			{
				RXLOGERROR(0, 0, 0, "ERROR");
				RETVALUE(RFAILED);
			}
			break;


		}

		arg.evnt = tmrType;
		arg.wait = tmrValue;
		arg.tqCp = &lbTmrCb.tqCp;
		arg.tq = lbTmrCb.tqType;
		arg.max = 1;
		arg.tNum = NOTUSED;

		cmPlcCbTq(&arg);

		break;
	case STOP_TMR:
		if(tmrType == TMR_NONE)
		{
			RETVALUE(ROK);
		}
		if(tmrType == IND_TMR)
		{
			arg.timers = &rxCb.indTmr.tmr;
			arg.cb = (PTR)&rxCb.indTmr;

		}
		else
		{
			arg.timers = &rxCb.rqstTmr.tmr;
			arg.cb = (PTR)&rxCb.rqstTmr;
		}
		arg.evnt = tmrType;
		arg.tq = lbTmrCb.tqType;
		arg.tqCp = &lbTmrCb.tqCp;
		arg.wait = 0;
		arg.tNum = NOTUSED;
		arg.max = 1;
		cmRmvCbTq(&arg);
		break;

	}
	RETVALUE(ROK);
}

U32 tmr_debug = 0;

S16 lbTmrHandle(void)
{
	if(!tmr_debug )
	{
		cmPrcTmr(&(lbTmrCb.tqCp), lbTmrCb.tqType, (PFV)lbTmrProc);
	}
	RETVALUE(ROK);
}




/******************* modify histroy list *******************
001. create at: 2002-7-6 16:45:02 by Shangyaohui

****************** modify histroy list end ****************/


⌨️ 快捷键说明

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