[类型] 加文件注释,飞控消息请求改为部分,飞控通讯的串口2缓冲区加大到2048,怀疑缓冲区小导致放勾指令丢失

详细描述
This commit is contained in:
xu 2025-05-16 19:52:38 +08:00
parent 7a4c95994f
commit e23808dfac
7 changed files with 33 additions and 4 deletions

View File

@ -1,4 +1,6 @@
#include "FoodDeliveryBase.h"
///MQTT和Mavlink业务逻辑控制
/// @file FoodDeliveryBase.cpp
/**
* @description:
*/
@ -35,7 +37,7 @@ FoodCube::FoodCube(char *userSsid, char *userPassword, char *userMqttServer, int
case 2:
Serial2.begin(57600, SERIAL_8N1);
// 设置接收缓冲区大小为1024字节
Serial2.setRxBufferSize(1024);
Serial2.setRxBufferSize(2048); //飞控用
break;
}
// 初始化声音模块串口 波特率
@ -498,9 +500,18 @@ void FoodCube::mav_request_data()
* MAV_DATA_STREAM_ENUM_END=13,
*/
// 根据从Pixhawk请求的所需信息进行设置
const int maxStreams = 1; // 遍历次数 (下面组合的长度)
const uint8_t MAVStreams[maxStreams] = {MAV_DATA_STREAM_ALL}; // 请求的数据流组合 放到一个对象 后面进行遍历
const uint16_t MAVRates[maxStreams] = {0x01}; // 设定发送频率 分别对应上面数据流 ps:0X01 1赫兹 既每秒发送一次
//const int maxStreams = 1; // 遍历次数 (下面组合的长度)
//const uint8_t MAVStreams[maxStreams] = {MAV_DATA_STREAM_ALL}; // 请求的数据流组合 放到一个对象 后面进行遍历
//const uint16_t MAVRates[maxStreams] = {0x01}; // 设定发送频率 分别对应上面数据流 ps:0X01 1赫兹 既每秒发送一次
const int maxStreams = 3;
const uint8_t MAVStreams[maxStreams] = {
MAV_DATA_STREAM_EXTENDED_STATUS,
MAV_DATA_STREAM_POSITION,
MAV_DATA_STREAM_EXTRA1
};
const uint16_t MAVRates[maxStreams] = {1,1,1};
for (int i = 0; i < maxStreams; i++)
{
// 向飞控发送请求

View File

@ -1,3 +1,8 @@
///加入和上层控制器协议解析,可收命令和发送命令返回 ---以前用于和飞控通讯目前已废弃改用mavlink
///使用commser.cpp里面封装的mavlink协议通讯,
///这个库用Serial2目前Serial2用来播放语音
/// @file Serialcommand.cpp
#include "Serialcommand.h"
#include "Arduino.h"
#include "CRC.h"

View File

@ -1,3 +1,6 @@
///Can通讯硬件抽象层给电机控制提供底层can通讯库的封装可兼容不同can通讯库
/// @file can_control.cpp
#include "can_control.h"
#include "Arduino.h"
#include "config.h"

View File

@ -1,3 +1,6 @@
///MQTT以及Mavlink通讯控制
#include "commser.h"
#include "motocontrol.h"

View File

@ -1,3 +1,5 @@
///主程序,硬件及线程控制
/// @file main.cpp
#include <Arduino.h>
#include "HX711.h"
#include "OneButton.h"

View File

@ -1,3 +1,5 @@
///DJI电机控制协议及基础控制层通过Can总线控制电机,依赖于CAN硬件抽象层
// /// @file moto.cpp
#include "moto.h"
#include "Arduino.h"
#include "config.h"

View File

@ -1,3 +1,6 @@
/// 电机控制业务逻辑封装-依赖moto类
/// @file motocontrol.cpp
#include "Arduino.h"
#include "motocontrol.h"