提示词:
对标 LinuxCNC,分阶段完善 Web 版数控系统仿真的 WASM 程序,继续补齐 G 代码语法并严格测试。 总结: - 对齐 LinuxCNC 字地址值中带符号一元函数的解析行为,支持类似 X-ABS[-2] 的写法。 - 在 smoke API 回归中新增 signed unary word value 覆盖。 - 已通过 ./test-native.sh 和 ./test-linuxcnc-source-link.sh。
This commit is contained in:
@@ -273,6 +273,7 @@ int main() {
|
||||
bool saw_math_function_assignment = false;
|
||||
bool saw_word_unary_function_motion = false;
|
||||
bool saw_word_atan_function_motion = false;
|
||||
bool saw_signed_word_unary_function_motion = false;
|
||||
bool saw_trig_function_motion = false;
|
||||
bool saw_inverse_trig_function_motion = false;
|
||||
bool saw_atan_function_motion = false;
|
||||
@@ -3571,7 +3572,8 @@ int main() {
|
||||
"G21 G90\n"
|
||||
"F100\n"
|
||||
"G1 XABS[-2]\n"
|
||||
"G1 YATAN[1]/[1]\n";
|
||||
"G1 YATAN[1]/[1]\n"
|
||||
"G1 Z-ABS[-2]\n";
|
||||
events.clear();
|
||||
ok &= expect(cnc_sim_parse_program(sim,
|
||||
word_unary_function_program,
|
||||
@@ -3586,9 +3588,14 @@ int main() {
|
||||
(event.type == CNC_SIM_EVENT_LINEAR_FEED &&
|
||||
event.line == 4 &&
|
||||
near(event.end.y, 45.0));
|
||||
saw_signed_word_unary_function_motion = saw_signed_word_unary_function_motion ||
|
||||
(event.type == CNC_SIM_EVENT_LINEAR_FEED &&
|
||||
event.line == 5 &&
|
||||
event.end.z == -2.0);
|
||||
}
|
||||
ok &= expect(saw_word_unary_function_motion, "expected LinuxCNC unary function as a word value");
|
||||
ok &= expect(saw_word_atan_function_motion, "expected LinuxCNC ATAN function as a word value");
|
||||
ok &= expect(saw_signed_word_unary_function_motion, "expected signed LinuxCNC unary function as a word value");
|
||||
|
||||
const char additional_math_function_program[] =
|
||||
"#1 = [ASIN[0.5] + ACOS[0.5]]\n"
|
||||
|
||||
Reference in New Issue
Block a user