mcu_hi3321_watch/test/common/testsuite/include/test_suite_console.h
2025-05-26 20:15:20 +08:00

162 lines
3.7 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Copyright (c) @CompanyNameMagicTag 2022-2022. All rights reserved. \n
*
* Description: Provides test suite console \n
* Author: @CompanyNameTag \n
* History: \n
* 2022-9-19, Create file. \n
*/
#ifndef TEST_SUITE_CONSOLE_H
#define TEST_SUITE_CONSOLE_H
#include <stdint.h>
#include <stdbool.h>
#include "common_def.h"
#include "errcode.h"
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif /* __cplusplus */
#endif /* __cplusplus */
/**
* @defgroup test_common_testsuite_console Console
* @ingroup test_common_testsuite
* @{
*/
#define CONSOLE_CHAR_BACKSPACE (0x08)
#define CONSOLE_CHAR_ENTER (0x0D)
#define CONSOLE_CHAR_ESC (0x1B)
#define CONSOLE_CHAR_UP (0x41)
#define CONSOLE_CHAR_DOWN (0x42)
#define CONSOLE_CHAR_RIGHT (0x43)
#define CONSOLE_CHAR_LEFT (0x44)
#define CONSOLE_CHAR_CSI (0x5B)
#define CONSOLE_CHAR_DELETE (0x7F)
#define CONSOLE_CHAR_NONE (0xFF)
#define CONSOLE_CHAR_PAGE_HOME (0x31)
#define CONSOLE_CHAR_PAGE_END (0x34)
#define CONSOLE_CHAR_PAGE_UP (0x35)
#define CONSOLE_CHAR_PAGE_DOWN (0x36)
#define CONSOLE_CHAR_PAGE_7E (0x7E)
#define CONSOLE_COMMAND_CLEAR ("[1J")
#define CONSOLE_COMMAND_MOVE_1_1 ("[11H")
/**
* @if Eng
* @brief Testsuite console color.
* @else
* @brief 测试套件控制台颜色。
* @endif
*/
typedef enum {
TERM_COLOR_RESET = 0,
TERM_COLOR_BLACK = 30,
TERM_COLOR_RED,
TERM_COLOR_GREEN,
TERM_COLOR_BROWN,
TERM_COLOR_BLUE,
TERM_COLOR_PINK,
TERM_COLOR_CYAN,
TERM_COLOR_WHITE = 39
} term_color_t;
/**
* @if Eng
* @brief Initialize test suite console.
* @else
* @brief 初始化测试套件控制台。
* @endif
*/
void test_suite_console_init(void);
/**
* @if Eng
* @brief Register console command buffer.
* @param [in] buffer_to_register the buffer register to console.
* @else
* @brief 注册控制台的命令输入缓存。
* @param [in] buffer_to_register 要注册给控制台的缓存。
* @endif
*/
void test_suite_console_register_command_buffer(char *buffer_to_register);
/**
* @if Eng
* @brief Enable console command processif enabled, allow receive buffer form channel.
* @else
* @brief 打开控制台的命令解析,打开状态下允许接收通道传来的命令。
* @endif
*/
void test_suite_console_enable(void);
/**
* @if Eng
* @brief Disable console command processif disabled, not receive buffer form channel.
* @else
* @brief 关闭控制台的命令解析,关闭状态下不再接收通道传来的命令。
* @endif
*/
void test_suite_console_disable(void);
/**
* @if Eng
* @brief Get test suite console status.
* @return false:disabled; true:enable.
* @else
* @brief 获取测试套件控制台的状态。
* @return false:关闭; true:打开。
* @endif
*/
bool test_suite_console_is_enabled(void);
/**
* @if Eng
* @brief Process the char from the channel.
* @param [in] c the char to process.
* @else
* @brief 单字节处理通道传来的消息。
* @param [in] c 要处理的字节。
* @endif
*/
void test_suite_console_process_char(char c);
/**
* @if Eng
* @brief Set test suite console background color.
* @param [in] color console color type.
* @else
* @brief 设置测试控制台背景色。
* @param [in] color 控制台颜色类型。
* @endif
*/
void test_suite_console_set_color(term_color_t color);
/**
* @if Eng
* @brief Displat test suite test status over console.
* @param [in] status test suite test status.
* @else
* @brief 通过控制台显示测试套件当前的测试状态。
* @param [in] status 测试套件的测试状态。
* @endif
*/
void test_suite_console_display_test_status(int status);
/**
* @}
*/
#ifdef __cplusplus
#if __cplusplus
}
#endif /* __cplusplus */
#endif /* __cplusplus */
#endif