You can monitor how the timeseries data stream is being organized into rays, by supplying
the -showCPIs flag on the RVP startup command line. Here is a sample printout (while
running Ascope):
CPI0: 64–Pulses (269.74,1.49) to (271.25,1.49) 126.00–ms TS:1%
CPI1: 64–Pulses (270.51,1.49) to (272.02,1.49) 126.00–ms TS:0%
CPI2: 64–Pulses (271.28,1.49) to (272.79,1.49) 126.00–ms TS:0%
CPI3: 64–Pulses (272.04,1.49) to (273.56,1.49) 126.00–ms TS:1%
The CPIs are numbered beginning with each new ProcSection, and the number of pulses
in each one is shown. The starting (AZ,EL) and ending (AZ,EL) are printed along with the
duration of the CPI in milliseconds (ms). In the example, the PRF was 500 Hz, hence the 64
pulses span a total time of 126 ms.
The lateness of the data being extracted from the TimeSeries API is listed as a
percentage of available history depth. If the lateness approaches 100%, RVP has trouble
keeping up with the CPU and/or memory throughput demanded by the current major mode.
The default algorithm for blocking CPIs keeps track of whether it seems to be falling behind,
and tries to gracefully skip pulses in order to catch up. Custom CPI algorithms for intensive
major modes should be written with the same sort of feedback.
For more information, see the code in rvp9main/open/cpi.c.
C.3.4
Showing RealTime Callback Timers: -showRTCtrl
RVP can show the detailed activity of the callback timers have been registered for the
current major mode.
If the -showRTCtrl flag is supplied on the command line, then timer activity is printed
during each active ProcSection.
These timer callbacks provide a simple, yet powerful framework for handling real-time
events within RVP. For information on struct rtCtrlCBTimer, see C.5 Real-Time
Control of RVP (page 384).
When no callbacks are registered, or when the registered callback does not request any
further activity, the printout looks like this:
RTC –First- #0(-) #1(-) #2(-)
RTC Disabling further callbacks for this PROC section
The first real-time callback does not set any of the iTVWaitOnNext fields, and the timer
mechanism goes to sleep until the next ProcSection begins.
In contrast, the following printout was generated by the demonstration histogram callback
that is provided in rvp9main/open/rtctrl.c:
Appendix C – RVP900 Developer Notes
377