Program Listing for File Relay8Module.hpp
↰ Return to documentation for file (doc/include/Relay8Module.hpp
)
/****************************************************************************
* @defgroup PackageName Modules
* @file Relay8Module.hpp
* @brief
* @author info@pickdata.net
***************************************************************************/
#ifndef RELAY_MODULE_HPP_
#define RELAY_MODULE_HPP_
#include "Module.hpp"
#include "Relay8Module.h"
// Forward declaration
class RelayFunctions;
class Relay8Module : public Module {
protected:
RelayFunctions* relays;
EmodRet initFunctions();
public:
// Constants
static constexpr uint8_t RELAY1 = Relay8Module_RELAY1;
static constexpr uint8_t RELAY2 = Relay8Module_RELAY2;
static constexpr uint8_t RELAY3 = Relay8Module_RELAY3;
static constexpr uint8_t RELAY4 = Relay8Module_RELAY4;
static constexpr uint8_t RELAY5 = Relay8Module_RELAY5;
static constexpr uint8_t RELAY6 = Relay8Module_RELAY6;
static constexpr uint8_t RELAY7 = Relay8Module_RELAY7;
static constexpr uint8_t RELAY8 = Relay8Module_RELAY8;
static constexpr uint8_t ALL_RELAY = Relay8Module_ALL_RELAY;
static constexpr uint8_t NUMBER_OF_RELAYS = Relay8Module_NUMBER_OF_RELAYS;
// Constructor, destructor and init methods
Relay8Module();
~Relay8Module();
EmodRet init(const uint8_t variant = 1);
// Relay methods
EmodRet configPulseWidth(const uint8_t relay_mask, const uint32_t width_ms);
EmodRet configAllPulseWidth(const uint32_t width_ms);
EmodRet activate(const uint8_t relay_mask);
EmodRet deactivate(const uint8_t relay_mask);
EmodRet activateAll();
EmodRet deactivateAll();
EmodRet getRelayStatus(const uint8_t relay_mask, uint8_t* status);
EmodRet getAllRelayStatus(uint8_t* status);
};
#endif // RELAY_MODULE_HPP_