diff --git a/lib/hackrf/hackrf_sink_c.cc b/lib/hackrf/hackrf_sink_c.cc index 60ef5ce..a052093 100644 --- a/lib/hackrf/hackrf_sink_c.cc +++ b/lib/hackrf/hackrf_sink_c.cc @@ -168,9 +168,13 @@ hackrf_sink_c::hackrf_sink_c (const std::string &args) _bandwidth(0) { int ret; + std::string *hackrf_serial = NULL; dict_t dict = params_to_dict(args); + if (dict.count("hackrf") && dict["hackrf"].length() > 0) + hackrf_serial = &dict["hackrf"]; + _buf_num = 0; if (dict.count("buffers")) @@ -189,7 +193,10 @@ hackrf_sink_c::hackrf_sink_c (const std::string &args) } _dev = NULL; - ret = hackrf_open( &_dev ); + if ( hackrf_serial ) + ret = hackrf_open_by_serial( hackrf_serial->c_str(), &_dev ); + else + ret = hackrf_open( &_dev ); HACKRF_THROW_ON_ERROR(ret, "Failed to open HackRF device") uint8_t board_id;