fastcat 0.13.15
C++ EtherCAT Device Command & Control Library
Loading...
Searching...
No Matches
faulter.h
Go to the documentation of this file.
1#ifndef FASTCAT_FAULTER_H_
2#define FASTCAT_FAULTER_H_
3
4// Include related header (for cc files)
5
6// Include c then c++ libraries
7
8// Include external then project includes
9#include "fastcat/device_base.h"
10
11namespace fastcat
12{
17class Faulter : public DeviceBase
18{
19 public:
20 Faulter();
27 bool ConfigFromYaml(const YAML::Node& node) override;
32 bool Read() override;
37 FaultType Process() override;
44 bool Write(DeviceCmd& cmd) override;
45 void Fault() override;
46 void Reset() override;
47
48 protected:
49 bool start_enabled_{true};
50};
51
52} // namespace fastcat
53
54#endif
Definition device_base.h:20
Fastcat device class that can be used to trigger a fault based on a signal.
Definition faulter.h:18
bool Write(DeviceCmd &cmd) override
Commands device. Only FaulterEnableCmd is accepted currently.
Definition faulter.cc:62
void Fault() override
Disables device.
Definition faulter.cc:73
bool start_enabled_
YAML configurable, recommended value is true.
Definition faulter.h:49
Faulter()
Faulter constructor.
Definition faulter.cc:12
void Reset() override
Enables device if device starts enabled.
Definition faulter.cc:79
bool ConfigFromYaml(const YAML::Node &node) override
Parses input yaml file to set sensor parameters.
Definition faulter.cc:18
FaultType Process() override
Checks if fault-trigger signal is present.
Definition faulter.cc:53
bool Read() override
Updates device state.
Definition faulter.cc:41
Definition device_base.h:18