summaryrefslogtreecommitdiff
path: root/shared-bindings/audiobusio
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2020-10-28 13:27:48 -0500
committerJeff Epler <jepler@gmail.com>2020-12-29 14:06:32 -0600
commit2cd377f1a7a91a46d154f4da9dbf50a747da9b41 (patch)
treea79f73c6aa61558109e308e1e8540da30c58377b /shared-bindings/audiobusio
parent537a4daabd79407a8c2c5cd4adead6019406d992 (diff)
audiobusio: Make PDMIn optional
Diffstat (limited to 'shared-bindings/audiobusio')
-rw-r--r--shared-bindings/audiobusio/PDMIn.c8
-rw-r--r--shared-bindings/audiobusio/PDMIn.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/shared-bindings/audiobusio/PDMIn.c b/shared-bindings/audiobusio/PDMIn.c
index 6c5fa7939..a3cc8b07e 100644
--- a/shared-bindings/audiobusio/PDMIn.c
+++ b/shared-bindings/audiobusio/PDMIn.c
@@ -84,6 +84,9 @@
//| ...
//|
STATIC mp_obj_t audiobusio_pdmin_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
+#if !CIRCUITPY_AUDIOBUSIO_PDMIN
+ mp_raise_NotImplementedError(translate("PDMIn not available"));
+#else
enum { ARG_clock_pin, ARG_data_pin, ARG_sample_rate, ARG_bit_depth, ARG_mono, ARG_oversample, ARG_startup_delay };
static const mp_arg_t allowed_args[] = {
{ MP_QSTR_clock_pin, MP_ARG_REQUIRED | MP_ARG_OBJ },
@@ -132,8 +135,10 @@ STATIC mp_obj_t audiobusio_pdmin_make_new(const mp_obj_type_t *type, size_t n_ar
mp_hal_delay_ms(startup_delay * 1000);
return MP_OBJ_FROM_PTR(self);
+#endif
}
+#if CIRCUITPY_AUDIOBUSIO_PDMIN
//| def deinit(self) -> None:
//| """Deinitialises the PDMIn and releases any hardware resources for reuse."""
//| ...
@@ -237,10 +242,13 @@ STATIC const mp_rom_map_elem_t audiobusio_pdmin_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_sample_rate), MP_ROM_PTR(&audiobusio_pdmin_sample_rate_obj) }
};
STATIC MP_DEFINE_CONST_DICT(audiobusio_pdmin_locals_dict, audiobusio_pdmin_locals_dict_table);
+#endif
const mp_obj_type_t audiobusio_pdmin_type = {
{ &mp_type_type },
.name = MP_QSTR_PDMIn,
.make_new = audiobusio_pdmin_make_new,
+#if CIRCUITPY_AUDIOBUSIO_PDMIN
.locals_dict = (mp_obj_dict_t*)&audiobusio_pdmin_locals_dict,
+#endif
};
diff --git a/shared-bindings/audiobusio/PDMIn.h b/shared-bindings/audiobusio/PDMIn.h
index c2a8bab2f..e89fc7e23 100644
--- a/shared-bindings/audiobusio/PDMIn.h
+++ b/shared-bindings/audiobusio/PDMIn.h
@@ -33,6 +33,7 @@
extern const mp_obj_type_t audiobusio_pdmin_type;
+#if CIRCUITPY_AUDIOBUSIO_PDMIN
void common_hal_audiobusio_pdmin_construct(audiobusio_pdmin_obj_t* self,
const mcu_pin_obj_t* clock_pin, const mcu_pin_obj_t* data_pin,
uint32_t sample_rate, uint8_t bit_depth, bool mono, uint8_t oversample);
@@ -43,5 +44,6 @@ uint32_t common_hal_audiobusio_pdmin_record_to_buffer(audiobusio_pdmin_obj_t* se
uint8_t common_hal_audiobusio_pdmin_get_bit_depth(audiobusio_pdmin_obj_t* self);
uint32_t common_hal_audiobusio_pdmin_get_sample_rate(audiobusio_pdmin_obj_t* self);
// TODO(tannewt): Add record to file
+#endif
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_AUDIOBUSIO_AUDIOOUT_H