예제 #1
0
int bladerf_get_loopback(struct bladerf *dev, bladerf_loopback *l)
{
    int status = BLADERF_ERR_UNEXPECTED;
    *l = BLADERF_LB_NONE;

    MUTEX_LOCK(&dev->ctrl_lock);

    if (version_greater_or_equal(&dev->fw_version, 1, 7, 1)) {
        bool fw_lb_enabled;
        status = dev->fn->get_firmware_loopback(dev, &fw_lb_enabled);
        if (status == 0 && fw_lb_enabled) {
            *l = BLADERF_LB_FIRMWARE;
        }
    }

    if (*l == BLADERF_LB_NONE) {
        status = lms_get_loopback_mode(dev, l);
    }

    MUTEX_UNLOCK(&dev->ctrl_lock);
    return status;
}
예제 #2
0
파일: bladerf.c 프로젝트: kaysin/bladeRF
int bladerf_get_loopback(struct bladerf *dev, bladerf_loopback *l)
{
    /* NOTE: Cannot detect firmware loopback mode yet */
    return lms_get_loopback_mode(dev, l);
}