78 lines
3.4 KiB
C#
78 lines
3.4 KiB
C#
using CANFDApiProxy.Requests;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace CANFDApiProxy.Messages
|
|
{
|
|
public class CANConfigMessage
|
|
{
|
|
public List<CANConfig> CANConfigList { get; set; }
|
|
public Pipe Pipe { get; set; }
|
|
public string Status { get; set; }
|
|
public static CANConfigRequest CreateCanConfigRequest(CANConfigMessage canConfigMessage)
|
|
{
|
|
var request = new CANConfigRequest();
|
|
try
|
|
{
|
|
request.config = new config();
|
|
|
|
var CANConfigArray = canConfigMessage.CANConfigList.ToArray();
|
|
|
|
request.config.can1 = new CanConfigItem(CANConfigArray[0].Base_or_arb_bitrate, CANConfigArray[0].Base_or_arb_sjw, CANConfigArray[0].Data_bitrate, CANConfigArray[0].Data_sjw, CANConfigArray[0].Filetype, CANConfigArray[0].Included, CANConfigArray[0].Is_fd);
|
|
request.config.can2 = new CanConfigItem(CANConfigArray[1].Base_or_arb_bitrate, CANConfigArray[1].Base_or_arb_sjw, CANConfigArray[1].Data_bitrate, CANConfigArray[1].Data_sjw, CANConfigArray[1].Filetype, CANConfigArray[1].Included, CANConfigArray[1].Is_fd);
|
|
request.config.can3 = new CanConfigItem(CANConfigArray[2].Base_or_arb_bitrate, CANConfigArray[2].Base_or_arb_sjw, CANConfigArray[2].Data_bitrate, CANConfigArray[2].Data_sjw, CANConfigArray[2].Filetype, CANConfigArray[2].Included, CANConfigArray[2].Is_fd);
|
|
request.config.can4 = new CanConfigItem(CANConfigArray[3].Base_or_arb_bitrate, CANConfigArray[3].Base_or_arb_sjw, CANConfigArray[3].Data_bitrate, CANConfigArray[3].Data_sjw, CANConfigArray[3].Filetype, CANConfigArray[3].Included, CANConfigArray[3].Is_fd);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
request.Status = ex.Message;
|
|
}
|
|
|
|
return request;
|
|
}
|
|
public override string ToString()
|
|
{
|
|
var sb = new StringBuilder();
|
|
|
|
sb.Append($"Pipe: {Pipe}, Status: {Status}, CanConfigList:");
|
|
if (null != CANConfigList)
|
|
{
|
|
foreach( var c in CANConfigList)
|
|
{
|
|
sb.Append(" ");
|
|
sb.Append(c.ToString());
|
|
}
|
|
}
|
|
return sb.ToString();
|
|
}
|
|
}
|
|
|
|
public class CANConfig
|
|
{
|
|
public CANConfig(string name, int base_or_arb_bitrate, int base_or_arb_sjw, int data_bitrate, int data_sjw, string filetype, bool included, bool is_fd)
|
|
{
|
|
Name = name;
|
|
Base_or_arb_bitrate = base_or_arb_bitrate;
|
|
Base_or_arb_sjw = base_or_arb_sjw;
|
|
Data_bitrate = data_bitrate;
|
|
Data_sjw = data_sjw;
|
|
Filetype = filetype;
|
|
Included = included;
|
|
Is_fd = is_fd;
|
|
}
|
|
public string Name { get; }
|
|
public int Base_or_arb_bitrate { get; set; }
|
|
public int Base_or_arb_sjw { get; set; }
|
|
public int Data_bitrate { get; set; }
|
|
public int Data_sjw { get; set; }
|
|
public string Filetype { get; set; }
|
|
public bool Included { get; set; }
|
|
public bool Is_fd { get; set; }
|
|
public override string ToString()
|
|
{
|
|
return $"Name={Name}, BaseBR={Base_or_arb_bitrate}, BaseSJW={Base_or_arb_sjw}, BR={Data_bitrate}, DataSJW={Data_sjw}, FT={Filetype}, Inc={Included}, fd={Is_fd}";
|
|
}
|
|
}
|
|
}
|