Initial commit: BMS CAN monitor

This commit is contained in:
acetaffy
2026-09-16 13:26:51 +08:00
commit 2b92f10a0c
23 changed files with 965 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
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 波特率。")
};
}