From 890a94222169eb2ff1a9b44a8cffba68bdd3c10f Mon Sep 17 00:00:00 2001 From: swym <0xfd000000@gmail.com> Date: Thu, 22 Aug 2019 16:59:06 +0200 Subject: [PATCH] feat(pycardium): add debug module --- pycardium/meson.build | 3 ++- pycardium/modules/debug.c | 31 +++++++++++++++++++++++++++++++ pycardium/modules/qstrdefs.h | 3 +++ pycardium/mpconfigport.h | 1 + 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 pycardium/modules/debug.c diff --git a/pycardium/meson.build b/pycardium/meson.build index f0a3798a..51d14fcc 100644 --- a/pycardium/meson.build +++ b/pycardium/meson.build @@ -13,7 +13,8 @@ modsrc = files( 'modules/sys_display.c', 'modules/utime.c', 'modules/vibra.c', - 'modules/bme680.c' + 'modules/bme680.c', + 'modules/debug.c', ) ################################# diff --git a/pycardium/modules/debug.c b/pycardium/modules/debug.c new file mode 100644 index 00000000..47dbb36d --- /dev/null +++ b/pycardium/modules/debug.c @@ -0,0 +1,31 @@ +#include "epicardium.h" + +#include "py/obj.h" +#include "py/runtime.h" + +static mp_obj_t mp_debug_fs_status() +{ + int rc = epic_file_fs_status(); + if (rc < 0) { + mp_raise_OSError(-rc); + } + return mp_const_none; +} +static MP_DEFINE_CONST_FUN_OBJ_0(fs_status_obj, mp_debug_fs_status); + +static const mp_rom_map_elem_t debug_module_globals_table[] = { + { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_debug) }, + { MP_ROM_QSTR(MP_QSTR_fs_status), MP_ROM_PTR(&fs_status_obj) }, +}; + +static MP_DEFINE_CONST_DICT(debug_module_globals, debug_module_globals_table); + +// Define module object. +const mp_obj_module_t debug_module = { + .base = { &mp_type_module }, + .globals = (mp_obj_dict_t *)&debug_module_globals, +}; + +/* This is a special macro that will make MicroPython aware of this module */ +/* clang-format off */ +MP_REGISTER_MODULE(MP_QSTR_debug, debug_module, MODULE_DEBUG_ENABLED); diff --git a/pycardium/modules/qstrdefs.h b/pycardium/modules/qstrdefs.h index a3871d92..9a9a4fb7 100644 --- a/pycardium/modules/qstrdefs.h +++ b/pycardium/modules/qstrdefs.h @@ -142,3 +142,6 @@ Q(NO_CONTACT) Q(CHAOS) Q(COMMUNICATION) Q(CAMP) + +/* debug */ +Q(debug) diff --git a/pycardium/mpconfigport.h b/pycardium/mpconfigport.h index af27e146..97921262 100644 --- a/pycardium/mpconfigport.h +++ b/pycardium/mpconfigport.h @@ -56,6 +56,7 @@ int mp_hal_trng_read_int(void); #define MODULE_PERSONAL_STATE_ENABLED (1) #define MODULE_UTIME_ENABLED (1) #define MODULE_VIBRA_ENABLED (1) +#define MODULE_DEBUG_ENABLED (1) /* * This port is intended to be 32-bit, but unfortunately, int32_t for -- GitLab