示例#1
0
文件: probe.c 项目: DINKIN/bladeRF
/* Todo move to cmd_probe.c */
int cmd_probe(struct cli_state *s, int argc, char *argv[])
{
    struct bladerf_devinfo *devices = NULL;
    int n_devices, i;

    n_devices = bladerf_get_device_list(&devices);

    if (n_devices < 0) {
        if (n_devices == BLADERF_ERR_NODEV) {
            cli_err(s, argv[0], "No devices found.");
        } else {
            cli_err(s, argv[0], "Failed to probe for devices: %s",
                    bladerf_strerror(n_devices));
        }

        s->last_lib_error = n_devices;
        return CLI_RET_LIBBLADERF;
    }

    printf("\n");
    for (i = 0; i < n_devices; i++) {
        printf("    Backend:        %s\n", backend2str(devices[i].backend));
        /* printf("    Serial: 0x%016lX\n", devices[i].serial); */
        /* TODO: Fix OTP support for serial readback! */
        printf("    Serial:         %s\n", devices[i].serial);
        printf("    USB Bus:        %d\n", devices[i].usb_bus);
        printf("    USB Address:    %d\n", devices[i].usb_addr);
        /*printf("    Firmware: v%d.%d\n", devices[i].fw_ver_maj,
               devices[i].fw_ver_min);

        if (devices[i].fpga_configured) {
            printf("    FPGA: v%d.%d\n",
                    devices[i].fpga_ver_maj, devices[i].fpga_ver_min);
        } else {
            printf("    FPGA: not configured\n");
        }*/
        printf("\n");
    }

    if (devices) {
        assert(n_devices != 0);
        bladerf_free_device_list(devices);
    }

    return 0;
}
示例#2
0
文件: probe.c 项目: ryankurte/bladeRF
/* Todo move to cmd_probe.c */
int cmd_probe(struct cli_state *s, int argc, char *argv[])
{
    bool error_on_no_dev = false;
    struct bladerf_devinfo *devices = NULL;
    int n_devices, i;

    n_devices = bladerf_get_device_list(&devices);

    if (argc > 1 && !strcasecmp(argv[1], "strict")) {
        error_on_no_dev = true;
    }

    if (n_devices < 0) {
        if (n_devices == BLADERF_ERR_NODEV) {
            cli_err(s, argv[0], "No devices found.\n");
            if (error_on_no_dev) {
                return CLI_RET_CMD_HANDLED;
            } else {
                return 0;
            }
        } else {
            cli_err(s, argv[0], "Failed to probe for devices: %s\n",
                    bladerf_strerror(n_devices));
            s->last_lib_error = n_devices;
            return CLI_RET_LIBBLADERF;
        }
    }

    putchar('\n');
    for (i = 0; i < n_devices; i++) {
        printf("  Backend:        %s\n", backend2str(devices[i].backend));
        printf("  Serial:         %s\n", devices[i].serial);
        printf("  USB Bus:        %d\n", devices[i].usb_bus);
        printf("  USB Address:    %d\n", devices[i].usb_addr);
        putchar('\n');
    }

    if (devices) {
        assert(n_devices != 0);
        bladerf_free_device_list(devices);
    }

    return 0;
}
示例#3
0
文件: bladerf.c 项目: kaysin/bladeRF
const char * bladerf_backend_str(bladerf_backend backend)
{
    return backend2str(backend);
}