Update SickBlazorApp/Components/Pages/Sick.razor
This commit is contained in:
parent
8bc1b1f2c0
commit
574004da1e
|
|
@ -201,15 +201,37 @@
|
|||
|
||||
private async Task OnApplyNodeIdClicked()
|
||||
{
|
||||
if (!_inputNodeId.HasValue)
|
||||
return;
|
||||
if (!_inputNodeId.HasValue) return;
|
||||
|
||||
_applying = true; // Sử dụng flag để disable các nút khác
|
||||
StateHasChanged();
|
||||
|
||||
try
|
||||
{
|
||||
byte newNodeId = (byte)_inputNodeId.Value;
|
||||
byte oldNodeId = CanService.CurrentNodeId;
|
||||
|
||||
// 1. Gửi lệnh đổi ID qua CAN bus
|
||||
await CanService.ApplyNodeIdAsync(oldNodeId, newNodeId);
|
||||
|
||||
_inputNodeId = null; // reset input
|
||||
// 2. DỪNG SERVICE NGAY LẬP TỨC
|
||||
// Điều này ngăn việc nhận frame từ ID cũ
|
||||
CanService.Stop();
|
||||
|
||||
// 3. Reset UI state
|
||||
_frames.Clear();
|
||||
_nodeState = CanNodeState.PreOperational;
|
||||
_inputNodeId = null;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// Log lỗi nếu cần
|
||||
}
|
||||
finally
|
||||
{
|
||||
_applying = false;
|
||||
StateHasChanged();
|
||||
}
|
||||
}
|
||||
|
||||
private async Task OnStartClicked()
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user