ubitx-v5d-xcvr/ubitx_iop/audio.h

74 lines
1.6 KiB
C
Raw Normal View History

//======================================================================
// audio.h
//======================================================================
#ifndef __iop_audio_h__
#define __iop_audio_h__
#include <Audio.h>
#include "config.h"
enum RxInput {
RX_RIG_IN = 0,
RX_USB_IN = 1,
};
enum RxOutput {
RX_SPEAKER_OUT = 0,
RX_LINE_OUT = 1,
RX_USB_OUT = 2,
};
enum TxInput {
TX_MIC_IN = -1,
TX_LINE_IN = 0,
TX_USB_IN = 1,
TX_TEST_IN = 2,
};
enum TxOutput {
TX_RIG_OUT = 0,
TX_USB_OUT = 1,
};
//======================================================================
class BPFilter {
public:
BPFilter(double f1, double f2, bool use_center, short int window, short int coeff);
void setFreqLo(double f);
void setFreqHi(double f);
void setBand(double f1, double f2);
void setCenter(double c);
void setWidth(double w);
void setCenterAndWidth(double c, double w);
void update(AudioFilterFIR* filter, short* coefficients);
private:
double _freq_lo;
double _freq_hi;
short int _window;
short int _coeff;
float _recovery; // recovery amplifier value
static AudioFilterFIR* _filter; // = &filterRX;
static short _coefficients[];
};
//======================================================================
void audioInit();
void audioSelectTxInput(TxInput);
void audioTransmit();
void audioReceive();
void audioCalibrate(IOPConfig *, char, char, char, float, bool);
#endif
//======================================================================
// EOF
//======================================================================