arduino/libraries/Adafruit_Circuit_Playground/utility/Adafruit_CPlay_Mic.h
2018-11-03 20:21:33 +00:00

42 lines
1.2 KiB
C++

// Adafruit Circuit Playground microphone library
// by Phil Burgess / Paint Your Dragon.
// Fast Fourier transform section is derived from
// ELM-ChaN FFT library (see comments in ffft.S).
#ifndef ADAFRUIT_CPLAY_MIC_H
#define ADAFRUIT_CPLAY_MIC_H
#ifdef __GNUC__
#define DEPRECATED(func) func __attribute__ ((deprecated))
#elif defined(_MSC_VER)
#define DEPRECATED(func) __declspec(deprecated) func
#else
#pragma message("WARNING: You need to implement DEPRECATED for this compiler")
#define DEPRECATED(func) func
#endif
#include "Adafruit_ZeroPDM.h"
/**************************************************************************/
/*!
@brief Class that stores state and functions for the microphone on CircuitPlayground boards
*/
/**************************************************************************/
class Adafruit_CPlay_Mic {
public:
Adafruit_CPlay_Mic(void) {}; // Empty constructor
int peak(uint16_t ms) __attribute__ ((deprecated));
void capture(int16_t *buf, uint16_t nSamples),
fft(uint16_t *spectrum);
float soundPressureLevel(uint16_t ms);
private:
#if defined(ARDUINO_ARCH_SAMD)
static Adafruit_ZeroPDM pdm;
#endif
};
#endif // ADAFRUIT_CPLAY_MIC_H