Copter V3.3 增加log

来源:互联网 发布:医药公司软件 编辑:程序博客网 时间:2024/04/30 16:30
      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);