SYNOPSIS

loadrt pushmsg [msgs=value[,value…]]

msgs

Comma separated list of custom messages in format level|pinname|message

DESCRIPTION

The pushmsg component enables you to generate configurable messages to your GUI, terminal or other interface from real-time components using HAL pins.

Up to 64 messages can be configured using the msgs module parameter using the following syntax:
"level|pinname|message"[,…]

level

is a letter denoting the severity level of the message with:

  • e - error

  • w - warning

  • i - info

  • d - debug

pinname

is the HAL pin name base used in the creation of the trigger pins:

  • pushmsg.<pinname>.trigger (bit) - The trigger input to activate the message

  • pushmsg.<pinname>.edge (bit) - The trigger input edge selection with FALSE=rising trigger edge and TRUE=falling trigger edge

  • pushmsg.<pinname>.force (bit) - An always active rising edge trigger to activate the message, regardless of the setting of the global enable pin (pushmsg.enable)

message

is a free form text message.
The text may include {t:refname} placeholders for HAL pin value substitutions (use \{ to embed a literal curly brace). Up to two placeholders are supported. Each placeholder creates a typed input pin pushmsg.<pinname>.<refname> that the user wires up to the source signal. The type letter in the placeholder selects the pin type:

  • b - bit

  • s - s32

  • u - u32

  • l - s64

  • k - u64

  • f - float

Each message line is limited to 128 characters in length. The length count includes the level indicator, pinname, message text and the | separator characters.

HAL file example:

The INI-file may be an administrative help for message configuration. A longer list is much easier to read and maintain when split over multiple lines. The INI-file format supports continuations that improve readability and maintainability.

Example INI expansion:

The HAL file then looks like:

FUNCTIONS

pushmsg.-

PINS

pushmsg.enable bit in (default: TRUE)

Enable message generation through trigger input pins

AUTHOR

LinuxCNC

LICENSE

GPL