Implement WebAssembly runtime and kinematics coverage
This commit is contained in:
105
coverage/fiveaxis-kinematics.report.json
Normal file
105
coverage/fiveaxis-kinematics.report.json
Normal file
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"boundary": {
|
||||
"duplicate_axis_suffix": "verified",
|
||||
"missing_required_coordinate": "SIM_KIN_ERR_CONFIGURATION verified",
|
||||
"pivot_length": "250.0 verified",
|
||||
"round_trip": "verified",
|
||||
"state_hash": "native/WASM identical"
|
||||
},
|
||||
"configuration": {
|
||||
"coordinates": "xyzbcwy",
|
||||
"duplicate_axis": "Y at joint 1 and suffix joint 6; first-wins mapping with suffix synchronized",
|
||||
"joints": 7,
|
||||
"kinematics": "5axiskins",
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axis.ini",
|
||||
"pivot_length_default": 250.0,
|
||||
"required_coordinates": "XYZBCW",
|
||||
"scan": {
|
||||
"joint_count": true,
|
||||
"kins_entry": true,
|
||||
"pivot_pin": true
|
||||
}
|
||||
},
|
||||
"formula": {
|
||||
"forward": "X=JX+r*sin(180-B)*cos(C), Y=JY+r*sin(180-B)*sin(C), Z=JZ+pivot+r*cos(180-B)",
|
||||
"inverse": "subtract the same spherical vector, then map pose to coordinates",
|
||||
"source_contains_required_coordinates": true,
|
||||
"source_spherical_helper": "s2r"
|
||||
},
|
||||
"implementation_status": "verified",
|
||||
"native_wasm": {
|
||||
"native_command": "build-native/sim_kinematics_test",
|
||||
"status": "passed",
|
||||
"wasm_command": "node build-wasm/sim_kinematics_wasm_test.js"
|
||||
},
|
||||
"oracle": {
|
||||
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source",
|
||||
"status": "blocked"
|
||||
},
|
||||
"report_sha256": "d0af8c3785d87bedd869d235f45b9d522434589a26794113b1acf8526982dde0",
|
||||
"sample": {
|
||||
"byte_identical_json": true,
|
||||
"native": {
|
||||
"inverse": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0,
|
||||
35.0,
|
||||
40.0,
|
||||
-2.0,
|
||||
20.0
|
||||
],
|
||||
"pose": [
|
||||
118.967490359,
|
||||
111.434580971,
|
||||
76.850293016
|
||||
],
|
||||
"state_hash": 5053227094931014129
|
||||
},
|
||||
"wasm": {
|
||||
"inverse": [
|
||||
10.0,
|
||||
20.0,
|
||||
30.0,
|
||||
35.0,
|
||||
40.0,
|
||||
-2.0,
|
||||
20.0
|
||||
],
|
||||
"pose": [
|
||||
118.967490359,
|
||||
111.434580971,
|
||||
76.850293016
|
||||
],
|
||||
"state_hash": 5053227094931014129
|
||||
}
|
||||
},
|
||||
"schema": "fiveaxis-kinematics-report.v1",
|
||||
"source_records": {
|
||||
"config": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axis.ini",
|
||||
"sha256": "789ba656f8ee3e97feba07b58eb242305898e745795891b1a7e536289bffe6bf"
|
||||
},
|
||||
"hal": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axisgui.hal",
|
||||
"sha256": "a59e6b9432c0a898f6d8da46309b868733a906158733fb0942017d14eb97cd07"
|
||||
},
|
||||
"header": {
|
||||
"path": "wasm-core/include/sim_kinematics.h",
|
||||
"sha256": "db16293ec3645559a0be71a40963693f3d1e3f5fdedc92902be19b47f653dfa8"
|
||||
},
|
||||
"source": {
|
||||
"path": "linuxcnc/src/emc/kinematics/5axiskins.c",
|
||||
"sha256": "2e29fee21936cfbbafbb000290276e4b32eaba4831014e08d3fb833f2b3dac72"
|
||||
},
|
||||
"source_impl": {
|
||||
"path": "wasm-core/src/sim_kinematics.c",
|
||||
"sha256": "7a77915c59f190bcbe5c93d8f53498745bfcf978c167ba8878a21b914f9401fd"
|
||||
},
|
||||
"test": {
|
||||
"path": "wasm-core/tests/sim_kinematics_test.c",
|
||||
"sha256": "ceeb8b4100d034d76e70ce675d78b2d62c51e8e70be2205a9c8ae02e105a6aa6"
|
||||
}
|
||||
},
|
||||
"status": "partial"
|
||||
}
|
||||
Reference in New Issue
Block a user