📄 constant.h
字号:
/**********************************************************/
/* 定义计算速度-距离曲线用到的常量 */
/**********************************************************/
/******************************************************/
/* 主机上电自检 */
/******************************************************/
#define SYSTEM_OK 0x00
/******************************************************/
/* 分配四个CAN端口 */
/******************************************************/
#define TRACK_PORT 0x00
#define RECORD_PORT 0x00
#define INTERFACE_PORT 0x02
#define SPEED_PORT 0x03
/*********************************************************/
/* 主机发出的实时输出执行命令 */
/* 1001代表执行了该命令,0011没有 */
/*********************************************************/
#define STATUS_YES_HB 0x90
#define STATUS_NO_HB 0x30
#define STATUS_YES_LB 0x09
#define STATUS_NO_LB 0x03
/********************************************************/
/* 设备ID号 */
/********************************************************/
//#define CAN_ID_MASTER 0x30 //主机互查
#define CAN_ID_TRACK 0x60 //轨道电路
#define CAN_ID_RECORD 0xc0 //记录
//#define CAN_ID_INTERFACE 0xe0 //人机
#define CAN_ID_SPEED 0x50 //测速测距
/********************************************************************************/
/* 主机发出的CAN类型定义,为8个数据字节的第一个字节,包括源定义和类型定义 */
/* 由OutCtlDeal()任务在调用Set_Can_Package()时作为参数使用 */
/********************************************************************************/
#define M_CAN_TYPE_010 0x28
#define M_CAN_TYPE_100 0x30
#define M_CAN_TYPE_101 0x34
#define M_CAN_TYPE_110 0x38
#define M_CAN_TYPE_011 0x2c
#define M_CAN_TYPE_001 0x24
#define M_CAN_TYPE_111 0x3c
#define M_CAN_TYPE_000 0x20
#define M_CAN_TYPE_WHEEL 0xF0
/********************************************************/
/* 轨道电路发出的数据报类型,仅仅为类型定义 */
/********************************************************/
#define T_CAN_TYPE_010 0x02
#define T_CAN_TYPE_001 0x01
#define T_CAN_TYPE_100 0x04
/********************************************************/
/* 人机接口发出的数据报类型,仅仅为类型定义 */
/********************************************************/
#define I_CAN_TYPE_010 0x02
#define I_CAN_TYPE_001 0x01
#define I_CAN_TYPE_100 0x04
#define I_CAN_TYPE_011 0x03
/********************************************************/
/* 记录模块发出的数据报类型,仅仅为类型定义 */
/********************************************************/
#define R_CAN_TYPE_010 0x02
#define R_CAN_TYPE_100 0x04
/********************************************************/
/* SysQueue -- 系统消息队列 */
/********************************************************/
#define MSG_SPEED 0x30 //速度更新
#define MSG_STORAGE 0x20 //转储
#define MSG_IO_CHANGE 0x40 //IO口变化
#define MSG_RECORD_ANALYSE 0x50 //记录分析
#define MSG_BLOCK_DATA 0x60 //for test
//----------------------------------------------------//
//所有的消息队列传递的值不能出现00,因为会被当成空指针//
/********************************************************/
/* OutCtlQueue -- 输出控制消息队列 */
/********************************************************/
#define MSG_OUTCTL_MASK 0xF0 //屏蔽码
#define MSG_PAGE_DATA 0xA0
/********************************************************/
/* ErrQueue -- 错误消息队列 */
/********************************************************/
#define MSG_CAN0_ERR 0x10
#define MSG_CAN0_BUSOFF_ERR 0x10
#define MSG_CAN0_WARN_ERR 0x11
#define MSG_CAN0_STUFF_ERR 0x12
#define MSG_CAN0_FORM_ERR 0x13
#define MSG_CAN0_ACK_ERR 0x14
#define MSG_CAN0_BIT1_ERR 0x15
#define MSG_CAN0_BIT0_ERR 0x16
#define MSG_CAN0_CRC_ERR 0x17
#define MSG_CAN1_ERR 0x20
#define MSG_CAN1_BUSOFF_ERR 0x20
#define MSG_CAN1_WARN_ERR 0x21
#define MSG_CAN1_STUFF_ERR 0x22
#define MSG_CAN1_FORM_ERR 0x23
#define MSG_CAN1_ACK_ERR 0x24
#define MSG_CAN1_BIT1_ERR 0x25
#define MSG_CAN1_BIT0_ERR 0x26
#define MSG_CAN1_CRC_ERR 0x27
#define MSG_CAN2_ERR 0x30
#define MSG_CAN2_BUSOFF_ERR 0x30
#define MSG_CAN2_WARN_ERR 0x31
#define MSG_CAN2_STUFF_ERR 0x32
#define MSG_CAN2_FORM_ERR 0x33
#define MSG_CAN2_ACK_ERR 0x34
#define MSG_CAN2_BIT1_ERR 0x35
#define MSG_CAN2_BIT0_ERR 0x36
#define MSG_CAN2_CRC_ERR 0x37
#define MSG_CAN3_ERR 0x40
#define MSG_CAN3_BUSOFF_ERR 0x40
#define MSG_CAN3_WARN_ERR 0x41
#define MSG_CAN3_STUFF_ERR 0x42
#define MSG_CAN3_FORM_ERR 0x43
#define MSG_CAN3_ACK_ERR 0x44
#define MSG_CAN3_BIT1_ERR 0x45
#define MSG_CAN3_BIT0_ERR 0x46
#define MSG_CAN3_CRC_ERR 0x47
#define MSG_IO_ERR 0x60
/******************************************************/
/* 扩展IO口的地址 */
/*****************************************************/
//#define IO_BADDR 0x10000
#define IO_IN1 0x10001
#define IO_IN2 0x10002
#define IO_IN3 0x10003
#define IO_IN4 0x10004
#define IO_OUT1_READ 0x10010
#define IO_OUT1 0x10010
#define MASK_IO_IN_EN 0x3f //enable IO input
#define MASK_IO_IN_DIS 0xc0 //disable IO input
#define MASK_CFSELE0_ON 0xFE //light on
#define MASK_CFSELE1_ON 0xFD //left door enable
#define MASK_CRCRST_ON 0xEF //reverse direction
#define MASK_CFSELE0_OFF 0x01
#define MASK_CFSELE1_OFF 0x02
#define MASK_CRCRST_OFF 0x10
#define ENDBLOCK 2048
#define STARTBLOCK 283
//CF卡命令定义
#define MAX_DRIVES 0x03 //可以同时加载的逻辑驱动器数目
#define EMPTY_DRIVE 0xff
#define NOT_FIND_DISK 0x00 /* 逻辑盘不存在 */
#define DISK_FULL 0x02 /* 逻辑盘满 */
#define IDE_CMD_WRITE 0x30
#define IDE_CMD_READ 0x20
#define IDE_CMD_IDENTIFY 0xec
#define MAX_OPEN_FILES 0x05
#define NOT_OPEN_FILE 0x55
#define RETURN_OK 0x01
//FDT的DIR_Name[0]表项
#define DEL_FDT ((char)(0xe5))
#define ESC_FDT 0x05 //??????可能不是
#define EMPTY_FDT 0x00
#define NOT_FIND_FDT 0x07 /* 没有发现文件(目录)*/
#define NOT_FAT_DISK 0x08 /* 非FAT文件系统 */
#define FDT_OVER 0x09 /* FDT索引超出范围 */
#define FDT_EXISTS 0x0a /* 文件(目录)已经存在*/
//FDT表项的文件属性
#define ATTR_VOLUME_ID 0x08
#define ATTR_LONG_NAME ATTR_READ_ONLY|ATTR_HIDDEN|ATTR_SYSTEMATTR_VOLUME_ID
#define ATTR_SYSTEM 0x04
#define ATTR_READ_ONLY 0x01
#define ATTR_HIDDEN 0x02
#define ATTR_DIRECTORY 0x10
#define ATTR_ARCHIVE 0x20
#define EMPTY_CLUS 0
#define EMPTY_CLUS_1 1
#define BAD_CLUS 0x0ffffff7
#define EOF_CLUS_1 0x0ffffff8
#define EOF_CLUS_END 0x0fffffff
#define MAX_DISK_CACHES 100
#define DISK_CACHE_SIZE 512
/* Cache状态 */
#define CACHE_READED 0x02
#define CACHE_WRITED 0x01
/* 文件指针状态 */
#define FILE_FLAGS_READ 0x01 // 可读
#define FILE_FLAGS_WRITE 0x02 // 可写
/* 文件指针调整方式 */
#define SEEK_SET_R 0 // 从文件开始处移动文件指针
#define SEEK_CUR_R 1 // 从文件当前位置移动文件指针
#define SEEK_END_R 2 // 从文件尾移动文件指针
#define DISK_FULL 0x02 /* 逻辑盘满 */
#define SECTOR_NOT_IN_CACHE 0x03 /* 扇区没有被cache */
#define NOT_EMPTY_CACHE 0x04 /* 没有空闲cache */
#define SECTOR_READ_ERR 0x05 /* 读扇区错误 */
#define ROOT_FDT_FULL 0x0b /* 根目录满 */
#define DIR_EMPTY 0x0C /* 目录空 */
#define DIR_NOT_EMPTY 0x0d /* 目录不空 */
#define PATH_NOT_FIND 0x0e /* 路径未找到 */
#define FAT_ERR 0x0f /* FAT表错误 */
#define FILE_NAME_ERR 0x10 /* 文件(目录)名错误 */
#define FILE_EOF 0x11 /* 文件结束 */
#define FILE_LOCK 0x12 /* 文件被锁定 */
#define NOT_FIND_FILE 0x13 /* 没有发现指定文件 */
#define NOT_FIND_DIR 0x14 /* 没有发现指定目录 */
#define NOT_RUN 0xfd /* 命令未执行 */
#define BAD_COMMAND 0xfe /* 错误命令 */
#define PARAMETER_ERR 0xff /* 非法参数 */
#define CLUSTER_NOT_IN_DISK 0x06 /* 逻辑盘中没有此簇 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -