EmergencyStopInterface.h
Go to the documentation of this file.
1#pragma once
2
4{
5
6 /**
7 * @brief The robot's software emergency stop, as far as navigation needs to know it.
8 *
9 * Deliberately narrower than `armarx::EmergencyStopMasterInterface`: navigation only ever
10 * asks, never sets, and keeping the question in a package-local interface keeps the Ice
11 * types out of every header that wants to be safe.
12 *
13 * The state this reports is the software emergency stop -- the one the GUI's SS2 buttons
14 * drive. It also rises on hardware STO and on bus errors, so it is a superset of "the drives
15 * have lost power", but it does not promise IEC 61800-5-2 SS2 semantics: nothing here
16 * guarantees a controlled stop.
17 */
19 {
20 public:
21 /**
22 * @brief True when controllers must not be activated.
23 *
24 * Implementations must not throw. A source that cannot be reached reports engaged, so a
25 * safety source that has gone silent blocks activation instead of being ignored.
26 */
27 virtual bool isActive() const = 0;
28
29 // Non-API.
30 virtual ~EmergencyStopInterface() = default;
31 };
32
33} // namespace armarx::navigation::server
The robot's software emergency stop, as far as navigation needs to know it.
virtual bool isActive() const =0
True when controllers must not be activated.
This file is part of ArmarX.