/// <summary> /// 自描述报告的响应 /// </summary> private bool ReplyWSDescribe(tMeshSelfReportResult resault, bool urgent = false) { lock (objectLock) { byte[] appStream = new byte[resault.Len]; resault.Serialize(appStream); if (SendData(resault.mac, appStream, urgent, enPktPriority.High) == enURErrCode.ERR_NONE) { CommStackLog.RecordInf(enLogLayer.eAdapter, "ReplyDescribe mac(" + resault.mac.ToHexString() + ")"); return(true); } else { CommStackLog.RecordInf(enLogLayer.eAdapter, "ReplyDescribe mac(" + resault.mac.ToHexString() + ")" + " unadmissible"); return(false); } } }
/// <summary> /// mesh的自描述报告的处理 /// </summary> private void SelfReportAnalysis(tMeshSelfReportParam param) { tVer NewVer = new tVer(); NewVer.u8Main = param.verMcuFw.u8Main; NewVer.u8Sub = param.verMcuFw.u8Sub; NewVer.u8Rev = param.verMcuFw.u8Rev; NewVer.u8Build = param.verMcuFw.u8Build; NetworkWSInfo[param.mac.ToHexString()] = NewVer; tMeshSelfReportResult date = new tMeshSelfReportResult(); date.mac.Assign(param.mac); date.u8RC = 0; if (param.u8RC == 0) { //ReplyWSDescribe(date); } CommStackLog.RecordInf(enLogLayer.eAdapter, "WS(" + param.mac.ToHexString() + "):V" + NetworkWSInfo[param.mac.ToHexString()].u8Main.ToString() + "." + NetworkWSInfo[param.mac.ToHexString()].u8Sub.ToString() + "." + NetworkWSInfo[param.mac.ToHexString()].u8Rev.ToString() + "." + NetworkWSInfo[param.mac.ToHexString()].u8Build.ToString()); }