1 Introduction
This article describes the release versions 3.8.1 & 3.8.2 of the ThinkRF C language Application Programming Interface (API) for command, control and data acquisition using ThinkRF Real-Time Spectrum Analyzer (RTSA) products.
This product is distributed as a single file archive in .zip format containing Microsoft Windows library file (.a and .lib) in 32- and 64-bit, interface (.h) files, and example files.
This version of the API is compatible with all ThinkRF R55x0, R57x0 and WSA5000 products.
2 Fixed Defects
The following issues have been fixed in the version 3.8.1:
- Fixed GNSS enable detection. Added note that if enabling GNSS while it is already ON will cause the GNSS module to re-acquire a fix, which could affect the data collected for up to a few seconds.
- Corrected wsa_compute_fft() calculation of I-data’s power output and improved its computation.
- Fixed SHN’s usable bandwidth for when used with decimation 4 and 8 to be 10 MHz.
And in the version 3.8.2:
- Fixed sweep data handling at DD range (0-50MHz) when the device has the spectral flattening feature.
3 New Features
The following new features and capabilities were added to the version 3.8.1.
- Added the following 2 new functions:
- wsa_clean_cmd_socket()
- wsa_compute_fft_corr_options()
- Added IQ imbalance correction (correction on always for wsa_compute_fft() and user controllable with wsa_compute_fft_corr_options()). However, recommend to turn on IQ imbalance correction for ZIF mode only (see examples).
4 Other Changes
The following other changes were made in version 3.8.1.
- Improved handling of wsa_send_command() for SCPI and to no longer mask the SCPI errors with WSA_ERR_SETFAILED error but send the actual SCPI error code instead.
- Improved wsa_query_error() and does command socket clean-up if a command socket timeout occurred by using wsa_clean_cmd_socket().
- Removed unused struct members: ‘ant_port’ of wsa_sweep_list struct, and ‘temperature’ of wsa_receiver_packet struct.
- Handled spectral inversion in time-domain data such that users no longer require to do spectral bins swapping after an FFT computation. However, the indicator is still made available for when handling SH/SHN output with IF frequency not at zero.
- Improved the occupied bandwidth calculation method.
- Improved wsa_flush_data(), wsa_system_abort_capture() and wsa_clean_data_socket() to properly handle socket timeout.
- Improved sweep’s and stream’s start and stop handling to properly perform checking and clean-up.
- Improved handling of WSA_WARNING_SOCKETTIMEOUT error in capture, especially for triggering and VRT GNSS related capture.
- Added to README.txt instructions for using *.lib library with Microsoft Visual Studio.
- Updated examples to use the new functions and due to the changes. And in the version 3.8.2: 1. Added note on the struct members fstart_actual & fstop_actual of the wsa_power_spectrum_config struct (see wsa_sweep_device.h file).
5 Known Issues and Limitations
The following are known limitations or other issues present in version 3.8.1 & 3.8.2.
- The message logging capability implemented in wsa_debug.* is suspected to cause intermittent problems after hours of intense sweeping activity. To avoid potential issues, disable message logging using “DEBUGLEVEL DNO” in wsa_debug.h.
- The source code has only been partially documented using Doxygen.