288 lines
7.0 KiB
JSON
288 lines
7.0 KiB
JSON
{
|
|
"boundaries": {
|
|
"estop_command": -904,
|
|
"estop_recovery_before_clear": -904,
|
|
"fault_clear_while_asserted": -905,
|
|
"invalid_pin_type": -304,
|
|
"probe_state": 2,
|
|
"probe_trigger": 0,
|
|
"recovery": 0,
|
|
"spindle_limit": -906,
|
|
"state_hash_stable": true,
|
|
"tool_change_while_spinning": -910
|
|
},
|
|
"implementation_status": "verified",
|
|
"native_wasm": {
|
|
"native_command": "build-native/sim_io_test",
|
|
"status": "passed",
|
|
"wasm_command": "node build-wasm/sim_io_wasm_test.js"
|
|
},
|
|
"oracle": {
|
|
"blocked_samples": [
|
|
"spindle acceleration/at-speed",
|
|
"spindle orient",
|
|
"tool prepare/change",
|
|
"tool abort/fault/recovery",
|
|
"probe pose latch",
|
|
"estop and recovery"
|
|
],
|
|
"reason": "locked LinuxCNC source has no linuxcnc/unit_tests/kinematics oracle root and no browser IO oracle",
|
|
"status": "blocked"
|
|
},
|
|
"pipeline": {
|
|
"kinematics_association": "probe latch consumes the motion feedback pose; tool change requires stopped spindle; estop cancels motion-facing IO",
|
|
"probe": [
|
|
"arm",
|
|
"input_edge",
|
|
"forward_pose_latch",
|
|
"trip_or_disarm"
|
|
],
|
|
"spindle": [
|
|
"command",
|
|
"inhibit_or_fault_gate",
|
|
"acceleration_limit",
|
|
"at_speed_and_brake",
|
|
"revs_and_index"
|
|
],
|
|
"tool": [
|
|
"prepare",
|
|
"prepared_ack",
|
|
"spindle_stopped_gate",
|
|
"change",
|
|
"changed_ack",
|
|
"abort_or_fault"
|
|
]
|
|
},
|
|
"registration": {
|
|
"fixed_tick": true,
|
|
"hal_pins": [
|
|
"spindle.0.*",
|
|
"spindle.1.*",
|
|
"iocontrol.0.tool-*",
|
|
"motion.probe-input"
|
|
],
|
|
"scheduler": "sim-io-servo",
|
|
"spindle_capacity": 8,
|
|
"tool_pocket_capacity": 1001
|
|
},
|
|
"report_sha256": "82a4b09badb2fcbcd248a0624b7b3a4e70c697f4040bd9250ac4831799c63af6",
|
|
"samples": {
|
|
"byte_identical_json": true,
|
|
"native": {
|
|
"canonical": {
|
|
"estop": 0,
|
|
"fault": 0,
|
|
"fault_reason": 0,
|
|
"last_error": 0,
|
|
"probe": {
|
|
"input": 1,
|
|
"position": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"state": 2,
|
|
"tick": 40,
|
|
"tripped": 1
|
|
},
|
|
"ready": 1,
|
|
"recovery_epoch": 1,
|
|
"spindles": [
|
|
{
|
|
"at_speed": 1,
|
|
"brake": 1,
|
|
"command_rpm": 0,
|
|
"forward": 0,
|
|
"reverse": 0,
|
|
"speed_rpm": 0,
|
|
"tick": 40
|
|
},
|
|
{
|
|
"at_speed": 1,
|
|
"brake": 1,
|
|
"command_rpm": 0,
|
|
"forward": 0,
|
|
"reverse": 0,
|
|
"speed_rpm": 0,
|
|
"tick": 40
|
|
}
|
|
],
|
|
"tick": 40,
|
|
"tool": {
|
|
"changed": 0,
|
|
"current": 7,
|
|
"prepare": 0,
|
|
"prepared": 0,
|
|
"prepared_pocket": 3,
|
|
"prepared_tool": 7,
|
|
"state": 0
|
|
}
|
|
},
|
|
"estop": {
|
|
"command": -904,
|
|
"recover": 0,
|
|
"recover_before_clear": -904
|
|
},
|
|
"pin": {
|
|
"count": 67,
|
|
"functions": 1,
|
|
"invalid_type": -304
|
|
},
|
|
"probe": {
|
|
"position": [
|
|
1.0,
|
|
2.0,
|
|
3.0
|
|
],
|
|
"state": 2,
|
|
"status": 0
|
|
},
|
|
"repeat_hash": 3758173594264074653,
|
|
"schema": "io-samples.v1",
|
|
"spindle": {
|
|
"at_speed": 1,
|
|
"limit": -906,
|
|
"speed": 0.0,
|
|
"step": 0,
|
|
"tool_busy": -910
|
|
},
|
|
"state_hash": 3758173594264074653,
|
|
"tool": {
|
|
"current": 7,
|
|
"fault_clear": -905,
|
|
"state": 0
|
|
}
|
|
},
|
|
"state_hash_identical": true,
|
|
"wasm": {
|
|
"canonical": {
|
|
"estop": 0,
|
|
"fault": 0,
|
|
"fault_reason": 0,
|
|
"last_error": 0,
|
|
"probe": {
|
|
"input": 1,
|
|
"position": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"state": 2,
|
|
"tick": 40,
|
|
"tripped": 1
|
|
},
|
|
"ready": 1,
|
|
"recovery_epoch": 1,
|
|
"spindles": [
|
|
{
|
|
"at_speed": 1,
|
|
"brake": 1,
|
|
"command_rpm": 0,
|
|
"forward": 0,
|
|
"reverse": 0,
|
|
"speed_rpm": 0,
|
|
"tick": 40
|
|
},
|
|
{
|
|
"at_speed": 1,
|
|
"brake": 1,
|
|
"command_rpm": 0,
|
|
"forward": 0,
|
|
"reverse": 0,
|
|
"speed_rpm": 0,
|
|
"tick": 40
|
|
}
|
|
],
|
|
"tick": 40,
|
|
"tool": {
|
|
"changed": 0,
|
|
"current": 7,
|
|
"prepare": 0,
|
|
"prepared": 0,
|
|
"prepared_pocket": 3,
|
|
"prepared_tool": 7,
|
|
"state": 0
|
|
}
|
|
},
|
|
"estop": {
|
|
"command": -904,
|
|
"recover": 0,
|
|
"recover_before_clear": -904
|
|
},
|
|
"pin": {
|
|
"count": 67,
|
|
"functions": 1,
|
|
"invalid_type": -304
|
|
},
|
|
"probe": {
|
|
"position": [
|
|
1.0,
|
|
2.0,
|
|
3.0
|
|
],
|
|
"state": 2,
|
|
"status": 0
|
|
},
|
|
"repeat_hash": 3758173594264074653,
|
|
"schema": "io-samples.v1",
|
|
"spindle": {
|
|
"at_speed": 1,
|
|
"limit": -906,
|
|
"speed": 0.0,
|
|
"step": 0,
|
|
"tool_busy": -910
|
|
},
|
|
"state_hash": 3758173594264074653,
|
|
"tool": {
|
|
"current": 7,
|
|
"fault_clear": -905,
|
|
"state": 0
|
|
}
|
|
}
|
|
},
|
|
"schema": "io-runtime-report.v1",
|
|
"source_records": {
|
|
"hal_header": {
|
|
"path": "wasm-core/include/sim_hal.h",
|
|
"sha256": "3dd7230316e557d1a129a9a80a26a109b837a318b092657b8bee0d53a5e57db9"
|
|
},
|
|
"hal_source": {
|
|
"path": "wasm-core/src/sim_hal.c",
|
|
"sha256": "76a057064546a8ee9ba1098952755a4cdc56e6e714f2761b8a1826898d3ae621"
|
|
},
|
|
"io_header": {
|
|
"path": "wasm-core/include/sim_io.h",
|
|
"sha256": "d84e9ab0bcf9ff138f8c8a57b28337605d731ff796577a8ab748d708f97daf9b"
|
|
},
|
|
"io_source": {
|
|
"path": "wasm-core/src/sim_io.c",
|
|
"sha256": "2ceacdb168a1f6dddb36761b93f62e4c39b3a6249c0a91a740ecf924dce217b3"
|
|
},
|
|
"linuxcnc_control": {
|
|
"path": "linuxcnc/src/emc/motion/control.c",
|
|
"sha256": "fa1b14689e2e4493c02d0939f982278366d4c1888da62e172cec030904c82c50"
|
|
},
|
|
"linuxcnc_iocontrol": {
|
|
"path": "linuxcnc/src/emc/iotask/ioControl.cc",
|
|
"sha256": "f2f7d4f8a0e77815ca1ffb1ba2699b9d2ffa4297c8ec7718aadd197fe6ca06a9"
|
|
},
|
|
"linuxcnc_iocontrol_v2": {
|
|
"path": "linuxcnc/src/emc/iotask/ioControl_v2.cc",
|
|
"sha256": "a33bcddcdcbcda843166bd547f7c7a5dfc7f9436426c5354f7124f42f6f75e5c"
|
|
},
|
|
"linuxcnc_motion": {
|
|
"path": "linuxcnc/src/emc/motion/motion.c",
|
|
"sha256": "c3d1404150b56cfb03ab35ecdf64694d60a6d37117d0617a8464d548133e79d3"
|
|
},
|
|
"linuxcnc_sim_spindle": {
|
|
"path": "linuxcnc/src/hal/components/sim_spindle.comp",
|
|
"sha256": "a1ce30a051490c5f40adc968a693930464dfbe59c9df1848c296689179b11365"
|
|
},
|
|
"test": {
|
|
"path": "wasm-core/tests/sim_io_test.c",
|
|
"sha256": "46923ff49c55576692e660d1af37e43bd6c1aff184ae2a2d5ca9201dd969ccfe"
|
|
}
|
|
},
|
|
"status": "partial"
|
|
}
|