以硬件库层面运动硬件轴定义为准,同步修改appstate, 包括CNC 节点属性面板和 XP导出

This commit is contained in:
zhengxuan.zhang
2026-05-06 17:11:35 +08:00
parent 1ef876db2c
commit aeef1feee3
11 changed files with 350 additions and 222 deletions
+23 -19
View File
@@ -20,21 +20,25 @@ namespace XplorePlane.Tests.Models
public void MotionState_Default_AllZeros()
{
var state = MotionState.Default;
_output.WriteLine($"MotionState.Default: XM={state.XM}, YM={state.YM}, ZT={state.ZT}, ZD={state.ZD}, TiltD={state.TiltD}, Dist={state.Dist}");
_output.WriteLine($" Speeds: XM={state.XMSpeed}, YM={state.YMSpeed}, ZT={state.ZTSpeed}, ZD={state.ZDSpeed}, TiltD={state.TiltDSpeed}, Dist={state.DistSpeed}");
_output.WriteLine($"MotionState.Default: StageX={state.StageX}, StageY={state.StageY}, SourceZ={state.SourceZ}, DetectorZ={state.DetectorZ}, DetectorSwing={state.DetectorSwing}, FDD={state.FDD}");
_output.WriteLine($" Speeds: StageX={state.StageXSpeed}, StageY={state.StageYSpeed}, SourceZ={state.SourceZSpeed}, DetectorZ={state.DetectorZSpeed}, DetectorSwing={state.DetectorSwingSpeed}, FDD={state.FDDSpeed}");
Assert.Equal(0, state.XM);
Assert.Equal(0, state.YM);
Assert.Equal(0, state.ZT);
Assert.Equal(0, state.ZD);
Assert.Equal(0, state.TiltD);
Assert.Equal(0, state.Dist);
Assert.Equal(0, state.XMSpeed);
Assert.Equal(0, state.YMSpeed);
Assert.Equal(0, state.ZTSpeed);
Assert.Equal(0, state.ZDSpeed);
Assert.Equal(0, state.TiltDSpeed);
Assert.Equal(0, state.DistSpeed);
Assert.Equal(0, state.StageX);
Assert.Equal(0, state.StageY);
Assert.Equal(0, state.SourceZ);
Assert.Equal(0, state.DetectorZ);
Assert.Equal(0, state.DetectorSwing);
Assert.Equal(0, state.FDD);
Assert.Equal(0, state.StageXSpeed);
Assert.Equal(0, state.StageYSpeed);
Assert.Equal(0, state.SourceZSpeed);
Assert.Equal(0, state.DetectorZSpeed);
Assert.Equal(0, state.DetectorSwingSpeed);
Assert.Equal(0, state.FDDSpeed);
Assert.Equal(0, state.StageRotation);
Assert.Equal(0, state.FixtureRotation);
Assert.Equal(0, state.FOD);
Assert.Equal(0, state.Magnification);
}
[Fact]
@@ -116,15 +120,15 @@ namespace XplorePlane.Tests.Models
public void MotionState_WithExpression_ProducesNewInstance()
{
var original = MotionState.Default;
var modified = original with { XM = 100 };
_output.WriteLine($"Original.XM={original.XM}, Modified.XM={modified.XM}, SameRef={ReferenceEquals(original, modified)}");
var modified = original with { StageX = 100 };
_output.WriteLine($"Original.StageX={original.StageX}, Modified.StageX={modified.StageX}, SameRef={ReferenceEquals(original, modified)}");
// New instance is different from original
Assert.NotSame(original, modified);
Assert.Equal(100, modified.XM);
Assert.Equal(100, modified.StageX);
// Original is unchanged
Assert.Equal(0, original.XM);
Assert.Equal(0, original.StageX);
}
// ── CalibrationMatrix Transform Tests ─────────────────────────
@@ -168,4 +172,4 @@ namespace XplorePlane.Tests.Models
Assert.Equal(0, z, precision: 10);
}
}
}
}