/*----------------------------------------------------------------
* FileName    : define_base.h
* Create      : LQW  2018-05-17
* Description : 基础性定义文件，只放全局使用的结构体和宏定义，不放函数声明，没有对应.c。
*---------------------------------------------------------------*/
#ifndef DEFINE_BASE_H
#define DEFINE_BASE_H
#include <stdint.h>

/***************组网相关start*******/
#define BMS_HW_INF_NULL  0xFF /*没有端口*/
#define BMS_HW_INF_SELF  0xFE /*表示指令已经到达目的地，不需要转发*/
/*****************************enum+***************************/
typedef enum
{
    BMS_HW_TYPE_HUB_BRD          = 1,
    BMS_HW_TYPE_MASTER_BRD,     /*主控*/
    BMS_HW_TYPE_IBU_BRD,        /*一体机*/
    BMS_HW_TYPE_SLAVE_BRD,      /*从控、从控2.0*/
    BMS_HW_TYPE_BALANCE16_BRD,  /*均衡1.6*/
    BMS_HW_TYPE_CURRENT_BRD,    /*电流盒,已经不用，所以lib升级代码没写*/
    BMS_HW_TYPE_HV_BRD,         /*高压盒,已经不用，所以lib升级代码没写*/
    BMS_HW_TYPE_BUTT
}BMS_HW_TYPE_ENUM;

typedef enum
{
    BMS_HW_LEVEL_NOT_CARE,             /*不check层级*/
    BMS_HW_LEVEL_1,
    BMS_HW_LEVEL_2,
    BMS_HW_LEVEL_3,
    BMS_HW_LEVEL_4,                     /*特殊层 PC层*/
    BMS_HW_LEVEL_BUTT

}BMS_HW_INF_LEVEL_ENUM; /*设备在网络中所在层级*/

typedef enum
{
    BMS_HW_INF_DIRECTION_HIGH,
    BMS_HW_INF_DIRECTION_LOW
}BMS_HW_INF_DIRECTION_ENUM; /*设备接口方向*/

typedef enum
{
    BMS_HW_INF_TYPE_CAN,
    BMS_HW_INF_TYPE_485,
    BMS_HW_INF_TYPE_232,
    BMS_HW_INF_TYPE_NET,

    BMS_HW_INF_TYPE_BUTT
}BMS_HW_INF_TYPE_ENUM;  /*设备接口类型*/

typedef enum
{
	CMD_MSG,	/*cmd消息*/
	RESP_MSG	/*resp消息*/
}CMD_OR_RESP_ENUM;

typedef enum
{
	RESP_DATA_AND_FRAMEWORK,	/*需要加框架信息*/
	RESP_DATA					/*不需要框架信息，直接发送*/
}RESP_DATA_TYPE_ENUM;

/*****************************func***************************/



#endif /* __DEFINE_BASE_H__ */

