Make machine configuration authoritative and restore native checkpoints exactly

This commit is contained in:
2026-09-18 09:09:41 +08:00
parent 6a69511276
commit 4a568f1f4c
94 changed files with 10882 additions and 301 deletions

168
coverage/recovery/build.log Normal file
View File

@@ -0,0 +1,168 @@
configure: cmake -S /home/mes006/linuxcncWebWASM/wasm-core -B /home/mes006/linuxcncWebWASM/build-wasm -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/usr/share/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/node;--experimental-wasm-threads
-- Configuring done (0.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/mes006/linuxcncWebWASM/build-wasm
[0/2] Re-checking globbed directories...
[1/55] Building C object CMakeFiles/sim_core.dir/src/sim_api.c.o
[2/55] Building C object CMakeFiles/sim_core.dir/src/sim_scheduler.c.o
[3/55] Building C object CMakeFiles/sim_core.dir/src/sim_protocol.c.o
[4/55] Building C object CMakeFiles/sim_core.dir/src/sim_event.c.o
[5/55] Building C object CMakeFiles/sim_core.dir/src/sim_task.c.o
[6/55] Building C object CMakeFiles/sim_core.dir/src/sim_posemath.c.o
[7/55] Building C object CMakeFiles/sim_core.dir/src/sim_device_io.c.o
[8/55] Building C object CMakeFiles/sim_core.dir/src/sim_motion_queue.c.o
[9/55] Building C object CMakeFiles/sim_core.dir/src/sim_switchkins.c.o
[10/55] Building C object CMakeFiles/sim_core.dir/src/sim_linuxcnc_tp.c.o
[11/55] Building C object CMakeFiles/sim_core.dir/src/sim_userkins.c.o
[12/55] Building C object CMakeFiles/sim_core.dir/src/sim_interpreter.c.o
[13/55] Building C object CMakeFiles/sim_core.dir/src/sim_hal.c.o
[14/55] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_registry.c.o
[15/55] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_motion.c.o
[16/55] Building C object CMakeFiles/sim_core.dir/src/sim_program.c.o
[17/55] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_feedback.c.o
[18/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_api.c.o
[19/55] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_home_limit.c.o
[20/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_protocol.c.o
[21/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_event.c.o
[22/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_task.c.o
[23/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_scheduler.c.o
[24/55] Building C object CMakeFiles/sim_core.dir/src/sim_io.c.o
[25/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_posemath.c.o
[26/55] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics.c.o
[27/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_device_io.c.o
[28/55] Linking CXX static library libsim_core.a
[29/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_motion_queue.c.o
[30/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_hal.c.o
[31/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_switchkins.c.o
[32/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_linuxcnc_tp.c.o
[33/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_program.c.o
[34/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_interpreter.c.o
[35/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_kinematics.c.o
[36/55] Linking CXX executable sim_kinematics_registry_wasm_test.js
[37/55] Linking CXX executable sim_hal_wasm_test.js
[38/55] Linking CXX executable sim_kinematics_wasm_test.js
[39/55] Linking CXX executable sim_switchkins_wasm_test.js
[40/55] Linking CXX executable sim_kinematics_motion_wasm_test.js
[41/55] Linking CXX executable sim_userkins_wasm_test.js
[42/55] Linking CXX executable sim_kinematics_feedback_wasm_test.js
[43/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_userkins.c.o
[44/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_kinematics_registry.c.o
[45/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_kinematics_motion.c.o
[46/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_kinematics_feedback.c.o
[47/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_kinematics_home_limit.c.o
[48/55] Linking CXX executable sim_kinematics_home_limit_wasm_test.js
[49/55] Building C object CMakeFiles/sim_core_module.dir/src/sim_io.c.o
[50/55] Linking CXX executable sim_io_wasm_test.js
[51/55] Linking CXX executable sim_device_io_wasm_test.js
[52/55] Linking CXX executable sim_motion_queue_wasm_test.js
[53/55] Linking CXX executable sim_source_unit_adapter_wasm_test.js
[54/55] Linking CXX executable sim_xyzac_trace_wasm_test.js
[55/55] Linking CXX executable linuxcnc-sim-core.js
{"schema":"kinematics-coupled-samples.v1","corexy":{"pose":[4.000000000,2.000000000,3.000000000],"inverse":[6.000000000,2.000000000,3.000000000],"state_hash":15100884384408177781},"rose":{"pose":[-1.969615506,-0.347296355,7.000000000],"inverse":[2.000000000,7.000000000,190.000000000],"branch":1,"state_hash":2438572543122669123},"maxkins":{"pose":[-4.000000000,3.000000000,5.000000000],"inverse":[3.000000000,4.000000000,5.000000000,0.000000000,30.000000000,90.000000000],"state_hash":9619955171041365392},"rotatekins":{"pose":[4.000000000,-3.000000000,5.000000000],"inverse":[3.000000000,4.000000000,5.000000000,0.000000000,0.000000000,90.000000000],"state_hash":4875770340631299468},"fiveaxiskins":{"pose":[118.967490359,111.434580971,76.850293016],"inverse":[10.000000000,20.000000000,30.000000000,35.000000000,40.000000000,-2.000000000,20.000000000],"state_hash":7748142909372720337},"xyzac_trt":{"pose":[142.826706376,9.689621386,163.102540378],"inverse":[100.000000000,50.000000000,200.000000000,30.000000000,45.000000000],"state_hash":13756563895642799233},"xyzbc_trt":{"pose":[44.740352549,25.970325570,227.671759760],"inverse":[100.000000000,50.000000000,200.000000000,30.000000000,45.000000000],"state_hash":16201786080257949760},"scara":{"pose":[590.460310444,130.945742721,465.000000000],"inverse":[-3.644300703,40.000000000,25.000000000,-31.355699297,5.000000000,-3.000000000],"state_hash":16144366080292311245},"puma":{"pose":[450.112320486,207.114833215,-612.180622409],"inverse":[10.000000000,20.000000000,-30.000000000,40.000000000,25.000000000,-15.000000000],"state_hash":3358632253473456540},"scorbot":{"pose":[366.786994761,171.035584569,191.173940759],"inverse":[25.000000000,35.000000000,-20.000000000,10.000000000,-5.000000000],"state_hash":7814353589808450675},"genser":{"pose":[619.051467462,30.411237800,-349.855537721],"inverse":[0.000000000,10.000000000,-20.000000000,29.999999999,15.000000000,-9.999999999],"state_hash":7456282805679296496,"iterations":0,"residual":0.000000000000},"lineardelta":{"pose":[0.000000000,0.000000000,64.636584194],"inverse":[300.000000000,300.000000000,300.000000000],"state_hash":5975346607623231017},"rotarydelta":{"pose":[0.000000000,0.000000000,-3.793360169],"inverse":[10.000000000,10.000000000,10.000000000],"state_hash":2370894419412951220},"tripod":{"pose":[2.000000000,3.000000000,4.000000000],"inverse":[5.385164807,9.433981132,6.447715952],"state_hash":15608486964708188096},"genhex":{"pose":[10.000000000,-5.000000000,60.000000000,4.999999999,-3.000000001,10.000000000],"inverse":[68.274402001,63.007928550,63.783820692,65.475127133,60.456723205,68.231500501],"state_hash":7575268797291078131,"iterations":14,"residual":0.000000000857},"pentapod":{"pose":[0.000000000,500.000000000,300.000000000,0.010000000,-0.010000000],"inverse":[625.895566556,649.261562588,754.767615986,338.490149644,341.118326622],"state_hash":13978136356142463125,"iterations":12,"residual":0.000000001000},"delta_edges":{"lineardelta":{"alternate_status":0,"alternate_branch":1,"alternate_pose":[-0.000000000,-0.000000000,535.363415806],"no_solution":-702,"limit_error":-702,"geometry_error":-703,"branch":0,"iterations":0},"rotarydelta":{"alternate_status":0,"alternate_branch":1,"alternate_pose":[-0.000000000,-0.000000000,0.320396615],"singular":-704,"geometry_error":-703,"branch":0,"iterations":0},"tripod":{"alternate_status":0,"alternate_branch":1,"alternate_pose":[2.000000000,3.000000000,-4.000000000],"no_solution":-702,"singular":-704,"limit_error":-702,"geometry_error":-703,"branch":0,"iterations":0},"genhex":{"alternate_status":0,"alternate_branch":1,"alternate_pose":[10.000000000,-5.000000000,-60.000000000],"nonpositive":-702,"iteration_limit":-702,"max_error":-702,"singular":-704,"limit_error":-702,"branch":0,"iterations":14,"residual":0.000000000857},"pentapod":{"alternate_status":-702,"alternate_branch":1,"alternate_pose":[0.000000000,0.000000000,0.000000000],"alternate_iterations":1,"nonpositive":-702,"nonpositive_iterations":0,"iteration_limit":-702,"iteration_limit_iterations":1,"max_error":-702,"max_error_iterations":1,"singular":-704,"singular_iterations":0,"limit_error":-702,"branch":0,"iterations":12,"residual":0.000000001000}}}
{"schema":"hal-corexy-sample.v1","command":{"j0":6.000,"j1":2.000,"alpha":4.000,"beta":2.000},"feedback":{"alpha":4.000,"beta":1.000,"j0":5.000,"j1":3.000},"tick":1,"function_calls":1,"component_batch":{"gate":1,"constant":3.500,"rollback_tick":1}}
{"schema":"linuxcnc-source-unit-adapter.v1","cases":[{"id":"source-unit:interp/movement-linear","name":"Movement commands / Linear Feed","source":"linuxcnc/unit_tests/interp/test_interp_block.cc","result_hash":16718210192490359486,"status":"PASSED"},{"id":"source-unit:interp/movement-rapid","name":"Movement commands / Rapid","source":"linuxcnc/unit_tests/interp/test_interp_block.cc","result_hash":10600861468726077694,"status":"PASSED"},{"id":"source-unit:interp/movement-arc","name":"Movement commands / Clockwise circular","source":"linuxcnc/unit_tests/interp/test_interp_block.cc","result_hash":3344452133792667065,"status":"PASSED"},{"id":"source-unit:interp/gcode-to-string","name":"convert G-codes to string","source":"linuxcnc/unit_tests/interp/test_string_conversion.cc","result_hash":18096020171334179193,"status":"PASSED"},{"id":"source-unit:interp/g10-coordinate-offset","name":"G10 L2 / G54 coordinate offset","source":"linuxcnc/unit_tests/interp/test_interp_basics.cc","result_hash":10503294382485028241,"status":"PASSED"},{"id":"source-unit:interp/parameter-expression","name":"parameter expression assignment","source":"linuxcnc/unit_tests/interp/test_interp_basics.cc","result_hash":12191524797282674768,"status":"PASSED"},{"id":"source-unit:interp/modal-units","name":"G20 length/feed conversion","source":"linuxcnc/unit_tests/interp/test_interp_basics.cc","result_hash":17337372050960250323,"status":"PASSED"},{"id":"source-unit:tp/pmCartCartParallel_numerical","name":"pmCartCartParallel_numerical","source":"linuxcnc/unit_tests/tp/test_blendmath.c","result_hash":8528287329722895704,"status":"PASSED"},{"id":"source-unit:tp/pmCartCartAntiParallel_numerical","name":"pmCartCartAntiParallel_numerical","source":"linuxcnc/unit_tests/tp/test_blendmath.c","result_hash":6154898365857503476,"status":"PASSED"}],"counts":{"FAILED":0,"PASSED":9},"aggregate_hash":12570001048447364769,"pending":[{"source_id":"source-test:linuxcnc/tests/abort/g64/test.sh","adapter":"WORKER_TASK_MOTION_PENDING","reason":"G64 blend/tolerance and abort endpoint require Worker Task plus motion queue"},{"source_id":"source-test:linuxcnc/tests/abort/feed-rate/test.sh","adapter":"WORKER_TASK_MOTION_PENDING","reason":"abort/restart timing is owned by Worker Task and fixed-tick motion"}]}
-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/mes006/linuxcncWebWASM/build-native
[0/2] Re-checking globbed directories...
[1/43] Building C object CMakeFiles/sim_core.dir/src/sim_api.c.o
[2/43] Building C object CMakeFiles/sim_core.dir/src/sim_scheduler.c.o
[3/43] Building C object CMakeFiles/sim_core.dir/src/sim_protocol.c.o
[4/43] Building C object CMakeFiles/sim_core.dir/src/sim_event.c.o
[5/43] Building C object CMakeFiles/sim_core.dir/src/sim_posemath.c.o
[6/43] Building C object CMakeFiles/sim_core.dir/src/sim_device_io.c.o
[7/43] Building C object CMakeFiles/sim_core.dir/src/sim_switchkins.c.o
[8/43] Building C object CMakeFiles/sim_core.dir/src/sim_task.c.o
[9/43] Building C object CMakeFiles/sim_core.dir/src/sim_program.c.o
[10/43] Building C object CMakeFiles/sim_core.dir/src/sim_userkins.c.o
[11/43] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_registry.c.o
[12/43] Building C object CMakeFiles/sim_core.dir/src/sim_hal.c.o
[13/43] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_feedback.c.o
[14/43] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_motion.c.o
[15/43] Building C object CMakeFiles/sim_core.dir/src/sim_linuxcnc_tp.c.o
[16/43] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics_home_limit.c.o
[17/43] Building C object CMakeFiles/sim_core.dir/src/sim_motion_queue.c.o
[18/43] Building C object CMakeFiles/sim_core.dir/src/sim_io.c.o
[19/43] Building C object CMakeFiles/sim_core.dir/src/sim_interpreter.c.o
[20/43] Building C object CMakeFiles/sim_core.dir/src/sim_kinematics.c.o
[21/43] Linking CXX static library libsim_core.a
[22/43] Linking CXX executable sim_task_test
[23/43] Linking CXX executable sim_protocol_test
[24/43] Linking CXX executable sim_native_homing_test
[25/43] Linking CXX executable sim_event_test
[26/43] Linking CXX executable sim_api_test
[27/43] Linking CXX executable sim_contract_test
[28/43] Linking CXX executable sim_scheduler_test
[29/43] Linking CXX executable sim_hal_test
[30/43] Linking CXX executable sim_posemath_test
[31/43] Linking CXX executable sim_interpreter_test
[32/43] Linking CXX executable sim_switchkins_test
[33/43] Linking CXX executable sim_kinematics_registry_test
[34/43] Linking CXX executable sim_source_unit_adapter_test
[35/43] Linking CXX executable sim_userkins_test
[36/43] Linking CXX executable sim_kinematics_motion_test
[37/43] Linking CXX executable sim_motion_queue_test
[38/43] Linking CXX executable sim_kinematics_test
[39/43] Linking CXX executable sim_kinematics_feedback_test
[40/43] Linking CXX executable sim_kinematics_home_limit_test
[41/43] Linking CXX executable sim_xyzac_trace_test
[42/43] Linking CXX executable sim_io_test
[43/43] Linking CXX executable sim_device_io_test
Internal ctest changing into directory: /home/mes006/linuxcncWebWASM/build-native
Test project /home/mes006/linuxcncWebWASM/build-native
Start 1: sim_native_homing_test
1/23 Test #1: sim_native_homing_test ........... Passed 0.00 sec
Start 2: sim_api_test
2/23 Test #2: sim_api_test ..................... Passed 0.00 sec
Start 3: sim_protocol_test
3/23 Test #3: sim_protocol_test ................ Passed 0.00 sec
Start 4: sim_event_test
4/23 Test #4: sim_event_test ................... Passed 0.00 sec
Start 5: sim_contract_test
5/23 Test #5: sim_contract_test ................ Passed 0.00 sec
Start 6: sim_task_test
6/23 Test #6: sim_task_test .................... Passed 0.00 sec
Start 7: sim_scheduler_test
7/23 Test #7: sim_scheduler_test ............... Passed 0.00 sec
Start 8: sim_hal_test
8/23 Test #8: sim_hal_test ..................... Passed 0.00 sec
Start 9: sim_posemath_test
9/23 Test #9: sim_posemath_test ................ Passed 0.00 sec
Start 10: sim_interpreter_test
10/23 Test #10: sim_interpreter_test ............. Passed 0.00 sec
Start 11: sim_source_unit_adapter_test
11/23 Test #11: sim_source_unit_adapter_test ..... Passed 0.00 sec
Start 12: sim_motion_queue_test
12/23 Test #12: sim_motion_queue_test ............ Passed 0.00 sec
Start 13: sim_kinematics_test
13/23 Test #13: sim_kinematics_test .............. Passed 0.00 sec
Start 14: sim_switchkins_test
14/23 Test #14: sim_switchkins_test .............. Passed 0.00 sec
Start 15: sim_userkins_test
15/23 Test #15: sim_userkins_test ................ Passed 0.00 sec
Start 16: sim_kinematics_registry_test
16/23 Test #16: sim_kinematics_registry_test ..... Passed 0.00 sec
Start 17: sim_kinematics_motion_test
17/23 Test #17: sim_kinematics_motion_test ....... Passed 0.00 sec
Start 18: sim_kinematics_feedback_test
18/23 Test #18: sim_kinematics_feedback_test ..... Passed 0.00 sec
Start 19: sim_kinematics_home_limit_test
19/23 Test #19: sim_kinematics_home_limit_test ... Passed 0.00 sec
Start 20: sim_io_test
20/23 Test #20: sim_io_test ...................... Passed 0.00 sec
Start 21: sim_device_io_test
21/23 Test #21: sim_device_io_test ............... Passed 0.00 sec
Start 22: sim_xyzac_trace_test
22/23 Test #22: sim_xyzac_trace_test ............. Passed 0.00 sec
Start 23: sim_linuxcnc_tp_test
23/23 Test #23: sim_linuxcnc_tp_test ............. Passed 0.00 sec
100% tests passed, 0 tests failed out of 23
Total Test time (real) = 0.03 sec
wasm_build=/home/mes006/linuxcncWebWASM/build-wasm/linuxcnc-sim-core.js
native_test=/home/mes006/linuxcncWebWASM/build-native/sim_api_test
native_protocol_test=/home/mes006/linuxcncWebWASM/build-native/sim_protocol_test
wasm_kinematics_test=/home/mes006/linuxcncWebWASM/build-wasm/sim_kinematics_wasm_test.js
wasm_hal_test=/home/mes006/linuxcncWebWASM/build-wasm/sim_hal_wasm_test.js
wasm_source_unit_test=/home/mes006/linuxcncWebWASM/build-wasm/sim_source_unit_adapter_wasm_test.js