32 lines
875 B
C++
32 lines
875 B
C++
|
|
/*
|
|||
|
|
* DiscreteOutputDelayedComplition.cpp
|
|||
|
|
*
|
|||
|
|
* Created on: 6 <EFBFBD><EFBFBD><EFBFBD>. 2020 <EFBFBD>.
|
|||
|
|
* 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 );
|
|||
|
|
|
|||
|
|
}
|