注释
合作者
|
我不太了解 remap 和/或 stdglue.py,但我觉得 INTERP_EXECUTE_FINISH 旨在在工具更改后引起“同步”,即确保清空已读队列并使用新工具数据重新计算。 我不认为我们在任何消息中看到实际错误发生的那一行。但我可能是错的。 |
作者
|
如果我理解正确,则该错误与重新执行 epilog 相关。 当 python epilog 返回时
下一次调用 |
贡献者
|
@dhweizel感谢您报告此事。在 1 月之前,我很难抽出时间来查看此内容,但我会尽力的。非常抱歉,您一定不得不查看代码库中这个极其毛茸茸的部分! |
作者
|
@zultron谢谢你快速的回复。我想补充一点,Andy 发现如果您只是打开 sim/remap/rack 代码非常复杂,但是各种不同的日志功能让我感到惊讶 |
贡献者
|
@dhwiezel,错误原来是在 再次感谢您为追踪和报告此问题所做的辛勤工作。这使得重现和修复变得容易得多。 |
作者
|
好消息 !!! |


我刚换了master。该机器使用从 vismach 样本复制的 m6 重映射,在 2.7 上工作正常,现在,在 master 上,在工具更换结束时引发错误。
emc/task/emctask.cc 397: interp_error: 生成器调用期间出现异常: TypeError: ‘NoneType’ 对象不可调用
生成器调用期间出现异常:TypeError: ‘NoneType’ object is not callable
解释器栈: – int Interp::pycall(setup_pointer, context_pointer, const char*, const char*, in – int Interp::execute_return(setup_pointer, context_pointer, int) – int Interp::convert_control_functions(block_pointer, setup_pointer) – int Interp ::_execute(const char*)
emcTaskPlanExecute((null)) 返回 5
vismach 示例中存在相同的错误:以下是我重现该问题所遵循的步骤:
ini文件说:
REMAP=M6 modalgroup=6 prolog=change_prolog ngc=toolchange epilog=change_epilog
如果我删除 epilog=change_epilog 就没有错误
该错误似乎与 stdglue.py 的 change_epilog 有关
在第 198 行:返回 INTERP_EXECUTE_FINISH
如果我更改为:返回 INTERP_OK 它按预期工作
我不知道更改的含义,但我发现此返回 vaue 在 master (gmoccapy) 的另一个 stdglue.py 文件中使用
编辑:错字