Provided by: linuxcnc-uspace_2.9.0~pre1+git20230208.f1270d6ed7-1_amd64
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).