(5)按钮输入

文章目录

前言

1 基础设置

2 数字逻辑/模拟电压设置

3 PWM输入设置

4 额外设置


前言

连接到自动驾驶仪的最多四个外部按钮或开关可以被配置为触发辅助功能(Auxiliary Functions),类似于 RC 通道开关的触发方式。这些按钮输入可以被配置为使用数字逻辑电平电压输入(拉到地或拉到高)或 PWM 信号输入。


Note

一些辅助功能(auxiliary function)有一个中间位置(如"降落伞3位置开关"),但中间位置不能由按钮触发。

1 基础设置

为了使用按钮,自动驾驶仪的引脚必须被配置为 GPIO。许多自动驾驶仪有专门的引脚,但有些没有。在这些情况下,必须将普通的 SERVO/MOTOR 输出配置为 GPIO 引脚,而不是自动驾驶仪输出功能(Autopilot Output Functions)。

对于带有 IOMCU自动驾驶仪(如 PixhawkCubeOrange),外部按钮或开关应连接到自动驾驶仪AUX 输出(而不是 MAIN 输出)。为了便于配置和避免定时器冲突,最好在高端使用辅助输出(如 AUX5AUX6),远离用于电机和伺服的输出。对于没有 IOMCU自动驾驶仪(如pixelracer 等),可以使用正常的 SERVO/MOTOR 输出。

  • 设置BTN_ENABLE = 1(启用)并刷新参数;
  • 如果使用 4.2(或更高版本),设置 SERVOx_FUNCTION = -1GPIO),其中"x"是连接到按钮的伺服输出通道。例如,如果带 IOMCU自动驾驶仪上的 AUX6 输出要作为 GPIO 使用,SERVO14_FUNCTION = -1
  • 如果在带有 IOMCU自动驾驶仪上(如 PixhawkCubeOrange)使用 4.1(或更早),将BRD_PWM_COUNT 设置得足够低,以便所需的伺服和所有其他更高的输出可用于GPIO输入。例如,BRD_PWM_COUNT = 4意味着只有AUX输出56可以用作GPIOBRD_PWM_COUNT = 意味着 AUX 输出 16 可以被使用。对于不使用 IOMCU 的板子,BRD_PWM_COUNT小于总输出数,将把那些较高的输出配置为 GPIO

2 数字逻辑/模拟电压设置

数字逻辑电平的模拟电压可用于按钮输入。下面列出的参数变化是针对第 1 个按钮的,但第 2、第和第 4 个按钮也可以进行类似的设置,只需将参数名称中的"1"改为"2"、"3"或"4"。为了确定哪个GPIO 针脚对应于哪个自动驾驶仪SERVO/MOTOR 输出针脚或专用 GPIO 针脚,必须查阅自动驾驶仪hwdef.dat 文件。如何确定,见GPIOs

  • 将 BTN_PIN1 设置为连接到按钮/开关的 GPIO 的编号(例如,"55"="AUXOUT6");
  • 设置 BTN_OPTIONS1 = 0(在比特掩码中没有设置位),在高逻辑电平电压(> 2.4V)上触发,并被辅助功能解释为""位。设置位 1PWM 输入)可以检测高于或低于 1800/1200usPWM,而不是逻辑电平。如果没有检测到 PWM 或小于 800us 或大于 2200us,按钮将被解释为低电平。设置位 2(反相)将高电平状态改变为引脚上的逻辑低电压,或者低于1200us,如果 PWM 输入;
  • 将 BTN_FUNC1 设置为要触发的辅助功能(Auxiliary Function)。如果设置为 0,则不触发任何功能。

该引脚被自动配置为内部上拉,这意味着按钮或开关只需要将电压拉低。

Warning

一些自动驾驶仪在启动时将引脚拉高或拉低,这可能导致辅助功能在启动后不久就被触发。

3 PWM输入设置

PWM 信号可以作为按钮输入。PWM 值> 1800us 或 < 1200us 可用于触发辅助功能。下面列出的参数变化是针对第 1 个按钮的,但第 2、第 3 和第 4 个按钮也可以进行类似的设置。如上所述,要确定哪个 GPIO 引脚与哪个自动驾驶仪SERVO/MOTOR 输出引脚或专用 GPIO 引脚相对应,必须查阅自动驾驶仪hwdef.dat 文件。如何确定,见GPIOs

  • 将 BTN_PIN1 设置为连接到按钮/开关的 GPIO 的编号(例如,"55"="AUXOUT6");
  • 将 BTN_OPTIONS1 = 设为"1",以便被辅助功能解释为 PWM > 1800us 的""位;
  • 将 BTN_OPTIONS1 = 设为"3",在 PWM < 1200us 或缺少信号输入的情况下,辅助功能将被解释为"高"位。PWM > 1800us 将被解释为"LOW"位置;
  • 将 BTN_FUNC1 设置为要触发的辅助功能(Auxiliary Function)。如果设置为 0,则不触发任何功能。

Note

有效的 PWM 输入范围是 800us2200us。如果 PWM 值超出这个范围,或者缺失,则相当于应用 < 1200us。通常这意味着除非设置了 BTN_OPTIONSx 的反转选项,否则辅助功能不会被触发。

4 额外设置

BTN_REPORT_SEND 设置了每次按钮状态改变时向地面控制站发送 BUTTON_CHANGE mavlink2 消息的时间长度。在写这篇文章的时候,我们还不知道有任何 GCS 在使用这个消息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/707882.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

组态软件之万维组态介绍(web组态、html组态、vue2/vue3组态、组态软件、组态编辑器)

一、什么是组态软件 组态软件是一种用于创建、配置和管理监控和控制系统的软件工具。组态是指不需要编写计算机程序、通过配置的方式完成工业应用开发的系统。它们通常用于工业自动化领域&#xff0c;用于实时监视和控制工业过程。组态软件提供了丰富的功能和工具&#xff0c;使…

【漏洞复现】飞企互联-FE企业运营管理平台 treeXml.jsp SQL注入漏洞

0x01 产品简介 飞企互联-FE企业运营管理平台是一个基于云计算、智能化、大数据、物联网、移动互联网等技术支撑的云工作台。这个平台可以连接人、链接端、联通内外&#xff0c;支持企业B2B、C2B与020等核心需求&#xff0c;为不同行业客户的互联网转型提供支持。其特色在于提供…

原型模式(大话设计模式)C/C++版本

原型模式 C 参考&#xff1a;https://www.cnblogs.com/Galesaur-wcy/p/15924300.html #include <iostream> #include <string> using namespace std;class WorkExprerience { private:string workDate;string company;public:WorkExprerience() {}~WorkExprerie…

收银系统源码-分销商城功能!

在当今的数字化时代&#xff0c;分销已经成为了一种非常流行的商业模式&#xff0c;它与我们的生活息息相关。 分销&#xff0c;简单来说&#xff0c;就是通过一定的渠道和方式&#xff0c;将商品或服务推广给更多的人&#xff0c;从而实现销售增长的过程。在生活中&#xff0…

告别照片丢失!掌握4个实用技巧,找回相册不再困扰

手机里的相册记录了我们的瞬间&#xff0c;捕捉了我们的笑容&#xff0c;让我们的回忆变得生动而具体。然而&#xff0c;随着科技的飞速发展&#xff0c;照片丢失的问题也随之而来。每当我们不小心删除了心爱的照片&#xff0c;那种失落感可能会让我们感到无所适从。那么&#…

Elasticsearch:智能 RAG,获取周围分块

作者&#xff1a;来自 Elastic Sunile Manjee 在检索增强生成 (RAG) 领域&#xff0c;一个持续存在的挑战是找到输入大型语言模型 (LLM) 的最佳数据量。数据太少会导致响应不足或不准确&#xff0c;而数据太多会导致答案模糊。这种微妙的平衡启发我开发了一个专注于智能分块和利…

免费听歌,电脑或手机免费听歌,落雪音乐安装详细步骤

近年来&#xff0c;由于资本的力量导致各种收费&#xff0c;看个电视想听歌都必须要付费了&#xff0c;否则你听不完整&#xff0c;吃相非常难看&#xff0c;特别是电视&#xff0c;吸血鬼式吸收各种会员费&#xff0c;各种APP也是铺天盖地的广告&#xff0c;渐渐迷失了自我&am…

用C语言实现扫雷

本篇适用于C语言初学者&#xff0c;主要涉及对于函数&#xff0c;数组&#xff0c;分支循环的运用。 目录 设计思想&#xff1a; 总代码&#xff08;改进后&#xff09;&#xff1a; 运行结果展示&#xff1a; 分布介绍&#xff1a; 声明&#xff1a; 代码主体部分&#…

三个pdf工具和浏览软件(pdftk,muppdf,epdfview)

安装pdftk pdftk是一款功能强大的PDF处理工具&#xff0c;主要用于对PDF文件进行各种操作。它提供了丰富的功能&#xff0c;包括但不限于合并、拆分、旋转、加密、解密、添加水印、从PDF文档中解出附件等。pdftk分为图形界面版本和命令行版本&#xff0c;适用于不同的用户需求…

计算机网络(6) TCP协议

TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是互联网协议套件中一种核心协议。它提供面向连接的、可靠的字节流传输服务&#xff0c;确保数据从一端正确无误地传输到另一端。TCP的主要特点包括&#xff1a; 可靠性&#xff1a;TCP使用…

AIGC绘画设计:Midjourney V6 来袭,该版本有哪些新功能?

Midjourney V6 支持更自然的语言输入&#xff0c;可以处理更自然地对话式&#xff08;以前的版本是以关键字为中心的&#xff09;提示&#xff0c;对复杂提示有了更好的解释能力。大幅增加了每个 /image 的内存&#xff0c;可以处理更长、更详细的提示&#xff08;从40 直接提升…

一文理清sshc包的使用场景和掌握两种连接方式及异常场景

一文理清sshc、ssh包的使用场景和两种连接方式 SSH协议SSH&#xff08;Secure Shell&#xff09;协议支持通过多种编程语言实现客户端和服务端的功能&#xff0c;包括Go、Python、Java、C#等。 GO语言 sshc包的使用建立连接1.DialWithKey2.DialWithPasswd 运行命令异常场景思维…

北斗车载终端TD30助力户外出行现代化、信息化——保障无信号区域通信、实时精准定位

据官方统计&#xff0c;截至2023年9月底&#xff0c;全国机动车保有量达4.3亿辆&#xff0c;其中汽车3.3亿辆&#xff0c;新能源汽车1821万辆&#xff1b;机动车驾驶人5.2亿人&#xff0c;其中汽车驾驶人4.8亿人。车辆持有率的上升也带来车辆安全的考量&#xff0c;再者交通运输…

【linux】给net/socket.c部分接口添加pr_info后运行情况

net/socket.c 合入文件及代码&#xff1a; https://gitee.com/r77683962/linux-6.9.0/commit/d9aca07352311a9c185cbc2d3c39894e02f10df3 开机后dmesg命令运行效果&#xff1a; 这也是一部分&#xff0c;不过从这里看出来&#xff0c;添加打印日志的地方不太好&#xff0c;另…

CTFshow-web sql注入

Web171 1 在题目中可以看到查询语句为 "select username,password from user where username !flag and id ".$_GET[id]." limit 1;"; 直接使用万能密码 查到了所有用户 获得flag Web172 0 可以看到返回逻辑显示 如果返回的查询数据中username不等于fl…

随着Midjourney越来越成熟,它将给现实世界带来哪些影响?

Midjourney使用的过程中&#xff0c;你是不是会遇到这样的情况&#xff1f; 生成出来的图片压根不是自己想要的&#xff1f; 想要的风格根本不知道怎么写提示词&#xff1f; 不用担心&#xff0c;今天白白给大家带来了280种酷炫动作咒语&#xff0c;拿去&#xff0c;都能生成…

诊所管理系统哪家会好一点

随着医疗行业的快速发展和信息化进程的加速&#xff0c;诊所作为医疗服务的重要基层单位&#xff0c;其运营管理效率与服务质量的提升愈发依赖于现代化的管理工具。诊所管理系统应运而生&#xff0c;旨在通过集成化、智能化的技术手段&#xff0c;帮助诊所实现诊疗流程优化、资…

Web3失败下互联网的未来转型之路

互联网的消亡已不再是夸大其词的说法。在大型科技巨头和生成式AI的推动下&#xff0c;网络的死亡螺旋正在加速&#xff0c;就像希腊神话中的蛇怪&#xff0c;象征着自我吞噬与永生。互联网已经开始自我喂养&#xff0c;并吐出最糟糕的部分供我们消费。 没有价值 Web3未能提供…

GPT-4搞不定的图推理,港科大7B模型搞定|KDD2024

大模型执行图推理任务&#xff0c;我们是希望大模型仅仅给出结果&#xff0c;还是在给出准确答案的同时&#xff0c;输出详细的推理过程&#xff1f; 先来看GPT-4的表现&#xff1a; 给出了一个非常简短且错误的答案&#xff08;判断该图中没有环&#xff09;&#xff0c;这可…