Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
1dfde891
Commit
1dfde891
authored
Mar 25, 2014
by
Damien George
Browse files
Merge pull request #373 from iabdalkader/module_register
Add mp_obj_module_register
parents
24d527bf
89d45248
Changes
3
Hide whitespace changes
Inline
Side-by-side
py/obj.h
View file @
1dfde891
...
@@ -456,6 +456,7 @@ typedef struct _mp_obj_module_t {
...
@@ -456,6 +456,7 @@ typedef struct _mp_obj_module_t {
extern
const
mp_obj_type_t
mp_type_module
;
extern
const
mp_obj_type_t
mp_type_module
;
mp_obj_t
mp_obj_new_module
(
qstr
module_name
);
mp_obj_t
mp_obj_new_module
(
qstr
module_name
);
mp_obj_t
mp_obj_module_get
(
qstr
module_name
);
mp_obj_t
mp_obj_module_get
(
qstr
module_name
);
void
mp_obj_module_register
(
qstr
qstr
,
mp_obj_t
module
);
//use for loading statically allocated modules
struct
_mp_map_t
*
mp_obj_module_get_globals
(
mp_obj_t
self_in
);
struct
_mp_map_t
*
mp_obj_module_get_globals
(
mp_obj_t
self_in
);
// staticmethod and classmethod types; defined here so we can make const versions
// staticmethod and classmethod types; defined here so we can make const versions
...
...
py/objmodule.c
View file @
1dfde891
...
@@ -82,6 +82,11 @@ mp_obj_t mp_obj_module_get(qstr module_name) {
...
@@ -82,6 +82,11 @@ mp_obj_t mp_obj_module_get(qstr module_name) {
return
MP_OBJ_NULL
;
return
MP_OBJ_NULL
;
}
}
void
mp_obj_module_register
(
qstr
qstr
,
mp_obj_t
module
)
{
mp_map_lookup
(
rt_loaded_modules_get
(),
MP_OBJ_NEW_QSTR
(
qstr
),
MP_MAP_LOOKUP_ADD_IF_NOT_FOUND
)
->
value
=
module
;
}
mp_map_t
*
mp_obj_module_get_globals
(
mp_obj_t
self_in
)
{
mp_map_t
*
mp_obj_module_get_globals
(
mp_obj_t
self_in
)
{
assert
(
MP_OBJ_IS_TYPE
(
self_in
,
&
mp_type_module
));
assert
(
MP_OBJ_IS_TYPE
(
self_in
,
&
mp_type_module
));
mp_obj_module_t
*
self
=
self_in
;
mp_obj_module_t
*
self
=
self_in
;
...
...
stm/main.c
View file @
1dfde891
...
@@ -272,9 +272,8 @@ soft_reset:
...
@@ -272,9 +272,8 @@ soft_reset:
rt_store_name
(
MP_QSTR_help
,
rt_make_function_n
(
0
,
pyb_help
));
rt_store_name
(
MP_QSTR_help
,
rt_make_function_n
(
0
,
pyb_help
));
rt_store_name
(
MP_QSTR_open
,
rt_make_function_n
(
2
,
pyb_io_open
));
rt_store_name
(
MP_QSTR_open
,
rt_make_function_n
(
2
,
pyb_io_open
));
// we pre-import the pyb module
// load the pyb module
// probably shouldn't do this, so we are compatible with CPython
mp_obj_module_register
(
MP_QSTR_pyb
,
(
mp_obj_t
)
&
pyb_module
);
rt_store_name
(
MP_QSTR_pyb
,
(
mp_obj_t
)
&
pyb_module
);
// check if user switch held (initiates reset of filesystem)
// check if user switch held (initiates reset of filesystem)
bool
reset_filesystem
=
false
;
bool
reset_filesystem
=
false
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment