From 33e20bda0cd69b90a8c9507f6bcc32ef681e8254 Mon Sep 17 00:00:00 2001 From: Heikki Hannikainen Date: Mon, 23 Feb 2015 22:44:18 +0200 Subject: [PATCH] hackrf_cpldjtag: added -d for device serial number --- host/hackrf-tools/src/hackrf_cpldjtag.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/host/hackrf-tools/src/hackrf_cpldjtag.c b/host/hackrf-tools/src/hackrf_cpldjtag.c index 4fac03a5..c2120990 100644 --- a/host/hackrf-tools/src/hackrf_cpldjtag.c +++ b/host/hackrf-tools/src/hackrf_cpldjtag.c @@ -80,6 +80,7 @@ static void usage() { printf("Usage:\n"); printf("\t-x : XSVF file to be written to CPLD.\n"); + printf("\t-d : Serial number of device, if multiple devices\n"); } int main(int argc, char** argv) @@ -88,6 +89,7 @@ int main(int argc, char** argv) uint32_t length = 0; uint32_t total_length = 0; const char* path = NULL; + const char* serial_number = NULL; hackrf_device* device = NULL; int result = HACKRF_SUCCESS; int option_index = 0; @@ -95,13 +97,17 @@ int main(int argc, char** argv) ssize_t bytes_read; uint8_t* pdata = &data[0]; - while ((opt = getopt_long(argc, argv, "x:", long_options, + while ((opt = getopt_long(argc, argv, "x:d:", long_options, &option_index)) != EOF) { switch (opt) { case 'x': path = optarg; break; + case 'd': + serial_number = optarg; + break; + default: usage(); return EXIT_FAILURE; @@ -158,7 +164,7 @@ int main(int argc, char** argv) return EXIT_FAILURE; } - result = hackrf_open(NULL, &device); + result = hackrf_open(serial_number, &device); if (result != HACKRF_SUCCESS) { fprintf(stderr, "hackrf_open() failed: %s (%d)\n", hackrf_error_name(result), result);