Linux runtime: overrun detection for real-time timers and for plc execution.
If real-time timer wakes-up PLC thread too late (10% over period), then
warning is logged.
If PLC code (IO retreive, execution, IO publish) takes longer than requested
PLC execution cycle, then warning is logged, and CPU hoogging is mitigated
by delaying next PLC execution a few cylces more until having at least
1ms minimal idle time.
// widget_textlist.ysl2
widget_desc("TextList") {
longdesc
||
TextList widget is a svg:group, list items are labeled elements
in that group.
To use a TextList, clone (svg:use) one of the items inside the widget
that expects a TextList.
In this list, (translated) text content is what matters. Nevertheless
text style of the cloned item will be applied in client widget.
||
shortdesc > A named list of ordered texts
arg name="listname"
}
widget_defs("TextList") {
| texts: [
foreach "func:refered_elements($hmi_element/*[@inkscape:label])[self::svg:text]" {
| id("«@id»"),
}
// could find a proper way in xpath to reverse()
| ].reverse(),
}
widget_class("TextList");