HB emergency was only set but never cleared, so only the first error ever
was reported. We now get an emergency when the first node is missing and
a clear emergency when the last node turns up again.
The same applies for HB Remote Reset, however while clearing this emergency
is required by the CO_Emergency module, it's not required for the network.
Allow LSS configure node to also run in global mode, but only to
set node ID to 255 (0xFF), i.e. to remove configuration.
This way we can easily un-configure all nodes and start all over
with e.g. fastscan.
LSS has two selection modes: global (all nodes) and selective
(just one).
The current implementation defensively refuses to perform some
operations in global mode which are potentially disruptive
(e.g. set node id).
However, reading the node ID and/or LSS identity should not
be dangerous at all since in some cases it might be useful
to just read the identity of a single connected node.
Not quite sure what the behavior with multiple nodes will
be though, since it's theoretically possible to get inconsistent
results by mixing up answers from different nodes.
We would like a simple way to give feedback when LSS
is involved. Particularly, we would like to identify
a node that is not configured (factory settings), or
that is currently being configured.
Implement a special logic, which can be used to override
the standard LED behavior if your device does not have
a dedicated LED. After all, LSS can be seen as a
maintenance mode so it can be acceptable to deviate
from the standard.
Fix warnings from -Wimplicit-fallthrough.
Changed the implementation of CO_TPDOisCOS to avoid fallthrough.
Added documentation for case fallthroughs that are voluntary.
- emergency processing now affects CO_process() timerNext_ms
- timerNext_ms is gets set when either a message is ready to send, but inhibit time is not elapsed or when a message was sent to re-check the queue
- be aware that timer resolution is 1ms, whereas emergency inhibit time resolution is 100us. We round this up to the next ms.
- needs #define CO_NO_LSS_CLIENT 1 in CO_OD.h. This will need a change in the OD editor.
- still no fastscan support
- bitrate settin API untested
- some changes on LSS slave where necessary