增加CAN 调度表的配置

This commit is contained in:
2025-09-08 23:04:48 +08:00
parent 6555741b14
commit 2c0575eea7
12 changed files with 1086 additions and 27 deletions

View File

@@ -38,6 +38,11 @@ namespace CapMachine.Model.CANLIN
[Column(Name = "DbcPath", IsNullable = false, StringLength = 500)]
public string? DbcPath { get; set; }
/// <summary>
/// 调度表是否启用
/// </summary>
[Column(Name = "SchEnable")]
public bool SchEnable { get; set; }
///// <summary>

View File

@@ -0,0 +1,55 @@
using FreeSql.DataAnnotations;
namespace CapMachine.Model.CANLIN
{
/// <summary>
/// 调度表的配置
/// 其实这些调度表是在DBC中有的但是图莫斯的驱动没有读取到这些信息
/// 那么我们在系统层面进行操作和保存这些信息
/// </summary>
[Table(Name = "CANScheduleConfig")]
public class CANScheduleConfig
{
/// <summary>
/// 主键
/// </summary>
[Column(IsPrimary = true, IsIdentity = true)]
public long Id { get; set; }
/// <summary>
/// 消息名称
/// </summary>
[Column(Name = "MsgName")]
public string? MsgName { get; set; }
/// <summary>
/// 消息的周期
/// </summary>
[Column(Name = "Cycle")]
public int Cycle { get; set; }
/// <summary>
/// 发送方式
/// </summary>
[Column(Name = "OrderSend")]
public int OrderSend { get; set; }
/// <summary>
/// 调度表的Index
/// //约定每帧对应一个调度表预设5个调度表每个调度表对应一个帧
/// 0-4这个范围的设置Index
/// </summary>
[Column(Name = "SchTabIndex")]
public int SchTabIndex { get; set; }
/// <summary>
/// ///////////////////////////////////////////导航属性///////////////////////////////////////////////////////
/// </summary>
public long CanLinConfigProId { get; set; }
public CanLinConfigPro? CanLinConfigPro { get; set; }
}
}

View File

@@ -44,12 +44,26 @@ namespace CapMachine.Model.CANLIN
public List<CanLinRWConfig>? CanLinConfigContents { get; set; }
/// <summary>
/// ///////////////////////////////////////////导航属性///////////////////////////////////////////////////////
/// </summary>
///CAN 的调度表配置模式
public List<CANScheduleConfig>? CanScheduleConfigs { get; set; }
/// <summary>
/// ///////////////////////////////////////////导航属性///////////////////////////////////////////////////////
/// </summary>
///LIN 的调度表配置模式
public List<LINScheduleConfig>? LinScheduleConfigs { get; set; }
/// <summary>
/// ///////////////////////////////////////////导航属性 LIN 一对一///////////////////////////////////////////////////////
/// </summary>
public long CANFdConfigExdId { get; set; } // 外键字段,必要
public CANFdConfigExd CANFdConfigExd { get; set; }
/// <summary>
/// ///////////////////////////////////////////导航属性 CAN 一对一///////////////////////////////////////////////////////
/// </summary>
@@ -57,12 +71,12 @@ namespace CapMachine.Model.CANLIN
public CANConfigExd CANConfigExd { get; set; }
/// <summary>
/// ///////////////////////////////////////////导航属性 LIN 一对一///////////////////////////////////////////////////////
/// </summary>
public long LINConfigExdId { get; set; } // 外键字段,必要
public LINConfigExd LINConfigExd { get; set; }
}
}

View File

@@ -0,0 +1,53 @@
using FreeSql.DataAnnotations;
namespace CapMachine.Model.CANLIN
{
/// <summary>
/// 调度表的配置
/// 其实这些调度表是在DBC中有的但是图莫斯的驱动没有读取到这些信息
/// 那么我们在系统层面进行操作和保存这些信息
/// </summary>
[Table(Name = "LINScheduleConfig")]
public class LINScheduleConfig
{
/// <summary>
/// 主键
/// </summary>
[Column(IsPrimary = true, IsIdentity = true)]
public long Id { get; set; }
/// <summary>
/// 消息名称
/// </summary>
[Column(Name = "MsgName")]
public string? MsgName { get; set; }
/// <summary>
/// 消息的周期
/// </summary>
[Column(Name = "Cycle")]
public int Cycle { get; set; }
/// <summary>
/// 调度表的Index
/// LDF中可能有多个调度器
/// </summary>
[Column(Name = "SchTabIndex")]
public int SchTabIndex { get; set; }
/// <summary>
/// 调度表的名称
/// LDF中可能有多个调度器名称
/// </summary>
[Column(Name = "SchTabName")]
public int SchTabName { get; set; }
/// <summary>
/// ///////////////////////////////////////////导航属性///////////////////////////////////////////////////////
/// </summary>
public long CanLinConfigProId { get; set; }
public CanLinConfigPro? CanLinConfigPro { get; set; }
}
}