Monkey¶
一个简单的 Monkey 测试。使用随机输入对应用程序进行压力测试。
使用方法¶
在 lv_conf.h 中启用 LV_USE_MONKEY。
首先配置 Monkey,使用 lv_monkey_config_t 定义配置结构,设置 type(查看 输入设备 了解支持的类型),然后设置 period_range 和 input_range 的范围,Monkey 将在此范围内随机时间输出随机操作。调用 lv_monkey_create 创建 Monkey。最后调用 lv_monkey_set_enable(monkey, true) 启用 Monkey。
如果您想暂停 Monkey,调用 lv_monkey_set_enable(monkey, false)。要删除 Monkey,调用 lv_monkey_del(monkey)。
注意,input_range 在不同的 type 中有不同的含义:
LV_INDEV_TYPE_POINTER无效果,在屏幕分辨率的像素范围内随机点击。LV_INDEV_TYPE_ENCODERenc_diff的最小值和最大值。LV_INDEV_TYPE_BUTTONbtn_id的最小值和最大值。使用lv_monkey_get_indev()获取输入设备,并使用lv_indev_set_button_points()将按键 ID 映射到坐标。LV_INDEV_TYPE_KEYPAD无效果,发送随机 按键。
示例¶
触摸板猴子示例¶
C code
GitHub#include "../../lv_examples.h"
#if LV_USE_MONKEY && LV_BUILD_EXAMPLES
void lv_example_monkey_1(void)
{
/*Create pointer monkey test*/
lv_monkey_config_t config;
lv_monkey_config_init(&config);
config.type = LV_INDEV_TYPE_POINTER;
config.period_range.min = 10;
config.period_range.max = 100;
lv_monkey_t * monkey = lv_monkey_create(&config);
/*Start monkey test*/
lv_monkey_set_enable(monkey, true);
}
#endif
Error encountered while trying to open D:\lv_port_pc_eclipse-release-v8.3\lvgl\examples\others\monkey\lv_example_monkey_1.py
编码器猴子示例¶
C code
GitHub#include "../../lv_examples.h"
#if LV_USE_MONKEY && LV_BUILD_EXAMPLES
void lv_example_monkey_2(void)
{
/*Create encoder monkey test*/
lv_monkey_config_t config;
lv_monkey_config_init(&config);
config.type = LV_INDEV_TYPE_ENCODER;
config.period_range.min = 50;
config.period_range.max = 500;
config.input_range.min = -5;
config.input_range.max = 5;
lv_monkey_t * monkey = lv_monkey_create(&config);
/*Set the default group*/
lv_group_t * group = lv_group_create();
lv_indev_set_group(lv_monkey_get_indev(monkey), group);
lv_group_set_default(group);
/*Start monkey test*/
lv_monkey_set_enable(monkey, true);
}
#endif
Error encountered while trying to open D:\lv_port_pc_eclipse-release-v8.3\lvgl\examples\others\monkey\lv_example_monkey_2.py
按钮猴子示例¶
C code
GitHub#include "../../lv_examples.h"
#if LV_USE_MONKEY && LV_BUILD_EXAMPLES
void lv_example_monkey_3(void)
{
static lv_point_t btn_points[3];
lv_coord_t hor_res = LV_HOR_RES;
/*Create button monkey test*/
lv_monkey_config_t config;
lv_monkey_config_init(&config);
config.type = LV_INDEV_TYPE_BUTTON;
config.period_range.min = 50;
config.period_range.max = 500;
config.input_range.min = 0;
config.input_range.max = sizeof(btn_points) / sizeof(lv_point_t) - 1;
lv_monkey_t * monkey = lv_monkey_create(&config);
/*Set the coordinates bound to the button*/
btn_points[0].x = hor_res / 4;
btn_points[0].y = 10;
btn_points[1].x = hor_res / 2;
btn_points[1].y = 10;
btn_points[2].x = hor_res * 3 / 4;
btn_points[2].y = 10;
lv_indev_set_button_points(lv_monkey_get_indev(monkey), btn_points);
/*Start monkey test*/
lv_monkey_set_enable(monkey, true);
}
#endif
Error encountered while trying to open D:\lv_port_pc_eclipse-release-v8.3\lvgl\examples\others\monkey\lv_example_monkey_3.py
API¶
Typedefs
-
typedef struct _lv_monkey
lv_monkey_t¶
Functions
-
void
lv_monkey_config_init(lv_monkey_config_t *config)¶ Initialize a monkey config with default values
- Parameters
config -- pointer to 'lv_monkey_config_t' variable to initialize
-
lv_monkey_t *
lv_monkey_create(const lv_monkey_config_t *config)¶ Create monkey for test
- Parameters
config -- pointer to 'lv_monkey_config_t' variable
- Returns
pointer to the created monkey
-
lv_indev_t *
lv_monkey_get_indev(lv_monkey_t *monkey)¶ Get monkey input device
- Parameters
monkey -- pointer to a monkey
- Returns
pointer to the input device
-
void
lv_monkey_set_enable(lv_monkey_t *monkey, bool en)¶ Enable monkey
- Parameters
monkey -- pointer to a monkey
en -- set to true to enable
-
bool
lv_monkey_get_enable(lv_monkey_t *monkey)¶ Get whether monkey is enabled
- Parameters
monkey -- pointer to a monkey
- Returns
return true if monkey enabled
-
void
lv_monkey_set_user_data(lv_monkey_t *monkey, void *user_data)¶ Set the user_data field of the monkey
- Parameters
monkey -- pointer to a monkey
user_data -- pointer to the new user_data.
-
void *
lv_monkey_get_user_data(lv_monkey_t *monkey)¶ Get the user_data field of the monkey
- Parameters
monkey -- pointer to a monkey
- Returns
the pointer to the user_data of the monkey
-
void
lv_monkey_del(lv_monkey_t *monkey)¶ Delete monkey
- Parameters
monkey -- pointer to monkey
-
struct
lv_monkey_config_t¶ Public Members
-
lv_indev_type_t
type¶ < Input device type Monkey execution period
-
uint32_t
min¶
-
uint32_t
max¶
-
struct lv_monkey_config_t
period_range¶ The range of input value
-
int32_t
min
-
int32_t
max
-
struct lv_monkey_config_t
input_range¶
-
lv_indev_type_t