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);