/** * @file shell_cfg_user.h * @author Letter (nevermindzzt@gmail.com) * @brief shell config * @version 3.0.0 * @date 2019-12-31 * * @copyright (c) 2019 Letter * */ #ifndef __SHELL_CFG_USER_H__ #define __SHELL_CFG_USER_H__ #include #include #include #include "FreeRTOS.h" #include "task.h" #define SHELL_SHOW_INFO 1 #define SHELL_TASK_WHILE 1 /** * @brief 是否使用shell伴生对象 * 一些扩展的组件(文件系统支持,日志工具等)需要使用伴生对象 */ #define SHELL_USING_COMPANION 0 /** * @brief 是否在登录后清除命令行 */ #ifdef CONFIG_LISA_SHELL_CLS_WHEN_LOGIN #define SHELL_CLS_WHEN_LOGIN 1 #else #define SHELL_CLS_WHEN_LOGIN 0 #endif /** * @brief 支持shell尾行模式 */ #ifdef CONFIG_LISA_SHELL_SUPPORT_END_LINE #define SHELL_SUPPORT_END_LINE 1 #else #define SHELL_SUPPORT_END_LINE 0 #endif /** * @brief 使用LF作为命令行回车触发 * 可以和SHELL_ENTER_CR同时开启 */ #ifdef CONFIG_LISA_SHELL_ENTER_LF #define SHELL_ENTER_LF 1 #else #define SHELL_ENTER_LF 0 #endif /** * @brief 使用CR作为命令行回车触发 * 可以和SHELL_ENTER_LF同时开启 */ #ifdef CONFIG_LISA_SHELL_ENTER_CR #define SHELL_ENTER_CR 1 #else #define SHELL_ENTER_CR 0 #endif /** * @brief 使用CRLF作为命令行回车触发 * 不可以和SHELL_ENTER_LF或SHELL_ENTER_CR同时开启 */ #ifdef CONFIG_LISA_SHELL_ENTER_CRLF #define SHELL_ENTER_CRLF 1 #else #define SHELL_ENTER_CRLF 0 #endif /** * @brief shell格式化输入的缓冲大小 * 为0时不使用shell格式化输入 * @note shell格式化输入会阻塞shellTask, 仅适用于在有操作系统的情况下使用 */ #ifdef CONFIG_LISA_SHELL_SCAN_BUFFER #define SHELL_SCAN_BUFFER CONFIG_LISA_SHELL_SCAN_BUFFER #else #define SHELL_SCAN_BUFFER 0 #endif /** * @brief 获取系统时间(ms) * 定义此宏为获取系统Tick,如`HAL_GetTick()` * @note 此宏不定义时无法使用双击tab补全命令help,无法使用shell超时锁定 */ #define SHELL_GET_TICK() xTaskGetTickCount() /** * @brief 使用锁 * @note 使用shell锁时,需要对加锁和解锁进行实现 */ #define SHELL_USING_LOCK 0 /** * @brief shell内存分配 * shell本身不需要此接口,若使用shell伴生对象,需要进行定义 */ #define SHELL_MALLOC(size) 0 /** * @brief shell内存释放 * shell本身不需要此接口,若使用shell伴生对象,需要进行定义 */ #define SHELL_FREE(obj) 0 #endif