Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
self.uri = uri
channel = 2
if uri_data.group(4):
channel = int(uri_data.group(4))
datarate = Crazyradio.DR_2MPS
if uri_data.group(7) == "250K":
datarate = Crazyradio.DR_250KPS
if uri_data.group(7) == "1M":
datarate = Crazyradio.DR_1MPS
if uri_data.group(7) == "2M":
datarate = Crazyradio.DR_2MPS
if self.cradio is None:
self.cradio = Crazyradio(devid=int(uri_data.group(1)))
else:
raise Exception("Link already open!")
if self.cradio.version >= 0.4:
self.cradio.set_arc(10)
else:
logger.warning("Radio version <0.4 will be obsoleted soon!")
self.cradio.set_channel(channel)
self.cradio.set_data_rate(datarate)
if uri_data.group(9):
addr = str(uri_data.group(9))
new_addr = struct.unpack("
# Open the USB dongle
if not re.search("^radio://([0-9]+)((/([0-9]+))"
"((/(250K|1M|2M))?(/([A-F0-9]+))?)?)?$", uri):
raise WrongUriType('Wrong radio URI format!')
uri_data = re.search("^radio://([0-9]+)((/([0-9]+))"
"((/(250K|1M|2M))?(/([A-F0-9]+))?)?)?$", uri)
self.uri = uri
channel = 2
if uri_data.group(4):
channel = int(uri_data.group(4))
datarate = Crazyradio.DR_2MPS
if uri_data.group(7) == "250K":
datarate = Crazyradio.DR_250KPS
if uri_data.group(7) == "1M":
datarate = Crazyradio.DR_1MPS
if uri_data.group(7) == "2M":
datarate = Crazyradio.DR_2MPS
if self.cradio is None:
self.cradio = Crazyradio(devid=int(uri_data.group(1)))
else:
raise Exception("Link already open!")
if self.cradio.version >= 0.4:
self.cradio.set_arc(10)
else:
logger.warning("Radio version <0.4 will be obsoleted soon!")
to_scan = ()
for l in links:
one_to_scan = {}
uri_data = re.search("^radio://([0-9]+)((/([0-9]+))"
"(/(250K|1M|2M))?)?$",
l)
one_to_scan["channel"] = int(uri_data.group(4))
datarate = Crazyradio.DR_2MPS
if uri_data.group(6) == "250K":
datarate = Crazyradio.DR_250KPS
if uri_data.group(6) == "1M":
datarate = Crazyradio.DR_1MPS
if uri_data.group(6) == "2M":
datarate = Crazyradio.DR_2MPS
one_to_scan["datarate"] = datarate
to_scan += (one_to_scan,)
found = self.cradio.scan_selected(to_scan, (0xFF, 0xFF, 0xFF))
ret = ()
for f in found:
dr_string = ""
if f["datarate"] == Crazyradio.DR_2MPS:
dr_string = "2M"
if f["datarate"] == Crazyradio.DR_250KPS:
dr_string = "250K"
if f["datarate"] == Crazyradio.DR_1MPS:
dr_string = "1M"
def get_status(self):
if self.cradio is None:
try:
self.cradio = Crazyradio()
except USBError as e:
return "Cannot open Crazyradio. Permission problem?" \
" ({})".format(str(e))
except Exception as e:
return str(e)
ver = self.cradio.version
self.cradio.close()
self.cradio = None
return "Crazyradio version {}".format(ver)
def scan_interface(self, address):
""" Scan interface for Crazyflies """
if self.cradio is None:
try:
self.cradio = Crazyradio()
except Exception:
return []
else:
raise Exception("Cannot scann for links while the link is open!")
# FIXME: implements serial number in the Crazyradio driver!
serial = "N/A"
logger.info("v%s dongle with serial %s found", self.cradio.version,
serial)
found = []
if address is not None:
addr = "{:X}".format(address)
new_addr = struct.unpack("