Skip to content
Snippets Groups Projects
Select Git revision
  • 2617eebf2ff77e58f415162300747eaf1a5ab5d7
  • wip-bootstrap default
  • dualcore
  • ch3/leds
  • ch3/time
  • master
6 results

builtin.c

Blame
  • 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);