MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/processing/acs/SubtractValueAsync.hh

60 lines
1.3 KiB
C++
Raw Permalink Normal View History

/*
* SubtractValueAsync.hh
*
* Created on: 8 <EFBFBD><EFBFBD><EFBFBD>. 2020 <EFBFBD>.
* Author: LeonidTitov
*/
#ifndef UMLIBRARY_PROCESSING_ACS_SUBTRACTVALUEASYNC_HH_
#define UMLIBRARY_PROCESSING_ACS_SUBTRACTVALUEASYNC_HH_
#include "ControlSystemInterface.hh"
#include "../../systemic/ISignal.hh"
#include "../../systemic/IProcess.hh"
namespace processing { namespace acs {
//!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
class SubtractValueAsync : public ValueToValueUnitInterface {
public:
//!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
void set( TypeInput );
TypeOutput get() const;
void set_output( SetInterface * );
void reset();
SubtractValueAsync( systemic::ISignal & subtrahend );
private:
systemic::ISignal & subtrahend;
SetInterface * output;
};
//!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
class SubtractValueProcess : public ValueToValueUnitInterface, public systemic::IProcess {
public:
void set( TypeInput );
TypeOutput get() const;
void set_output( SetInterface * );
void reset();
void process();
SubtractValueProcess( systemic::ISignal & subtrahend );
private:
TypeInput demand;
systemic::ISignal & subtrahend;
volatile bool proc_enable;
SetInterface * output;
};
}}
#endif /* UMLIBRARY_PROCESSING_ACS_SUBTRACTVALUEASYNC_HH_ */