Download C API 3.8.2

View release notes

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: 

  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. 
  2. Corrected wsa_compute_fft() calculation of I-data’s power output and improved its computation. 
  3. Fixed SHN’s usable bandwidth for when used with decimation 4 and 8 to be 10 MHz.

    And in the version 3.8.2:
  4. 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. 

  1. Added the following 2 new functions: 
    1. wsa_clean_cmd_socket() 
    2. wsa_compute_fft_corr_options() 
  2. 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. 

  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. 
  2. Improved wsa_query_error() and does command socket clean-up if a command socket timeout occurred by using wsa_clean_cmd_socket(). 
  3. Removed unused struct members: ‘ant_port’ of wsa_sweep_list struct, and ‘temperature’ of wsa_receiver_packet struct. 
  4. 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. 
  5. Improved the occupied bandwidth calculation method. 
  6. Improved wsa_flush_data(), wsa_system_abort_capture() and wsa_clean_data_socket() to properly handle socket timeout. 
  7. Improved sweep’s and stream’s start and stop handling to properly perform checking and clean-up. 
  8. Improved handling of WSA_WARNING_SOCKETTIMEOUT error in capture, especially for triggering and VRT GNSS related capture. 
  9. Added to README.txt instructions for using *.lib library with Microsoft Visual Studio. 
  10. 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. 

  1. 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. 
  2. The source code has only been partially documented using Doxygen.

Download C API 3.8.2

View release notes