A bit of progress. The error_string might have been used by two threads, so I allocated a new buffer for error messages in the thread that starts streaming and receives samples. This revealed the error message: TX/RX. What is is error?
On Tue, Nov 7, 2017 at 1:06 PM, Sivan Toledo <stol...@tau.ac.il> wrote: > Hi, > > I've ported a code from the C++ API to the C API; it runs okay on Linux > but fails on Windows. The failure occurs at the function: > > void radioRxStartStreaming(void) { > uhd_stream_cmd_t stream_cmd; > > size_t n; > uhd_rx_streamer_max_num_samps(rx_stream, &n); > fprintf(stderr,"### UHD max samples %d ###\n",n); > > fprintf(stderr,"### starting rx streaming ###\n"); > > stream_cmd.stream_mode = UHD_STREAM_MODE_START_CONTINUOUS; > stream_cmd.stream_now = true; > > if (uhd_rx_streamer_issue_stream_cmd(rx_stream, &stream_cmd)) { > uhd_rx_streamer_last_error(rx_stream, error_string, > ERROR_STRING_LENGTH); > fprintf(stderr,"### cannot start UHD rx streamer: <%s> > ###\n",error_string); > } else { > fprintf(stderr,"### started rx streaming ###\n"); > } > } > > issue_stream_command fails but last_error returns an empty string. > The functions uhd_rx_streamer_make(&rx_stream) and > uhd_usrp_get_rx_stream(usrp, &stream_args, rx_stream) are called prior to > the attempt to start the stream, but from another thread. I am using > pthreads in both Linux and Windows (using a pthreads library) and have not > had a problem with this with the C++ API. > > I'm using UHD 3.9.7, installed from uhd_3.9.7-release_Win64_VS2013.exe > <http://files.ettus.com/binaries/uhd/uhd_003.009.007-release/uhd_3.9.7-release_Win64_VS2013.exe>. > The code is linked against visual studio 12.0 (which I think is VS2013) > > Any idea what might be going wrong? It's difficult to debug when the error > message is empty. > > Thanks, Sivan > > >
_______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com