93 lines
2.3 KiB
JSON
93 lines
2.3 KiB
JSON
{
|
|
"axis_order": {
|
|
"A": 3,
|
|
"B": 4,
|
|
"C": 5,
|
|
"U": 6,
|
|
"V": 7,
|
|
"W": 8,
|
|
"X": 0,
|
|
"Y": 1,
|
|
"Z": 2
|
|
},
|
|
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
|
"contract_sha256": "f79ad4af7f460b0d544d835fa63fe331d7c39907d7394edba1c7a3cbef612874",
|
|
"error_cases": [
|
|
"null_config",
|
|
"null_pose",
|
|
"nonfinite_joint",
|
|
"nonfinite_pose",
|
|
"joint_count_mismatch",
|
|
"enabled_limit_violation",
|
|
"invalid_coordinate",
|
|
"inverse_only_forward",
|
|
"forward_only_inverse"
|
|
],
|
|
"inputs": {
|
|
"header": "/home/mes006/linuxcncWebWASM/wasm-core/include/sim_kinematics.h",
|
|
"header_sha256": "db16293ec3645559a0be71a40963693f3d1e3f5fdedc92902be19b47f653dfa8",
|
|
"source": "/home/mes006/linuxcncWebWASM/wasm-core/src/sim_kinematics.c",
|
|
"source_sha256": "7a77915c59f190bcbe5c93d8f53498745bfcf978c167ba8878a21b914f9401fd"
|
|
},
|
|
"sample_mappings": [
|
|
{
|
|
"axis_joint": {
|
|
"X": 0,
|
|
"Y": 1,
|
|
"Z": 2
|
|
},
|
|
"coordinates": "XYZ"
|
|
},
|
|
{
|
|
"axis_joint": {
|
|
"X": 0,
|
|
"Y": 1,
|
|
"Z": 3
|
|
},
|
|
"coordinates": "XYYZ",
|
|
"duplicate": {
|
|
"axis": "Y",
|
|
"copies": [
|
|
2
|
|
],
|
|
"owner": 1
|
|
}
|
|
},
|
|
{
|
|
"axis_joint": {
|
|
"X": 0,
|
|
"Y": 1,
|
|
"Z": 3
|
|
},
|
|
"case_fold": true,
|
|
"coordinates": "xyyz"
|
|
},
|
|
{
|
|
"axis_joint": {
|
|
"A": 3,
|
|
"B": 4,
|
|
"C": 5,
|
|
"U": 6,
|
|
"V": 7,
|
|
"W": 8,
|
|
"X": 0,
|
|
"Y": 1,
|
|
"Z": 2
|
|
},
|
|
"coordinates": "XYZABCUVW"
|
|
}
|
|
],
|
|
"schema": "kinematics-mapping-contract.v1",
|
|
"semantics": {
|
|
"coordinate_case": "ASCII case-fold to uppercase",
|
|
"duplicate_axis": "first occurrence owns axis; later duplicates copy the first joint during inverse",
|
|
"extra_joints": "coordinates may repeat and joint_count remains authoritative",
|
|
"forward": "joint-to-pose uses mapped first joint for each axis",
|
|
"home": "zeroes all configured joints, then computes forward pose",
|
|
"inverse": "pose-to-joint initializes all joints then fills duplicates deterministically",
|
|
"limits": "enabled inclusive min/max; violation returns SIM_KIN_ERR_RANGE",
|
|
"state_hash": "includes config bytes, configured joint prefix and pose bytes"
|
|
},
|
|
"status": "verified"
|
|
}
|