diff --git a/pycardium/modules/bhi160-sys.c b/pycardium/modules/bhi160-sys.c index db0a5c9a65eb42f9b8ee392ffa5650909877bfb0..7320885cd9268bacd0fdfdc68e92b177fe2d1c6d 100644 --- a/pycardium/modules/bhi160-sys.c +++ b/pycardium/modules/bhi160-sys.c @@ -66,6 +66,17 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1( mp_bhi160_disable_sensor_obj, mp_bhi160_disable_sensor ); +STATIC mp_obj_t mp_bhi160_disable_all_sensors() +{ + epic_bhi160_disable_all_sensors(); + + return mp_const_none; +} + +STATIC MP_DEFINE_CONST_FUN_OBJ_0( + mp_bhi160_disable_all_sensors_obj, mp_bhi160_disable_all_sensors +); + STATIC const mp_rom_map_elem_t bhi160_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_sys_bhi160) }, { MP_ROM_QSTR(MP_QSTR_enable_sensor), @@ -74,6 +85,8 @@ STATIC const mp_rom_map_elem_t bhi160_module_globals_table[] = { MP_ROM_PTR(&mp_bhi160_read_sensor_obj) }, { MP_ROM_QSTR(MP_QSTR_disable_sensor), MP_ROM_PTR(&mp_bhi160_disable_sensor_obj) }, + { MP_ROM_QSTR(MP_QSTR_disable_all_sensors), + MP_ROM_PTR(&mp_bhi160_disable_all_sensors_obj) }, }; STATIC MP_DEFINE_CONST_DICT(bhi160_module_globals, bhi160_module_globals_table); diff --git a/pycardium/modules/py/bhi160.py b/pycardium/modules/py/bhi160.py index f95874e544c6456ebc4712653ce05b053c5f97dc..5d28e1e61dfbb913c3ee4dfdc00064fc4bb1342a 100644 --- a/pycardium/modules/py/bhi160.py +++ b/pycardium/modules/py/bhi160.py @@ -5,6 +5,15 @@ import ucollections DataVector = ucollections.namedtuple("DataVector", ["x", "y", "z", "status"]) +def disable_all_sensors(): + """ + Disable all sensor also if they are already deactivated. + + :returns: None + """ + sys_bhi160.disable_all_sensors() + + class BHI160: def enable_sensor(self): interrupt.disable_callback(self.interrupt_id) diff --git a/pycardium/modules/qstrdefs.h b/pycardium/modules/qstrdefs.h index c5813602f9990763e91c17dc25746f59e83eb07c..75c8876e3a1413f753c5d52114822fdc8ad4595d 100644 --- a/pycardium/modules/qstrdefs.h +++ b/pycardium/modules/qstrdefs.h @@ -67,6 +67,7 @@ Q(RTC_ALARM) Q(sys_bhi160) Q(enable_sensor) Q(disable_sensor) +Q(disable_all_sensors) Q(read_sensor) Q(x) Q(y)