diff --git a/src/EfuseManager/ViewModels/EfuseMapViewModel.cs b/src/EfuseManager/ViewModels/EfuseMapViewModel.cs index d4aa1d6..5d3928b 100644 --- a/src/EfuseManager/ViewModels/EfuseMapViewModel.cs +++ b/src/EfuseManager/ViewModels/EfuseMapViewModel.cs @@ -32,14 +32,10 @@ public EfuseMapViewModel() BeslEnable = new OneBitValueViewModel(0xD6, 3, Bytes); - Pa2gA = new OneBitValueViewModel(0xBC, 4, Bytes); - Pa2gB = new OneBitValueViewModel(0xBC, 5, Bytes); - Pa2gC = new OneBitValueViewModel(0xBC, 6, Bytes); - Pa2gD = new OneBitValueViewModel(0xBC, 7, Bytes); - Pa5gA = new OneBitValueViewModel(0xBC, 0, Bytes); - Pa5gB = new OneBitValueViewModel(0xBC, 1, Bytes); - Pa5gC = new OneBitValueViewModel(0xBC, 2, Bytes); - Pa5gD = new OneBitValueViewModel(0xBC, 3, Bytes); + Pa2gA = new OneBitValueViewModel(0xBC, 4, Bytes, true); + Pa2gB = new OneBitValueViewModel(0xBC, 5, Bytes, true); + Pa5gA = new OneBitValueViewModel(0xBC, 0, Bytes, true); + Pa5gB = new OneBitValueViewModel(0xBC, 1, Bytes, true); } public List Bytes { get; } = new(); @@ -68,13 +64,9 @@ public EfuseMapViewModel() public OneBitValueViewModel Pa2gA { get; } public OneBitValueViewModel Pa2gB { get; } - public OneBitValueViewModel Pa2gC { get; } - public OneBitValueViewModel Pa2gD { get; } public OneBitValueViewModel Pa5gA { get; } public OneBitValueViewModel Pa5gB { get; } - public OneBitValueViewModel Pa5gC { get; } - public OneBitValueViewModel Pa5gD { get; } public void LoadData(byte[] efuseMap) { diff --git a/src/EfuseManager/ViewModels/OneBitValueViewModel.cs b/src/EfuseManager/ViewModels/OneBitValueViewModel.cs index ed0f46e..8186724 100644 --- a/src/EfuseManager/ViewModels/OneBitValueViewModel.cs +++ b/src/EfuseManager/ViewModels/OneBitValueViewModel.cs @@ -5,15 +5,18 @@ namespace EfuseManager.ViewModels; public class OneBitValueViewModel : ObservableObject { private readonly int _bitNumber; + private readonly bool _byteFfIsZero; private readonly EfuseByteViewModel _byteViewModel; private bool _boolValue; public OneBitValueViewModel( int offset, int bitNumber, - List map) + List map, + bool byteFfIsZero = false) { _bitNumber = bitNumber; + _byteFfIsZero = byteFfIsZero; _byteViewModel = map[offset]; _byteViewModel.Loaded += ByteViewModelOnLoaded; UpdateValue(); @@ -33,7 +36,13 @@ private void ByteViewModelOnLoaded(object? sender, EventArgs e) private void UpdateValue() { - BoolValue = GetBit(_byteViewModel.ActualValue, _bitNumber); + var value = _byteViewModel.ActualValue; + if (_byteFfIsZero && value == 0xFF) + { + value = 0; + } + + BoolValue = GetBit(value, _bitNumber); } private static bool GetBit(byte b, int bitNumber) diff --git a/src/EfuseManager/Views/EfuseView.xaml b/src/EfuseManager/Views/EfuseView.xaml index 7d6a1ad..8a64053 100644 --- a/src/EfuseManager/Views/EfuseView.xaml +++ b/src/EfuseManager/Views/EfuseView.xaml @@ -42,16 +42,12 @@ - - - + - - + -