modwipy.c 988 B

123456789101112131415161718192021222324252627282930
  1. #include "py/mpconfig.h"
  2. #include "py/obj.h"
  3. #include "py/runtime.h"
  4. #include "mperror.h"
  5. /******************************************************************************/
  6. // MicroPython bindings
  7. STATIC mp_obj_t mod_wipy_heartbeat(size_t n_args, const mp_obj_t *args) {
  8. if (n_args) {
  9. mperror_enable_heartbeat (mp_obj_is_true(args[0]));
  10. return mp_const_none;
  11. } else {
  12. return mp_obj_new_bool(mperror_is_heartbeat_enabled());
  13. }
  14. }
  15. STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_wipy_heartbeat_obj, 0, 1, mod_wipy_heartbeat);
  16. STATIC const mp_rom_map_elem_t wipy_module_globals_table[] = {
  17. { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_wipy) },
  18. { MP_ROM_QSTR(MP_QSTR_heartbeat), MP_ROM_PTR(&mod_wipy_heartbeat_obj) },
  19. };
  20. STATIC MP_DEFINE_CONST_DICT(wipy_module_globals, wipy_module_globals_table);
  21. const mp_obj_module_t wipy_module = {
  22. .base = { &mp_type_module },
  23. .globals = (mp_obj_dict_t*)&wipy_module_globals,
  24. };