Heidenhain: Tool/Number, Tool/Index and Tool/AxisCode published as Double instead of Int64/Int32 #867
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found by the #829 live gate on 2026-11-11 against four real iTNC 530 controls. In
HeidenhainSession.Leaf, thecase Lsv2Tool tswitch arms mixlong,intanddouble?. C# unifies them todouble?, so OPC UA clients receive Double values on nodes that advertise Int64/Int32. The neighbouring Program case avoids this with an(object)cast.The unit test
Tool_without_geometry_is_not_supported_not_zerodoesn't catch it, because Shouldly treats 7.0 as equal to 7L, andotopcua-cliprints 49 either way.Fix: cast to object per arm, and add a test that asserts the runtime type of the value. Recheck live (read-only).
Done. Tool/Number is Int64 and Tool/Index and Tool/AxisCode are Int32. A runtime-type test now covers every leaf, and a new live test was verified read-only on Hermle59 and Hermle70. Pushed to master in
e857135e..7a27ef1f; full suite green (20 projects, 0 failures, 0 warnings).