irmc/src/beep.h

52 lines
1.0 KiB
C
Raw Normal View History

2015-07-08 17:24:41 -04:00
#include <math.h>
2016-10-04 10:37:06 -04:00
#ifdef __MACH__
#define PORTAUDIO
#endif
2016-10-04 10:40:57 -04:00
#ifdef __arm__
2016-10-04 10:38:51 -04:00
#define ALSA
#endif
2016-10-04 10:37:06 -04:00
#ifdef PORTAUDIO
2016-10-04 10:33:14 -04:00
#include <portaudio.h>
2016-10-04 10:37:06 -04:00
#endif
2015-07-08 17:24:41 -04:00
#define NUM_SECONDS (5)
2016-10-03 11:59:43 -04:00
#define SAMPLE_RATE (48000)
2015-07-08 17:24:41 -04:00
#define FRAMES_PER_BUFFER (64)
#ifndef M_PI
#define M_PI (3.14159265)
#endif
2016-10-04 10:37:06 -04:00
#ifdef PORTAUDIO
2015-07-08 17:24:41 -04:00
typedef struct
{
2016-10-03 10:13:59 -04:00
uint32_t total_count;
uint32_t up_count;
2016-09-23 16:32:24 -04:00
2016-10-03 10:13:59 -04:00
uint32_t counter;
uint32_t prev_freq;
uint32_t freq;
} paTestData;
2015-07-08 17:24:41 -04:00
2016-10-03 10:54:54 -04:00
static int patestCallback( const void *inputBuffer, void *outputBuffer,
unsigned long framesPerBuffer,
const PaStreamCallbackTimeInfo* timeInfo,
PaStreamCallbackFlags statusFlags,
void *userData );
2016-10-03 10:13:59 -04:00
void buzzer_set_freq(int frequency);
void buzzer_beep(int frequency, int msecs);
int buzzer_start(void);
int buzzer_stop();
void msleep(int d);
int beep_test(void);
2016-10-04 10:37:06 -04:00
#endif
2016-10-03 10:13:59 -04:00
// compatibility to old interface
int beep(double freq_hz, double duration_sec);
int beep_init();
2016-10-03 15:05:44 -04:00
int beep_close();