遥控器

PX4遥控器控制量和模式开关的实现

匿名 (未验证) 提交于 2019-12-03 00:22:01
上一篇文章讲到了PX4FMU通过问答的方式从PX4IO获取所需的所有信息。在px4io.cpp文件中的task_main()的任务循环里,可以看到读取和发布IO芯片的函数有: 1、io_get_status()――从IO芯片获取状态信息,并发布safety消息; 2、io_publish_raw_rc()――从IO芯片获取遥控器所有输入通道的原始数据,并发布input_rc信息; 3、io_publish_pwm_outputs()――从IO芯片获取并发布各通道实际输出的PWM值。 本篇将追寻input_rc消息的路线,确定遥控控制量是如何进入飞控的,并确定模式开关的实现原理。 在代码中,直接获取input_rc消息的主要有两个任务。 一个是mavlink_messages,暂且猜测其目的应该是将遥控器原始输入值发送到地面站来实现遥控器校准、通道映射的功能,经过地面站校准之后的信息有从mavlink协议发回给飞控,保存为遥控器相关的参数。 另一个就是sensors,在sensors.cpp文件的主任务循环中调用了Sensors::rc_poll()来获取input_rc消息并处理。 首先判断是否有遥控信号丢失,将判断结果保存在signal_lost中; 然后利用参数中的遥控器校准信息对各通道数值进行修剪,在转化为-1~+1之间的数值传递给_rc.channels[]数组中的对应位置

安卓复杂一点遥控器图片按钮的实现

时光毁灭记忆、已成空白 提交于 2019-12-02 01:55:10
最近制作app的展示界面的ui展示.屏幕下方是个遥控器图片按钮,不是那种上下左右中 后来发现还是用自定义view 把图片导入进去,在view下再新建path路径,新建view圈出需要的区域实现相应的功能 安卓布局这块 相对布局,还有不同屏幕的图片伸缩等问题,考虑的很多,比c#简单的界面显示难的多.所以很多地方发现安卓工程师的工资要比java的高一些 来源: https://www.cnblogs.com/zuochanzi/p/11724417.html

命令模式

前提是你 提交于 2019-11-28 05:44:08
本文链接:https://blog.csdn.net/qq_18975791/article/details/83268412 一、命令模式定义 命令大家都不会陌生,那么在开始命令模式之前,可以想象一下生活中的命令模式的特点: 如老板命令你完成一个OA项目是一个命令,接着看看其特点: 1、在上面的命令中,命令的执行者肯定是聪明的你了。具体的执行方法,可能是通过vs实现,或者是通过eclipse实现,由此看来:命令要有个命令的执行者,还要有个命令的执行方法。 2、命令的发出者很明显是老板,老板还有个发出方法,可能是通过电话给你说,也可能给你邮件给你说,也可能是通过开会给你说。所以命令的发出者要有一个命令,还要有个发出的方法。 3、最后看看命令,命令有个名字,命令的肯定要执行。而且命令是在boss给你发出通知后执行的。 接下来看看命令模式的定义: 命令模式:将请求封装成对象,以便使用不同的请求、日志、队列等来参数化其他对象。命令模式也支持撤销操作。 每次讲一个模式时,从定义都不能体会其中的技巧,所以接着我会通过举例子来说明命令模式。 二、命令模式的举例 下面来看看多用遥控器是如何使用命令模式的。 2.1需求 假设某个公司需要设计一个多用功能的遥控器。基本的需求如下: 该遥控器有可以控制风扇,白炽灯,热水器等等的多对开关,而且可能还有其他的电器,暂时不做其功能,但是希望可以保留接口