Filter löschen
Filter löschen

'Generated code will not preserve the expression' warnings

14 Ansichten (letzte 30 Tage)
Jonas
Jonas am 1 Okt. 2021
Kommentiert: Jonas am 4 Jul. 2022
Warning 1
I am getting the following warning on a Simulink.Parameter object stored in my Data Dictionary:
Parameter object 'Value' property uses an expression 'ADC_V/single(ADC_COUNT)' involving division operator. Under this condition, generated code will not preserve the expression.
This Simulink.Parameter object is indeed defined by an expression in the value field:
=ADC_V/single(ADC_COUNT)
Those variables used in the expression are other Simulink.Parameter objects in the same Data Dictionary structure.
Warning 2
Similarly, I am getting the following warning on another Simulink.Parameter:
Expression '[IUVW_GAIN_MATRIX_REV_A IUVW_GAIN_MATRIX_REV_A]' involves variable 'IUVW_GAIN_MATRIX_REV_A', whose value is nonscalar. Due to the nonscalar value, the expression will not be preserved in the generated code.
where those variables are multi-dimensional Simulink.Parameter objects (3x3 matrices).
Question
I do not want to preserve the expression in my code, I just want to preserve the expression in my Data Dictionary only.
How can I surpress these warnings?
  2 Kommentare
yang ji
yang ji am 1 Jul. 2022
I have the same problems,do you solve it?
Jonas
Jonas am 4 Jul. 2022
I still did not manage to solve Warning 2.
I did solve Warning 1. The reason is the following. The variable 'ADC_V' is a Simulink.Parameter of type single. The variable 'ADC_COUNT' is a Simulink.Parameter of type uint16. By casting the uint16 to a single value the division can be made, but due to single precision representation limits, the diagnostic viewer gives the warning that the result of the division will not exactly match the data type single.
The warning is avoided by writing:
=single(ADC_V/single(ADC_COUNT))
as a value for the Parameter. This way, you force the division to fit into a single data type and it cannot complain.

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Deployment, Integration, and Supported Hardware finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by