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:
loadrt pushmsg msgs="e|nooil|No oil pressure","w|low|Oil {f:level} L low"
addf pushmsg servo-thread
net no-oil classicladder.0.out-21 pushmsg.nooil.trigger
net oil-level oil.level pushmsg.low.level
...
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:
[PUSHMSG]
# Note: no surrounding whitespace, last line has no comma
MSGS=\
"e|nooil|No oil pressure",\
"w|low|Oil {f:level} L low"
The HAL file then looks like:
loadrt pushmsg msgs=[PUSHMSG]MSGS
addf pushmsg servo-thread
...
FUNCTIONS
- pushmsg.-
PINS
- pushmsg.enable bit in (default: TRUE)
-
Enable message generation through trigger input pins
AUTHOR
LinuxCNC
LICENSE
GPL