You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
42 lines
1.2 KiB
// 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
|