diff --git a/docs/accelerometer.rst b/docs/accelerometer.rst index b3a7e92e5..070437675 100644 --- a/docs/accelerometer.rst +++ b/docs/accelerometer.rst @@ -81,21 +81,11 @@ Functions calls to some accelerometer method to do the gesture detection. Usually gestures can be detected using a loop with a small :func:`microbit.sleep` delay. -.. py:function:: get_rate() +.. py:function:: set_range(value) - Get the accelerometer samping rate, in Hz. - -.. py:function:: set_rate() - - Set the accelerometer samping rate, in Hz. - -.. py:function:: get_range() - - Get the accelerometer sensitivity range, in g's. - -.. py:function:: set_range() - - Set the accelerometer sensitivity range, in Hz. + Set the accelerometer sensitivity range, in g (standard gravity), to the + closest values supported by the hardware, so it rounds to either ``1``, + ``2``, ``4``, or ``8`` g. Examples -------- diff --git a/inc/genhdr/qstrdefs.generated.h b/inc/genhdr/qstrdefs.generated.h index 2c8bab0b4..c0741115d 100644 --- a/inc/genhdr/qstrdefs.generated.h +++ b/inc/genhdr/qstrdefs.generated.h @@ -190,10 +190,6 @@ QDEF(MP_QSTR_get_x, (const byte*)"\x34\x05" "get_x") QDEF(MP_QSTR_get_y, (const byte*)"\x35\x05" "get_y") QDEF(MP_QSTR_get_z, (const byte*)"\x36\x05" "get_z") QDEF(MP_QSTR_get_values, (const byte*)"\xf4\x0a" "get_values") -QDEF(MP_QSTR_get_rate, (const byte*)"\x0e\x08" "get_rate") -QDEF(MP_QSTR_set_rate, (const byte*)"\x9a\x08" "set_rate") -QDEF(MP_QSTR_get_range, (const byte*)"\x73\x09" "get_range") -QDEF(MP_QSTR_set_range, (const byte*)"\x67\x09" "set_range") QDEF(MP_QSTR_current_gesture, (const byte*)"\xd4\x0f" "current_gesture") QDEF(MP_QSTR_is_gesture, (const byte*)"\x07\x0a" "is_gesture") QDEF(MP_QSTR_was_gesture, (const byte*)"\xd8\x0b" "was_gesture") @@ -697,6 +693,7 @@ QDEF(MP_QSTR_scan, (const byte*)"\x1a\x04" "scan") QDEF(MP_QSTR_sdiv, (const byte*)"\xcd\x04" "sdiv") QDEF(MP_QSTR_sep, (const byte*)"\x23\x03" "sep") QDEF(MP_QSTR_set, (const byte*)"\x27\x03" "set") +QDEF(MP_QSTR_set_range, (const byte*)"\x67\x09" "set_range") QDEF(MP_QSTR_setattr, (const byte*)"\xd4\x07" "setattr") QDEF(MP_QSTR_setdefault, (const byte*)"\x6c\x0a" "setdefault") QDEF(MP_QSTR_sin, (const byte*)"\xb1\x03" "sin") diff --git a/inc/microbit/modmicrobit.h b/inc/microbit/modmicrobit.h index 8f2ab9ddf..caed1e716 100644 --- a/inc/microbit/modmicrobit.h +++ b/inc/microbit/modmicrobit.h @@ -257,10 +257,7 @@ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(microbit_panic_obj); MP_DECLARE_CONST_FUN_OBJ_1(microbit_accelerometer_get_x_obj); MP_DECLARE_CONST_FUN_OBJ_1(microbit_accelerometer_get_y_obj); MP_DECLARE_CONST_FUN_OBJ_1(microbit_accelerometer_get_z_obj); -MP_DECLARE_CONST_FUN_OBJ_1(microbit_accelerometer_get_rate_obj); -MP_DECLARE_CONST_FUN_OBJ_1(microbit_accelerometer_set_rate_obj); -MP_DECLARE_CONST_FUN_OBJ_1(microbit_accelerometer_get_range_obj); -MP_DECLARE_CONST_FUN_OBJ_1(microbit_accelerometer_set_range_obj); +MP_DECLARE_CONST_FUN_OBJ_2(microbit_accelerometer_set_range_obj); MP_DECLARE_CONST_FUN_OBJ_1(microbit_button_is_pressed_obj); MP_DECLARE_CONST_FUN_OBJ_1(microbit_button_was_pressed_obj); MP_DECLARE_CONST_FUN_OBJ_1(microbit_button_get_presses_obj); diff --git a/inc/microbit/qstrdefsport.h b/inc/microbit/qstrdefsport.h index 2fbf772a7..fa9b4d15c 100644 --- a/inc/microbit/qstrdefsport.h +++ b/inc/microbit/qstrdefsport.h @@ -182,9 +182,6 @@ Q(get_x) Q(get_y) Q(get_z) Q(get_values) -Q(get_rate) -Q(set_rate) -Q(get_range) Q(set_range) Q(current_gesture) Q(is_gesture) diff --git a/source/microbit/help.c b/source/microbit/help.c index a9b93da96..0ec30572a 100644 --- a/source/microbit/help.c +++ b/source/microbit/help.c @@ -80,10 +80,6 @@ STATIC const mp_doc_t help_table_instances[] = { {µbit_accelerometer_get_x_obj, "Return micro:bit's tilt (X acceleration) in milli-g's.\n"}, {µbit_accelerometer_get_y_obj, "Return micro:bit's tilt (Y acceleration) in milli-g's.\n"}, {µbit_accelerometer_get_z_obj, "Return micro:bit's up-down motion (Z acceleration) in milli-g's.\nZ is a positive number when moving up. Moving down, Z is a negative number.\n"}, - {µbit_accelerometer_get_rate_obj, "Return the sampling rate (hz) of the micro:bit's accelerometer.\n"}, - {µbit_accelerometer_set_rate_obj, "Use set_rate(hz) to set the sampling rate for the accelerometer.\n"}, - {µbit_accelerometer_get_range_obj, "Return sensitivity range of the micro:bit's accelerometer in g's.\n"}, - {µbit_accelerometer_set_range_obj, "Use set_range(g) to set the sensitivity range of the micro:bit's accelerometer in g's.\n"}, // Pushbutton {µbit_button_a_obj, "micro:bit's 'A' button. When button is pressed down, is_pressed() is True.\n"}, {µbit_button_b_obj, "micro:bit's 'B' button. When button is pressed down, is_pressed() is True.\n"}, diff --git a/source/microbit/microbitaccelerometer.cpp b/source/microbit/microbitaccelerometer.cpp index 1923e37f7..ff61a502d 100644 --- a/source/microbit/microbitaccelerometer.cpp +++ b/source/microbit/microbitaccelerometer.cpp @@ -114,31 +114,9 @@ mp_obj_t microbit_accelerometer_get_strength(mp_obj_t self_in) { } MP_DEFINE_CONST_FUN_OBJ_1(microbit_accelerometer_get_strength_obj, microbit_accelerometer_get_strength); -mp_obj_t microbit_accelerometer_get_rate(mp_obj_t self_in) { - microbit_accelerometer_obj_t *self = (microbit_accelerometer_obj_t*)self_in; - mp_int_t hz = 1000 / self->accelerometer->getPeriod(); - return mp_obj_new_int(hz); -} -MP_DEFINE_CONST_FUN_OBJ_1(microbit_accelerometer_get_rate_obj, microbit_accelerometer_get_rate); - -mp_obj_t microbit_accelerometer_set_rate(mp_obj_t self_in, mp_obj_t hz_obj) { - microbit_accelerometer_obj_t *self = (microbit_accelerometer_obj_t*)self_in; - mp_int_t hz = mp_obj_get_int(hz_obj); - mp_int_t period = (hz == 0) ? 0 : 1000 / hz; - self->accelerometer->setPeriod(period); - return mp_const_none; -} -MP_DEFINE_CONST_FUN_OBJ_2(microbit_accelerometer_set_rate_obj, microbit_accelerometer_set_rate); - -mp_obj_t microbit_accelerometer_get_range(mp_obj_t self_in) { - microbit_accelerometer_obj_t *self = (microbit_accelerometer_obj_t*)self_in; - return mp_obj_new_int(self->accelerometer->getRange()); -} -MP_DEFINE_CONST_FUN_OBJ_1(microbit_accelerometer_get_range_obj, microbit_accelerometer_get_range); - mp_obj_t microbit_accelerometer_set_range(mp_obj_t self_in, mp_obj_t g) { - microbit_accelerometer_obj_t *self = (microbit_accelerometer_obj_t*)self_in; - self->accelerometer->setRange(mp_obj_get_int(g)); + (void)self_in; + ubit_accelerometer->setRange(mp_obj_get_int(g)); return mp_const_none; } MP_DEFINE_CONST_FUN_OBJ_2(microbit_accelerometer_set_range_obj, microbit_accelerometer_set_range); @@ -216,9 +194,6 @@ STATIC const mp_map_elem_t microbit_accelerometer_locals_dict_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_get_z), (mp_obj_t)µbit_accelerometer_get_z_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_get_values), (mp_obj_t)µbit_accelerometer_get_values_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_get_strength), (mp_obj_t)µbit_accelerometer_get_strength_obj }, - { MP_OBJ_NEW_QSTR(MP_QSTR_get_rate), (mp_obj_t)µbit_accelerometer_get_rate_obj }, - { MP_OBJ_NEW_QSTR(MP_QSTR_set_rate), (mp_obj_t)µbit_accelerometer_set_rate_obj }, - { MP_OBJ_NEW_QSTR(MP_QSTR_get_range), (mp_obj_t)µbit_accelerometer_get_range_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_set_range), (mp_obj_t)µbit_accelerometer_set_range_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_current_gesture), (mp_obj_t)µbit_accelerometer_current_gesture_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_is_gesture), (mp_obj_t)µbit_accelerometer_is_gesture_obj },