aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/radioInterface.h
diff options
context:
space:
mode:
Diffstat (limited to 'Transceiver52M/radioInterface.h')
-rw-r--r--Transceiver52M/radioInterface.h25
1 files changed, 20 insertions, 5 deletions
diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h
index a64702b..690d572 100644
--- a/Transceiver52M/radioInterface.h
+++ b/Transceiver52M/radioInterface.h
@@ -39,12 +39,14 @@ protected:
RadioDevice *mRadio; ///< the USRP object
- float *sendBuffer;
+ signalVector *sendBuffer;
+ signalVector *recvBuffer;
unsigned sendCursor;
+ unsigned recvCursor;
+
+ short *convertRecvBuffer;
+ short *convertSendBuffer;
- float *rcvBuffer;
- unsigned rcvCursor;
-
bool underrun; ///< indicates writes to USRP are too slow
bool overrun; ///< indicates reads from USRP are too slow
TIMESTAMP writeTimestamp; ///< sample timestamp of next packet written to USRP
@@ -85,6 +87,10 @@ public:
/** start the interface */
void start();
+ /** intialization */
+ virtual bool init();
+ virtual void close();
+
/** constructor */
RadioInterface(RadioDevice* wRadio = NULL,
int receiveOffset = 3,
@@ -92,7 +98,7 @@ public:
GSM::Time wStartTime = GSM::Time(0));
/** destructor */
- ~RadioInterface();
+ virtual ~RadioInterface();
/** check for underrun, resets underrun value */
bool isUnderrun();
@@ -156,6 +162,10 @@ void *AlignRadioServiceLoopAdapter(RadioInterface*);
class RadioInterfaceResamp : public RadioInterface {
private:
+ signalVector *innerSendBuffer;
+ signalVector *outerSendBuffer;
+ signalVector *innerRecvBuffer;
+ signalVector *outerRecvBuffer;
void pushBuffer();
void pullBuffer();
@@ -166,4 +176,9 @@ public:
int receiveOffset = 3,
int wSPS = SAMPSPERSYM,
GSM::Time wStartTime = GSM::Time(0));
+
+ ~RadioInterfaceResamp();
+
+ bool init();
+ void close();
};