Select Git revision
mp_audio.c 16.39 KiB
// probably doesn't need all of these idk
#include <stdio.h>
#include <string.h>
#include "extmod/virtpin.h"
#include "machine_rtc.h"
#include "modmachine.h"
#include "mphalport.h"
#include "py/builtin.h"
#include "py/mphal.h"
#include "py/runtime.h"
#include "flow3r_bsp.h"
#include "st3m_audio.h"
// documentation: these are all super thin wrappers for the c api in
// components/st3m/st3m_audio.h
STATIC mp_obj_t mp_headset_is_connected() {
return mp_obj_new_int(st3m_audio_headset_is_connected());
}
STATIC MP_DEFINE_CONST_FUN_OBJ_0(mp_headset_is_connected_obj,
mp_headset_is_connected);
STATIC mp_obj_t mp_headphones_are_connected() {
return mp_obj_new_int(st3m_audio_headphones_are_connected());
}
STATIC MP_DEFINE_CONST_FUN_OBJ_0(mp_headphones_are_connected_obj,
mp_headphones_are_connected);
STATIC mp_obj_t mp_headphones_detection_override(mp_obj_t enable) {
st3m_audio_headphones_detection_override(mp_obj_get_int(enable));
return mp_const_none;
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(mp_headphones_detection_override_obj,
mp_headphones_detection_override);
STATIC mp_obj_t mp_headphones_set_volume_dB(mp_obj_t vol_dB) {
return mp_obj_new_float(
st3m_audio_headphones_set_volume_dB(mp_obj_get_float(vol_dB)));
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(mp_headphones_set_volume_dB_obj,
mp_headphones_set_volume_dB);
STATIC mp_obj_t mp_speaker_set_volume_dB(mp_obj_t vol_dB) {
return mp_obj_new_float(
st3m_audio_speaker_set_volume_dB(mp_obj_get_float(vol_dB)));
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(mp_speaker_set_volume_dB_obj,
mp_speaker_set_volume_dB);
STATIC mp_obj_t mp_set_volume_dB(mp_obj_t vol_dB) {
return mp_obj_new_float(st3m_audio_set_volume_dB(mp_obj_get_float(vol_dB)));
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(mp_set_volume_dB_obj, mp_set_volume_dB);
STATIC mp_obj_t mp_headphones_adjust_volume_dB(mp_obj_t vol_dB) {
return mp_obj_new_float(
st3m_audio_headphones_adjust_volume_dB(mp_obj_get_float(vol_dB)));
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(mp_headphones_adjust_volume_dB_obj,
mp_headphones_adjust_volume_dB);
STATIC mp_obj_t mp_speaker_adjust_volume_dB(mp_obj_t vol_dB) {
return mp_obj_new_float(
st3m_audio_speaker_adjust_volume_dB(mp_obj_get_float(vol_dB)));
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(mp_speaker_adjust_volume_dB_obj,
mp_speaker_adjust_volume_dB);