30 lines
807 B
C++
30 lines
807 B
C++
/*
|
|
* DiscreteSwitch.cpp
|
|
*
|
|
* Created on: 21 ìàÿ 2021 ã.
|
|
* Author: sozonov
|
|
*/
|
|
|
|
#include "../../systemic/MemberFuntion.hpp"
|
|
#include "../../systemic/ValueLazyFast.hpp"
|
|
#include "EnableAction.hh"
|
|
|
|
bool application::schematic::EnableAction::input( Environment & env ) {
|
|
//Âõîäíûå ñèãíàëû.
|
|
return grab( output_signal, env.rholder.getShared<Action>( links.output ))
|
|
and ( enable_status = env.statuses.get( links.enable) );
|
|
|
|
}
|
|
|
|
void application::schematic::EnableAction::build( Environment & env ) {
|
|
|
|
typedef ::application::schematic::DiscreteSwitchInterface DiscreteSwitch;
|
|
|
|
DiscreteSwitch * discrete_switch = memories::instance_object<DiscreteSwitch>(env.static_data_ma, *output_signal, *enable_status);
|
|
|
|
env.rholder.share<Action>( *discrete_switch, links.input );
|
|
}
|
|
|
|
|
|
|