{ "component": { "name": "corexy_by_hal", "period": "fixed HAL tick", "pins": [ "j0-motor-pos-cmd", "j1-motor-pos-cmd", "alpha-cmd", "beta-cmd", "alpha-fb", "beta-fb", "j0-motor-pos-fb", "j1-motor-pos-fb" ], "thread": "servo-thread" }, "config_scan": { "alpha_command_to_stepgen": true, "beta_command_to_stepgen": true, "component_command_formula": true, "component_feedback_formula": true, "hal_and_kins_entries_distinct": true, "home_j0_before_transform": true, "home_j1_before_transform": true, "loadrt_component": true, "servo_registration": true }, "home_semantics": { "home_inputs": [ "j0-motor-pos-cmd", "j1-motor-pos-cmd" ], "kins_difference": "corexykins homes motor joints directly", "reason": "corexy_by_hal.hal routes Cartesian trivkins joint commands to j0home/j1home before alpha/beta stepgens", "status": "verified" }, "implementation_status": "verified", "native_wasm": { "byte_identical_json": true, "native": { "command": { "alpha": 4.0, "beta": 2.0, "j0": 6.0, "j1": 2.0 }, "feedback": { "alpha": 4.0, "beta": 1.0, "j0": 5.0, "j1": 3.0 }, "function_calls": 1, "schema": "hal-corexy-sample.v1", "tick": 1 }, "status": "passed", "wasm": { "command": { "alpha": 4.0, "beta": 2.0, "j0": 6.0, "j1": 2.0 }, "feedback": { "alpha": 4.0, "beta": 1.0, "j0": 5.0, "j1": 3.0 }, "function_calls": 1, "schema": "hal-corexy-sample.v1", "tick": 1 } }, "oracle": { "reason": "linuxcnc/unit_tests/kinematics is absent from the locked source", "status": "blocked" }, "report_sha256": "765c8318c48d7570773d22394c625c0d6c479fdf2e98c62fa48296b61e99c238", "schema": "corexy-hal-report.v1", "source_records": { "component": { "path": "linuxcnc/src/hal/components/corexy_by_hal.comp", "sha256": "7cb585058976198779600ee1d27f6b4e225a89c1c6ebcc7ba699291c9463e5a8" }, "hal": { "path": "linuxcnc/configs/sim/axis/corexy/corexy_by_hal.hal", "sha256": "1199dbb80147dc3c5820833c322e9f0d9ba94ed866b1ef6d00425ad90e3156a1" }, "hal_header": { "path": "wasm-core/include/sim_hal.h", "sha256": "f0b25fda1c267ed8078469c9966fa3b09721eba77c575affea77d489437a3e49" }, "hal_source": { "path": "wasm-core/src/sim_hal.c", "sha256": "76a057064546a8ee9ba1098952755a4cdc56e6e714f2761b8a1826898d3ae621" }, "hal_test": { "path": "wasm-core/tests/sim_hal_test.c", "sha256": "5044ed422b37499291ff85fd7c601acc6665621cf33e9ff4d26f0e8fd5b7d533" }, "ini": { "path": "linuxcnc/configs/sim/axis/corexy/corexy_by_hal.ini", "sha256": "e838da30ce5fba2d049487d48bd2aeff46b1390a5a448f31980d9ce06121740f" }, "kins_ini": { "path": "linuxcnc/configs/sim/axis/corexy/corexy_by_kins.ini", "sha256": "b6682cc5186944a44c2aa78501c4f350e56b4da1151348fa9fc3ece5f0eeea3a" } }, "status": "partial", "transform": { "command": { "alpha": "0.5*(j0+j1)", "beta": "0.5*(j0-j1)" }, "direction": "verified against LinuxCNC corexy_by_hal.comp", "feedback": { "j0": "alpha+beta", "j1": "alpha-beta" }, "sample": { "alpha": 4.0, "alpha_fb": 4.0, "beta": 2.0, "beta_fb": 1.0, "j0": 6.0, "j0_fb": 5.0, "j1": 2.0, "j1_fb": 3.0 } } }