Complete 3axis tutorial native and Web/WASM parity tools

This commit is contained in:
2026-08-24 14:01:30 +08:00
parent 938654b19d
commit 7e90142b63
147 changed files with 17639 additions and 557 deletions

View File

@@ -9,6 +9,8 @@ int main(void) {
sim_interpreter parameter_interpreter = {0};
sim_interpreter_state state = {0};
sim_interpreter_state second = {0};
sim_posemath_segment motion = {0};
sim_posemath_pose point = {0};
char canonical[SIM_INTERPRETER_CANONICAL_CAPACITY] = {0};
uint32_t required;
@@ -39,6 +41,10 @@ int main(void) {
assert(sim_interpreter_execute(&interpreter, "G91 X1 (increment)", (uint32_t)(sizeof("G91 X1 (increment)") - 1)) == SIM_INTERP_OK);
assert(sim_interpreter_read_state(&interpreter, &second) == SIM_INTERP_OK);
assert(second.x == 11.0 && second.line == state.line + 1);
assert(sim_interpreter_execute(&interpreter, "G17 G02 I1 J1", (uint32_t)(sizeof("G17 G02 I1 J1") - 1)) == SIM_INTERP_OK);
assert(sim_interpreter_read_motion(&interpreter, &motion) == SIM_INTERP_OK);
assert(motion.motion_type == SIM_POSEMATH_CIRCULAR && motion.turn < 0);
assert(sim_posemath_segment_point(&motion, 0.5, &point) == SIM_POSEMATH_OK);
assert(sim_interpreter_execute(&interpreter, "G20 X1", 6) == SIM_INTERP_OK);
assert(fabs(interpreter.state.x - 36.4) < 1e-12);
assert(sim_interpreter_execute(&interpreter, "X1 G90 G21", (uint32_t)(sizeof("X1 G90 G21") - 1)) == SIM_INTERP_OK);