Syntax:
mic_config_t config(void);Description:
Parameters:
Return:
  struct mic_config_t
  {
    /// i2s_data_in (for mic)
    int pin_data_in = -1;
    /// i2s_bclk
    int pin_bck = I2S_PIN_NO_CHANGE;
    /// i2s_mclk
    int pin_mck = I2S_PIN_NO_CHANGE;
    /// i2s_ws (lrck)
    int pin_ws = I2S_PIN_NO_CHANGE;
    /// input sampling rate (Hz)
    uint32_t sample_rate = 16000;
    union
    {
      struct
      {
        uint8_t left_channel : 1;
        uint8_t stereo : 1;
        uint8_t reserve : 6;
      };
      input_channel_t input_channel = input_only_right;
    };
    /// Sampling times of obtaining the average value
    uint8_t over_sampling = 2;
    /// multiplier for input value
    uint8_t magnification = 16;
    /// Coefficient of the previous value, used for noise filtering
    uint8_t noise_filter_level = 0;
    /// use analog input mic ( need only pin_data_in )
    bool use_adc = false;
    /// for I2S dma_buf_len
    size_t dma_buf_len = 128;
    /// for I2S dma_buf_count
    size_t dma_buf_count = 8;
    /// background task priority
    uint8_t task_priority = 2;
    /// background task pinned core
    uint8_t task_pinned_core = -1;
    /// I2S port
    i2s_port_t i2s_port = i2s_port_t::I2S_NUM_0;
  };Syntax:
void config(const mic_config_t& cfg);Description:
Parameters:
Return:
Syntax:
bool begin(void);Description:
Parameters:
Return:
Syntax:
void end(void);Description:
Parameters:
Return:
Syntax:
bool isRunning(void);Description:
Parameters:
Return:
Syntax:
bool isEnabled(void);Description:
Parameters:
Return:
Syntax:
size_t isRecording(void);Description:
Parameters:
Return:
Syntax:
void setSampleRate(uint32_t sample_rate);Description:
Parameters:
Return:
Syntax:
bool record(uint8_t* rec_data, size_t array_len, uint32_t sample_rate, bool stereo = false);bool record(int16_t* rec_data, size_t array_len, uint32_t sample_rate, bool stereo = false);bool record(uint8_t* rec_data, size_t array_len);bool record(int16_t* rec_data, size_t array_len);Description:
Parameters:
Return: