def METHOD_NAME(family="arduino"):
    ports = list(serial.tools.list_ports.comports())
    # We read current_devices the same as above
    current_devices=[]
    for p in ports:
        current_devices.append(p.device)
    # We read in existing_devices from the device.cache file we (presumably) created earlier
    existing_devices = read_list_from_file(DEVICE_CACHE_FILENAME)
    # New devices is any device that shows now (but didn't show before)
    new_devices = list(set(current_devices) - set(existing_devices))
    # Once we have current_devices, existing_devices, and new_devices, let's enrich new_devices
    new_devices_enriched = []
    for p in ports:
        if p.device in new_devices:
            known_device = check_known_devices(family, p.pid, p.vid)
            enriched_device = {'vid': p.vid, 'pid': p.pid, 'device': p.device, 'description': p.description,
                               'known_name': known_device['name'], 'known_generic': known_device['generic']}
            new_devices_enriched.append(enriched_device)
    # And now, let's return all four lists for good measure. We can discard the ones we don't want.
    return existing_devices, current_devices, new_devices, new_devices_enriched