25 lines
743 B
C#
25 lines
743 B
C#
namespace BmsMonitor.App.Can;
|
|
|
|
public enum CanBaudRate
|
|
{
|
|
Kbps250,
|
|
Kbps500
|
|
}
|
|
|
|
internal static class CanBaudRateExtensions
|
|
{
|
|
internal static (byte Timing0, byte Timing1) ToTiming(this CanBaudRate baudRate) => baudRate switch
|
|
{
|
|
CanBaudRate.Kbps250 => (0x01, 0x1C),
|
|
CanBaudRate.Kbps500 => (0x00, 0x1C),
|
|
_ => throw new ArgumentOutOfRangeException(nameof(baudRate), baudRate, "不支持的 CAN 波特率。")
|
|
};
|
|
|
|
internal static string ToDisplayText(this CanBaudRate baudRate) => baudRate switch
|
|
{
|
|
CanBaudRate.Kbps250 => "250K",
|
|
CanBaudRate.Kbps500 => "500K",
|
|
_ => throw new ArgumentOutOfRangeException(nameof(baudRate), baudRate, "不支持的 CAN 波特率。")
|
|
};
|
|
}
|