MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/application/virtualization/SpiBusInitializer.cpp

40 lines
1.0 KiB
C++
Raw Normal View History

/*
* SpiBusSetup.cpp
*
* Created on: 24 <EFBFBD><EFBFBD><EFBFBD>. 2019 <EFBFBD>.
* Author: user
*/
#include "SpiBus.hh"
#include "../../driver/SpiBus.hh"
application::virtualization::SpiBus::SpiBus(const Links & links,
const Setting & setting ) : links(links), config(setting) {}
bool application::virtualization::SpiBus::input( Environment & env ) {
return grab( serial_port, env.rholder.getShared<peripheral::ISerialPort>( links.spi_port ) )
and grab( serial_port_configurator, env.rholder.getShared<peripheral::ISerialPortConfigurator>( links.spi_config ) );
}
void application::virtualization::SpiBus::build( Environment & env ) {
if( links.spi_bus ) {
std::size_t abonent_quantity = config.abonent_quantity;
driver::SpiBus * spi_bus = memories::instance_object<driver::SpiBus>(
env.static_object_ma,
*serial_port, *serial_port_configurator,
abonent_quantity
);
env.rholder.share( *spi_bus, links.spi_bus );
}
}