Files
linuxcncWebWASM/coverage/io-runtime.report.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"
}