MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/application/schematic/SoftSwitch.hh

61 lines
1.7 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_ */