| Complexity | Condition | Decision | MCDC | ||||||||||||||||||||
| TOTAL COVERAGE | 67% |
|
82% |
|
50% |
|
|||||||||||||||||
| 1. . . . LTC_R2017 | 7 | 67% |
|
82% |
|
50% |
|
||||||||||||||||
| Complexity | Condition | Decision | MCDC | ||||||||||||||||||||
| TOTAL COVERAGE | 67% |
|
82% |
|
50% |
|
|||||||||||||||||
| 1. . . . LighTsControl_SIL_SFun | 11 | 67% |
|
82% |
|
50% |
|
||||||||||||||||
| Model version | 1.442 |
| Author | TechDirector |
| Last saved | Tue Oct 09 11:20:54 2018 |
| Justify or Exclude |
| Included instance: | LTC_R2017/LighTsControl/LighTsControl_SIL/EZTEST_SFun |
| File/Complexity | Test 1 | ||||||||||||
| Decision | Condition | MCDC | |||||||||||
| TOTAL COVERAGE | 11 | 82% | 67% | 50% | |||||||||
| 1. . . . EZTEST_wrapper.c | 3 | -- | -- | -- | |||||||||
| 2. . . . LighTsControl.c | 8 | 82% | 67% | 50% | |||||||||
| Model version | 1.442 |
| Author | TechDirector |
| Last saved | Tue Oct 09 11:20:54 2018 |
| Default parameter behavior | inlined |
| Block reduction | off |
| Conditional branch optimization | off |
| Analyzed model | LTC_R2017/LighTsControl/LighTsControl_SIL |
| Logic block short circuiting | off |
| MCDC mode | masking |
| Filter filename | LighTsControl_SIL.cvf |
| Test# | Started execution | Ended execution |
| Test 1 | 09-Oct-2018 11:20:55 | 09-Oct-2018 11:20:56 |
| Model Hierarchy/Complexity | Test 1 | |||||||||||||||||||
| Decision | Condition | MCDC | ||||||||||||||||||
| 1. LighTsControl_SIL | 7 | 82% |
|
67% |
|
50% |
|
|||||||||||||
|
|
| Creation time | 29-Jan-2018 00:00:31 |
| Last modified time | 13-Apr-2018 15:04:38 |
| File size | 950 B |
| MD5 checksum | 1A5F503218D5C06EB525BC4ECDCB00D8 |
| File Contents/Complexity | Test 1 |
| 1 . EZTEST_wrapper.c | 3 |
| 2 . . . EZTEST_init | 1 |
| 3 . . . EZTEST_step | 1 |
| 4 . . . EZTEST_term | 1 |
EZTEST_wrapper.c| Function: | EZTEST_init (line 7)EZTEST_step (line 19)EZTEST_term (line 31) |
| Metric | Coverage |
| Cyclomatic Complexity | 3 |
EZTEST_init (line 7)| File: | EZTEST_wrapper.c (code) |
| Metric | Coverage |
| Cyclomatic Complexity | 1 |
EZTEST_step (line 19)| File: | EZTEST_wrapper.c (code) |
| Metric | Coverage |
| Cyclomatic Complexity | 1 |
EZTEST_term (line 31)| File: | EZTEST_wrapper.c (code) |
| Metric | Coverage |
| Cyclomatic Complexity | 1 |
| 1 | /* Wrapper for TRACE32-PIL */ |
| 2 | |
| 3 | #include "EZTEST_wrapper.h" |
| 4 | #include "QFP.h" |
| 5 | #include "LighTsControl.h" |
| 6 | |
| 7 | void EZTEST_init(ez_uint32 EZTEST_HysteresisStepsOff, ez_uint32 EZTEST_HysteresisStepsOn, ez_uint32 EZTEST_MinLightOff, ez_uint32 EZTEST_MinLightOn) |
| 8 | { |
| 9 | /* Call mapped function */ |
| 10 | INIT_LighTsControl(); |
| 11 | |
| 12 | /* Set model parameters */ |
| 13 | QFParams.HysteresisStepsOff = EZTEST_HysteresisStepsOff; |
| 14 | QFParams.HysteresisStepsOn = EZTEST_HysteresisStepsOn; |
| 15 | QFParams.MinLightOff = EZTEST_MinLightOff; |
| 16 | QFParams.MinLightOn = EZTEST_MinLightOn; |
| 17 | } |
| 18 | |
| 19 | void EZTEST_step(ez_uint32 EZTEST_light_switch, ez_uint32 EZTEST_light_intensity, ez_boolean EZTEST_headlight[1]) |
| 20 | { |
| 21 | /* Declare persistent matrix variables */ |
| 22 | static ez_boolean headlight = 0; |
| 23 | |
| 24 | /* Call mapped function */ |
| 25 | STEP_LighTsControl(EZTEST_light_switch, EZTEST_light_intensity, EZTEST_headlight); |
| 26 | |
| 27 | /* Store matrix content */ |
| 28 | headlight = EZTEST_headlight[0]; |
| 29 | } |
| 30 | |
| 31 | void EZTEST_term(void) |
| 32 | { |
| 33 | } |
| 34 |
| Creation time | 06-Feb-2016 21:35:33 |
| Last modified time | 09-Dec-2016 15:07:55 |
| File size | 4.6 KB |
| MD5 checksum | B77542AFEA1232A95D9B6CA52B8CB1BF |
| File Contents/Complexity | Test 1 | ||||||||||||
| Decision | Condition | MCDC | |||||||||||
| 1 . LighTsControl.c | 8 | 82% | 67% | 50% | |||||||||
| 2 . . . STEP_LighTsControl | 7 | 82% | 67% | 50% | |||||||||
| 3 . . . INIT_LighTsControl | 1 | -- | -- | -- | |||||||||
LighTsControl.c| Justify or Exclude | |
| Function: | STEP_LighTsControl (line 27)INIT_LighTsControl (line 139) |
| Metric | Coverage |
| Cyclomatic Complexity | 8 |
| Decision (D1) | 82% (9/11) decision outcomes |
| Condition (C1) | 67% (8/12) condition outcomes |
| MCDC (C1) | 50% (1/2) conditions reversed the outcome |
STEP_LighTsControl (line 27)| Justify or Exclude | |
| File: | LighTsControl.c (code) |
| Covered expressions: | (LighTsControl_UnitDelay1 >= QFParams.HysteresisStepsOff) || rtb_intensity_isOn (line 47)LighTsControl_UnitDelay3 (line 50)light_intensity > QFParams.MinLightOff (line 67)light_intensity < QFParams.MinLightOn (line 88)light_switch (line 107)LighTsControl_UnitDelay2 >= QFParams.HysteresisStepsOn (line 37)rtb_intensity_isOn (line 48)light_intensity <= QFParams.MinLightOff (line 56)LighTsControl_UnitDelay (line 117) |
| Metric | Coverage |
| Cyclomatic Complexity | 7 |
| Decision (D1) | 82% (9/11) decision outcomes |
| Condition (C1) | 67% (8/12) condition outcomes |
| MCDC (C1) | 50% (1/2) conditions reversed the outcome |
| Covered expressions | Metric |
LighTsControl_UnitDelay3 (line 50) |
Decision |
light_switch (line 107) |
Decision |
LighTsControl_UnitDelay2 >= QFParams.HysteresisStepsOn (line 37) |
Condition |
(LighTsControl_UnitDelay1 >= QFParams.HysteresisStepsOff) || rtb_intensity_isOn (line 47)| Justify or Exclude | |
| Function: | STEP_LighTsControl |
| Metric | Coverage |
| Decision (D1) | 100% (2/2) decision outcomes |
| Condition (C1) | 75% (3/4) condition outcomes |
| MCDC (C1) | 50% (1/2) conditions reversed the outcome |
| Description: | True | False |
LighTsControl_UnitDelay1 >= QFParams.HysteresisStepsOff |
0 | 30 |
rtb_intensity_isOn |
26 | 4 |
| decision outcomes: | True Out | False Out |
| Conditions: | ||
LighTsControl_UnitDelay1 >= QFParams.HysteresisStepsOff |
(Tx) | FF |
rtb_intensity_isOn |
FT | FF |
light_intensity > QFParams.MinLightOff (line 67)| Justify or Exclude | |
| Function: | STEP_LighTsControl |
| Metric | Coverage |
| Decision (D1) | 50% (1/2) decision outcomes |
light_intensity > QFParams.MinLightOff |
50% |
| false | 30/30 |
| true | 0/30 |
light_intensity < QFParams.MinLightOn (line 88)| Justify or Exclude | |
| Function: | STEP_LighTsControl |
| Metric | Coverage |
| Decision (D1) | 50% (1/2) decision outcomes |
light_intensity < QFParams.MinLightOn |
50% |
| false | 0/30 |
| true | 30/30 |
rtb_intensity_isOn (line 48)| Justify or Exclude | |
| Function: | STEP_LighTsControl |
| Metric | Coverage |
| Condition (C1) | 50% (1/2) condition outcomes |
| Description: | True | False |
rtb_intensity_isOn |
26 | 0 |
light_intensity <= QFParams.MinLightOff (line 56)| Justify or Exclude | |
| Function: | STEP_LighTsControl |
| Metric | Coverage |
| Condition (C1) | 50% (1/2) condition outcomes |
| Description: | True | False |
light_intensity <= QFParams.MinLightOff |
2 | 0 |
LighTsControl_UnitDelay (line 117)| Justify or Exclude | |
| Function: | STEP_LighTsControl |
| Metric | Coverage |
| Condition (C1) | 50% (1/2) condition outcomes |
| Description: | True | False |
LighTsControl_UnitDelay |
6 | 0 |
INIT_LighTsControl (line 139)| File: | LighTsControl.c (code) |
| Metric | Coverage |
| Cyclomatic Complexity | 1 |
| 1 | /* |
| 2 | * File: LighTsControl.c |
| 3 | * |
| 4 | * Code generated for Simulink model 'LighTsControl'. |
| 5 | * |
| 6 | * Model version : 1.284 |
| 7 | * Simulink Coder version : 8.7 (R2014b) 08-Sep-2014 |
| 8 | * C/C++ source code generated on : Fri Dec 09 15:07:50 2016 |
| 9 | * |
| 10 | * Target selection: ert.tlc |
| 11 | * Embedded hardware selection: 32-bit Generic |
| 12 | * Code generation objectives: Unspecified |
| 13 | * Validation result: Not run |
| 14 | */ |
| 15 | |
| 16 | #include "LighTsControl.h" |
| 17 | |
| 18 | /* Exported data definition */ |
| 19 | |
| 20 | /* Definition for custom storage class: FileScope */ |
| 21 | static boolean_T LighTsControl_UnitDelay; |
| 22 | static uint32_T LighTsControl_UnitDelay1; |
| 23 | static uint32_T LighTsControl_UnitDelay2; |
| 24 | static boolean_T LighTsControl_UnitDelay3; |
| 25 | |
| 26 | /* Model step function */ |
| 27 | void STEP_LighTsControl(const uint32_T light_switch, const uint32_T |
| 28 | light_intensity, boolean_T *headlight) |
| 29 | { |
| 30 | boolean_T rtb_intensity_isOn; |
| 31 | |
| 32 | /* Outputs for Atomic SubSystem: '<Root>/LighTsControl' */ |
| 33 | /* RelationalOperator: '<S1>/RelationalOperator1' incorporates: |
| 34 | * Constant: '<S1>/HysteresisStepsOn' |
| 35 | * UnitDelay: '<S3>/LighTsControl_UnitDelay2' |
| 36 | */ |
| 37 | rtb_intensity_isOn = (LighTsControl_UnitDelay2 >= QFParams.HysteresisStepsOn); |
| 38 | |
| 39 | /* Switch: '<S1>/Switch1' incorporates: |
| 40 | * Constant: '<S1>/HysteresisStepsOff' |
| 41 | * Logic: '<S1>/switchheadlighttoonoroff' |
| 42 | * RelationalOperator: '<S1>/RelationalOperator2' |
| 43 | * Switch: '<S1>/Switch' |
| 44 | * UnitDelay: '<S1>/LighTsControl_UnitDelay3' |
| 45 | * UnitDelay: '<S2>/LighTsControl_UnitDelay1' |
| 46 | */ |
| 47 | if ((LighTsControl_UnitDelay1 >= QFParams.HysteresisStepsOff) || rtb_intensity_isOn) { |
| 48 | LighTsControl_UnitDelay = rtb_intensity_isOn; |
| 49 | } else { |
| 50 | if (LighTsControl_UnitDelay3) { |
| 51 | /* Switch: '<S1>/Switch' incorporates: |
| 52 | * Constant: '<S1>/MinLightOff' |
| 53 | * Inport: '<Root>/light_intensity' |
| 54 | * RelationalOperator: '<S1>/RelationalOperator' |
| 55 | */ |
| 56 | LighTsControl_UnitDelay = (light_intensity <= QFParams.MinLightOff); |
| 57 | } |
| 58 | } |
| 59 | |
| 60 | /* End of Switch: '<S1>/Switch1' */ |
| 61 | |
| 62 | /* Switch: '<S2>/counttime1' incorporates: |
| 63 | * Constant: '<S1>/MinLightOff1' |
| 64 | * Inport: '<Root>/light_intensity' |
| 65 | * RelationalOperator: '<S1>/RelationalOperator3' |
| 66 | */ |
| 67 | if (light_intensity > QFParams.MinLightOff) { |
| 68 | /* Update for UnitDelay: '<S2>/LighTsControl_UnitDelay1' incorporates: |
| 69 | * Constant: '<S2>/Constant' |
| 70 | * Sum: '<S2>/Add1' |
| 71 | * UnitDelay: '<S2>/LighTsControl_UnitDelay1' |
| 72 | */ |
| 73 | LighTsControl_UnitDelay1 = LighTsControl_UnitDelay1 + 1U; |
| 74 | } else { |
| 75 | /* Update for UnitDelay: '<S2>/LighTsControl_UnitDelay1' incorporates: |
| 76 | * Constant: '<S2>/Constant3' |
| 77 | */ |
| 78 | LighTsControl_UnitDelay1 = 0U; |
| 79 | } |
| 80 | |
| 81 | /* End of Switch: '<S2>/counttime1' */ |
| 82 | |
| 83 | /* Switch: '<S3>/counttime1' incorporates: |
| 84 | * Constant: '<S1>/MinLightOn' |
| 85 | * Inport: '<Root>/light_intensity' |
| 86 | * RelationalOperator: '<S1>/RelationalOperator4' |
| 87 | */ |
| 88 | if (light_intensity < QFParams.MinLightOn) { |
| 89 | /* Update for UnitDelay: '<S3>/LighTsControl_UnitDelay2' incorporates: |
| 90 | * Constant: '<S3>/Constant' |
| 91 | * Sum: '<S3>/Add1' |
| 92 | * UnitDelay: '<S3>/LighTsControl_UnitDelay2' |
| 93 | */ |
| 94 | LighTsControl_UnitDelay2 = LighTsControl_UnitDelay2 + 1U; |
| 95 | } else { |
| 96 | /* Update for UnitDelay: '<S3>/LighTsControl_UnitDelay2' incorporates: |
| 97 | * Constant: '<S3>/Constant3' |
| 98 | */ |
| 99 | LighTsControl_UnitDelay2 = 0U; |
| 100 | } |
| 101 | |
| 102 | /* End of Switch: '<S3>/counttime1' */ |
| 103 | |
| 104 | /* MultiPortSwitch: '<S1>/MultiportSwitch' incorporates: |
| 105 | * Inport: '<Root>/light_switch' |
| 106 | */ |
| 107 | switch (light_switch) { |
| 108 | case 0: |
| 109 | /* Outport: '<Root>/headlight' incorporates: |
| 110 | * Constant: '<S1>/Constant' |
| 111 | */ |
| 112 | *headlight = false; |
| 113 | break; |
| 114 | |
| 115 | case 1: |
| 116 | /* Outport: '<Root>/headlight' */ |
| 117 | *headlight = LighTsControl_UnitDelay; |
| 118 | break; |
| 119 | |
| 120 | default: |
| 121 | /* Outport: '<Root>/headlight' incorporates: |
| 122 | * Constant: '<S1>/Constant1' |
| 123 | */ |
| 124 | *headlight = true; |
| 125 | break; |
| 126 | } |
| 127 | |
| 128 | /* End of MultiPortSwitch: '<S1>/MultiportSwitch' */ |
| 129 | |
| 130 | /* Update for UnitDelay: '<S1>/LighTsControl_UnitDelay3' incorporates: |
| 131 | * Constant: '<S1>/Constant2' |
| 132 | */ |
| 133 | LighTsControl_UnitDelay3 = false; |
| 134 | |
| 135 | /* End of Outputs for SubSystem: '<Root>/LighTsControl' */ |
| 136 | } |
| 137 | |
| 138 | /* Model initialize function */ |
| 139 | void INIT_LighTsControl(void) |
| 140 | { |
| 141 | /* Registration code */ |
| 142 | |
| 143 | /* states (dwork) */ |
| 144 | |
| 145 | /* custom states */ |
| 146 | LighTsControl_UnitDelay2 = 0U; |
| 147 | LighTsControl_UnitDelay1 = 0U; |
| 148 | LighTsControl_UnitDelay = false; |
| 149 | LighTsControl_UnitDelay3 = false; |
| 150 | |
| 151 | /* InitializeConditions for Atomic SubSystem: '<Root>/LighTsControl' */ |
| 152 | /* InitializeConditions for UnitDelay: '<S1>/LighTsControl_UnitDelay3' */ |
| 153 | LighTsControl_UnitDelay3 = true; |
| 154 | |
| 155 | /* End of InitializeConditions for SubSystem: '<Root>/LighTsControl' */ |
| 156 | } |
| 157 | |
| 158 | /* |
| 159 | * File trailer for generated code. |
| 160 | * |
| 161 | * [EOF] |
| 162 | */ |
| 163 |
| Model version | 1.442 |
| Author | TechDirector |
| Last saved | Tue Oct 09 11:20:54 2018 |
| Justify or Exclude |
| Included instance: | LTC_R2017/LighTsControl/LighTsControl_SIL/EZTEST_SFun |
| File/Complexity | Test 1 | ||||||||||||
| Decision | Condition | MCDC | |||||||||||
| TOTAL COVERAGE | 11 | 82% | 67% | 50% | |||||||||
| 1. . . . EZTEST_wrapper.c | 3 | -- | -- | -- | |||||||||
| 2. . . . LighTsControl.c | 8 | 82% | 67% | 50% | |||||||||