目前添加的模块固件烧录后可以正常工作,但是在IDE中写代码的时候无法识别/自动补全,有什么方法可以让IDE识别到添加的模块吗?
E
ed3q 发布的帖子
-
如何让自己添加的micropython模块可以被IDE识别
-
RE: 添加micropython模块问题
@kidswong999 搞定了,要把.o文件加到src/makefile里,.c文件加到src/omv/makefile里,万分感谢
-
RE: 添加micropython模块问题
@kidswong999 makefile文件就改/omv/makefile就可以吗?我在optical_flow.c中写
const mp_obj_module_t optical_flow_module = { .base = { &mp_type_module }, .globals = (mp_obj_dict_t*)&mp_module_optical_flow_globals, };
在/micropython/ports/stm32/mpconfigport.h中声明
extern const struct _mp_obj_module_t optical_flow_module;
然后在下面写
#define MICROPY_PORT_BUILTIN_MODULES \ ... { MP_OBJ_NEW_QSTR(MP_QSTR_optical_flow), (mp_obj_t)&optical_flow_module }, \ ...
编译器显示undefine referecne to 'optical_flow_module'
-
添加micropython模块问题
我根据文档
https://micropython-dev-docs.readthedocs.io/en/latest/adding-module.html#using-our-module-in-micropython
尝试添加一个新的micropython模块。STATIC const mp_map_elem_t optical_flow_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_optical_flow) }, };
这段代码编译时告诉我MP_QSTR_optical_flow未声明,我看omv中其他代码也这么写的,例如py_sensor.c中
STATIC const mp_map_elem_t globals_dict_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_sensor) }, ...
MP_QSTR_sensor也找不到定义,但是编译能过,请问这个地方应该怎么处理,这个定义的原理是什么?