Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -118,11 +118,31 @@ case class ComponentParameters (
writeGetterFunctionBody(param)
)

private def getGetterFunctionNoValidForParam(param: Param) =
functionClassMember(
Some(
addSeparatedString(
s"Get parameter ${param.getName}\n\n\\return The parameter value",
AnnotationCppWriter.asStringOpt(param.aNode)
)
),
paramGetterName(param.getName),
Nil,
CppDoc.Type(writeParamType(param.paramType, "Fw::ParamString")),
lines(
s"""|Fw::ParamValid _valid{};
|return this->${paramGetterName(param.getName)}(_valid);"""
)
)

private def getGetterFunctions: List[CppDoc.Class.Member] =
addAccessTagAndComment(
"protected",
"Parameter get functions",
sortedParams.map((_, param) => getGetterFunctionForParam(param))
sortedParams.flatMap((_, param) => List(
getGetterFunctionForParam(param),
getGetterFunctionNoValidForParam(param)
))
)

private def getHookFunctions: List[CppDoc.Class.Member] = {
Expand Down Expand Up @@ -243,9 +263,9 @@ case class ComponentParameters (
Some(
s"""|\\brief Called for each parameter when parameters are loaded
|
|By default this notifies the component via parameterUpdated when
|the parameter loaded successfully (valid or default). You may
|override it, for example to distinguish load from update.
|By default this notifies the component via parameterUpdated for
|every parameter, regardless of validity. You may override it, for
|example to suppress notification for invalid parameters.
|"""
),
"parameterLoaded",
Expand All @@ -262,10 +282,7 @@ case class ComponentParameters (
)
),
CppDoc.Type("void"),
wrapInIf(
"FW_PARAM_OK(valid)",
lines("this->parameterUpdated(id);")
),
lines("this->parameterUpdated(id);"),
CppDoc.Function.Virtual
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3508,9 +3508,7 @@ void ActiveExternalParamsComponentBase ::
Fw::ParamValid valid
)
{
if (FW_PARAM_OK(valid)) {
this->parameterUpdated(id);
}
this->parameterUpdated(id);
}

// ----------------------------------------------------------------------
Expand Down Expand Up @@ -3542,6 +3540,13 @@ I32 ActiveExternalParamsComponentBase ::
return _local;
}

I32 ActiveExternalParamsComponentBase ::
paramGet_ParamI32Ext()
{
Fw::ParamValid _valid{};
return this->paramGet_ParamI32Ext(_valid);
}

F64 ActiveExternalParamsComponentBase ::
paramGet_ParamF64Ext(Fw::ParamValid& valid)
{
Expand All @@ -3567,6 +3572,13 @@ F64 ActiveExternalParamsComponentBase ::
return _local;
}

F64 ActiveExternalParamsComponentBase ::
paramGet_ParamF64Ext()
{
Fw::ParamValid _valid{};
return this->paramGet_ParamF64Ext(_valid);
}

Fw::ParamString ActiveExternalParamsComponentBase ::
paramGet_ParamStringExt(Fw::ParamValid& valid)
{
Expand All @@ -3592,6 +3604,13 @@ Fw::ParamString ActiveExternalParamsComponentBase ::
return _local;
}

Fw::ParamString ActiveExternalParamsComponentBase ::
paramGet_ParamStringExt()
{
Fw::ParamValid _valid{};
return this->paramGet_ParamStringExt(_valid);
}

E ActiveExternalParamsComponentBase ::
paramGet_ParamEnumExt(Fw::ParamValid& valid)
{
Expand All @@ -3617,6 +3636,13 @@ E ActiveExternalParamsComponentBase ::
return _local;
}

E ActiveExternalParamsComponentBase ::
paramGet_ParamEnumExt()
{
Fw::ParamValid _valid{};
return this->paramGet_ParamEnumExt(_valid);
}

A ActiveExternalParamsComponentBase ::
paramGet_ParamArrayExt(Fw::ParamValid& valid)
{
Expand All @@ -3642,6 +3668,13 @@ A ActiveExternalParamsComponentBase ::
return _local;
}

A ActiveExternalParamsComponentBase ::
paramGet_ParamArrayExt()
{
Fw::ParamValid _valid{};
return this->paramGet_ParamArrayExt(_valid);
}

S ActiveExternalParamsComponentBase ::
paramGet_ParamStructExt(Fw::ParamValid& valid)
{
Expand All @@ -3667,6 +3700,13 @@ S ActiveExternalParamsComponentBase ::
return _local;
}

S ActiveExternalParamsComponentBase ::
paramGet_ParamStructExt()
{
Fw::ParamValid _valid{};
return this->paramGet_ParamStructExt(_valid);
}

// ----------------------------------------------------------------------
// External parameter delegate initialization
// ----------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1551,9 +1551,9 @@ class ActiveExternalParamsComponentBase :

//! \brief Called for each parameter when parameters are loaded
//!
//! By default this notifies the component via parameterUpdated when
//! the parameter loaded successfully (valid or default). You may
//! override it, for example to distinguish load from update.
//! By default this notifies the component via parameterUpdated for
//! every parameter, regardless of validity. You may override it, for
//! example to suppress notification for invalid parameters.
virtual void parameterLoaded(
FwPrmIdType id, //!< The parameter ID
Fw::ParamValid valid //!< The parameter validity status
Expand All @@ -1575,6 +1575,14 @@ class ActiveExternalParamsComponentBase :
Fw::ParamValid& valid //!< Whether the parameter is valid
);

//! Get parameter ParamI32Ext
//!
//! \return The parameter value
//!
//! An externally stored parameter with I32 data
//! Second line of annotation
I32 paramGet_ParamI32Ext();

//! Get parameter ParamF64Ext
//!
//! \return The parameter value
Expand All @@ -1584,6 +1592,13 @@ class ActiveExternalParamsComponentBase :
Fw::ParamValid& valid //!< Whether the parameter is valid
);

//! Get parameter ParamF64Ext
//!
//! \return The parameter value
//!
//! An externally stored parameter with F64 data
F64 paramGet_ParamF64Ext();

//! Get parameter ParamStringExt
//!
//! \return The parameter value
Expand All @@ -1593,6 +1608,13 @@ class ActiveExternalParamsComponentBase :
Fw::ParamValid& valid //!< Whether the parameter is valid
);

//! Get parameter ParamStringExt
//!
//! \return The parameter value
//!
//! An externally stored parameter with string data and default value
Fw::ParamString paramGet_ParamStringExt();

//! Get parameter ParamEnumExt
//!
//! \return The parameter value
Expand All @@ -1602,6 +1624,13 @@ class ActiveExternalParamsComponentBase :
Fw::ParamValid& valid //!< Whether the parameter is valid
);

//! Get parameter ParamEnumExt
//!
//! \return The parameter value
//!
//! An externally stored parameter with enum data
E paramGet_ParamEnumExt();

//! Get parameter ParamArrayExt
//!
//! \return The parameter value
Expand All @@ -1611,6 +1640,13 @@ class ActiveExternalParamsComponentBase :
Fw::ParamValid& valid //!< Whether the parameter is valid
);

//! Get parameter ParamArrayExt
//!
//! \return The parameter value
//!
//! An externally stored parameter with array data, default value, and save opcode
A paramGet_ParamArrayExt();

//! Get parameter ParamStructExt
//!
//! \return The parameter value
Expand All @@ -1620,6 +1656,13 @@ class ActiveExternalParamsComponentBase :
Fw::ParamValid& valid //!< Whether the parameter is valid
);

//! Get parameter ParamStructExt
//!
//! \return The parameter value
//!
//! An externally stored parameter with struct data and set/save opcodes
S paramGet_ParamStructExt();

protected:

// ----------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3415,9 +3415,7 @@ void ActiveParamsComponentBase ::
Fw::ParamValid valid
)
{
if (FW_PARAM_OK(valid)) {
this->parameterUpdated(id);
}
this->parameterUpdated(id);
}

// ----------------------------------------------------------------------
Expand All @@ -3437,6 +3435,13 @@ U32 ActiveParamsComponentBase ::
return _local;
}

U32 ActiveParamsComponentBase ::
paramGet_ParamU32()
{
Fw::ParamValid _valid{};
return this->paramGet_ParamU32(_valid);
}

F64 ActiveParamsComponentBase ::
paramGet_ParamF64(Fw::ParamValid& valid)
{
Expand All @@ -3450,6 +3455,13 @@ F64 ActiveParamsComponentBase ::
return _local;
}

F64 ActiveParamsComponentBase ::
paramGet_ParamF64()
{
Fw::ParamValid _valid{};
return this->paramGet_ParamF64(_valid);
}

Fw::ParamString ActiveParamsComponentBase ::
paramGet_ParamString(Fw::ParamValid& valid)
{
Expand All @@ -3463,6 +3475,13 @@ Fw::ParamString ActiveParamsComponentBase ::
return _local;
}

Fw::ParamString ActiveParamsComponentBase ::
paramGet_ParamString()
{
Fw::ParamValid _valid{};
return this->paramGet_ParamString(_valid);
}

E ActiveParamsComponentBase ::
paramGet_ParamEnum(Fw::ParamValid& valid)
{
Expand All @@ -3476,6 +3495,13 @@ E ActiveParamsComponentBase ::
return _local;
}

E ActiveParamsComponentBase ::
paramGet_ParamEnum()
{
Fw::ParamValid _valid{};
return this->paramGet_ParamEnum(_valid);
}

A ActiveParamsComponentBase ::
paramGet_ParamArray(Fw::ParamValid& valid)
{
Expand All @@ -3489,6 +3515,13 @@ A ActiveParamsComponentBase ::
return _local;
}

A ActiveParamsComponentBase ::
paramGet_ParamArray()
{
Fw::ParamValid _valid{};
return this->paramGet_ParamArray(_valid);
}

S ActiveParamsComponentBase ::
paramGet_ParamStruct(Fw::ParamValid& valid)
{
Expand All @@ -3502,6 +3535,13 @@ S ActiveParamsComponentBase ::
return _local;
}

S ActiveParamsComponentBase ::
paramGet_ParamStruct()
{
Fw::ParamValid _valid{};
return this->paramGet_ParamStruct(_valid);
}

// ----------------------------------------------------------------------
// Time
// ----------------------------------------------------------------------
Expand Down
Loading
Loading