// DLM 与 CSS 间通讯初始化,
m_CssDlink.Init(&m_Protocol, this);
// 内存数据交换帧初始化设定
blRet = m_CssDlink.CreateFrame(_T("PPZ Frame"));
ASSERT(blRet);
blRet = m_CssDlink.InsertField(_T("phi") , DL_FLOAT, (LPVOID) &m_Protocol.phi, sizeof(m_Protocol.phi));
blRet = m_CssDlink.InsertField(_T("psi"), DL_FLOAT, (LPVOID) &m_Protocol.psi, sizeof(m_Protocol.psi));
blRet = m_CssDlink.InsertField(_T("theta"), DL_FLOAT, (LPVOID) &m_Protocol.theta, sizeof(m_Protocol.theta));
blRet = m_CssDlink.CreateFrame(_T("PPZ INS"));
ASSERT(blRet);
blRet = m_CssDlink.InsertField(_T("ins_x") , DL_FLOAT, (LPVOID) &m_Protocol.ins_x, sizeof(m_Protocol.ins_x));
blRet = m_CssDlink.InsertField(_T("ins_y") , DL_FLOAT, (LPVOID) &m_Protocol.ins_y, sizeof(m_Protocol.ins_y));
blRet = m_CssDlink.InsertField(_T("ins_z") , DL_FLOAT, (LPVOID) &m_Protocol.ins_z, sizeof(m_Protocol.ins_z));
// 命令处理函数初始化
blRet = m_CssDlink.BindCmd2Function(_T("ExampleFun_1"), DLCMD_USER + 1, CProtocol::CmdFunExample_1);
blRet = m_CssDlink.BindCmd2Function(_T("ExampleFun_2"), DLCMD_USER + 2, CProtocol::CmdFunExample_2);
// 航点序列数据初始化
m_CssDlink.InitSeqDat_Wp(_T("Wp_Lon"), _T("Wp_Lat"), _T("Wp_GpsH_CM"));
for(i = 0; i < 10; i++)
{
m_CssDlink.CreateSeqRec_Wp();
m_CssDlink.InsertSeqField_Wp(0, DL_DOUBLE, sizeof(m_Protocol.m_arWpSet[i].dWpLon), &(m_Protocol.m_arWpSet[i].dWpLon) );
m_CssDlink.InsertSeqField_Wp(1, DL_DOUBLE, sizeof(m_Protocol.m_arWpSet[i].dWpLat), &(m_Protocol.m_arWpSet[i].dWpLat) );
m_CssDlink.InsertSeqField_Wp(2, DL_INT , sizeof(m_Protocol.m_arWpSet[i].nGpsH_CM), &(m_Protocol.m_arWpSet[i].nGpsH_CM) );
}
m_CssDlink.SeqDatEnd_Wp();
// 参数序列数据初始化
m_Protocol.TestFun();
m_CssDlink.InitSeqDat_Para(_T("ParaName"), _T("SetValue"), _T("NmlValue"));
for(i = 0; i < MAX_FLICHTPARA; i++)
{
m_CssDlink.CreateSeqRec_Para();
m_CssDlink.InsertSeqField_Para(0,
DL_STRING,
LEN_PARANAME,
(LPVOID) m_Protocol.m_arFlightPara[i].szParaName );
m_CssDlink.InsertSeqField_Para(1,
DL_DOUBLE,
sizeof(m_Protocol.m_arFlightPara[i].dParaSet),
(LPVOID) &(m_Protocol.m_arFlightPara[i].dParaSet) );
m_CssDlink.InsertSeqField_Para(2,
DL_DOUBLE,
sizeof(m_Protocol.m_arFlightPara[i].dParaNormal),
(LPVOID) &(m_Protocol.m_arFlightPara[i].dParaNormal) );
}
m_CssDlink.SeqDatEnd_Para();
// 全部初始化完成
m_CssDlink.InitEnd();
DLM 通讯初始化语句
最新推荐文章于 2021-09-10 20:55:14 发布