radioDevice: better encapsulation in base class

It's not good style to have the derived classes initialize members
inherited from the base class using "this->foo = bar".  Rather, let's
make the base class have a constructor, and call that constructor to
initialize the members of the base class.

While doing this
* rename 'offset' to 'lo_offset' to avoid confusion with timestamp offset
* move 'InterfaceType' into the base class
* move 'chans' into the base class
* move 'rx_sps' into the base class
* mark base class members as 'protected'

Change-Id: Ib885675a7612a392aa7f75fca81269ddcff2f6ab
diff --git a/Transceiver52M/device/radioDevice.h b/Transceiver52M/device/radioDevice.h
index a9328ec..5d001fb 100644
--- a/Transceiver52M/device/radioDevice.h
+++ b/Transceiver52M/device/radioDevice.h
@@ -164,8 +164,20 @@
   virtual double numberRead()=0;
   virtual double numberWritten()=0;
 
+  protected:
+  size_t tx_sps, rx_sps;
+  InterfaceType iface;
+  size_t chans;
+  double lo_offset;
   std::vector<std::string> tx_paths, rx_paths;
-  size_t tx_sps;
+
+  RadioDevice(size_t tx_sps, size_t rx_sps, InterfaceType type, size_t chans, double offset,
+              const std::vector<std::string>& tx_paths,
+              const std::vector<std::string>& rx_paths):
+		tx_sps(tx_sps), rx_sps(rx_sps), iface(type), chans(chans), lo_offset(offset),
+		tx_paths(tx_paths), rx_paths(rx_paths)
+	{ }
+
   bool set_antennas() {
 	unsigned int i;