Class Relay8Module
Defined in File Relay8Module.hpp
Inheritance Relationships
Base Type
public Module
(Class Module)
Class Documentation
-
class Relay8Module : public Module
This class represents the Signal Relays Module connected via eMOD bus to the controller module. The Relays Module has 8 independent signal relays that you can activate or deactivate each one separately. Moreover, a timeout configuration parameter can be set to generate one shot relay pulse automatically. If timeout is set to 0, relay stays in the current state.
Class example 1
/* * This example creates a Relay8Module object and activates/deactivates every two seconds some of its relays. */ #include "Relay8Module.hpp" #include "EmodRetMng.hpp" #include "HAL.hpp" int main() { // Declares an instance of Relay8Module Relay8Module relay_module; if (relay_module.init() != 0) { printf("Module could not be initialized!\n"); return 1; } // Configures first two relays without pulse relay_module.configPulseWidth(Relay8Module::RELAY1 | Relay8Module::RELAY2, 0); // Example using Relay8Module while (1) { relay_module.activate(Relay8Module::RELAY1); relay_module.deactivate(Relay8Module::RELAY2); sleepMs(1000); relay_module.activate(Relay8Module::RELAY2); relay_module.deactivate(Relay8Module::RELAY1); sleepMs(1000); } }
Public Functions
-
Relay8Module()
-
~Relay8Module()
-
EmodRet init(const uint8_t variant = 1)
Initialize module. It is important to emphasize that this method is mandatory to call it. It can be called several times, each of which the module is initialized again.
- Parameters
variant(optional) -- [in] identifies the module in case more than one module of the same type are present.
-
EmodRet configPulseWidth(const uint8_t relay_mask, const uint32_t width_ms)
Configure pulse width of a relay or list of relays. When pulse width is 0 a relay stays in the current state, and there is no pulse.
- Parameters
relay_mask -- [in] relay or list of relays to configure.
width_ms -- [in] pulse width in ms. Value range 0 to 2^32-1. A 0-value means disable pulse. Default value is 0.
-
EmodRet configAllPulseWidth(const uint32_t width_ms)
Configure pulse width of all relays. When pulse width is 0 a relay stays in the current state, and there is no pulse.
- Parameters
width_ms -- [in] pulse width in ms. Value range 0 to 2^32-1. A 0-value means disable pulse. Default value is 0.
-
EmodRet activate(const uint8_t relay_mask)
Activates a relay or set of relays.
- Parameters
relay_mask -- [in] relay or list of relays to activate.
-
EmodRet deactivate(const uint8_t relay_mask)
Deactivates a relay or set of relays.
- Parameters
relay_mask -- [in] relay or list of relays to deactivate.
Public Static Attributes
-
static constexpr uint8_t kRelay1 = Relay8Module_RELAY1
-
static constexpr uint8_t kRelay2 = Relay8Module_RELAY2
-
static constexpr uint8_t kRelay3 = Relay8Module_RELAY3
-
static constexpr uint8_t kRelay4 = Relay8Module_RELAY4
-
static constexpr uint8_t kRelay5 = Relay8Module_RELAY5
-
static constexpr uint8_t kRelay6 = Relay8Module_RELAY6
-
static constexpr uint8_t kRelay7 = Relay8Module_RELAY7
-
static constexpr uint8_t kRelay8 = Relay8Module_RELAY8
-
static constexpr uint8_t kRelayAll = Relay8Module_ALL_RELAY
-
static constexpr uint8_t kNumberOfRelays = Relay8Module_NUMBER_OF_RELAYS
Protected Attributes
-
RelayFunctions *relays
-
Relay8Module()