Copter V3.3 增加log

本文详细介绍如何在DataFlash库中自定义日志记录功能,包括添加新的日志类型、定义结构体、实现写入函数及在ArduCopter项目中调用这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      1.在libraries/DataFlash/DataFlash.h中增加如下内容:
  • 在枚举LogMessages的最后添加类型定义,如LOG_USER1_MSG
  • 在LOG_EXTRA_STRUCTURES定义的最后添加描述,{LOG_USER1_MSG,sizeof(log_USER1),"USR1","QHH","Timeus,para1,para2"}
  • 定义log_USER1结构体,如下
  • struct PACKED log_USER1 {
        LOG_PACKET_HEADER;
        uint64_t time_us;
        uint16_t para1;
        uint16_t para2;
    };
      2.在libraries/DataFlash/LogFile.cpp中增加写入函数定义:

void DataFlash_Class::Log_Write_USER1(uint16_t para1,uint16_t para2)
{
    struct log_USER1 pkt = {
        LOG_PACKET_HEADER_INIT(LOG_USER1_MSG),
        time_us     : hal.scheduler->micros64(),
        para1       : para1
        para2       : para2
    };
    WriteBlock(&pkt, sizeof(pkt));
}
       3.在libraries/DataFlash/DataFlash.h中增加Log_Write_USER1的声明:

              Log_Write_USER1(uint16_t para1,uint16_t para2);

        4.最后就可以在ArduCopter下调用log函数了:
   DataFlash.Log_Write_User1(para1,para2);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值