Most configured streams allow simple maths to be applied to a stream value either as it is read in (say, from a CAN bus) or before it is output (say, via ASCII). Also, check the other Streams, Advanced Concepts pages and Using Maths to Reduce Bit-Count.
NOTE: zero values mean the option is not used i.e. you do not need to set multipliers or dividers to ‘1’ to get a value. (This avoids overheads in the embedded system and avoids issues like divide-by-zero errors.)
Options are carried out in the order listed here:
- Offset – This offset will be added to the stream value before transmission. This resultant is then passed to the multiplier.
- Multiplier – The stream output is multiplied by this value. If zero, no multiplication will be performed. The resultant is passed to the divider.
- Divider – The stream output is divided by this value. If zero, no division will be performed. The resultant is passed to the “Lower” filter.
- Lower Limit – output values can be stopped from going below the number in the box to the right. The options are: Ignore – no operation is performed; Truncate – if the value is below the limit set it will be set to the limit value; or Invalidate – if the value is below the limit it will be set to the invalid value (reserved – always zero).
- Upper Limit – same operation as Lower but for the high end limit.
- Mask – a hexadecimal value to be ANDed to mask or crop out parts of the result.
Further operations are:
- Format – Override the default formatting for this stream only. See Values (purple) above.
- Padding – Override the default number padding for this stream only. See Values (purple) above.
- Block – this provides a ‘hint’ to the system in how to size the stream data buffer. This option alters internal operations and should generally be left as-is.
- Advanced: Propagation – this option allows a Pilot mastered CAN bus system to reflect messages up or down the hierarchy. Setting “upwards” will mean that data stored in this configured device will be reported to the Pilot master. Downwards is used on the master to explicitly ensure data is passed to one or more slaves.