/* * SignalSample.cpp * * Created on: 22 èþë. 2020 ã. * Author: LeonidTitov */ #include "SignalSample.hh" #include "../../schematic/ValueSample.hpp" bool application::schematic::SignalSample::input( Environment & env ) { return signal = env.signals.get( links.signal ); } void application::schematic::SignalSample::build( Environment & env ) { typedef typename ::schematic::ValueSample StsSample; StsSample * sample = memories::instance_object( env.static_object_ma, *signal ); systemic::ProcScheduler::ProcessParameter proc = { .priority = params.priority, .period = params.period, .phase = params.phase, .controlled = true }; env.scheduler.registerProcess( params.processor_id, *sample, proc ); env.signals.create( links.sampled, sample->getSample() ); } application::schematic::SignalSample::SignalSample( const Links & links, const configuration::ProcessConfig & params ) : links(links), params(params) {}