ubitx-v5d-xcvr/ubitx_iop/audio.h

92 lines
2.0 KiB
C
Raw Normal View History

//======================================================================
// audio.h
//
// NOTE: Let's change the name of this file to RigAudio.h.
//======================================================================
#ifndef __iop_audio_h__
#define __iop_audio_h__
#include <Audio.h>
#include "config.h"
class RigAudio
{
public:
RigAudio(AudioConfig& c): _config(c) {}
void init() const;
void muteRx() const;
void unmuteRx() const;
void muteAllTx() const;
void muteMicIn() const;
void unmuteMicIn() const;
void muteLineIn() const;
void unmuteLineIn() const;
void muteUSBIn() const;
void unmuteUSBIn() const;
void muteTTIn() const;
void unmuteTTIn() const;
void muteSpkrOut() const;
void unmuteSpkrOut() const;
void muteLineOut() const;
void unmuteLineOut() const;
void muteUSBOut() const;
void unmuteUSBOut() const;
private:
AudioConfig _config;
};
//======================================================================
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(AudioConfig *, char, char, char, float, bool);
*/
#endif
//======================================================================
// EOF
//======================================================================