summaryrefslogtreecommitdiffstatshomepage
path: root/stmhal/help.c
diff options
context:
space:
mode:
Diffstat (limited to 'stmhal/help.c')
-rw-r--r--stmhal/help.c38
1 files changed, 2 insertions, 36 deletions
diff --git a/stmhal/help.c b/stmhal/help.c
index 32837972f0..21e81ebc0e 100644
--- a/stmhal/help.c
+++ b/stmhal/help.c
@@ -26,8 +26,7 @@
#include <stdio.h>
-#include "py/nlr.h"
-#include "py/obj.h"
+#include "lib/utils/pyhelp.h"
STATIC const char *help_text =
"Welcome to MicroPython!\n"
@@ -72,14 +71,6 @@ STATIC const char *help_text =
"For further help on a specific object, type help(obj)\n"
;
-STATIC void pyb_help_print_info_about_object(mp_obj_t name_o, mp_obj_t value) {
- printf(" ");
- mp_obj_print(name_o, PRINT_STR);
- printf(" -- ");
- mp_obj_print(value, PRINT_STR);
- printf("\n");
-}
-
STATIC mp_obj_t pyb_help(uint n_args, const mp_obj_t *args) {
if (n_args == 0) {
// print a general help message
@@ -87,32 +78,7 @@ STATIC mp_obj_t pyb_help(uint n_args, const mp_obj_t *args) {
} else {
// try to print something sensible about the given object
-
- printf("object ");
- mp_obj_print(args[0], PRINT_STR);
- printf(" is of type %s\n", mp_obj_get_type_str(args[0]));
-
- mp_map_t *map = NULL;
- if (MP_OBJ_IS_TYPE(args[0], &mp_type_module)) {
- map = mp_obj_dict_get_map(mp_obj_module_get_globals(args[0]));
- } else {
- mp_obj_type_t *type;
- if (MP_OBJ_IS_TYPE(args[0], &mp_type_type)) {
- type = args[0];
- } else {
- type = mp_obj_get_type(args[0]);
- }
- if (type->locals_dict != MP_OBJ_NULL && MP_OBJ_IS_TYPE(type->locals_dict, &mp_type_dict)) {
- map = mp_obj_dict_get_map(type->locals_dict);
- }
- }
- if (map != NULL) {
- for (uint i = 0; i < map->alloc; i++) {
- if (map->table[i].key != MP_OBJ_NULL) {
- pyb_help_print_info_about_object(map->table[i].key, map->table[i].value);
- }
- }
- }
+ pyhelp_print_obj(args[0]);
}
return mp_const_none;