Provided by: linuxcnc-uspace_2.9.0~pre1+git20230208.f1270d6ed7-1_amd64 bug

NAME

       weighted_sum - convert a group of bits to an integer

SYNOPSIS

       loadrt weighted_sum wsum_sizes=size[,size,...]

       Creates weighted sum groups each with the given number of input bits (size).

DESCRIPTION

       The  weighted_sum converts a group of bits to an integer. The conversion is the sum of the
       weights of the bits that are on plus any offset. The weight of the m-th bit is  2^m.  This
       is  similar to a binary coded decimal but with more options. The hold bit stops processing
       the input changes so the sum will not change.

       The default value for each weight is 2^m where m is the bit  number.  This  results  in  a
       binary to unsigned conversion.

       There is a limit of 8 weighted summers and each may have up to 16 input bits.

FUNCTIONS

       process_wsums (requires a floating point thread)
              Read all input values and update all output values.

PINS

       wsum.N.bit.M.in bit in
              The m'th input of weighted summer n.

       wsum.N.hold bit in
              When  TRUE,  the sum output does not change.  When FALSE, the sum output tracks the
              bit inputs according to the weights and offset.

       wsum.N.sum signed out
              The output of the weighted summer

       wsum.N.bit.M.weight signed rw
              The weight of the m'th input of weighted summer n.  The default value is 2^m.

       wsum.N.offset signed rw
              The offset is added to the weights corresponding to all TRUE  inputs  to  give  the
              final sum.

SEE ALSO

       scaled_s32_sums(9), sum2(9).