Automatic c++ code generation with simulink coder
이전 댓글 표시
Two questions:
Question One: How can I avoid the initialize function and introduce the initialize code into the constructor?
Example:
instead of
void PIDModelClass::initialize()
{ rt_InitInfAndNaN(sizeof(flt64));
(void) memset((void *)(&PID_M), 0, sizeof(RT_MODEL_PID_T));
(void) memset((void *)&PID_DW, 0, sizeof(DW_PID_T));
}
// Constructor
PIDModelClass::PIDModelClass()
{
// Currently there is no constructor body generated.
}
I want this to see
// Constructor
PIDModelClass::PIDModelClass()
{ rt_InitInfAndNaN(sizeof(flt64));
(void) memset((void *)(&PID_M), 0, sizeof(RT_MODEL_PID_T));
(void) memset((void *)&PID_DW, 0, sizeof(DW_PID_T));
}
Question Two: How can the class declartion for the model include inheritance from a parent class (here Filter)?
// Class declaration for model PID
class PIDModelClass : public Filter
{
// public data and function members
public:
// model initialize function
void initialize();
// model step function
void step();
// model terminate function
void terminate();
// Constructor
PIDModelClass();
// Destructor
~PIDModelClass();
// Real-Time Model get method
RT_MODEL_PID_T * getRTM();
// private data and function members
private:
// Block states
DW_PID_T PID_DW;
// Real-Time Model
RT_MODEL_PID_T PID_M;
};
댓글 수: 1
Francesco M
2020년 3월 19일
Hi Markus,
I have the same problem as Klocwork generates an error when it does not find the input / state / output variables initialized in the constructor.
Have you found a solution in the meanwhile?
Thank you!
Francesco
답변 (1개)
Markus Neumeier
2020년 3월 20일
0 개 추천
댓글 수: 1
Francesco M
2020년 3월 20일
Thank you for your reply. In this case the only other solution looks TLC code customization.
카테고리
도움말 센터 및 File Exchange에서 Simulink Coder에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!