Exemple #1
0
	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 = []
Exemple #2
0
    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
Exemple #3
0
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
Exemple #4
0
    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)