Download libtrf v1.9.1 - .2 release package.


Important Note: If your RTSA has firmware v1.7.0/1.7.1 for R55x0 or v1.2.0/1.2.1 for R57x0, it is critical that you should update it to the latest to use libtrf’s spectrum capture in v1.5.4 or higher.


The versions of libtrf currently released support all thinkRF’s RTSA products: 

  • R55x0/R57x0 products (408/418/427 models) 
  • R6000 products – Ethernet and USB connection


New Features

The following new features and capabilities were added. Refer to the Reference Manual for full details.

  1. Added a communications-tolerance setting (TRFCommsToleranceMsec) that controls how long libtrf waits through an interruption on the control or data connection before reporting a fault. It is now the preferred control for communications timeouts.
    Defaults to 5000msec, suitable for USB/LAN; raise to around 15000msec for WAN links.
  1. Added a new device status (trfDeviceNotDeliveringData, -119) for a device that responds to commands but has sent no capture data since the capture started. This separates a stalled capture from a device that can’t be reached at all.

Code examples have been updated to include the new features and provide the best way to learn how to use them.


Enhancements

The following other changes were made:

  1. IQ frames now report the highest signal level seen so far in the stream, in dB relative to full scale, alongside the existing sub-optimal level flag.
  1. Spectrum Masking usage:
  1. Alarms processor frames now report which passenger trace carries the threshold, so applications no longer need to assume it is always first.
  1. Alarms events now report the first and last frame numbers they cover.
  1. An alarm range can now be marked inactive. It keeps tracking its threshold but stops generating events, and any event still open when it’s deactivated is closed.
  1. An alarm range’s settings can now be changed while it is in use. Each change is applied in full or not at all, so the range is never left partly updated.
  1. Faster IQ reconstruction, particularly on ARM-based platforms.
  1. Substantially improved reliability starting, stopping and recovering captures over slow or remote (WAN) connections.
  1. Loading libtrf no longer claims USB RTSA devices until one is actually enumerated or opened, so another application can no longer be blocked from finding the receiver.
  1. GNSS position is omitted from frame data entirely when there is no fix, rather than reporting a default location; unknown motion values are now reported as unavailable rather than as invalid data.

A GNSS fix older than 10 seconds, or out of range, is now treated as invalid.

Changes Affecting Existing Applications

  1. The TRFAdaptFull and TRFAdaptStep parameters have been replaced by a single TRFMaxAdaptStep parameter, which controls the largest automatic adjustment applied after an IQ capture. Applications setting the old parameters should be updated.
  1. TRFSCPIQueryTimeout is still honoured, and an explicit value overrides the one derived from the tolerance TRFCommsToleranceMsec.


Fixed Defects

The following issues were fixed:

  1. Fixed intermittent crashes when a stream or device was closed during an active capture, or when a device was lost while streaming.
  1. Fixed a crash on some platforms when a spectrum sweep needed certain FFT sizes. .
  1. Fixed sweep captures stopping permanently after a device restarted its own sweep list.
  1. Fixed spectrum streams failing to start after an IQ stream on the same device was closed during start-up.
  1. Fixed setting changes on a running IQ stream being accepted but not applied to the device
  1. Fixed occasional stalls when starting an IQ stream, or when spectrum settings were changed and quickly changed back.
  1. Fixed the last data point of some spectra showing an invalid low value.
  1. Fixed gaps in spectra where antenna or RF-path ranges overlap or meet.
  1. Fixed clearing a min-hold trace briefly showing a flat trace at the bottom of the display. The trace now restarts from the current spectrum.
  1. Fixed minimum, maximum and average traces disappearing while an alarm mask was active.
  1. Fixed device date and time settings not always taking effect. A value the device rejects is now reported as an error instead of being ignored.
  1. Fixed invalid data in device parameters when GNSS motion information was unavailable.
  1. Fixed a crash when alarm output was enabled before a threshold was set, and a memory fault when the spectrum size changed while alarms were active.


Known Issues and Limitations

The following are the known limitations or other issues present since libtrf version 1.4.0:

  1. Rarely, stopping a continuous, undecimated, frequency-stepped spectrum sweep on an R6xx0 device while it is streaming can leave the device unresponsive, requiring a power cycle. This is under investigation.
  1. Initial spectrum of narrow-band IQ capture (12.5kHz) on R5x, R6x displays sinc-type distortion (IQ stream -> IQToSpectrumProcessor).