Filter checks

Passed  
Failed  
Warning  
Not Run  
   

View

Scroll to top
Show check details
Model Advisor Report
Simulink version: 9.2 Model version: 1.1
System: embedded_coder_fixedstep_multirate Current run: 26-Feb-2021 08:25:50
Treat as Referenced Model: off  

Run Summary
Pass Fail Warning Not Run Total
   146    24    260    0 430
  Check rapid accelerator signal logging

You are not simulating in Rapid Accelerator mode.


  Identify Variant Model blocks and convert those to Variant Subsystem containing Model block choices

Identify Variant Model blocks at model level.

Passed
No Variant Model blocks found.


  Check get_param calls for block CompiledSampleTime

Found no MATLAB files that call get_param('block','CompiledSampleTime').


  Identify unconnected lines, input ports, and output ports

Identify unconnected lines, input ports, and output ports in the model

Passed
There are no unconnected lines, input ports, and output ports in this model.


  Check root model Inport block specifications

Passed


  Identify blocks using one-based indexing

Check the model for blocks configured for one-based indexing

Passed
All blocks in the model use zero-based indexing.
_________________________________________________________________________________________


  Check solver for code generation

Consider setting Multitask rate transition to error.


  Identify questionable blocks within the specified system

Check for constructs in the model that are not recommended for production code generation
Identify blocks that are not recommended to be used for code generation.

Passed
Constructs that are not recommended for production code generation were not found in the model or subsystem
_________________________________________________________________________________________

Check for usage of Gain blocks
Identify Gain blocks whose value equals 1

Passed
There are no Gain blocks whose value equals 1 in the model or subsystem


  Check for blocks not supported by code generation

Identify blocks not supported by code generation.

Passed
Blocks not supported by code generation were not found in the model or subsystem.


  Check for blocks not recommended for C/C++ production code deployment

Identify blocks not supported by code generation or not recommended for C/C++ production code deployment.

Passed
Blocks not recommended for C/C++ production code deployment were not found in the model or subsystem.


  Check for model reference configuration mismatch

Passed


  Check diagnostic settings ignored during accelerated model reference simulation

The configuration parameter settings passed the check.


  Check code generation identifier formats used for model reference

The configuration parameter settings passed the check.


  Identify lookup table blocks that generate expensive out-of-range checking code

These settings can lead to inefficient code generation when inputs always fall within the range of valid breakpoint values for lookup table blocks, including Lookup Table blocks, Prelookup blocks and Interpolation blocks.

Passed
The lookup table blocks have been configured to generate range-checking free code.


  Check output types of logic blocks

Identify logic blocks that are outputting non-Boolean data types.

Passed
There are no logic blocks in the model or subsystem.


  Check the hardware implementation

Check 'Byte ordering' and 'Signed integer division rounds to' parameters
Identify inconsistencies or underspecification of hardware attributes that can lead to incorrect and inefficient generated code.

Passed
Target specification is consistent.
_________________________________________________________________________________________

Check whether 'Production hardware' and 'Test hardware' match
Search for 'Test hardware is the same as production hardware' in the Configuration Parameters dialog box and check if it is selected. If it is cleared, identify whether target specifications match.

Passed
'Test hardware is the same as production hardware' is selected or is cleared and the target specifications match.


  Check optimization settings

Check for optimizations that can lead to non-optimal code generation and simulation.
Warning

Parameter Current Value Recommended Values
Pass reusable subsystem outputs as (PassReuseOutputArgsAs) Structure reference Individual arguments
Ignore test point signals (IgnoreTestpoints) off on


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Identify questionable software environment specifications

Passed


  Identify questionable code instrumentation (data I/O)

Passed


  Check for parameter tunability information ignored for referenced models

Passed


  Check for implicit signal resolution

Passed


  Check for optimal bus virtuality

Passed


  Check for calls to slDataTypeAndScale()

Search for blocks that have data type parameters specified by using slDataTypeAndScale().

Required Replacement Cases
Identify calls to slDataTypeAndScale() that are no longer supported and thus should be replaced. Such calls always can be automatically replaced.

See Also

  • slRemoveDataTypeAndScale() automatic replacement cases
Passed
No calls to slDataTypeAndScale() require replacement.
_________________________________________________________________________________________

Recommended Replacement Cases
Identify unnecessary calls to slDataTypeAndScale() that the model advisor can automatically replace.

See Also

  • slRemoveDataTypeAndScale() automatic replacement cases
Passed
No calls to slDataTypeAndScale() can be automatically replaced.
_________________________________________________________________________________________

Manual Inspection Cases
Identify calls to slDataTypeAndScale() that might be unnecessary.

See Also

  • slRemoveDataTypeAndScale() manual inspection cases
Passed
No calls to slDataTypeAndScale() require manual inspection.


  Check for Discrete-Time Integrator blocks with initial condition uncertainty

Passed


Passed


Passed


Passed


  Identify configurable subsystem blocks for converting to variant subsystem blocks

Identify configurable subsystem blocks at the model or subsystem level. You can convert these blocks to variant subsystems.

Passed
No configurable subsystem blocks found.


  Check usage of function-call connections

Check 'Invalid function-call connection' setting
Verify that the Invalid function-call connection diagnostic is set to error.

Passed
Diagnostics > Connectivity > Invalid function-call connection is set to error.

Recommended Action

_________________________________________________________________________________________

Check 'Context-dependent inputs' setting
Verify that the Context-dependent inputs diagnostic is set to error.

Passed
Diagnostics > Connectivity > Context-dependent inputs is set to error.

Recommended Action


  Check and update masked blocks in library to use promoted parameters

Searches libraries created before R2011b for masked blocks that should be updated to use promoted parameters. Since R2011b, if a block parameter is not promoted, its value in the linked block is locked to its value in the library block. This check excludes blocks of type Subsystem, Model reference, S-Function and M-S-Function.

Passed
This check only applies to libraries created before R2011b.


  Check and update mask image display commands with unnecessary imread() function calls

Identify masks using an image display commands with unnecessary calls to imread(). Since 2013a, a performance and memory optimization is available for mask images specified via image path instead of RGB triple matrix.

Passed
No masked block found with unnecessary imread() calls in image display commands.


  Check and update mask to affirm icon drawing commands dependency on mask workspace

Sets 'RunInitForIconRedraw' to 'on' if mask icon drawing commands have mask workspace dependency otherwise sets it to 'off'. Setting 'RunInitForIconRedraw' to 'off' optimizes the performance by not running the mask initialization code before drawing the block icon.

Passed
No masked block found to set 'RunInitForIconRedraw'.


  Identify blocks generating inefficient algorithms

Passed
No inefficient algorithms found in the model.


  Check code generation settings

Verify 'Code interface packaging' setting
Check whether Code Generation > Interface > Code interface packaging is set to Nonreusable function or Reusable function.

Passed
Code Generation > Interface > Code interface packaging is set to Nonreusable function or Reusable function.
_________________________________________________________________________________________

Verify 'Use dynamic memory allocation for model initialization' setting
Check whether Code Generation > Interface > Use dynamic memory allocation for model initialization is cleared.

Passed
Code Generation > Interface > Use dynamic memory allocation for model initialization is cleared.
_________________________________________________________________________________________

Verify 'Shared code placement' setting
Check whether Code Generation > Interface > Shared code placement is set to Shared location.

Warning
Code Generation > Interface > Shared code placement is not set to Shared location .

Recommended Action
Set Code Generation > Interface > Shared code placement to Shared location .
_________________________________________________________________________________________

Verify 'Source file' setting
Check whether Code Generation > Custom Code > Source file is set to "" (i.e. unspecified).

Passed
Code Generation > Custom Code > Source file is set to "".
_________________________________________________________________________________________

Verify 'Header file' setting
Check whether Code Generation > Custom Code > Header file is set to "" (i.e. unspecified).

Passed
Code Generation > Custom Code > Header file is set to "".
_________________________________________________________________________________________

Verify 'Initialize function' setting
Check whether Code Generation > Custom Code > Initialize function is set to "" (i.e. unspecified).

Passed
Code Generation > Custom Code > Initialize function is set to "".
_________________________________________________________________________________________

Verify 'Terminate function' setting
Check whether Code Generation > Custom Code > Terminate function is set to "" (i.e. unspecified).

Passed
Code Generation > Custom Code > Terminate function is set to "".
_________________________________________________________________________________________

Verify 'Disable incompatible optimizations' setting
Check whether Code Generation > Optimization > Disable incompatible optimizations is set to -SLCI.

Warning
Code Generation > Optimization > Disable incompatible optimizations is not set to -SLCI .

Recommended Action
Set Code Generation > Optimization > Disable incompatible optimizations to -SLCI .
_________________________________________________________________________________________

Verify 'Combine signal/state structures' setting
Check whether Code Generation > Interface > Combine signal/state structures is cleared.

Warning
Code Generation > Interface > Combine signal/state structures is selected.

Recommended Action
Clear the Code Generation > Interface > Combine signal/state structures checkbox.
_________________________________________________________________________________________

Verify 'Remove reset function' setting
Check whether Code Generation > Interface > Remove reset function is selected.

Passed
Code Generation > Interface > Remove reset function is selected.
_________________________________________________________________________________________

Verify 'Remove disable function' setting
Check whether Code Generation > Interface > Remove disable function is cleared.

Passed
Code Generation > Interface > Remove disable function is cleared.
_________________________________________________________________________________________

Verify 'Remove code from floating-point to integer conversions that wraps out-of-range values' setting
Check whether Code Generation > Optimization > Remove code from floating-point to integer conversions that wraps out-of-range values is selected.

Passed
Code Generation > Optimization > Remove code from floating-point to integer conversions that wraps out-of-range values is selected.
_________________________________________________________________________________________

Verify 'Remove code from floating-point to integer conversions with saturation that maps NaN to zero' setting
Check whether Code Generation > Optimization > Remove code from floating-point to integer conversions with saturation that maps NaN to zero is cleared.

Warning
Code Generation > Optimization > Remove code from floating-point to integer conversions with saturation that maps NaN to zero is selected.

Recommended Action
Clear the Code Generation > Optimization > Remove code from floating-point to integer conversions with saturation that maps NaN to zero checkbox.
_________________________________________________________________________________________

Verify 'Include comments' setting
Check whether Code Generation > Comments > Include comments is selected.

Passed
Code Generation > Comments > Include comments is selected.
_________________________________________________________________________________________

Verify 'Preserve condition expression in if statement' setting
Check whether Code Generation > Code Style > Preserve condition expression in if statement is selected.

Warning
Code Generation > Code Style > Preserve condition expression in if statement is cleared.

Recommended Action
Select the Code Generation > Code Style > Preserve condition expression in if statement checkbox.
_________________________________________________________________________________________

Verify 'Code replacement library' setting
Check whether Code Generation > Interface > Code replacement library is set to None.

Passed
Code Generation > Interface > Code replacement library is set to None.
_________________________________________________________________________________________

Verify 'Standard math library' setting
Check whether Code Generation > Interface > Standard math library is set to C89/C90 (ANSI) or C99 (ISO).

Passed
Code Generation > Interface > Standard math library is set to C89/C90 (ANSI) or C99 (ISO).
_________________________________________________________________________________________

Verify 'Classic call interface' setting
Check whether Code Generation > Interface > Classic call interface is cleared.

Passed
Code Generation > Interface > Classic call interface is cleared.
_________________________________________________________________________________________

Verify 'Terminate function required' setting
Check whether Code Generation > Interface > Terminate function required is cleared.

Passed
Code Generation > Interface > Terminate function required is cleared.
_________________________________________________________________________________________

Verify 'Remove code that protects against division arithmetic exceptions' setting
Check whether Code Generation > Optimization > Remove code that protects against division arithmetic exceptions is cleared.

Warning
Code Generation > Optimization > Remove code that protects against division arithmetic exceptions is selected.

Recommended Action
Clear the Code Generation > Optimization > Remove code that protects against division arithmetic exceptions checkbox.
_________________________________________________________________________________________

Verify 'MAT-file logging' setting
Check whether Code Generation > Interface > MAT-file logging is cleared.

Passed
Code Generation > Interface > MAT-file logging is cleared.
_________________________________________________________________________________________

Verify 'Maximum stack size (bytes)' setting
Check whether Code Generation > Optimization > Maximum stack size (bytes) is set to inf.

Warning
Code Generation > Optimization > Maximum stack size (bytes) is not set to inf .

Recommended Action
Set Code Generation > Optimization > Maximum stack size (bytes) to inf .
_________________________________________________________________________________________

Verify 'Pack Boolean data into bitfields' setting
Check whether Code Generation > Optimization > Pack Boolean data into bitfields is cleared.

Passed
Code Generation > Optimization > Pack Boolean data into bitfields is cleared.
_________________________________________________________________________________________

Verify 'Use bitsets for storing state configuration' setting
Check whether Code Generation > Optimization > Use bitsets for storing state configuration is cleared.

Passed
Code Generation > Optimization > Use bitsets for storing state configuration is cleared.
_________________________________________________________________________________________

Verify 'non-finite numbers' setting
Check whether Code Generation > Interface > non-finite numbers is cleared.

Passed
Code Generation > Interface > non-finite numbers is cleared.
_________________________________________________________________________________________

Verify 'absolute time' setting
Check whether Code Generation > Interface > absolute time is cleared.

Warning
Code Generation > Interface > absolute time is selected.

Recommended Action
Clear the Code Generation > Interface > absolute time checkbox.
_________________________________________________________________________________________

Verify 'Default parameter behavior' setting
This check applies only to referenced models. Top models are compatible for all possible values of 'Default parameter behavior'.

Passed
'Default parameter behavior' setting is compatible.
_________________________________________________________________________________________

Verify 'Remove error status field in real-time model data structure' setting
Check whether Code Generation > Interface > Remove error status field in real-time model data structure is selected.

Passed
Code Generation > Interface > Remove error status field in real-time model data structure is selected.
_________________________________________________________________________________________

Verify 'Create block' setting
Check whether Code Generation > Verification > Create block is set to none.

Passed
Code Generation > Verification > Create block is set to none.
_________________________________________________________________________________________

Verify 'Measure function execution times' setting
Check whether Code Generation > Verification > Measure function execution times is set to off.

Passed
Code Generation > Verification > Measure function execution times is set to off.
_________________________________________________________________________________________

Verify 'Signal naming' setting
Check whether Code Generation > Symbols > Signal naming is set to None.

Passed
Code Generation > Symbols > Signal naming is set to None.
_________________________________________________________________________________________

Verify 'Parameter naming' setting
Check whether Code Generation > Symbols > Parameter naming is set to None.

Passed
Code Generation > Symbols > Parameter naming is set to None.
_________________________________________________________________________________________

Verify 'TLC options' setting
Check whether Code Generation > TLC options is set to "" (i.e. unspecified).

Passed
Code Generation > TLC options is set to "".
_________________________________________________________________________________________

Verify 'variable-size signals' setting
Check whether Code Generation > Interface > variable-size signals is cleared.

Passed
Code Generation > Interface > variable-size signals is cleared.
_________________________________________________________________________________________

Verify 'Single output/update function' setting
Check whether Code Generation > Interface > Single output/update function is selected.

Passed
Code Generation > Interface > Single output/update function is selected.
_________________________________________________________________________________________

Verify 'Generate an example main program' setting
Check whether Code Generation > Templates > Generate an example main program is selected.

Passed
Code Generation > Templates > Generate an example main program is selected.
_________________________________________________________________________________________

Verify 'Use bitsets for storing Boolean data' setting
Check whether Code Generation > Optimization > Use bitsets for storing Boolean data is cleared.

Passed
Code Generation > Optimization > Use bitsets for storing Boolean data is cleared.
_________________________________________________________________________________________

Verify 'Casting modes' setting
Check whether Code Generation > Code Style > Casting modes is set to Nominal or Standards.

Passed
Code Generation > Code Style > Casting modes is set to Nominal or Standards.
_________________________________________________________________________________________

Verify 'Suppress generation of default cases for Stateflow switch statements if unreachable' setting
Check whether Code Generation > Code Style > Suppress generation of default cases for Stateflow switch statements if unreachable is cleared.

Warning
Code Generation > Code Style > Suppress generation of default cases for Stateflow switch statements if unreachable is selected.

Recommended Action
Clear the Code Generation > Code Style > Suppress generation of default cases for Stateflow switch statements if unreachable checkbox.
_________________________________________________________________________________________

Verify 'Optimize using the specified minimum and maximum values' setting
Check whether Code Generation > Optimization > Optimize using the specified minimum and maximum values is cleared.

Warning
Code Generation > Optimization > Optimize using the specified minimum and maximum values is selected.

Recommended Action
Clear the Code Generation > Optimization > Optimize using the specified minimum and maximum values checkbox.
_________________________________________________________________________________________

Verify 'Existing shared code' setting
Check whether Code Generation > Interface > Existing shared code is set to "" (i.e. unspecified).

Passed
Code Generation > Interface > Existing shared code is set to "".
_________________________________________________________________________________________

Verify 'parameters' setting
Check whether Code Generation > Interface > parameters is cleared.

Passed
Code Generation > Interface > parameters is cleared.
_________________________________________________________________________________________

Verify 'signals' setting
Check whether Code Generation > Interface > signals is cleared.

Passed
Code Generation > Interface > signals is cleared.
_________________________________________________________________________________________

Verify 'states' setting
Check whether Code Generation > Interface > states is cleared.

Passed
Code Generation > Interface > states is cleared.
_________________________________________________________________________________________

Verify 'root-level I/O' setting
Check whether Code Generation > Interface > root-level I/O is cleared.

Passed
Code Generation > Interface > root-level I/O is cleared.
_________________________________________________________________________________________

Verify 'External mode' setting
Check whether Code Generation > Interface > External mode is cleared.

Passed
Code Generation > Interface > External mode is cleared.
_________________________________________________________________________________________

Verify 'ASAP2 interface' setting
Check whether Code Generation > Interface > ASAP2 interface is cleared.

Passed
Code Generation > Interface > ASAP2 interface is cleared.
_________________________________________________________________________________________

Verify 'Rate Transition block code' setting
Check whether Code Generation > Code Placement > Rate Transition block code is set to Inline.

Passed
Code Generation > Code Placement > Rate Transition block code is set to Inline.


  Check data import and export settings

Verify 'Initial state' setting
Check whether Data Import/Export > Initial state is cleared.

Passed
Data Import/Export > Initial state is cleared.


  Check diagnostic settings

Verify 'Multitask data store' setting
Check whether Diagnostics > Data Validity > Multitask data store is set to error.

Passed
Diagnostics > Data Validity > Multitask data store is set to error.
_________________________________________________________________________________________

Verify 'Multitask rate transition' setting
Check whether Diagnostics > Sample Time > Multitask rate transition is set to error.

Warning
Diagnostics > Sample Time > Multitask rate transition is not set to error .

Recommended Action
Set Diagnostics > Sample Time > Multitask rate transition to error .
_________________________________________________________________________________________

Verify 'Multitask conditionally executed subsystem' setting
Check whether Diagnostics > Sample Time > Multitask conditionally executed subsystem is set to error.

Passed
Diagnostics > Sample Time > Multitask conditionally executed subsystem is set to error.
_________________________________________________________________________________________

Verify 'Algebraic loop' setting
Check whether Diagnostics > Algebraic loop is set to error.

Warning
Diagnostics > Algebraic loop is not set to error .

Recommended Action
Set Diagnostics > Algebraic loop to error .
_________________________________________________________________________________________

Verify 'Detect write after write' setting
Check whether Diagnostics > Data Validity > Detect write after write is set to EnableAllAsError.

Warning
Diagnostics > Data Validity > Detect write after write is not set to EnableAllAsError .

Recommended Action
Set Diagnostics > Data Validity > Detect write after write to EnableAllAsError .
_________________________________________________________________________________________

Verify 'Underspecified initialization detection' setting
Check whether Diagnostics > Data Validity > Underspecified initialization detection is set to Simplified.

Warning
Diagnostics > Data Validity > Underspecified initialization detection is not set to Simplified .

Recommended Action
Set Diagnostics > Data Validity > Underspecified initialization detection to Simplified .
_________________________________________________________________________________________

Verify 'Non-bus signals treated as bus signals' setting
Check whether Diagnostics > Connectivity > Non-bus signals treated as bus signals is set to error.

Warning
Diagnostics > Connectivity > Non-bus signals treated as bus signals is not set to error .This incompatibility is fatal and will prevent execution of the Code Inspector

Recommended Action
Set Diagnostics > Connectivity > Non-bus signals treated as bus signals to error .
_________________________________________________________________________________________

Verify 'Detect downcast' setting
Check whether Diagnostics > Data Validity > Detect downcast is set to error.

Passed
Diagnostics > Data Validity > Detect downcast is set to error.
_________________________________________________________________________________________

Verify 'Detect overflow' setting
Check whether Diagnostics > Data Validity > Detect overflow is set to error.

Passed
Diagnostics > Data Validity > Detect overflow is set to error.
_________________________________________________________________________________________

Verify 'Wrap on overflow' setting
Check whether Diagnostics > Data Validity > Wrap on overflow is set to error.

Warning
Diagnostics > Data Validity > Wrap on overflow is not set to error .

Recommended Action
Set Diagnostics > Data Validity > Wrap on overflow to error .
_________________________________________________________________________________________

Verify 'Saturate on overflow' setting
Check whether Diagnostics > Data Validity > Saturate on overflow is set to error.

Warning
Diagnostics > Data Validity > Saturate on overflow is not set to error .

Recommended Action
Set Diagnostics > Data Validity > Saturate on overflow to error .
_________________________________________________________________________________________

Verify 'Detect underflow' setting
Check whether Diagnostics > Data Validity > Detect underflow is set to error.

Warning
Diagnostics > Data Validity > Detect underflow is not set to error .

Recommended Action
Set Diagnostics > Data Validity > Detect underflow to error .
_________________________________________________________________________________________

Verify 'Detect loss of tunability' setting
Check whether Diagnostics > Data Validity > Detect loss of tunability is set to error.

Warning
Diagnostics > Data Validity > Detect loss of tunability is not set to error .

Recommended Action
Set Diagnostics > Data Validity > Detect loss of tunability to error .
_________________________________________________________________________________________

Verify 'Allow symbolic dimension specification' setting
Check whether Diagnostics > Allow symbolic dimension specification is cleared.

Passed
Diagnostics > Allow symbolic dimension specification is cleared.
_________________________________________________________________________________________

Verify 'Invalid root Inport/Outport block connection' setting
Check whether Diagnostics > Model Referencing > Invalid root Inport/Outport block connection is set to error.

Warning
Diagnostics > Model Referencing > Invalid root Inport/Outport block connection is not set to error .

Recommended Action
Set Diagnostics > Model Referencing > Invalid root Inport/Outport block connection to error .
_________________________________________________________________________________________

Verify 'Unexpected backtracking' setting
Check whether Diagnostics > Stateflow > Unexpected backtracking is set to error.

Warning
Diagnostics > Stateflow > Unexpected backtracking is not set to error .

Recommended Action
Set Diagnostics > Stateflow > Unexpected backtracking to error .
_________________________________________________________________________________________

Verify 'Invalid input data access in chart initialization' setting
Check whether Diagnostics > Stateflow > Invalid input data access in chart initialization is set to error.

Warning
Diagnostics > Stateflow > Invalid input data access in chart initialization is not set to error .

Recommended Action
Set Diagnostics > Stateflow > Invalid input data access in chart initialization to error .
_________________________________________________________________________________________

Verify 'No unconditional default transitions' setting
Check whether Diagnostics > Stateflow > No unconditional default transitions is set to error.

Warning
Diagnostics > Stateflow > No unconditional default transitions is not set to error .

Recommended Action
Set Diagnostics > Stateflow > No unconditional default transitions to error .
_________________________________________________________________________________________

Verify 'Transition outside natural parent' setting
Check whether Diagnostics > Stateflow > Transition outside natural parent is set to error.

Warning
Diagnostics > Stateflow > Transition outside natural parent is not set to error .

Recommended Action
Set Diagnostics > Stateflow > Transition outside natural parent to error .
_________________________________________________________________________________________

Verify 'Unreachable execution path' setting
Check whether Diagnostics > Stateflow > Unreachable execution path is set to error.

Warning
Diagnostics > Stateflow > Unreachable execution path is not set to error .

Recommended Action
Set Diagnostics > Stateflow > Unreachable execution path to error .
_________________________________________________________________________________________

Verify 'Undirected event broadcasts' setting
Check whether Diagnostics > Stateflow > Undirected event broadcasts is set to error.

Warning
Diagnostics > Stateflow > Undirected event broadcasts is not set to error .

Recommended Action
Set Diagnostics > Stateflow > Undirected event broadcasts to error .
_________________________________________________________________________________________

Verify 'Transition action specified before condition action' setting
Check whether Diagnostics > Stateflow > Transition action specified before condition action is set to error.

Warning
Diagnostics > Stateflow > Transition action specified before condition action is not set to error .

Recommended Action
Set Diagnostics > Stateflow > Transition action specified before condition action to error .
_________________________________________________________________________________________

Verify Bus signal treated as vector setting
Check whether Diagnostics > Connectivity > Bus signal treated as vector is set to 'error'

Warning
Diagnostics > Connectivity > Bus signal treated as vector is not set to error.This incompatibility is fatal and will prevent execution of the Code Inspector

Recommended Action
Set Diagnostics > Connectivity > Bus signal treated as vector to error.


  Check hardware implementation settings

Verify 'char' setting
Check whether Hardware Implementation > char is set to 8.

Passed
Hardware Implementation > char is set to 8.
_________________________________________________________________________________________

Verify 'short' setting
Check whether Hardware Implementation > short is set to 16.

Passed
Hardware Implementation > short is set to 16.
_________________________________________________________________________________________

Verify 'int' setting
Check whether Hardware Implementation > int is set to 32.

Passed
Hardware Implementation > int is set to 32.
_________________________________________________________________________________________

Verify 'long' setting
Check whether Hardware Implementation > long is set to 32.

Passed
Hardware Implementation > long is set to 32.
_________________________________________________________________________________________

Verify 'float' setting
Check whether Hardware Implementation > float is set to 32.

Passed
Hardware Implementation > float is set to 32.
_________________________________________________________________________________________

Verify 'double' setting
Check whether Hardware Implementation > double is set to 64.

Passed
Hardware Implementation > double is set to 64.
_________________________________________________________________________________________

Verify 'pointer' setting
Check whether Hardware Implementation > pointer is set to 32.

Warning
Hardware Implementation > pointer is not set to 32 .

Recommended Action
Set Hardware Implementation > pointer to 32 . Select a compatible device with attributes matching those listed in the SLCI Hardware Implementation checks and the SLCI documentation.
_________________________________________________________________________________________

Verify 'size_t' setting
Check whether Hardware Implementation > size_t is set to 32.

Warning
Hardware Implementation > size_t is not set to 32 .

Recommended Action
Set Hardware Implementation > size_t to 32 . Select a compatible device with attributes matching those listed in the SLCI Hardware Implementation checks and the SLCI documentation.
_________________________________________________________________________________________

Verify 'ptrdiff_t' setting
Check whether Hardware Implementation > ptrdiff_t is set to 32.

Warning
Hardware Implementation > ptrdiff_t is not set to 32 .

Recommended Action
Set Hardware Implementation > ptrdiff_t to 32 . Select a compatible device with attributes matching those listed in the SLCI Hardware Implementation checks and the SLCI documentation.
_________________________________________________________________________________________

Verify 'native' setting
Check whether Hardware Implementation > native is set to 32.

Warning
Hardware Implementation > native is not set to 32 .

Recommended Action
Set Hardware Implementation > native to 32 . Select a compatible device with attributes matching those listed in the SLCI Hardware Implementation checks and the SLCI documentation.
_________________________________________________________________________________________

Verify 'Signed integer division rounds to' setting
Check whether Hardware Implementation > Signed integer division rounds to is set to Zero.

Passed
Hardware Implementation > Signed integer division rounds to is set to Zero.
_________________________________________________________________________________________

Verify 'Shift right on a signed integer as arithmetic shift' setting
Check whether Hardware Implementation > Shift right on a signed integer as arithmetic shift is selected.

Passed
Hardware Implementation > Shift right on a signed integer as arithmetic shift is selected.
_________________________________________________________________________________________

Verify 'Support long long' setting
Check whether Hardware Implementation > Support long long is cleared.

Passed
Hardware Implementation > Support long long is cleared.
_________________________________________________________________________________________

Verify 'Test hardware is the same as production hardware' setting
Check whether Hardware Implementation > Test hardware is the same as production hardware is selected.

Passed
Hardware Implementation > Test hardware is the same as production hardware is selected.
_________________________________________________________________________________________

Verify 'Device vendor' setting
Identify whether Hardware Implementation > Device vendor is not set to ASIC/FPGA->ASIC/FPGA .

Passed
Hardware Implementation > Device vendor is not set to ASIC/FPGA->ASIC/FPGA .


  Check math and data types settings

Verify 'Implement logic signals as Boolean data (vs. double)' setting
Check whether Math and Data Types > Implement logic signals as Boolean data (vs. double) is selected.

Passed
Math and Data Types > Implement logic signals as Boolean data (vs. double) is selected.
_________________________________________________________________________________________

Verify 'Use algorithms optimized for row-major array layout' setting
Check whether Math and Data Types > Use algorithms optimized for row-major array layout is cleared.

Passed
Math and Data Types > Use algorithms optimized for row-major array layout is cleared.


  Check solver settings

Verify 'Type' setting
Check whether Solver > Type is set to Fixed-step.

Passed
Solver > Type is set to Fixed-step.
_________________________________________________________________________________________

Verify 'Solver' setting
Check whether Solver > Solver is set to FixedStepDiscrete.

Passed
Solver > Solver is set to FixedStepDiscrete.
_________________________________________________________________________________________

Verify 'Periodic sample time constraint' setting
Check whether Solver > Periodic sample time constraint is set to Unconstrained or STIndependent.

Passed
Solver > Periodic sample time constraint is set to Unconstrained or STIndependent.
_________________________________________________________________________________________

Verify 'Automatically handle rate transition for data transfer' setting
Check whether Solver > Automatically handle rate transition for data transfer is cleared.

Warning
Solver > Automatically handle rate transition for data transfer is selected.

Recommended Action
Clear the Solver > Automatically handle rate transition for data transfer checkbox.
_________________________________________________________________________________________

Verify 'Allow tasks to execute concurrently on target' setting
Check whether Solver > Allow tasks to execute concurrently on target is cleared.

Passed
Solver > Allow tasks to execute concurrently on target is cleared.


  Check for unsupported blocks

Check for blocks not supported by Simulink Code Inspector
Identify blocks that are not supported by Simulink Code Inspector

Passed
There are no unsupported blocks in this model or subsystem.


  Check for unconnected objects in the model

Check for unconnected objects
Identify unconnected lines, input ports, and output ports in the model or subsystem

Passed
There are no unconnected lines, input ports, or output ports in the model or subsystem.


  Check system target file setting

Verify System target file setting
Check whether Code Generation > System target file is ert.tlc or a System target file derived from ERT

Passed
The target is ERT or derived from ERT.


  Check function specification setting

Check model interface settings
Check whether the Configure arguments for Step function prototype setting in the Configure C Step Function Interface dialog box is cleared.

Passed
The Configure arguments for Step function prototype setting in the Configure C Step Function Interface dialog box is cleared.


  Check for Stateflow machine data

All Stateflow data must be parented by a Stateflow chart
Simulink Code Inspector does not support Stateflow data of machine scope

Passed
No Stateflow data is of machine scope.


  Check for Stateflow machine events

All Stateflow events must be parented by a Stateflow chart
Simulink Code Inspector does not support Stateflow events of machine scope

Passed
No Stateflow events are of machine scope.


  Check conditional input branch execution setting

Verify conditional input branch execution setting
Check whether 'Signal storage reuse' and 'Enable local block outputs' are set when conditional input branch execution is set

Passed
Conditional input branch execution setting is compatible.


  Check model for instrumented signals

Check for instrumented signals in the model
Identify signals in the model that are instrumented

Passed
There are no instrumented signals in the model


  Check the code generation folder structure for the model

Check the code generation folder structure for the model
Check that the code generation folder structure for the model is supported

Passed
The code generation folder structure for the model is supported


  Check for unsupported Code Mapping settings

Check for unsupported usage of Storage Class on the Data Defaults tab of the Code Mapping Editor.
Identify unsupported Storage Class settings for model element categories on the Data Defaults tab of the Code Mapping Editor.

Passed
There is no unsupported Storage Class setting for model element categories on the Data Defaults tab of the Code Mapping Editor.


  Check usage of Code in MATLAB Functions

No Code in MATLAB Functions were found
_________________________________________________________________________________________


  Check MATLAB Code Analyzer messages

Check MATLAB code used in MATLAB Function blocks

Passed
No MATLAB Function blocks found
_________________________________________________________________________________________

Check MATLAB functions defined in Stateflow charts

Passed
No MATLAB functions defined in Stateflow charts found
_________________________________________________________________________________________

Check called MATLAB functions

Passed
No external MATLAB functions found
_________________________________________________________________________________________


  Check model for Aerospace Blockset legacy 3DoF or 6DoF blocks

Check model for Aerospace Blockset legacy 3DoF or 6DoF blocks

Your model does not contain legacy 3DoF or 6DoF blocks.
_________________________________________________________________________________________


  Check model for Aerospace Blockset navigation blocks

Check model for Aerospace Blockset navigation blocks

Your model does not contain Three-Axis Inertial Measurement Unit, Three-Axis Gyroscope, or Three-Axis Accelerometer blocks prior to 3.21 (R2018a).
_________________________________________________________________________________________


  Check model configuration settings against code generation objectives


Current Objectives: Execution efficiency, Traceability


The following parameter values are not optimized for the selected objectives.

To automatically fix the warning, click the 'Modify Parameters' button and then rerun the check. To manually fix the warning, click the parameter hyperlink to open the Configuration Parameters dialog box, and manually apply the recommended value.

Parameter Current Value Recommended Value
Pass reusable subsystem outputs as Structure reference Individual arguments
Support long long off on
Optimize block operation order in the generated code off speed


_________________________________________________________________________________________


  Check for efficiency optimization parameters

Passed

  • The model is using the following objective: Execution efficiency
  • Use memcpy for vector assignment is selected


  Identify similar library clones and replace them with links to library blocks

Specify a library in the Library file name field.

Input Parameters Selection
Name Value
Library file name:  
Maximum number of different parameters: 0


  Identify similar graphical clones and replace them with links to library blocks

No clones found.

Input Parameters Selection
Name Value
New library file name: graphicalCloneLibFile
Maximum number of different parameters: 0


  Check and update model to use toolchain approach to build generated code

Passed
Model is configured to use the toolchain approach.


  Check and set embedded target model to use ert.tlc system target file

Check and update embedded target model to use ert.tlc system target file. Only the models whose system target file is set to idelink_ert.tlc, idelink_grt.tlc, or realtime.tlc and whose board matches one of the supported hardware boards can be updated. If the model can be updated, the model parameters will be converted to support use of ert.tlc system target file.

Passed
No update required: the model is either not configured to use an embedded target or is using the latest version of the target.


  Check safety-related optimization settings

Check optimization settings in the model configuration that might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Block reduction (BlockReduction) on off
Warning Application lifespan (days) (LifeSpan) 1 Inf
Warning Remove root level I/O zero initialization (ZeroExternalMemoryAtStartup) * off on
Warning Remove internal data zero initialization (ZeroInternalMemoryAtStartup) * off on
Warning Remove code that protects against division arithmetic exceptions (NoFixptDivByZeroProtection) on off
Warning Optimize using the specified minimum and maximum values (UseSpecifiedMinMax) on off


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


* The Command-Line values provided in the table are reverse of the settings in the Configuration Parameters Dialog. Therefore, 'on' in the Command-Line corresponds to an "Off" setting in the dialog, and 'off' in the Command-Line corresponds to an "On" setting in the dialog.


  Check safety-related code generation settings

Check optimization settings in the model configuration that might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values Not Recommended Values Prerequisites
Warning absolute time (SupportAbsoluteTime) on off   SystemTargetFile
Warning Parentheses level (ParenthesesLevel) Nominal Maximum   SystemTargetFile
Warning Preserve operand order in expression (PreserveExpressionOrder) off on   SystemTargetFile
Warning Preserve condition expression in if statement (PreserveIfCondition) off on   SystemTargetFile
Warning Minimum mangle length (MangleLength) 1   1, 2, 3 SystemTargetFile


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check usage of Math blocks

Check for math operators that require non-finite number support.

Passed
There are no Math blocks in the model.


  Check model simulation configuration

Passed : Correct Simulation settings in the Fixed-Point Tool.

Passed : Active configuration set, 'embedded_coder_fixedstep_multirate/Configuration', is used.

Passed : Signal logging is selected in the Configuration Parameters > Data Import/Export pane.

Passed : The fipref object DataTypeOverride is set to 'ForceOff'.


  Check model Diagnostics Data Validity settings

Configuration Parameters Settings (Diagnostics > Data Validity)
Settings Current Recommended
Detect downcast error warning
Detect overflow error warning


  Simulation range checking

Configuration Parameters Settings (Diagnostics > Data Validity)
Settings Current Recommended
Simulation range checking none warning


  Verify explicit signal resolution

Passed

The model is properly configured. All signals and states that explicitly require resolution to Simulink.Signal objects have been resolved.


  Check strong data typing with Simulink I/O

Passed

No Stateflow charts found, or all charts are configured properly.


  Address unsupported blocks

Passed

Unsupported blocks not found.


  Specify block minimum and maximum values

Abnormal exit: Operands to the || and && operators must be convertible to logical scalar values.


  Review locked data type settings

Passed

No blocks with locked scaling found.


  Return to Fixed-Point Tool to Perform Data Typing and Scaling


 

Abnormal exit: Argument must be either a character vector, string scalar, or a function handle.


  Check solver configuration

Failed
Dot indexing is not supported for variables of this type.


  Get state-space parameters

Abnormal exit: Index exceeds array bounds.


  Generate implementation model

Abnormal exit: Index exceeds array bounds.


  Check usage of standardized MATLAB function headers

himl_0001: Usage of standardized MATLAB function headers
Identify usage of standardized function headers in MATLAB function.

Passed
No MATLAB function blocks found without standardized function headers.


  Check for MATLAB Function interfaces with inherited properties

Identify MATLAB Functions that have inputs, outputs, or parameters with inherited complexity or data type properties.

Passed
No MATLAB Functions found in the model or subsystem.


  Check MATLAB Function metrics

Identify MATLAB Functions that violate complexity limits.

Passed
No MATLAB Functions were found.

Input Parameters Selection
Name Value
Maximum effective lines of code per function 60
Minimum density of comments 0.2
Maximum cyclomatic complexity per function 15


  Check MATLAB Code Analyzer messages

Check MATLAB code used in MATLAB Function blocks

Passed
No MATLAB Function blocks found
_________________________________________________________________________________________

Check MATLAB functions defined in Stateflow charts

Passed
No MATLAB functions defined in Stateflow charts found
_________________________________________________________________________________________

Check called MATLAB functions

Passed
No external MATLAB functions found
_________________________________________________________________________________________


  Check if/elseif/else patterns in MATLAB Function blocks

Identify if/elseif/else patterns without appropriate else conditions in embedded MATLAB code

Passed
No inappropriate if/elseif/else patterns found.


  Check switch statements in MATLAB Function blocks

Identify inappropriately used switch statements in embedded MATLAB code

Passed
No inappropriately used switch statements found.


  Check state machine type of Stateflow charts

hisf_0001: State Machine Type

Identify Stateflow Charts whose State Machine Type differs from the type set in the Model Advisor Configuration Editor.

Passed
No Stateflow Charts found that deviate from recommended state machine type.


  Check Stateflow charts for ordering of states and transitions

Identify Stateflow charts that do not use explicit ordering of parallel states and transitions.

Passed
No Stateflow Charts found that deviate from recommended state/transition execution order settings.


  Check for Strong Data Typing with Simulink I/O

Verify configuration settings for strong data typing on the boundaries between Simulink and Stateflow

Passed
No Stateflow charts found that set 'Use Strong Data Typing with Simulink I/O' to off.


  Check Stateflow debugging options

Identify whether the following Stateflow debugging options are cleared: Detect wrap on overflow , Detect Cycles, and Simulation range checking

Passed
No Stateflow charts were found.


  Check Stateflow charts for transition paths that cross parallel state boundaries

Identify transition paths that cross parallel state boundaries in Stateflow charts.

Passed
No transition paths crossing parallel state boundaries were found in Stateflow charts.


  Check for inappropriate use of transition paths

hisf_0014: Usage of transition paths (passing through states)
Identify transition paths that go into and out of a state without ending on a substate.

Passed
No transition paths found that go into and out of a state without ending on a substate.


  Check naming of ports in Stateflow charts

Identify mismatches between names of Stateflow ports and associated signals

Passed
There are no name mismatches between Stateflow ports and associated signals


  Check scoping of Stateflow data objects

Check Stateflow data object scoping
Identify Stateflow data objects with local scope that are not scoped at the chart level or below

Passed
No Stateflow charts were found.
_________________________________________________________________________________________


  Check usage of Math Function blocks (rem and reciprocal functions)

Check usage of Math Function - Remainder after division blocks
Identify Math Function - Remainder after division blocks that might result in non-finite output signals.

Passed
No Math Function - Remainder after division blocks found.
_________________________________________________________________________________________

Check usage of Math Function - Reciprocal blocks
Identify Math Function - Reciprocal blocks that might result into non-finite signals at their outputs.

Passed
No Math Function - Reciprocal blocks found.


  Check usage of Math Function blocks (log and log10 functions)

Check usage of Math Function - Natural logarithm blocks
Identify Math Function - Natural logarithm blocks that might result in non-finite output signals.

Passed
No Math Function - Natural logarithm blocks found.
_________________________________________________________________________________________

Check usage of Math Function - Common (base 10) logarithm blocks
Identify Math Function - Common (base 10) logarithm blocks that might result in non-finite output signals.

Passed
No Math Function - Common (base 10) logarithm blocks found.


  Check usage of While Iterator blocks

Identify While Iterator blocks that do not have a positive value for the maximum number of iterations

Passed
No While Iterator blocks found that might cause infinite loops


  Check usage of For and While Iterator subsystems

Check sample time-dependent blocks
Identify sample time-dependent blocks in While and For Iterator subsystems.

Passed
No For or While Iterator subsystems found.


  Check safety-related diagnostic settings for data store memory

Check diagnostic settings in the model configuration that apply to data store memory and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Detect read before write (ReadBeforeWriteMsg) UseLocalSettings EnableAllAsError
Warning Detect write after read (WriteAfterReadMsg) UseLocalSettings EnableAllAsError
Warning Detect write after write (WriteAfterWriteMsg) UseLocalSettings EnableAllAsError
Warning Duplicate data store names (UniqueDataStoreMsg) none error


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check for blocks not recommended for C/C++ production code deployment

Identify blocks not supported by code generation or not recommended for C/C++ production code deployment.

Passed
Blocks not recommended for C/C++ production code deployment were not found in the model or subsystem.


  Check for inconsistent vector indexing methods

Check consistent usage of vector indexing methods across the model or subsystem

Passed
No blocks using vector indexing were found


  Check for variant blocks with 'Generate preprocessor conditionals' active

No variant blocks with "Generate preprocessor conditionals" on were found.


  Check for root Inports with missing properties

Identify Inport blocks in the top-level of the model with missing or inherited sample times, data types, or port dimensions. Inport block properties are specified with block parameters or Simulink signal data objects that explicitly resolve to the connected signal lines.

Passed
There are no Inport blocks in the top-level of the model with missing or inherited sample times, data types, or port dimensions


  Check model file name

Identify inappropriate characters and length issues in model file name

Passed
No issues found with model file name.


  Check usage of lookup table blocks

Check for Lookup Table blocks, Prelookup blocks and Interpolation blocks that do not generate out-of-range checking code.

Passed
There are no Lookup Table blocks, Prelookup blocks and Interpolation blocks in the model.


  Check safety-related diagnostic settings for saving

Check diagnostic settings in the model configuration that apply to saving model files.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Block diagram contains disabled library links (SaveWithDisabledLinksMsg) warning error
Warning Block diagram contains parameterized library links (SaveWithParameterizedLinksMsg) warning error


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related model referencing settings

Check model referencing settings in the model configuration that might impact safety.

Passed
All constraints on model configuration parameters have been met.

Status Parameter Current Value Recommended Values
Pass Rebuild (UpdateModelReferenceTargets) IfOutOfDateOrStructuralChange AssumeUpToDate, IfOutOfDateOrStructuralChange
Pass Pass fixed-size scalar root inputs by value for code generation (ModelReferencePassRootInputsByReference) * on on
Pass Minimize algebraic loop occurrences (ModelReferenceMinAlgLoopOccurrences) off off


Recommended Action


* The Command-Line values provided in the table are reverse of the settings in the Configuration Parameters Dialog. Therefore, 'on' in the Command-Line corresponds to an "Off" setting in the dialog, and 'off' in the Command-Line corresponds to an "On" setting in the dialog.


  Check safety-related solver settings for simulation time

This check ensures that model Start time is set to 0 and Stop time is less than the Application Life Span.

Passed
All constraints on model configuration parameters have been met.

Status Parameter Current Value Recommended Values
Pass Start time (StartTime) 0 0
Pass Stop time (StopTime) 10 10


  Check safety-related solver settings for solver options

Check solver settings in the model configuration that apply to solvers and might impact safety.

Passed
All constraints on model configuration parameters have been met.

Status Parameter Current Value Recommended Values
Pass Type (SolverType) Fixed-step Fixed-step
Pass Solver (SolverName) FixedStepDiscrete FixedStepDiscrete


  Check safety-related solver settings for tasking and sample-time

Check solver settings in the model configuration that apply to tasking and sample-time constraints and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Not Recommended Values
Warning Automatically handle rate transition for data transfer (AutoInsertRateTranBlk) on on


Recommended Action
Clear Automatically handle rate transition for data transfer checkbox.


  Check safety-related diagnostic settings for solvers

Check diagnostic settings in the model configuration that apply to solvers and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Algebraic loop (AlgebraicLoopMsg) warning error
Warning Minimize algebraic loop (ArtificialAlgebraicLoopMsg) warning error
Warning Block priority violation (BlockPriorityViolationMsg) warning error
Warning Automatic solver parameter selection (SolverPrmCheckMsg) none error
Warning State name clash (StateNameClashWarn) none warning


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related diagnostic settings for sample time

Check diagnostic settings in the model configuration that apply to sample time and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Source block specifies -1 sample time (InheritedTsInSrcMsg) warning error
Warning Multitask rate transition (MultiTaskRateTransMsg) warning error
Warning Enforce sample times specified by Signal Specification blocks (SigSpecEnsureSampleTimeMsg) warning error
Warning Single task rate transition (SingleTaskRateTransMsg) none error
Warning Tasks with equal priority (TasksWithSamePriorityMsg) warning error
Warning Unspecified inheritability of sample time (UnknownTsInhSupMsg) warning error


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related optimization settings for loop unrolling threshold

Check optimization settings in the model configuration that apply to loop unrolling threshold and might impact safety.

Passed
All constraints on model configuration parameters have been met.

Status Parameter Current Value Not Recommended Values
Pass Loop unrolling threshold (RollThreshold) 5 0, 1


  Check Stateflow charts for uniquely defined data objects

Identifies local data identifiers that are defined in multiple scopes within a chart.

Passed
No Stateflow charts were found.


  Check global variables in graphical functions

hisl_0062 : Global variables in graphical functions
Identify expressions that both read and write to the same global data.

Passed
No expressions found that both read and write to the same global data.


  Check usage of Gain blocks

Identify Gain blocks with value which resolves to 1

Passed
No Gain blocks found with value which resolves to 1.


  Check for model elements that do not link to requirements

Check for model elements that do not link to a requirements document

Warning
The following model elements do not link to a requirements document:


_________________________________________________________________________________________

Identify model elements with number of requirement links more than the threshold.

Passed
No model elements found that exceed the threshold for number of requirement links.
_________________________________________________________________________________________

Identify linked model elements which exceed the threshold for number of children.

Passed
No components found that exceed the threshold for number of children.


  Check safety-related diagnostic settings for compatibility

Check diagnostic settings in the model configuration that affect compatibility and might impact safety

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning S-function upgrades needed (SFcnCompatibilityMsg) none error


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related diagnostic settings for parameters

Check diagnostic settings in the model configuration that apply to parameters and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Detect underflow (ParameterUnderflowMsg) none error
Warning Detect precision loss (ParameterPrecisionLossMsg) warning error
Warning Detect loss of tunability (ParameterTunabilityLossMsg) warning error


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related diagnostic settings for Merge blocks

Check diagnostic settings in the model configuration that apply to Merge blocks and might impact safety.

Passed
All constraints on model configuration parameters have been met.

Status Parameter Current Value Recommended Values
Pass Detect multiple driving blocks executing at the same time step (MergeDetectMultiDrivingBlocksExec) error error


  Check safety-related diagnostic settings for model initialization

Check whether Configuration Parameters > Underspecified initialization detection is set to Simplified. If it is set to Classic check that the sub-parameters are selected.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Check runtime output of execution context (CheckExecutionContextRuntimeOutputMsg) off on


Recommended Action
Set Configuration Parameters > Underspecified initialization detection to Simplified or select the sub-parameters.


  Check safety-related diagnostic settings for data used for debugging

Check diagnostic settings in the model configuration that apply to data used for debugging and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Model Verification block enabling (AssertControl) UseLocalSettings DisableAll


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related diagnostic settings for signal connectivity

Check diagnostic settings in the model configuration that apply to signal connectivity and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Signal label mismatch (SignalLabelMismatchMsg) none error
Warning Unconnected block input ports (UnconnectedInputMsg) warning error
Warning Unconnected block output ports (UnconnectedOutputMsg) warning error
Warning Unconnected line (UnconnectedLineMsg) warning error


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related diagnostic settings for bus connectivity

Check diagnostic settings in the model configuration that apply to bus connectivity and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Unspecified bus object at root Outport block (RootOutportRequireBusObject) warning error
Warning Element name mismatch (BusObjectLabelMismatch) warning error
Warning Bus signal treated as vector (StrictBusMsg) ErrorLevel1 ErrorOnBusTreatedAsVector
Warning Non-bus signals treated as bus signals (NonBusSignalsTreatedAsBus) none error


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related diagnostic settings that apply to function-call connectivity

Check diagnostic settings in the model configuration that apply to function-call connectivity and might impact safety.

Passed
All constraints on model configuration parameters have been met.

Status Parameter Current Value Recommended Values
Pass Invalid function-call connection (InvalidFcnCallConnMsg) error error
Pass Context-dependent inputs (FcnCallInpInsideContextMsg) error error


  Check safety-related diagnostic settings for type conversions

Check diagnostic settings in the model configuration that apply to type conversions and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Unnecessary type conversions (UnnecessaryDatatypeConvMsg) none warning
Warning Vector/matrix block input conversion (VectorMatrixConversionMsg) none error


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related diagnostic settings for model referencing

Check diagnostic settings in the model configuration that apply to model referencing and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Port and parameter mismatch (ModelReferenceIOMismatchMessage) none error
Warning Invalid root Inport/Outport block connection (ModelReferenceIOMsg) none error
Warning Unsupported data logging (ModelReferenceDataLoggingMessage) warning error


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related diagnostic settings for Stateflow

Check diagnostic settings in the model configuration that apply to Stateflow and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Unexpected backtracking (SFUnexpectedBacktrackingDiag) warning error
Warning Invalid input data access in chart initialization (SFInvalidInputDataAccessInChartInitDiag) warning error
Warning No unconditional default transitions (SFNoUnconditionalDefaultTransitionDiag) warning error
Warning Transition outside natural parent (SFTransitionOutsideNaturalParentDiag) warning error
Warning Unreachable execution path (SFUnreachableExecutionPathDiag) warning error
Warning Undirected event broadcasts (SFUndirectedBroadcastEventsDiag) warning error
Warning Transition action specified before condition action (SFTransitionActionBeforeConditionDiag) warning error


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related optimization settings for logic signals

Check optimization settings in the model configuration that apply to logic signals and might impact safety.

Passed
All constraints on model configuration parameters have been met.

Status Parameter Current Value Recommended Values
Pass Implement logic signals as Boolean data (vs. double) (BooleanDataType) on on


  Check safety-related block reduction optimization settings

Check block reduction optimization settings in the model configuration that might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Block reduction (BlockReduction) on off


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related optimization settings for application lifespan

Check optimization settings in the model configuration that might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Application lifespan (days) (LifeSpan) 1 Inf


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related optimization settings for data initialization

Check optimization settings in the model configuration that apply to data initialization and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values Prerequisites
Warning Remove root level I/O zero initialization (ZeroExternalMemoryAtStartup) * off on SystemTargetFile
Warning Remove internal data zero initialization (ZeroInternalMemoryAtStartup) * off on SystemTargetFile


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


* The Command-Line values provided in the table are reverse of the settings in the Configuration Parameters Dialog. Therefore, 'on' in the Command-Line corresponds to an "Off" setting in the dialog, and 'off' in the Command-Line corresponds to an "On" setting in the dialog.


  Check safety-related optimization settings for data type conversions

Check optimization settings in the model configuration that might impact safety.

Passed
All constraints on model configuration parameters have been met.

Status Parameter Current Value Recommended Values
Pass Remove code from floating-point to integer conversions that wraps out-of-range values (EfficientFloat2IntCast) on on


  Check safety-related optimization settings for division arithmetic exceptions

Check optimization settings in the model configuration that might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values Prerequisites
Warning Remove code that protects against division arithmetic exceptions (NoFixptDivByZeroProtection) on off SystemTargetFile


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related optimization settings for specified minimum and maximum values

Check optimization settings in the model configuration that might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values Prerequisites
Warning Optimize using the specified minimum and maximum values (UseSpecifiedMinMax) on off SystemTargetFile


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related code generation settings for comments

Check code generation settings in the model configuration that apply comments and might impact safety.

Passed
All constraints on model configuration parameters have been met.

Status Parameter Current Value Recommended Values Prerequisites
Pass Include comments (GenerateComments) on on  
Pass Simulink block comments (SimulinkBlockComments) on on GenerateComments
Pass Show eliminated blocks (ShowEliminatedStatement) on on GenerateComments
D - Pass System target file (SystemTargetFile) ERT based target ERT based target  
Pass Verbose comments for 'Model default' storage class (ForceParamTrailComments) on on GenerateComments
D - Pass Include comments (GenerateComments) on on  
Pass Requirements in block comments (ReqsInCode) on on SystemTargetFile, GenerateComments


  Check safety-related code generation interface settings

Check code generation interface settings in the model configuration that might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values Prerequisites
Warning absolute time (SupportAbsoluteTime) on off SystemTargetFile


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related code generation settings for code style

Check code generation settings in the model configuration that apply to code style and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values Prerequisites
Warning Parentheses level (ParenthesesLevel) Nominal Maximum SystemTargetFile
Warning Preserve operand order in expression (PreserveExpressionOrder) off on SystemTargetFile
Warning Preserve condition expression in if statement (PreserveIfCondition) off on SystemTargetFile


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related code generation symbols settings

Check code generation symbols settings in the model configuration that might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Not Recommended Values Prerequisites
Warning Minimum mangle length (MangleLength) 1 1, 2, 3 SystemTargetFile


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Check safety-related diagnostic settings for signal data

Check diagnostic settings in the model configuration that apply to signal data and might impact safety.

Warning
The model configuration parameters are not set to the recommended values specified in the data file.

Status Parameter Current Value Recommended Values
Warning Division by singular matrix (CheckMatrixSingularityMsg) none error
Warning Underspecified data types (UnderSpecifiedDataTypeMsg) none error
Warning Wrap on overflow (IntegerOverflowMsg) warning error
Warning Saturate on overflow (IntegerSaturationMsg) warning error
Warning Inf or NaN block output (SignalInfNanChecking) none error
Warning Simulation range checking (SignalRangeChecking) none error


Recommended Action
Follow the links in the result table to modify the model configuration parameters.


  Display model metrics and complexity report

Display number of elements and name, level, and depth of subsystems for the model or subsystem

Model metrics information
Display number of elements for Simulink blocks and Stateflow constructs


Summary

Element Type Count
Inport 2
Outport 1


Simulink

Block Type Count
Inport 2
Sum 1
Outport 1

Model complexity information
Display name, level, and depth of subsystems

No subsystems found.


  Check for unconnected objects

Identify unconnected lines, input ports, and output ports in the model

Passed
There are no unconnected lines, input ports, and output ports in this model.


  Check for questionable constructs

Check for constructs in the model that are not recommended for production code generation
Identify blocks that are not recommended to be used for code generation.

Passed
Constructs that are not recommended for production code generation were not found in the model or subsystem


  Identify system constants for use in variant transformation

No variant transform candidates found.

Input Parameters Selection
Name Value
Specify system constant cell array e.g. system_consts
Prefix of transformed model name gen0_


  Identify blocks that qualify for variant transformation

Abnormal exit: Too many input arguments.


  Convert blocks to variants

Abnormal exit: Dot indexing is not supported for variables of this type.


  Step1. Select data store blocks you want to eliminate

There are no eligible candidates.


_________________________________________________________________________________________

Input Parameters Selection
Name Value
Prefix of refactored model gen1_


  Simulink block metric

Display number of blocks in the model or subsystem.



Passed

Component Blocks
embedded_coder_fixedstep_multirate 4


  Subsystem metric

Display number of Subsystems in the model or subsystem.



Passed

Component Subsystems
embedded_coder_fixedstep_multirate 0


  Library link metric

Display number of library links in the model or subsystem.



Passed

Component Library Links
embedded_coder_fixedstep_multirate 0


  Effective lines of MATLAB code metric

Display number of effective lines of MATLAB code.
No metric data available. The component scope of the metric algorithm is not applicable.

Passed


  Stateflow chart objects metric

Display number of Stateflow objects in each chart.
No metric data available. The component scope of the metric algorithm is not applicable.

Passed


  Lines of code for Stateflow blocks metric

Display number of code lines for Stateflow blocks.
No metric data available. The component scope of the metric algorithm is not applicable.

Passed


  Nondescriptive block name metric

Display non-descriptive names of Inport, Outport and Subsystem blocks.



Passed

Component Nondescriptive Names
embedded_coder_fixedstep_multirate 1


  Data and structure layer separation metric

Display data and structure layer separation, defined by MAAB modeling guideline db_0143.



Passed

Component Non-conforming Blocks
embedded_coder_fixedstep_multirate 0


  Subsystem depth metric

Display depth of subsystems in the model or subsystem.

Total Subsystem Depth: NaN


Passed

Component Subsystem Level Subsystem Depth
embedded_coder_fixedstep_multirate 0 0


  Check for infinite and continuous sample time sources

Passed : Check for infinite and continuous sample time sources


  Check for unsupported blocks

Passed : Check for unsupported blocks


  Check for MATLAB Function block settings

Passed : Check for MATLAB Function block settings


  Check for Stateflow chart settings

Passed : Check for Stateflow chart settings


  Check VHDL file extension

Passed : Check VHDL file extension


  Check naming conventions

Passed : Check naming conventions


  Check top-level subsystem/port names

Abnormal exit: The following error occurred converting from cell to slEnginePir.m2m_dsm: No method 'destroyPirCtx' with matching signature found for class 'hdlcoder.pir'.


  Check module/entity names

Passed : Check module/entity names


  Check signal and port names

Passed : Check signal and port names


  Check package file names

Abnormal exit: The following error occurred converting from cell to slEnginePir.m2m_dsm: No method 'destroyPirCtx' with matching signature found for class 'hdlcoder.pir'.


  Check generics

Passed : Check generics


  Check clock, reset, and enable signals

Abnormal exit: The following error occurred converting from cell to slEnginePir.m2m_dsm: No method 'destroyPirCtx' with matching signature found for class 'hdlcoder.pir'.


  Check architecture name

Passed : Check architecture name


  Check entity and architecture

Passed : Check entity and architecture


  Check clock settings

Passed : Check clock settings


  Check for safe model parameters

Abnormal exit: The following error occurred converting from cell to slEnginePir.m2m_dsm: No method 'destroyPirCtx' with matching signature found for class 'hdlcoder.pir'.


  Check for global reset setting for Xilinx and Altera devices

Passed : Check for global reset setting for Xilinx and Altera devices


  Check inline configurations setting

Passed : Check inline configurations setting


  Check for visualization settings

Abnormal exit: The following error occurred converting from cell to slEnginePir.m2m_dsm: No method 'destroyPirCtx' with matching signature found for class 'hdlcoder.pir'.


  Check delay balancing setting

Passed : Check delay balancing setting


  Check for blocks with nonzero output latency

Passed : Check for blocks with nonzero output latency


  Check blocks with nonzero ulp error

Passed : Check blocks with nonzero ulp error


  Check for invalid top level subsystem

Passed : Check for invalid top level subsystem


  Check initial conditions of enabled and triggered subsystems

Passed : Check initial conditions of enabled and triggered subsystems


  Check for infinite and continuous sample time sources

Passed : Check for infinite and continuous sample time sources


  Check for unsupported blocks

Passed : Check for unsupported blocks


  *FIXME* borrowed_runUnconnectedLinesPorts

Abnormal exit: Function hdlcoder.ModelChecker.borrowed_runUnconnectedLinesPorts does not exist.


Abnormal exit: Function hdlcoder.ModelChecker.borrowed_runDisabledLibLinks does not exist.


Abnormal exit: Function hdlcoder.ModelChecker.borrowed_runUnresolvedLibLinks does not exist.


  Check for MATLAB Function block settings

Passed : Check for MATLAB Function block settings


  Check for Stateflow chart settings

Passed : Check for Stateflow chart settings


  *FIXME* borrowed_runReplaceZOHDelayByRTB

Abnormal exit: Function hdlcoder.ModelChecker.borrowed_runReplaceZOHDelayByRTB does not exist.


  Check VHDL file extension

Passed : Check VHDL file extension


  Check naming conventions

Passed : Check naming conventions


  Check top-level subsystem/port names

Abnormal exit: The following error occurred converting from cell to slEnginePir.m2m_dsm: No method 'destroyPirCtx' with matching signature found for class 'hdlcoder.pir'.


  Check module/entity names

Passed : Check module/entity names


  Check signal and port names

Passed : Check signal and port names


  Check package file names

Abnormal exit: The following error occurred converting from cell to slEnginePir.m2m_dsm: No method 'destroyPirCtx' with matching signature found for class 'hdlcoder.pir'.


  Check generics

Passed : Check generics


  Check clock, reset, and enable signals

Abnormal exit: The following error occurred converting from cell to slEnginePir.m2m_dsm: No method 'destroyPirCtx' with matching signature found for class 'hdlcoder.pir'.


  Check architecture name

Passed : Check architecture name


  Check entity and architecture

Passed : Check entity and architecture


  Check clock settings

Passed : Check clock settings


  Check for safe model parameters

Abnormal exit: The following error occurred converting from cell to slEnginePir.m2m_dsm: No method 'destroyPirCtx' with matching signature found for class 'hdlcoder.pir'.


  *FIXME* borrowed_runCharacterEncoding

Abnormal exit: Function hdlcoder.ModelChecker.borrowed_runCharacterEncoding does not exist.


  Check for global reset setting for Xilinx and Altera devices

Passed : Check for global reset setting for Xilinx and Altera devices


  Check inline configurations setting

Passed : Check inline configurations setting


  Check for visualization settings

Abnormal exit: The following error occurred converting from cell to slEnginePir.m2m_dsm: No method 'destroyPirCtx' with matching signature found for class 'hdlcoder.pir'.


  Check delay balancing setting

Passed : Check delay balancing setting


  Check for blocks with nonzero output latency

Passed : Check for blocks with nonzero output latency


  Check blocks with nonzero ulp error

Passed : Check blocks with nonzero ulp error


  Check for invalid top level subsystem

Passed : Check for invalid top level subsystem


  Check initial conditions of enabled and triggered subsystems

Passed : Check initial conditions of enabled and triggered subsystems


  Create baseline to measure the performance. The baseline contains the time to run the simulation and the simulation results (signals logged). To create a baseline, configure the model to log states in the workspace and save the signals in 'Structure with time' format.

Abnormal exit: Dot indexing is not supported for variables of this type.