添加xcpcore,添加加载dbc至单一通道
This commit is contained in:
@@ -146,7 +146,22 @@ namespace TSMasterCAN
|
||||
|
||||
return re;
|
||||
}
|
||||
/// <summary>
|
||||
/// 加载DBC至单一通道
|
||||
/// </summary>
|
||||
/// <param name="filePath"></param>
|
||||
/// <param name="channel"></param>
|
||||
/// <returns></returns>
|
||||
public static int LoadDBCToSingleChannel(string filePath, int channel)
|
||||
{
|
||||
uint databaseID = 0;
|
||||
if (!Path.Exists(filePath)) return -1;
|
||||
var re = TsMasterApi.tsdb_load_can_db(Path.GetFullPath(filePath), string.Join(",", channel), ref databaseID);
|
||||
DBCParse.parse(databaseID, channel);
|
||||
DBCParse.rbs_parse(databaseID, channel);
|
||||
|
||||
return re;
|
||||
}
|
||||
/// <summary>
|
||||
/// 卸载DBC
|
||||
/// </summary>
|
||||
@@ -321,6 +336,23 @@ namespace TSMasterCAN
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 按帧 ID 构造并发送 CANFD 报文(不依赖 DBC 数据库与报文名),可选择单次发送或周期发送。
|
||||
/// </summary>
|
||||
/// <param name="channel">通道号</param>
|
||||
/// <param name="ID">报文帧 ID</param>
|
||||
/// <param name="bytes">报文数据数组(最多 64 字节,超出部分截断)</param>
|
||||
/// <param name="sendPeriod">发送周期(毫秒):0 = 只发送一次;>0 = 按该周期循环发送</param>
|
||||
/// <param name="isExt">是否扩展帧(29 位 ID),默认标准帧</param>
|
||||
/// <returns>返回代码,0 表示成功,非 0 表示失败(可用 <see cref="GetErrorDescription"/> 查询错误说明)</returns>
|
||||
public static int SendMsgById(APP_CHANNEL channel, int ID, byte[] bytes, float sendPeriod = 0, bool isExt = false)
|
||||
{
|
||||
var data = new byte[64];
|
||||
Array.Copy(bytes, data, Math.Min(bytes.Length, 64));
|
||||
return SendMsg(channel, ID, true, isExt, false, (byte)Math.Min(bytes.Length, 64),
|
||||
data, true, false, false, sendPeriod);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 构造并发送自定义 CAN/CANFD 报文,可选择单次发送或周期发送,并可同步更新 DBC 数据库中同 ID 报文的数据。
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user