38 lines
1.0 KiB
C++
38 lines
1.0 KiB
C++
/*
|
||
* StatusSample.cpp
|
||
*
|
||
* Created on: 22 июл. 2020 г.
|
||
* Author: LeonidTitov
|
||
*/
|
||
|
||
#include "StatusSample.hh"
|
||
|
||
#include "../../schematic/ValueSample.hpp"
|
||
|
||
bool application::schematic::StatusSample::input( Environment & env ) {
|
||
|
||
return status = env.statuses.get( links.status );
|
||
|
||
}
|
||
|
||
void application::schematic::StatusSample::build( Environment & env ) {
|
||
|
||
typedef typename ::schematic::ValueSample<bool> StsSample;
|
||
|
||
StsSample * sample = memories::instance_object<StsSample>( env.static_object_ma, *status );
|
||
|
||
systemic::ProcScheduler::ProcessParameter proc = {
|
||
.priority = params.priority,
|
||
.period = params.period, .phase = params.phase,
|
||
.controlled = true
|
||
};
|
||
|
||
env.scheduler.registerProcess( params.processor_id, *sample,
|
||
proc );
|
||
|
||
env.statuses.create( links.sampled, sample->getSample() );
|
||
|
||
}
|
||
|
||
application::schematic::StatusSample::StatusSample( const Links & links, const configuration::ProcessConfig & params ) : links(links), params(params) {}
|