MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/application/drivers/DiscreteOutputDelayedCompletionInitializer.cpp

32 lines
875 B
C++

/*
* DiscreteOutputDelayedComplition.cpp
*
* Created on: 6 îêò. 2020 ã.
* Author: LeonidTitov
*/
#include "DiscreteOutputDelayedCompletion.hh"
#include "../../driver/DiscreteOutputDelayed.hh"
bool application::board::DiscreteOutputDelayedCompletion::input(
Environment & env ) {
return grab( pin, env.rholder.getShared<IGpio>( links.pin ) );
}
void application::board::DiscreteOutputDelayedCompletion::build(
Environment & env ) {
systemic::time_t timeout = systemic::seconds2time(config.complite_timeout);
driver::detail::DiscreteOutputDelayed * do_delay =
memories::instance_object<driver::detail::DiscreteOutputDelayed>(
env.static_object_ma,
*pin, config.activation_level, timeout );
env.rholder.share<driver::IDiscreteOutput>( *do_delay, links.discrete_output );
}