Commit Graph

24 Commits

Author SHA1 Message Date
XplorePlane Developer 957157ae80 fix: 修复编译错误、BGA向导预览、算子重复插入及状态栏消息
## Compilation fixes
- Fix XAML namespace reference XplorePlane.Converters → XplorePlane.Helpers (EventLogView, StateDisplayView)
- Add missing using for ISampleTypeRepository / JsonSampleTypeRepository in App.xaml.cs
- Fix ILoggerService.Warn() calls using Exception as first arg instead of message string
- Serialize CncProgram to JSON when passing to MatrixLayout (expects string, not CncProgram object)
- Suppress CS8632 nullable annotation warnings project-wide

## BGA wizard fixes
- Fix preview not showing on step 3: force RefreshBgaPreview() when entering final step
- Add step validation in CanNext() to prevent skipping to preview with invalid inputs
- Notify NextCommand.CanExecuteChanged when inputs change
- Fix RunProgress runtime binding error: set Mode=OneWay for ProgressBar.Value

## Operator toolbox: prevent duplicate insertion
- Add static OperatorTarget property for direct dispatch to active pipeline
- PipelineEditorView registers as toolbox target on load (floating window only)
- CNC page sets initial target; PipelineEditorWindow resets to CNC pipeline on close
- '+' button inserts only to the active pipeline instead of broadcasting to all subscribers

## Pipeline editor status bar messages
- Add StatusBarMessageEvent / StatusBarMessagePayload to CommonEvents.cs
- PipelineEditorViewModel publishes status on all ops (add/remove/reorder/save/execute)
- MainViewModel subscribes and displays on main window bottom status bar
- Auto-clear after timeout (3s info, 5s error)

## docs
- Merge three architecture docs into consolidated XplorePlane-架构与结构说明.md
2026-07-24 15:59:16 +08:00
QI Mingxuan 023bec66ce [XplorePlane] 解决与 Develop/XP 合并在 MainViewModel.ExecuteOneClickInitialize 的冲突:保留基于 OneClickWarmupCoordinator 的一键暖机实现(统一进度窗体 + 回原点/射线源并行)。 2026-07-21 09:00:31 +08:00
QI Mingxuan 5b94fb6a96 [XP.Common] 新增通用清单式进度窗体 ChecklistProgressWindow:支持按 Group 分组渲染、每项按状态显示勾选/百分比/转圈/红叉,参数化标题与尺寸,线程安全更新,可复用于暖机/扫描/标定等流程。
[XplorePlane] 新增 OneClickWarmupCoordinator 编排器:一键暖机改用统一清单式进度窗体呈现,回原点与射线源初始化并行执行。
2026-07-16 10:06:33 +08:00
zhengxuan.zhang 7126431985 Merge branch 'Develop/XP' into Feature/TURBO-002-Cnc 2026-07-10 02:08:52 +08:00
zhengxuan.zhang 4b9890d4c4 perf: 启动优化 — Lazy<T> 延迟加载图像处理服务,启动时间从29秒降至5.5秒
- 将 CncExecutionService、PipelinePersistenceService、PipelineExecutionService、
  PipelineEditorViewModel、CncEditorViewModel 中的 IImageProcessingService /
  IPipelineExecutionService 依赖改为 Lazy<T> 注入,避免启动时触发
  ImageProcessingService 的反射处理器扫描和 EmguCV JIT 编译
- 在关键启动路径插入 [STARTUP-PERF] Stopwatch 计时日志用于性能诊断
- 新增 doc/启动耗时分析.md 技术文档记录分析过程和优化方案
- Ribbon Tab "设置" 重命名为 "工具" 避免与子按钮名称重复
2026-07-08 13:17:38 +08:00
QI Mingxuan b5ecd3897b [XP.Hardware.RaySource] 新增射线源一键初始化功能;修复 RaySourceConfigView.xaml 实时功率与设备面板重合问题。
[XplorePlane] MainWindow.xaml 放大比标定按钮替换为一键初始化按钮。
2026-07-06 17:32:01 +08:00
QI Mingxuan 0a64110138 Merge branch 'Develop/XP' into Feature/TURBO-739-HardwareBenchmarkYxlon 2026-07-06 15:12:00 +08:00
QI Mingxuan a150a662bb [XP.Common] 新增跨模块射线源控制事件定义:新增 Events/XRayControlEvents.cs,定义 RequestXRayStatusEvent、RequestXRayTurnOffEvent、RequestXRayTurnOnEvent 及对应 Payload 模型(暂定)。
[XP.Hardware.RaySource] 订阅跨模块射线源控制事件。
2026-07-01 19:07:34 +08:00
QI Mingxuan b32e7e6e70 [XP.Hardware.RaySource] 新增实时功率的计算和显示,显示在射线源高级面板。 2026-06-30 20:11:36 +08:00
QI Mingxuan f6d7ee4292 已合并 PR 138: Hamamatsu射线源集成合并 2026-06-30 15:01:34 +08:00
zhengxuan.zhang 475b0563c7 对 SavePosition 节点属性区域 新增射线源的电压和电流记录 2026-06-29 16:32:05 +08:00
zhengxuan.zhang 7683596c17 编译策略: “入口程序、硬件与 Native 依赖项目固定 x64,纯托管类库保持 Any CPU”的平台策略 2026-06-05 21:33:56 +08:00
QI Mingxuan 754e2c8d23 射线源 XP.Hardware.RaySource 实现 ConfigView 面板切换架构的动态切换,新增Comet 专用配置面板和Hamamatsu 专用配置面板,重构为公共布局 + Visibility 切换,窗口高度自适应。
更新架构说明和使用指南。
App.config:调整射线源相关配置项。
2026-06-05 14:45:22 +08:00
zhengxuan.zhang 80dc70a648 给被主程序引用的类库项目中的 Telerik NuGet 引用增加了 PrivateAssets="all" 属性,隔离输出目录中 Telerik DLL 数量从原先主输出目录的 67 个 降到 16 个 2026-06-05 14:15:24 +08:00
QI Mingxuan bb704d5001 射线源 XP.Hardware.RaySource 优化 Implementations中Comet和Hamamatsu的文件夹分类,修改命名空间,新增Config配置项目和对应加载等。 2026-06-04 14:47:30 +08:00
QI Mingxuan 98bab34d2c 射线源 XP.Hardware.RaySource 新增 Hamamatsu MFX 射线源集成实现,实现RS-232 串口通讯和策略实现(初始化、射线控制、电压电流、焦斑、暖机、自检、错误检测、不适用方法安全降级),新增 Hamamatsu 专用配置字段,添加 "Hamamatsu" 工厂分支等。 2026-06-04 14:14:50 +08:00
zhengxuan.zhang de4a7121db 虚拟模式下 跳过联锁(Interlock)检查,因为虚拟模式没有真实安全门信 2026-05-21 17:15:27 +08:00
zhengxuan.zhang 43d0e7fa89 feat: 硬件虚拟化与CNC联动集成 - 运动控制/射线源模拟实现,CNC执行联动增强 2026-05-21 16:02:53 +08:00
QI Mingxuan e9596b013a 修复运动控制问题:ExecuteToggleEnable 在 PLC 写入失败或异常时回滚 IsJoystickEnabled 状态;OnPlcConnectionChanged 中改为 new List<>(dict.Keys) 遍历副本,避免潜在的集合修改问题;SendSourceDetectorZMoveCommand 新增 sourcePropertyName 参数,根据用户编辑的是 SourceZ 还是 DetectorZ 来决定 delta 计算方向;SavePositionsCommand 增加 () => IsPlcConnected 条件,PLC 未连接时禁止保存。
补充射线源和PLC类库所需配置和信号地址定义文件。
2026-05-11 10:54:29 +08:00
QI Mingxuan bb1b76ee7a 增加射线源探测器Z轴锁定联动功能,增加对应plc信号和配置。 2026-05-07 20:24:55 +08:00
QI Mingxuan cdd1f043e7 优化界面显示:射线源模块紧凑设计,探测器优化布局和大小,优化界面提示和提示。 2026-05-06 17:47:38 +08:00
TianSong 8189e76492 Fix EmguCV针对图像宽不是4的倍数的改变bug修复 2026-04-21 15:30:07 +08:00
TianSong 9af453bc8d 将工程所有的cs文件以及xaml文件的编码格式转换为utf-8编码,请安装vs 2022的Force utf-8(No BOM) 2022插件 2026-04-20 14:38:06 +08:00
QI Mingxuan 2bd6e566c3 将Feature/XP.Common和Feature/XP.Hardware分支合并至Develop/XP.forHardwareAndCommon,完善XPapp注册和相关硬件类库通用类库功能。 2026-04-16 17:31:13 +08:00