61 lines
1.8 KiB
C++
61 lines
1.8 KiB
C++
/*
|
||
* SoftSwitch.hh
|
||
*
|
||
* Created on: 3 июл. 2020 г.
|
||
* Author: LeonidTitov
|
||
*/
|
||
|
||
#ifndef UMLIBRARY_APPLICATION_SCHEMATIC_SOFTSWITCH_HH_
|
||
#define UMLIBRARY_APPLICATION_SCHEMATIC_SOFTSWITCH_HH_
|
||
|
||
#include "../ISetupStep.hh"
|
||
|
||
#include "../../systemic/ISignal.hh"
|
||
#include "../../systemic/IStatus.hh"
|
||
|
||
#include "../../processing/logic/SoftSwitch.hh"
|
||
|
||
namespace application { namespace schematic {
|
||
|
||
struct SoftSwitch : public ISetupStep {
|
||
|
||
static const systemic::CustomParameters::ProviderId provider_id = 0;
|
||
|
||
systemic::ISignal * input_a = nullptr;
|
||
systemic::ISignal * input_b = nullptr;
|
||
|
||
systemic::IStatus * valid_a = nullptr;
|
||
systemic::IStatus * valid_b = nullptr;
|
||
|
||
systemic::Parameter<processing::logic::SoftSwitch> parameter;
|
||
|
||
bool input( Environment & env );
|
||
void build( Environment & env );
|
||
|
||
struct Links {
|
||
Environment::SignalId value_a; //!<Входной сигнал 1.
|
||
Environment::StatusId valid_a; //!<Признак валидности входного сигнала 1.
|
||
|
||
Environment::SignalId value_b; //!<Входной сигнал 2.
|
||
Environment::StatusId valid_b; //!<Признак валидности входного сигнала 2.
|
||
|
||
Environment::SettingId params; //!<Параметры переключения сигналов.
|
||
|
||
Environment::SignalId summary; //!<Итоговый сигнал.
|
||
|
||
Environment::StatusId active_a; //!<Принакз активности сигнала 1.
|
||
Environment::StatusId active_b; //!<Признак активности сигнала 2.
|
||
};
|
||
|
||
const Links & links;
|
||
const configuration::ProcessConfig & params;
|
||
|
||
SoftSwitch( const Links & links, const configuration::ProcessConfig & params ) : links(links), params(params) {}
|
||
};
|
||
|
||
}}
|
||
|
||
|
||
|
||
#endif /* UMLIBRARY_APPLICATION_SCHEMATIC_SOFTSWITCH_HH_ */
|