Skip to content
Snippets Groups Projects
Select Git revision
  • bff1bdda4baad71995c49b58a1d0d5d1000d71f2
  • main default protected
  • blm_dev_chan
  • release/1.4.0 protected
  • widgets_draw
  • return_of_melodic_demo
  • task_cleanup
  • mixer2
  • dx/fb-save-restore
  • dx/dldldld
  • fpletz/flake
  • dx/jacksense-headset-mic-only
  • release/1.3.0 protected
  • fil3s-limit-filesize
  • allow-reloading-sunmenu
  • wifi-json-error-handling
  • app_text_viewer
  • shoegaze-fps
  • media_has_video_has_audio
  • fil3s-media
  • more-accurate-battery
  • v1.4.0
  • v1.3.0
  • v1.2.0
  • v1.2.0+rc1
  • v1.1.1
  • v1.1.0
  • v1.1.0+rc1
  • v1.0.0
  • v1.0.0+rc6
  • v1.0.0+rc5
  • v1.0.0+rc4
  • v1.0.0+rc3
  • v1.0.0+rc2
  • v1.0.0+rc1
35 results

mp_audio.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);