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

📄 ho.h

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

#ifndef __HO_FACTORY_H__
#define __HO_FACTORY_H__

#include "oioic/oioic.h"

/*==================+ OID(s) and OID_ +==================*/

/* 注意:在目前操作系统下,尽管大多情况不需要创建HO和AO,但它
*  们的OID是必需的!不需要创建的HO或AO就在这里为它们定义OID。*/

#define   OID_HO			(0x0000000000020000 | OID_OS)  /* HO的OID。*/
#define   OID_FACTORY		(OID_HO + 0) /* Factory的OID。HO */
#define   OID_MAIN			(OID_HO + 1) /* Main的OID。AO */
/* #define   OID_XXX3		(OID_HO + 2) /-* xxx3的OID。.. *-/ */
/* ...     ...     ...     ...     ...     ... */
#define   OID_				(OID_HO + 3) /* 其它OID的起点。*/


/*========================+ MSN +========================*/

/* #define   MSN_XXX1      (MSN_ + 0)  /-* xxx1的MSN。HO *-/ */
/* #define   MSN_XXX2      (MSN_ + 1)  /-* xxx2的MSN。AO *-/ */
/* #define   MSN_XXX3      (MSN_ + 2)  /-* xxx3的MSN。.. *-/ */
#define   MSN_VEHICLE		(MSN_ + 3)  /* vehicle的MSN。GO */
#define   MSN_CAR			(MSN_ + 4)  /* car的MSN。GO */
#define   MSN_SHIP			(MSN_ + 5)  /* ship的MSN。GO */
#define   MSN_AMPHICAR		(MSN_ + 6)  /* amphicar的MSN。GO */
/* ...     ...     ...     ...     ...     ... */


/*==================+ Interface Result +=================*/
/* ...     ...     ...     ...     ...     ... */
/* ...     ...     ...     ...     ...     ... */
/* #define     IR_N_PVT_YYY_       (IR_N_PVT_XXX_ - x)  /-* X2的私有N结果起点。*-/ */
/* ...     ...     ...     ...     ...     ... */
/* #define     IR_N_XXX       (IR_N_PVT_XXX_ -0) */
/** X1对象模的私有N结果:^ **/

/* #define     IR_N_PVT_XXX_       (IR_N_PVT_ - x)  /-* X1的私有N结果起点。*-/ */
/* ...     ...     ...     ...     ...     ... */
/* #define     IR_N_XXX       (IR_N_PVT_ -0) */ 
/**
** 非一个对象模专用的N结果:^
**/

/* ...     ...     ...     ...     ...     ... */
/* ...     ...     ...     ...     ...     ... */
/* #define     IR_O_PVTN_YYY_      (IR_O_PVTN_XXX_ - x)  /-* X2的私有负O结果起点。*-/ */
/* ...     ...     ...     ...     ...     ... */
/* #define     IR_O_XXX       (IR_O_PVTN_XXX_ -0) */
/** X1对象模的私有负O结果:^ **/

/* #define     IR_O_PVTN_XXX_      (IR_O_PVTN_ - x)  /-* X1的私有负O结果起点。*-/ */
/* ...     ...     ...     ...     ...     ... */
/* #define     IR_O_XXX       (IR_O_PVTN_ -0)  */
/**
** 非一个对象模专用的负O结果:^
**
** 非一个对象模专用的正O结果:
**/
/* #define     IR_O_XXX       (IR_O_PVTP_ + 0) */
/* ...     ...     ...     ...     ...     ... */
/* #define     IR_O_PVTP_XXX_      (IR_O_PVTP_ + x)  /-* X1的私有正O结果起点。*-/ */

/** X1对象模的私有正O结果:**/
/* #define     IR_O_XXX       (IR_O_PVTP_XXX_ + 0) */
/* ...     ...     ...     ...     ...     ... */
/* #define     IR_O_PVTP_YYY_      (IR_O_PVTP_XXX_ + x)  /-* X2的私有正O结果起点。*-/ */
/* ...     ...     ...     ...     ...     ... */
/* ...     ...     ...     ...     ...     ... */

/**
** 非一个对象模专用的P结果:
**/
/* #define     IR_P_XXX       (IR_P_PVT_ + 0) */
/* ...     ...     ...     ...     ...     ... */
/* #define     IR_P_PVT_XXX_       (IR_P_PVT_ + x)  /-* X1的私有P结果起点。*-/ */

/** X1对象模的私有P结果:**/
/* #define     IR_P_XXX       (IR_P_PVT_XXX_ + 0) */
/* ...     ...     ...     ...     ...     ... */
/* #define     IR_P_PVT_YYY_       (IR_P_PVT_XXX_ + x)  /-* X2的私有P结果起点。*-/ */
/* ...     ...     ...     ...     ...     ... */
/* ...     ...     ...     ...     ...     ... */


/*=======================+ Action +======================*/

/** 非一个对象模专用的交互行为:**/
#define     GET_MAXLOAD          (AC1 | (ACT_PVT_  + 0)) /* car,ship,获取最大载重量。TSO: SR32 */
#define     GET_MAXVELOCITY      (AC1 | (ACT_PVT_  + 1)) /* car,ship,获取最大速度。TSO: SR32 */
/* ...     ...     ...     ...     ...     ... */
#define    ACT_PVT_VEHICLE_       (ACT_PVT_ + 2)  /* vehicle的私有交互行为起点。*/

/** vehicle对象模的私有交互行为:**/
#define     GET_WEIGHT			 (AC1 | (ACT_PVT_VEHICLE_  + 0)) /* 获取重量。TSO: SR32 */
/* ...     ...     ...     ...     ...     ... */
#define    ACT_PVT_AMPHICAR_         (ACT_PVT_VEHICLE_ + 1)  /* amphicar的私有交互行为起点。*/

/** amphicar对象模的私有交互行为:**/
#define     GET_TMAXLOAD          (AC1 | (ACT_PVT_AMPHICAR_  + 0)) /* 获取陆上(terrestrial)最大载重量。TSO: SR32 */
#define     GET_TMAXVELOCITY      (AC1 | (ACT_PVT_AMPHICAR_  + 1)) /* 获取陆上最大速度。TSO: SR32 */
#define     GET_AMAXLOAD          (AC1 | (ACT_PVT_AMPHICAR_  + 2)) /* 获取水上(aquatic)最大载重量。TSO: SR32 */
#define     GET_AMAXVELOCITY      (AC1 | (ACT_PVT_AMPHICAR_  + 3)) /* 获取水上最大速度。TSO: SR32 */
/* ...     ...     ...     ...     ...     ... */
/* ...     ...     ...     ...     ...     ... */

/*=======================================================*/


#endif		/* #ifndef __HO_FACTORY_H__ */

⌨️ 快捷键说明

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