feat: Add VisionData panel, HW error display, and reel handler 3D model
- Add hardware error banner with priority system (motion > i/o > emergency) - Add DIO status to HW status display with backend integration - Remove status text from HW status, keep only LED indicators - Add VisionDataPanel showing real-time recognized data for L/C/R ports - Add GetVisionData API in MachineBridge with batch field support - Add BroadcastVisionData function (250ms interval) - Replace 3D model with detailed reel handler equipment - Use OrthographicCamera with front view for distortion-free display - Fix ProcessedDataPanel layout to avoid right sidebar overlap - Show log viewer filename in error message when file not found 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -277,6 +277,7 @@ namespace Project.Dialog
|
||||
{
|
||||
_hwUpdateCounter = 0;
|
||||
BroadcastHWStatus();
|
||||
BroadcastVisionData();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -311,6 +312,37 @@ namespace Project.Dialog
|
||||
}
|
||||
}
|
||||
|
||||
// Vision Data 브로드캐스트 (listView21과 동일한 데이터)
|
||||
private void BroadcastVisionData()
|
||||
{
|
||||
try
|
||||
{
|
||||
var bridge = new WebUI.MachineBridge(this);
|
||||
string visionDataJson = bridge.GetVisionData();
|
||||
|
||||
var payload = new
|
||||
{
|
||||
type = "VISION_DATA_UPDATE",
|
||||
data = JsonConvert.DeserializeObject(visionDataJson)
|
||||
};
|
||||
|
||||
string json = JsonConvert.SerializeObject(payload);
|
||||
|
||||
// WebView2로 전송
|
||||
if (webView != null && webView.CoreWebView2 != null)
|
||||
{
|
||||
webView.CoreWebView2.PostWebMessageAsJson(json);
|
||||
}
|
||||
|
||||
// WebSocket으로 전송
|
||||
_wsServer?.Broadcast(json);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"[fWebView] Vision data broadcast error: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
private List<object> GetChangedIOs()
|
||||
{
|
||||
var list = new List<object>();
|
||||
|
||||
Reference in New Issue
Block a user