Skip to content

Commit ab29ab8

Browse files
committed
codal_port/microbit_microphone: Add set_sensitivity method and consts.
Signed-off-by: Damien George <[email protected]>
1 parent 74367b7 commit ab29ab8

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/codal_port/microbit_microphone.c

+14
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,13 @@ STATIC uint8_t sound_event_from_obj(mp_obj_t sound) {
8181
mp_raise_ValueError(MP_ERROR_TEXT("invalid sound"));
8282
}
8383

84+
STATIC mp_obj_t microbit_microphone_set_sensitivity(mp_obj_t self_in, mp_obj_t value_in) {
85+
(void)self_in;
86+
microbit_hal_microphone_set_sensitivity(mp_obj_get_float(value_in));
87+
return mp_const_none;
88+
}
89+
STATIC MP_DEFINE_CONST_FUN_OBJ_2(microbit_microphone_set_sensitivity_obj, microbit_microphone_set_sensitivity);
90+
8491
STATIC mp_obj_t microbit_microphone_set_threshold(mp_obj_t self_in, mp_obj_t sound_in, mp_obj_t value_in) {
8592
(void)self_in;
8693
uint8_t sound = sound_event_from_obj(sound_in);
@@ -228,6 +235,8 @@ static mp_obj_t microbit_microphone_stop_recording(mp_obj_t self_in) {
228235
static MP_DEFINE_CONST_FUN_OBJ_1(microbit_microphone_stop_recording_obj, microbit_microphone_stop_recording);
229236

230237
STATIC const mp_rom_map_elem_t microbit_microphone_locals_dict_table[] = {
238+
// Methods.
239+
{ MP_ROM_QSTR(MP_QSTR_set_sensitivity), MP_ROM_PTR(&microbit_microphone_set_sensitivity_obj) },
231240
{ MP_ROM_QSTR(MP_QSTR_set_threshold), MP_ROM_PTR(&microbit_microphone_set_threshold_obj) },
232241
{ MP_ROM_QSTR(MP_QSTR_sound_level), MP_ROM_PTR(&microbit_microphone_sound_level_obj) },
233242
{ MP_ROM_QSTR(MP_QSTR_current_event), MP_ROM_PTR(&microbit_microphone_current_event_obj) },
@@ -238,6 +247,11 @@ STATIC const mp_rom_map_elem_t microbit_microphone_locals_dict_table[] = {
238247
{ MP_ROM_QSTR(MP_QSTR_record_into), MP_ROM_PTR(&microbit_microphone_record_into_obj) },
239248
{ MP_ROM_QSTR(MP_QSTR_is_recording), MP_ROM_PTR(&microbit_microphone_is_recording_obj) },
240249
{ MP_ROM_QSTR(MP_QSTR_stop_recording), MP_ROM_PTR(&microbit_microphone_stop_recording_obj) },
250+
251+
// Constants.
252+
{ MP_ROM_QSTR(MP_QSTR_SENSITIVITY_LOW), MP_ROM_INT(0.079) },
253+
{ MP_ROM_QSTR(MP_QSTR_SENSITIVITY_MEDIUM), MP_ROM_INT(0.2) },
254+
{ MP_ROM_QSTR(MP_QSTR_SENSITIVITY_HIGH), MP_ROM_INT(1.0) },
241255
};
242256
STATIC MP_DEFINE_CONST_DICT(microbit_microphone_locals_dict, microbit_microphone_locals_dict_table);
243257

0 commit comments

Comments
 (0)