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

📄 vehicle.c

📁 robot open source code
💻 C
字号:
/**
 *
 * 文 件 名:vehicle.c
 *
 * 描    述:
 *
 * 创 建 者:
 *
 * 创建日期:
 *
 * 备    注:
 *
 *
 * * 维护历史 *
 *
 *   <日期>                <修改者>
 *   <修改内容...>
 *
 **/

#include "vehicle.h"


/*=====================+ OICC label +====================*/

/*<oicc>*/
/*<ibn> OIOIC </ibn>*/
/*<crt>*/
/*</crt>*/
/*</oicc>*/

/*=====================+ Interface +=====================*/

/**
 *
 * 名称:vehicle_Open
 */
static IRESULT  vehicle_Open(OBJECT* This, const VR* pCaller)
{
	OBS_OBJECT_OPEN_;

	/* 在下面完成接口自己的任务。*/


	/* ... */


	return IR_P;
}

/**
 *
 * 名称:vehicle_Input
 */
static IRESULT  vehicle_Input(OBJECT* This, BYTE* IStrm, BYTKTY Qty, const VR* pCaller)
{

	/* ... */


	/* 在上面完成接口自己的任务。*/

	SBO_OBJECT_INPUT;
}

/**
 *
 * 名称:vehicle_Output
 */
static IRESULT  vehicle_Output(OBJECT* This, BYTE* OStrm, BYTKTY Cty, BYTKTY* pQty, const VR* pCaller)
{

	/* ... */


	/* 在上面完成接口自己的任务。*/

	SBO_OBJECT_OUTPUT;
}

/**
 *
 * 名称:vehicle_IOput
 */
static IRESULT  vehicle_IOput(OBJECT* This, BYTE* IStrm, BYTKTY Qty, BYTE* OStrm, BYTKTY Cty, BYTKTY* pQty, const VR* pCaller)
{

	/* ... */


	/* 在上面完成接口自己的任务。*/

	SBO_OBJECT_IOPUT;
}

/**
 *
 * 名称:vehicle_Interact0
 */
static IRESULT  vehicle_Interact0(OBJECT* This, ACTION Act, const VR* pCaller)
{

	/* ... */


	/* 在上面完成接口自己的任务。*/

	SBO_OBJECT_INTERACT0;
}

/**
 *
 * 名称:vehicle_Interact1
 */
static IRESULT  vehicle_Interact1(OBJECT* This, ACTION Act, BYTE* OStrm, BYTKTY Cty, BYTKTY* pQty, const VR* pCaller)
{
	EM_VEHICLE*   pem = (EM_VEHICLE*)This->pEM;

	switch(Act)
	{
	case GET_WEIGHT:
		if(Cty<sizeof(SR32)) /* 判断输出流容量够不够。*/
			return IR_N_INVALIDARG;
		*(SR32*)OStrm = pem->weight; /* 输出重量值。*/
		*pQty = sizeof(SR32); /* 输出的字节数。*/
		return IR_P;
	default:
		break;
	}


	/* 在上面完成接口自己的任务。*/

	SBO_OBJECT_INTERACT1;
}

/**
 *
 * 名称:vehicle_Interact2
 */
static IRESULT  vehicle_Interact2(OBJECT* This, ACTION  Act, BYTE* IStrm, BYTKTY Qty, const VR* pCaller)
{

	/* ... */


	/* 在上面完成接口自己的任务。*/

	SBO_OBJECT_INTERACT2;
}

/**
 *
 * 名称:vehicle_Interact3
 */
static IRESULT  vehicle_Interact3(OBJECT* This, ACTION Act, BYTE* IStrm, BYTKTY Qty, BYTE* OStrm, BYTKTY Cty, BYTKTY* pQty, const VR* pCaller)
{

	/* ... */


	/* 在上面完成接口自己的任务。*/

	SBO_OBJECT_INTERACT3;
}

/**
 *
 * 名称:vehicle_Close
 */
static IRESULT  vehicle_Close(OBJECT* This, const VR* pCaller)
{
	OBS_OBJECT_CLOSE_;

	/* 在下面完成接口自己的任务。*/


	/* ... */


	return IR_P;
}

/*========================+ TOG +========================*/

/**
 *
 * 名称:TOG_vehicle
 */
VOID  TOG_vehicle(OBJECT* pObj)
{
	pObj->Open = vehicle_Open;
	pObj->Input = vehicle_Input;
	pObj->Output = vehicle_Output;
	pObj->IOput = vehicle_IOput;
	pObj->Interact0 = vehicle_Interact0;
	pObj->Interact1 = vehicle_Interact1;
	pObj->Interact2 = vehicle_Interact2;
	pObj->Interact3 = vehicle_Interact3;
	pObj->Close = vehicle_Close;
}

/*=======================+ IRF(s) +======================*/
/*... */

/*====================+ Function(s) +====================*/
/* ... */

⌨️ 快捷键说明

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