Advance simulation parity and 3-axis tutorial coverage
This commit is contained in:
472
coverage/axis3-tutorial-resource-graph.report.json
Normal file
472
coverage/axis3-tutorial-resource-graph.report.json
Normal file
@@ -0,0 +1,472 @@
|
||||
{
|
||||
"boundaries": [
|
||||
"only this case is in scope",
|
||||
"exact paths are retained; basename substitution is forbidden",
|
||||
"host Python process is replaced by a source-mapped Web Vismach adapter",
|
||||
"real hardware and realtime scheduling are outside this pure simulation case"
|
||||
],
|
||||
"capabilities": {
|
||||
"./3axis-tutorial": "WEB-EQUIV",
|
||||
"axis": "WEB-EQUIV",
|
||||
"hal_manualtoolchange": "SIM-ADAPTER",
|
||||
"trivkins": "SIM-CORE",
|
||||
"vismach_model": "WEB-EQUIV"
|
||||
},
|
||||
"case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial",
|
||||
"entrypoint": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
|
||||
"hal_entries": [
|
||||
{
|
||||
"command": "loadrt",
|
||||
"line": 5,
|
||||
"raw": "loadrt [KINS]KINEMATICS",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "loadrt",
|
||||
"line": 8,
|
||||
"raw": "loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "loadrt",
|
||||
"line": 10,
|
||||
"raw": "loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "loadrt",
|
||||
"line": 12,
|
||||
"raw": "loadrt hypot names=vel_xy,vel_xyz",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "addf",
|
||||
"line": 15,
|
||||
"raw": "addf motion-command-handler servo-thread",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "addf",
|
||||
"line": 16,
|
||||
"raw": "addf motion-controller servo-thread",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "addf",
|
||||
"line": 18,
|
||||
"raw": "addf ddt_x servo-thread",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "addf",
|
||||
"line": 19,
|
||||
"raw": "addf ddt_xv servo-thread",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "addf",
|
||||
"line": 20,
|
||||
"raw": "addf ddt_y servo-thread",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "addf",
|
||||
"line": 21,
|
||||
"raw": "addf ddt_yv servo-thread",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "addf",
|
||||
"line": 22,
|
||||
"raw": "addf ddt_z servo-thread",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "addf",
|
||||
"line": 23,
|
||||
"raw": "addf ddt_zv servo-thread",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "addf",
|
||||
"line": 24,
|
||||
"raw": "addf vel_xy servo-thread",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "addf",
|
||||
"line": 25,
|
||||
"raw": "addf vel_xyz servo-thread",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 29,
|
||||
"raw": "net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 30,
|
||||
"raw": "net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 31,
|
||||
"raw": "net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 35,
|
||||
"raw": "net Xvel ddt_x.out => ddt_xv.in vel_xy.in0",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 36,
|
||||
"raw": "net Xacc <= ddt_xv.out",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 37,
|
||||
"raw": "net Yvel ddt_y.out => ddt_yv.in vel_xy.in1",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 38,
|
||||
"raw": "net Yacc <= ddt_yv.out",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 39,
|
||||
"raw": "net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 40,
|
||||
"raw": "net Zacc <= ddt_zv.out",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 43,
|
||||
"raw": "net XYvel vel_xy.out => vel_xyz.in1",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 44,
|
||||
"raw": "net XYZvel <= vel_xyz.out",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 47,
|
||||
"raw": "net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "loadusr",
|
||||
"line": 49,
|
||||
"raw": "loadusr -W hal_manualtoolchange",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 50,
|
||||
"raw": "net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 51,
|
||||
"raw": "net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 52,
|
||||
"raw": "net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 53,
|
||||
"raw": "net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "loadusr",
|
||||
"line": 56,
|
||||
"raw": "loadusr -W ./3axis-tutorial",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 59,
|
||||
"raw": "net j0 joint.0.pos-fb => 3axis-tutorial.jointX",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 60,
|
||||
"raw": "net j1 joint.1.pos-fb => 3axis-tutorial.jointY",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 61,
|
||||
"raw": "net j2 joint.2.pos-fb => 3axis-tutorial.jointZ",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 64,
|
||||
"raw": "net tool_len 3axis-tutorial.toollength <= motion.tooloffset.z",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"command": "net",
|
||||
"line": 65,
|
||||
"raw": "net tool_rad halui.tool.diameter 3axis-tutorial.tooldiameter",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal"
|
||||
}
|
||||
],
|
||||
"ini_entries": [
|
||||
{
|
||||
"key": "VERSION",
|
||||
"line": 14,
|
||||
"section": "EMC",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
|
||||
"value": "1.0"
|
||||
},
|
||||
{
|
||||
"key": "DISPLAY",
|
||||
"line": 27,
|
||||
"section": "DISPLAY",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
|
||||
"value": "axis"
|
||||
},
|
||||
{
|
||||
"key": "INTRO_GRAPHIC",
|
||||
"line": 48,
|
||||
"section": "DISPLAY",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
|
||||
"value": "linuxcnc.gif"
|
||||
},
|
||||
{
|
||||
"key": "PARAMETER_FILE",
|
||||
"line": 69,
|
||||
"section": "RS274NGC",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
|
||||
"value": "3axis-tutorial_mm.var"
|
||||
},
|
||||
{
|
||||
"key": "HALFILE",
|
||||
"line": 105,
|
||||
"section": "HAL",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
|
||||
"value": "3axis-tutorial.hal"
|
||||
},
|
||||
{
|
||||
"key": "COORDINATES",
|
||||
"line": 126,
|
||||
"section": "TRAJ",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
|
||||
"value": "X Y Z"
|
||||
},
|
||||
{
|
||||
"key": "TOOL_TABLE",
|
||||
"line": 154,
|
||||
"section": "EMCIO",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
|
||||
"value": "tool.tbl"
|
||||
},
|
||||
{
|
||||
"key": "KINEMATICS",
|
||||
"line": 159,
|
||||
"section": "KINS",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
|
||||
"value": "trivkins"
|
||||
},
|
||||
{
|
||||
"key": "JOINTS",
|
||||
"line": 161,
|
||||
"section": "KINS",
|
||||
"source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
|
||||
"value": "3"
|
||||
}
|
||||
],
|
||||
"report_sha256": "fde31d4730cfd8a3345a550d32983c30ea9515493902a68b151352438de10c62",
|
||||
"runtime_generated": [
|
||||
{
|
||||
"kind": "parameter_file",
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial_mm.var",
|
||||
"policy": "missing file starts with zero defaults and is created/updated at runtime",
|
||||
"source": "linuxcnc/src/emc/rs274ngc/rs274ngc_pre.cc::restore_parameters/save_parameters"
|
||||
},
|
||||
{
|
||||
"kind": "parameter_backup",
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial_mm.var.bak",
|
||||
"policy": "native backup created on parameter save",
|
||||
"source": "linuxcnc/src/emc/rs274ngc/rs274ngc_pre.cc::save_parameters"
|
||||
},
|
||||
{
|
||||
"kind": "position_file",
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/position_mm.txt",
|
||||
"policy": "runtime position persistence; not a source fixture",
|
||||
"source": "3axis-tutorial.ini:[TRAJ]POSITION_FILE"
|
||||
}
|
||||
],
|
||||
"schema": "axis3-tutorial-resource-graph.v1",
|
||||
"shared_assets": [
|
||||
{
|
||||
"configured_value": "linuxcnc.gif",
|
||||
"resolved_path": "linuxcnc/linuxcnc.gif",
|
||||
"scope": "DISPLAY.INTRO_GRAPHIC only"
|
||||
}
|
||||
],
|
||||
"source_files": [
|
||||
{
|
||||
"bytes": 5349,
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
|
||||
"role": "case_source",
|
||||
"sha256": "b801d4fb7a3d66fac7a4202d56c384f75b039f55c70cce64c2975c5454875388",
|
||||
"status": "present"
|
||||
},
|
||||
{
|
||||
"bytes": 2447,
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal",
|
||||
"role": "case_source",
|
||||
"sha256": "6c01e40c2244d3b534c0d3c60f26a9cdc5232defc79611234c78477209cfda1f",
|
||||
"status": "present"
|
||||
},
|
||||
{
|
||||
"bytes": 10203,
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial",
|
||||
"role": "case_source",
|
||||
"sha256": "da5f8266cecd79cdeaa01bf07c4fba17d5c748ccc7dedfc7efdf0354deee9cc7",
|
||||
"status": "present"
|
||||
},
|
||||
{
|
||||
"bytes": 115,
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/tool.tbl",
|
||||
"role": "case_source",
|
||||
"sha256": "6a1736d9a44a30e62d7a8be4df960adc909e7ef026af10ab8e8abf6a613ce4ea",
|
||||
"status": "present"
|
||||
},
|
||||
{
|
||||
"bytes": 8718,
|
||||
"path": "linuxcnc/linuxcnc.gif",
|
||||
"role": "source_dependency",
|
||||
"sha256": "6c6da4afc3ecdc1b812dd6878318da0120996bd6889b4dd2ddb480b905d9f4b1",
|
||||
"status": "present"
|
||||
},
|
||||
{
|
||||
"bytes": 33242,
|
||||
"path": "linuxcnc/lib/python/vismach.py",
|
||||
"role": "source_dependency",
|
||||
"sha256": "e3b317eb8f4b17428ae0127850681c947fd3aecac4d23938d21449defe0d6998",
|
||||
"status": "present"
|
||||
},
|
||||
{
|
||||
"bytes": 2332,
|
||||
"path": "linuxcnc/lib/python/hal.py",
|
||||
"role": "source_dependency",
|
||||
"sha256": "cb5ea7bae18114d17961d929ec0ce65f96a7bd5188e3181da7bc650d82ae4b39",
|
||||
"status": "present"
|
||||
},
|
||||
{
|
||||
"bytes": 2274,
|
||||
"path": "linuxcnc/lib/hallib/basic_sim.tcl",
|
||||
"role": "source_dependency",
|
||||
"sha256": "d9851b0a8861e6d66de745a8ae230d4b38b65c34f8b05bdb6705792d2d4050be",
|
||||
"status": "present"
|
||||
},
|
||||
{
|
||||
"bytes": 16117,
|
||||
"path": "linuxcnc/src/libnml/inifile/inifile.cc",
|
||||
"role": "source_dependency",
|
||||
"sha256": "7defe6abe023a1741bb465c05de09d529c0750c34dcd80d57be962c5cbea71c0",
|
||||
"status": "present"
|
||||
},
|
||||
{
|
||||
"bytes": 94199,
|
||||
"path": "linuxcnc/src/emc/rs274ngc/rs274ngc_pre.cc",
|
||||
"role": "source_dependency",
|
||||
"sha256": "73935d127557c0e8f9da6267f629351ec5198fbce05c665c678819383901d61b",
|
||||
"status": "present"
|
||||
}
|
||||
],
|
||||
"status": "verified",
|
||||
"task_id": "TUTORIAL-01",
|
||||
"vismach_python": {
|
||||
"component": [
|
||||
"3axis-tutorial"
|
||||
],
|
||||
"imports": [
|
||||
[
|
||||
"vismach",
|
||||
""
|
||||
],
|
||||
[
|
||||
"",
|
||||
"hal"
|
||||
],
|
||||
[
|
||||
"",
|
||||
"math"
|
||||
],
|
||||
[
|
||||
"",
|
||||
"sys"
|
||||
],
|
||||
[
|
||||
"",
|
||||
"linuxcnc"
|
||||
]
|
||||
],
|
||||
"model_symbols": [
|
||||
"HalTranslate",
|
||||
"HalToolCylinder",
|
||||
"CylinderZ",
|
||||
"Capture",
|
||||
"Collection",
|
||||
"main"
|
||||
],
|
||||
"pins": [
|
||||
{
|
||||
"direction": "HAL_IN",
|
||||
"name": "jointX",
|
||||
"type": "HAL_FLOAT"
|
||||
},
|
||||
{
|
||||
"direction": "HAL_IN",
|
||||
"name": "jointY",
|
||||
"type": "HAL_FLOAT"
|
||||
},
|
||||
{
|
||||
"direction": "HAL_IN",
|
||||
"name": "jointZ",
|
||||
"type": "HAL_FLOAT"
|
||||
},
|
||||
{
|
||||
"direction": "HAL_IN",
|
||||
"name": "toollength",
|
||||
"type": "HAL_FLOAT"
|
||||
},
|
||||
{
|
||||
"direction": "HAL_IN",
|
||||
"name": "tooldiameter",
|
||||
"type": "HAL_FLOAT"
|
||||
}
|
||||
],
|
||||
"sha256": "da5f8266cecd79cdeaa01bf07c4fba17d5c748ccc7dedfc7efdf0354deee9cc7"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user