【类 型】:fix
【主 题】:mavlink数据请求 放在单片机第二个核心上执行 【描 述】: [原因]:防止核心一 阻塞 [过程]: [影响]: 【结 束】 # 类型 包含: # feat:新功能(feature) # fix:修补bug # docs:文档(documentation) # style: 格式(不影响代码运行的变动) # refactor:重构(即不是新增功能,也不是修改bug的代码变动) # test:增加测试 # chore:构建过程或辅助工具的变动
This commit is contained in:
parent
a23bc5a277
commit
ce111595eb
@ -22,5 +22,4 @@ lib_deps =
|
|||||||
sandeepmistry/CAN@^0.3.1
|
sandeepmistry/CAN@^0.3.1
|
||||||
fastled/FastLED@^3.5.0
|
fastled/FastLED@^3.5.0
|
||||||
madhephaestus/ESP32Servo@^0.13.0
|
madhephaestus/ESP32Servo@^0.13.0
|
||||||
bblanchon/ArduinoJson@^6.21.2
|
|
||||||
|
|
||||||
|
@ -44,7 +44,6 @@ boolean isPush = false; // 记得删除 板子按钮状态 ps:D3引脚下拉微
|
|||||||
Ticker pubTicker; // 定时发布主题 线程
|
Ticker pubTicker; // 定时发布主题 线程
|
||||||
Ticker mavTicker; // 定时 指定飞控mavlink 串口返回的数据类别 防止飞控启动滞后
|
Ticker mavTicker; // 定时 指定飞控mavlink 串口返回的数据类别 防止飞控启动滞后
|
||||||
Ticker flashTicker; // 单片机主动 按钮主动发布主题 线程
|
Ticker flashTicker; // 单片机主动 按钮主动发布主题 线程
|
||||||
|
|
||||||
// Ticker chanTicker; //定时向飞控 发送油门指定
|
// Ticker chanTicker; //定时向飞控 发送油门指定
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -342,6 +341,7 @@ void mavlink_receiveCallback(uint8_t c)
|
|||||||
{
|
{
|
||||||
mavlink_message_t msg;
|
mavlink_message_t msg;
|
||||||
mavlink_status_t status;
|
mavlink_status_t status;
|
||||||
|
|
||||||
// 尝试从数据流里 解析数据
|
// 尝试从数据流里 解析数据
|
||||||
if (mavlink_parse_char(MAVLINK_COMM_0, c, &msg, &status))
|
if (mavlink_parse_char(MAVLINK_COMM_0, c, &msg, &status))
|
||||||
{ // MAVLink解析是按照一个一个字符进行解析,我们接收到一个字符,就对其进行解析,直到解析完(根据返回标志判断)一帧数据为止。
|
{ // MAVLink解析是按照一个一个字符进行解析,我们接收到一个字符,就对其进行解析,直到解析完(根据返回标志判断)一帧数据为止。
|
||||||
|
@ -15,8 +15,8 @@ extern void mavlink_receiveCallback(uint8_t c);
|
|||||||
extern const String topicPub[];
|
extern const String topicPub[];
|
||||||
extern const int topicPubCount;
|
extern const int topicPubCount;
|
||||||
extern String topicPubMsg[];
|
extern String topicPubMsg[];
|
||||||
extern String topicHandle[];
|
|
||||||
extern String oldMsg[];
|
extern String oldMsg[];
|
||||||
|
extern String topicHandle[];
|
||||||
extern FoodCube fc; // 创建项目对象
|
extern FoodCube fc; // 创建项目对象
|
||||||
extern Ticker pubTicker; // 定时发布主题 线程
|
extern Ticker pubTicker; // 定时发布主题 线程
|
||||||
extern Ticker mavTicker; // 定时 指定飞控mavlink 串口返回的数据类别 防止飞控启动滞后
|
extern Ticker mavTicker; // 定时 指定飞控mavlink 串口返回的数据类别 防止飞控启动滞后
|
||||||
|
@ -434,10 +434,6 @@ void loop()
|
|||||||
check_tare(); // 检查看是否需要校准称重
|
check_tare(); // 检查看是否需要校准称重
|
||||||
// 检测执行初始化工作
|
// 检测执行初始化工作
|
||||||
checkinited();
|
checkinited();
|
||||||
/////////////////////////////////MQTT_语音_MAVLINK 部分
|
|
||||||
/*从飞控拿数据*/
|
|
||||||
fc.comm_receive(mavlink_receiveCallback);
|
|
||||||
/////////////////////////////////MQTT_语音_MAVLINK 部分结束
|
|
||||||
delay(1);
|
delay(1);
|
||||||
}
|
}
|
||||||
// 在核心0上执行耗时长的低优先级的
|
// 在核心0上执行耗时长的低优先级的
|
||||||
@ -460,6 +456,11 @@ void Task1(void *pvParameters)
|
|||||||
// 显示重量
|
// 显示重量
|
||||||
// printf("pullweight: %d \n", pullweight);
|
// printf("pullweight: %d \n", pullweight);
|
||||||
|
|
||||||
|
/////////////////////////////////MQTT_语音_MAVLINK 部分
|
||||||
|
/*从飞控拿数据*/
|
||||||
|
fc.comm_receive(mavlink_receiveCallback);
|
||||||
|
vTaskDelay(1);
|
||||||
|
/////////////////////////////////MQTT_语音_MAVLINK 部分结束
|
||||||
if (fc.checkWiFiStatus())
|
if (fc.checkWiFiStatus())
|
||||||
/*保持mqtt心跳,如果Mqtt没有连接会自动连接*/
|
/*保持mqtt心跳,如果Mqtt没有连接会自动连接*/
|
||||||
fc.mqttLoop("cmd");
|
fc.mqttLoop("cmd");
|
||||||
|
Loading…
Reference in New Issue
Block a user