def __init__(self): self.n = 0 self.sensor = SpectrumSensor(base_hz=2.4e9, step_hz=100e3, nchannels=64) self.radio_devices = list_radio_devices() log.debug("detected %d connected radios" % (len(self.radio_devices,))) self.radios = []
def setUpClass(cls): cls.ss = SpectrumSensor(base_hz=2.4e9, step_hz=100e3, nchannels=64) try: cls.ss.start() except RuntimeError, e: if 'No devices found' in str(e): raise unittest.SkipTest("USRP not connected") else: raise
class Testbed(TestbedBase): RADIO_CLASS = Radio def __init__(self): self.n = 0 self.sensor = SpectrumSensor(base_hz=2.4e9, step_hz=100e3, nchannels=64) self.radio_devices = list_radio_devices() log.debug("detected %d connected radios" % (len(self.radio_devices,))) self.radios = [] def _get_radio(self): try: path = self.radio_devices.pop() except IndexError: raise TestbedError("Can't get radio device") self.n += 1 radio = Radio(path, self.n) self.radios.append(radio) return radio def get_radio_pair(self): dst_radio = self._get_radio() src_radio = self._get_radio() dst_radio.neighbor = src_radio.addr src_radio.neighbor = dst_radio.addr return dst_radio, src_radio def start(self): log.debug("starting spectrum sensor") self.sensor.start() log.debug("starting radios") for radio in self.radios: radio.start() def stop(self): log.debug("stopping spectrum sensor") self.sensor.stop() log.debug("cleaning up radios") for radio in self.radios: radio.stop() def get_spectrum(self): return self.sensor.get_spectrum() def get_frequency_range(self): return min(self.sensor.fft_size, 256) def get_bandwidth_range(self): return 4 def get_power_range(self): return 17
def test_constructor(self): ss = SpectrumSensor(base_hz=2.4e9, step_hz=100e3, nchannels=64) self.assertEqual(ss.center_freq, 2.4032e9) self.assertEqual(ss.samp_rate, 6.4e6) self.assertEqual(ss.fft_size, 64)