SYNOPSIS

loadrt latencybins [count=N|names=name1[,name2…]]

DESCRIPTION

Read availablebins pin for the number of bins available. Set the maxbinnumber pin for the number of ±;bins. Ensure maxbinnumberavailablebins.

For maxbinnumber = N, the bins are numbered:

  • -N … 0 … +N bins
    (the -0 bin is not populated)
    (total effective bins = 2 * maxbinnumber + 1)

Set nsbinsize pin for the binsize (ns).

Iterate:

  • Set index pin to a bin number: 0 ≤ index ≤ maxbinnumber.

  • Read check pin and verify that check pin == index pin.

  • Read output pins:

    • pbinvalue is count for bin = +index

    • nbinvalue is count for bin = -index

    • pextra is count for all bins > maxbinnumber

    • nextra is count for all bins < maxbinnumber

    • latency-min is max negative latency

    • latency-max is max positive latency

If index is out of range (index < 0 or index > maxbinnumber) then pbinvalue = nbinvalue = -1. The reset pin may be used to restart.

The latency pin outputs the instantaneous latency.

Maintainers note: hardcoded for MAXBINNUMBER==1000

FUNCTIONS

latencybins.N

PINS

latencybins.N.maxbinnumber s32 in (default: 1000)

latencybins.N.index s32 in

latencybins.N.reset bit in

latencybins.N.nsbinsize s32 in

latencybins.N.check s32 out

latencybins.N.latency s32 out

latencybins.N.latency-max s32 out

latencybins.N.latency-min s32 out

latencybins.N.pbinvalue s32 out

latencybins.N.nbinvalue s32 out

latencybins.N.pextra s32 out

latencybins.N.nextra s32 out

latencybins.N.variance s32 out

latencybins.N.availablebins s32 out (default: 1000)

AUTHOR

Dewey Garrett

LICENSE

GPL