Files

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 波特率。")
};
}