通过串口,根据参数名称请求mavlink参数值
来源:互联网 发布:ubuntu 14.04 iso 32 编辑:程序博客网 时间:2024/06/05 15:02
一,整体架构
2,代码
void MySerialLink::sendReadPararmeter(QString name)
{
int componentId = 0;
int paramIndex=-1;
int mavlinkSystemID = 255;
int mavlinkCompontId = 0;
int vehicleId = 1;
int channel = 0;
mavlink_message_t msg;
char fixedParamName[MAVLINK_MSG_PARAM_REQUEST_READ_FIELD_PARAM_ID_LEN];
strncpy(fixedParamName, name.toStdString().c_str(), sizeof(fixedParamName));
mavlink_msg_param_request_read_pack(mavlinkSystemID, // Our system id
mavlinkCompontId, // Our component id
&msg, // Pack into this mavlink_message_t
vehicleId, // Target system id
componentId, // Target component id
fixedParamName, // Named parameter being requested
paramIndex); // Parameter index being requested, -1 for named
static const uint8_t messageKeys[256] = MAVLINK_MESSAGE_CRCS;
mavlink_finalize_message_chan(&msg, mavlinkSystemID, mavlinkCompontId, channel, msg.len, messageKeys[msg.msgid]);
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
int len = mavlink_msg_to_send_buffer(buffer, &msg);
emit _invokeWriteBytes((const char*)buffer,len);
}
3,
这里没有直接调用串口发送 消息,而是 利用信号与槽 转了一下,否则消息发送失败,原因不详。
connect(this,SIGNAL(_invokeWriteBytes(const char*,qint64)),this,SLOT(sl_sendData(const char*,qint64)));
void MySerialLink::sl_sendData(const char*buff,qint64 size){if(mPort && mPort->isOpen()) {int sendSize = mPort->write(buff,size);qDebug()<<"send data "<<size<<sendSize;} else {qDebug()<<"Could not send data,mPort is not opened";}
}
0 0
- 通过串口,根据参数名称请求mavlink参数值
- 发送mavlink参数值
- Spring 根据参数名称注入值
- JS根据参数名称获取URL中参数值
- 通过串口读取mavlink数据
- 通过串口发送mavlink指令
- MAVLink——命令参数
- Spring boot 通过AOP获取参数名称及参数值并对参数进行校验
- request接收全部请求参数的名称
- 通过nginx_lua实现根据请求参数分发道不同后端节点
- openresty 根据参数 重定向请求
- jmeter实现根据http请求参数是否有值,选择性的添加参数
- Struts2通过请求参数值指定配置的结果
- 串口参数
- 串口参数
- 串口 参数
- 串口参数
- maven打包根据指定参数,自定义war包名称
- LeetCode42. Trapping Rain Water
- LightOJ
- 高阶篇:4.3.5)DFMEA建议措施及后续完备
- uva 333 Recognizing Good ISBNs
- bridged、host-only和NAT的虚拟机用法
- 通过串口,根据参数名称请求mavlink参数值
- Linux系统下安装JDK和Tomcat
- 学习淘淘商城第三十二课(Redis集群测试)
- NFS服务器设置及mount命令挂载
- Android studio使用之[gradle的使用]
- 开发者入门必读:最值得看的十大机器学习公开课
- R语言中round()函数的使用
- ThreadLocal的底层实现原理与应用场景
- 从零开始学习Kinect编程笔记(二) 4.22