Select Git revision
-
Damien George authored
This removes need for some casts (at least, more than it adds need for new casts!).
Damien George authoredThis removes need for some casts (at least, more than it adds need for new casts!).
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);