| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- #ifndef __INCLUDE_CONSOLE_H
- #define __INCLUDE_CONSOLE_H
- #define BS_KEY 0x08 /*Back Space */
- #define ENTER_KEY 0x0d /*Enter*/
- #define SPACE_KEY 0x20 /*Space */
- #define DEL_KEY 0x7F /*Delete */
- #define UPARROW_KEY 0x1b5b41
- #define DOWNARROW_KEY 0x1b5b42
- #define LEFTARROW_KEY 0x1b5b44
- #define RIGHTARROW_KEY 0x1b5b43
- #define ESC_KEY 0x1b
-
- #define CMD_PASS_CHAR(c) (((c)>=UPARROW_KEY)&&((c)<=LEFTARROW_KEY))
- #define CMD_KEY_WORD(c) (((c)>='a') && ((c)<='z'))
- #define CMD_PROMPT "GoldenBeans#"
- #define UNKNOWNCMD "Unknown commond\r\n"
- typedef enum E_CONSOLE_FSM_ENUM
- {
- E_CONSOLE_FSM_NONE = 1,
- E_CONSOLE_FSM_GETING_CMD = 2,
- E_CONSOLE_FSM_GOT_CMD = 3,
- E_CONSOLE_FSM_GETING_PARAM = 4,
- E_CONSOLE_FSM_GOT_PARAM = 5,
- }E_CONSOLE_FSM;
- #define CMD_LINE_LEN_MAX 64 /*命令行最大长度,包含参数*/
- #define CMD_DESCRIPTION_LEN_MAX 64 /*命令行帮助信息最大长度*/
- #define CMD_PARAM_NUM_MAX 8 /*命令行中参数的最大数目,包括命令字*/
- #ifndef CMD_MAX_NUM
- #define CMD_MAX_NUM 100
- #endif
- #define CMD_ESC_TIMOUT 100 /*组合键的超时时间*/
- typedef struct _console_cmd_info
- {
- int escpressed;
- u8 cmdLineLen;
- char cmdLine[CMD_LINE_LEN_MAX];
- u8 curentpos;
- }console_cmd_info;
- typedef u8 CMDNODE;
- typedef struct _cmd_node_element
- {
- CMDNODE cmdnode;
-
- }cmd_node_element;
- typedef struct S_CLI_CMD_LIST_STRUCT
- {
- u8 num;
- u32 cmd[CMD_MAX_NUM];
- }S_CLI_CMD_LIST;
- typedef int (*console_func)(u8 argc,char **argv);
- typedef struct S_CLI_CMD_STRUCT
- {
- char *cmd;
- char *description;
- console_func func;
- }S_CLI_CMD;
- #define DEFCLICMD(funcname, cmdname, cmdstr, helpstr) \
- int funcname (u8,char **); \
- const S_CLI_CMD cmdname = \
- {\
- cmdstr,\
- helpstr,\
- funcname\
- };\
- int funcname(u8 argc,char **argv)
- typedef S_CLI_CMD *PS_CLI_CMD;
- typedef const S_CLI_CMD *CPS_CLI_CMD;
- /*存储console使用的串口ID*/
- extern u8 Console_UID;
- /*******************************************************
- 函数定义
- ********************************************************/
- /************************************************************
- *cmd_install --命令行安装命令函数
- *
- *Input:
- * 待安装的命令行结构
- *Output:
- * Noen
- *Return:
- * 0 --安装成功
- * -1 --安装失败
- */
- int cmd_install(CPS_CLI_CMD pcmdelement);
- /****************************************************************************
- *cmd_init --命令行的初始化函数,完成命令行数据结构的初始化工作
- *
- *Input:
- * uartid --命令行使用的串口编号,0,1;
- *Output:
- * None
- *Return:
- * None
- */
- int cmd_init(u8 uartid);
- #endif
|