83 lines
2.0 KiB
C
83 lines
2.0 KiB
C
/**
|
||
* @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 "stm32f4xx_hal.h"
|
||
#include "FreeRTOS.h"
|
||
#include "portable.h"
|
||
|
||
/**
|
||
* @brief 是否使用shell伴生对象
|
||
* 一些扩展的组件(文件系统支持,日志工具等)需要使用伴生对象
|
||
*/
|
||
#define SHELL_USING_COMPANION 1
|
||
|
||
|
||
/**
|
||
* @brief 支持shell尾行模式
|
||
*/
|
||
#define SHELL_SUPPORT_END_LINE 1
|
||
|
||
|
||
/**
|
||
* @brief 使用LF作为命令行回车触发
|
||
* 可以和SHELL_ENTER_CR同时开启
|
||
*/
|
||
#define SHELL_ENTER_LF 1
|
||
|
||
/**
|
||
* @brief 使用CR作为命令行回车触发
|
||
* 可以和SHELL_ENTER_LF同时开启
|
||
*/
|
||
#define SHELL_ENTER_CR 0
|
||
|
||
/**
|
||
* @brief 使用CRLF作为命令行回车触发
|
||
* 不可以和SHELL_ENTER_LF或SHELL_ENTER_CR同时开启
|
||
*/
|
||
#define SHELL_ENTER_CRLF 1
|
||
|
||
/**
|
||
* @brief shell格式化输入的缓冲大小
|
||
* 为0时不使用shell格式化输入
|
||
* @note shell格式化输入会阻塞shellTask, 仅适用于在有操作系统的情况下使用
|
||
*/
|
||
#define SHELL_SCAN_BUFFER 128
|
||
|
||
/**
|
||
* @brief 获取系统时间(ms)
|
||
* 定义此宏为获取系统Tick,如`HAL_GetTick()`
|
||
* @note 此宏不定义时无法使用双击tab补全命令help,无法使用shell超时锁定
|
||
*/
|
||
#define SHELL_GET_TICK() HAL_GetTick()
|
||
|
||
/**
|
||
* @brief 使用锁
|
||
* @note 使用shell锁时,需要对加锁和解锁进行实现
|
||
*/
|
||
#define SHELL_USING_LOCK 1
|
||
|
||
/**
|
||
* @brief shell内存分配
|
||
* shell本身不需要此接口,若使用shell伴生对象,需要进行定义
|
||
*/
|
||
#define SHELL_MALLOC(size) pvPortMalloc(size)
|
||
|
||
/**
|
||
* @brief shell内存释放
|
||
* shell本身不需要此接口,若使用shell伴生对象,需要进行定义
|
||
*/
|
||
#define SHELL_FREE(obj) vPortFree(obj)
|
||
|
||
#endif
|