//====================================================================== // audio.h //====================================================================== #ifndef __iop_audio_h__ #define __iop_audio_h__ #include #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 //======================================================================