46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
/*
|
|
* GpioPinDecoderv2Setup.cpp
|
|
*
|
|
* Created on: 23 îêò. 2019 ã.
|
|
* Author: user
|
|
*/
|
|
|
|
#include "GpioPinDecoderv2Setup.hh"
|
|
|
|
#include "../../driver/GpioPinDecoderv2.hh"
|
|
|
|
bool application::virtualization::GpioPinDecoder_v2Setup::input( Environment & env ) {
|
|
|
|
return grab( demux, env.rholder.getShared< driver::Demux >( links.demux_id ) );
|
|
|
|
}
|
|
|
|
void application::virtualization::GpioPinDecoder_v2Setup::build( Environment & env ) {
|
|
|
|
driver::GpioPinDecoder_v2::PinPack pack;
|
|
|
|
{
|
|
pack.pin[0] = config.pin0_id;
|
|
pack.pin[1] = config.pin1_id;
|
|
pack.pin[2] = config.pin2_id;
|
|
pack.pin[3] = config.pin3_id;
|
|
};
|
|
|
|
if( links.decoder_id ) {
|
|
|
|
driver::GpioPinDecoder_v2 * decoder = memories::instance_object<driver::GpioPinDecoder_v2>(
|
|
env.static_object_ma,
|
|
*demux,
|
|
config.default_pin,
|
|
pack
|
|
);
|
|
|
|
env.rholder.share( *decoder, links.decoder_id );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
application::virtualization::GpioPinDecoder_v2Setup::GpioPinDecoder_v2Setup(
|
|
const Links & links, const Setting & setting ) : links(links), config(setting) {}
|