MotorControlModuleSDFM_TMS3.../Projects/EFC_Communication/UMLibrary/peripheral/IGpioOverride.hh
2024-06-07 11:12:56 +03:00

57 lines
2.0 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* IGpioOverride.h
*
* Created on: 20 окт. 2016 г.
* Author: titov
*/
#ifndef SOURCE_PERIPHERAL_IGPIOOVERRIDE_H_
#define SOURCE_PERIPHERAL_IGPIOOVERRIDE_H_
namespace peripheral {
/*! \brief Интерфейс для перезаписи значений дискретного ввода/вывода
* \details С помощью этого интерфеса есть возможность подменять
* считываемые с порта или выводимые в порт значения.
*/
struct IGpioOverride {
//! Перечисление возможных вариантов вывода на пин.
enum /*class*/ TOutValue {
hi_z, //!< Высокоимпедансное состояние.
high, //!< Высокий уровень сигнала.
low //!< Низкий уровень сигнала.
};
/*!\brief Функция запроса статуса перезаписи
*/
virtual bool getOverrideStatus() const = 0;
/*!\brief Функция включения режима перезаписи значения.
* На выводе фиксируется текущее значение.
*/
virtual void setupOverride() = 0;
/*!\brief Функция задания значения для перезаписи.
* \param[in] value значение для перезаписи
* \return Успешность задания значения (находимся в режиме замещения)
*/
virtual void setOverrideValue(TOutValue value) = 0;
/*!\brief Функция получение фактического состояния на выводе.
* \return Перезаписанное значение.
*/
virtual bool getHidenValue() const = 0;
/*!\brief Функция выключения режима перезаписи.
*
*/
virtual void resetOverride() = 0;
virtual ~IGpioOverride() = default;
};
} /* namespace peripheral */
#endif /* SOURCE_PERIPHERAL_IGPIOOVERRIDE_H_ */