4#include <dpsim-models/Signal/VCO.h>
7using namespace CPS::Signal;
9VCO::VCO(String name, Logger::Level logLevel)
11 mInputRef(mAttributes->createDynamic<Real>(
"input_ref")),
12 mInputPrev(mAttributes->create<Real>(
"input_prev", 0)),
13 mStatePrev(mAttributes->create<Real>(
"state_prev", 0)),
14 mOutputPrev(mAttributes->create<Real>(
"output_prev", 0)),
15 mInputCurr(mAttributes->create<Real>(
"input_curr", 0)),
16 mStateCurr(mAttributes->create<Real>(
"state_curr", 0)),
17 mOutputCurr(mAttributes->create<Real>(
"output_curr", 0)) {}
39 SPDLOG_LOGGER_INFO(
mSLog,
"Initial values:");
42 "inputCurrInit = ({}), stateCurrInit = ({}), outputCurrInit = ({})",
47 AttributeBase::List &prevStepDependencies,
48 AttributeBase::List &attributeDependencies,
49 AttributeBase::List &modifiedAttributes) {
63 AttributeBase::List &attributeDependencies,
64 AttributeBase::List &modifiedAttributes) {
65 attributeDependencies.push_back(
mInputRef);
75 "Time {}\n: inputCurr = \n{}\n , inputPrev = \n{}\n , statePrev = \n{}",
84 SPDLOG_LOGGER_DEBUG(
mSLog,
"Output values: outputCurr = \n{}", **
mOutputCurr);
87Task::List VCO::getTasks() {
89 {std::make_shared<PreStep>(*
this), std::make_shared<Step>(*
this)});
Real mOmegaNom
Nominal frequency (Input)
void signalPreStep(Real time, Int timeStepCount)
pre step operations
void signalAddPreStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes)
pre step dependencies
const Attribute< Real >::Ptr mInputPrev
Previous Input.
const Attribute< Real >::Ptr mOutputPrev
Previous Output.
void setParameters(Real omegaNom)
Setter for VCO parameters.
void signalAddStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes)
add step dependencies
void setInitialValues(Real input_init, Real state_init, Real output_init)
Setter for initial values.
const Attribute< Real >::Ptr mOutputCurr
Current Output.
const Attribute< Real >::Ptr mInputRef
Input reference which comes as measurement from outside of the class.
const Attribute< Real >::Ptr mInputCurr
Current Input.
void signalStep(Real time, Int timeStepCount)
step operations
void setSimulationParameters(Real timestep)
Setter for simulation parameters.
const Attribute< Real >::Ptr mStateCurr
Current State.
const Attribute< Real >::Ptr mStatePrev
Previous State.
Real mTimeStep
Integration time step.
Logger::Log mSLog
Component logger.