PX4添加自定义参数并使用QGC显示、更改
一、说明
- 本文在如下文章基础上进行修改
PX4_v1.13.3 添加自定义任务 - PX4固件
- 版本 v1.13.3
二、自定义参数
2.1 新建参数文件
在PX4-Autopilot/src/modules/demo_task文件夹下新建demo_task_params.c文件,在该文件内自定义参数,该文件内容如下:
/**
* EN
*
* Task Enabled/Disabled.
*
* @boolean
* @group Demo
*/
PARAM_DEFINE_INT32(DEMO_TK_EN, 1);
/**
* Length
*
* Task length.
*
* @unit m
* @min 0.0
* @max 1.0
* @decimal 3
* @increment 0.01
* @group Rover Position Control
*/
PARAM_DEFINE_FLOAT(DEMO_TK_LE, 0.2f);
- 注意:
- demo_task_params.c文件中所定义的参数名称不能超过16个字符
- PX4中仅有上述两种参数定义方式,即PARAM_DEFINE_INT32与PARAM_DEFINE_FLOAT
2.2 修改DemoTask.hpp
该文件内容如下:
#pragma once
#include <drivers/drv_hrt.h>
#include <lib/perf/perf_counter.h>
#include <px4_platform_common/defines.h>
#include <px4_platform_common/module.h>
#include <px4_platform_common/module_params.h>
#include <px4_platform_common/px4_work_queue/ScheduledWorkItem.hpp>
#include <px4_platform_common/posix.h>
#include <uORB/Publication.hpp>
#include <uORB/Subscription.hpp>
#include <uORB/SubscriptionCallback.hpp>
#include <uORB/topics/orb_test.h>
#include <uORB/topics/parameter_update.h>
#include <uORB/topics/sensor_accel.h>
#include <uORB/topics/vehicle_status.h>
using namespace time_literals;
class DemoTask : public ModuleBase<DemoTask>, public ModuleParams, public px4::ScheduledWorkItem
{