aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/radioDevice.h
diff options
context:
space:
mode:
authorThomas Tsou <tom@tsou.cc>2013-04-08 14:18:26 -0400
committerThomas Tsou <tom@tsou.cc>2013-10-18 13:03:41 -0400
commitcb69f084107367eb1a95cd0e6ef3a379361f3e7c (patch)
tree7e06d370c266df839da53437275aeff1eb9235a7 /Transceiver52M/radioDevice.h
parent312e387630c6a2d6a6b0c7fc80f3661acfdfd0ed (diff)
Transceiver52M: Set resampling option automatically based on device
Remove the built time resampling selection and link both options. Move the normal push/pullBuffer() calls back to the base class and overload them in the inherited resampling class. USRP2/N2xx devices are the only devices that require resampling so return that resampling is necessary on the device open(), which is the point at which the device type will be known. The GSM transceiver only operates at a whole number multiple of the GSM rate and doesn't care about the actual device rate and if resampling is used. Therefore GSM specific portion of the transceiver should only need to submit the samples-per-symbol value to the device interface. Then, the device should be able to determine the appropriate sample rate (400 ksps or 270.833 ksps) and if resampling is appropriate. Signed-off-by: Thomas Tsou <tom@tsou.cc>
Diffstat (limited to 'Transceiver52M/radioDevice.h')
-rw-r--r--Transceiver52M/radioDevice.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/Transceiver52M/radioDevice.h b/Transceiver52M/radioDevice.h
index ff3421c..485d037 100644
--- a/Transceiver52M/radioDevice.h
+++ b/Transceiver52M/radioDevice.h
@@ -21,6 +21,8 @@
#include "config.h"
#endif
+#define GSMRATE 1625e3/6
+
/** a 64-bit virtual timestamp for radio data */
typedef unsigned long long TIMESTAMP;
@@ -31,10 +33,13 @@ class RadioDevice {
/* Available transport bus types */
enum TxWindowType { TX_WINDOW_USRP1, TX_WINDOW_FIXED };
- static RadioDevice *make(double desiredSampleRate, int sps, bool skipRx = false);
+ /* Radio interface types */
+ enum RadioInterfaceType { NORMAL, RESAMP };
+
+ static RadioDevice *make(int sps, bool skipRx = false);
/** Initialize the USRP */
- virtual bool open(const std::string &args)=0;
+ virtual int open(const std::string &args)=0;
/** Start the USRP */
virtual bool start()=0;