INSTRU: Issues
https://hephaistos.lpp.polytechnique.fr/redmine/
https://hephaistos.lpp.polytechnique.fr/redmine/redmine/favicon.ico?1508097601
2017-10-11T09:09:58Z
Redmine
Redmine
LFR-FSW - Bug #2134 (Stalled): Emission d'une raie à 96Hz par LFR
https://hephaistos.lpp.polytechnique.fr/redmine/issues/2134
2017-10-11T09:09:58Z
Alexis Jeandet
<p>Pendant les tests EMC, il a été mesuré une raie à 96Hz émise par LFR.<br />Après quelques investigations, ça s'explique par le fait que la consomation du FPGA entre le moment ou le CPU est en POWERDOWN et le moment ou il travaille est assez différente. De plus 96Hz correspond à la fréquence des interruptions pour les ASM à F0.<br />Une première tentative de mitigation en ajoutant une tache qui consomme du CPU en background a permis de baisser les niveaux d'émission mais c'est pas encore suffisant.<br />Il faut essayer de monter encore un peu la conso dans cette tache idle en utilisant la FPU par exemple.</p>
<ul>
<li><a href="https://hephaistos.lpp.polytechnique.fr/rhodecode/HG_REPOSITORIES/LPP/INSTRUMENTATION/USERS/JEANDET/LFR_FSW/changeset/fc82b08705ba9931880e4e57a76b1bb1ffa1e28e" class="external">Commit actuel</a></li>
<li><a href="https://hephaistos.lpp.polytechnique.fr/rhodecode/HG_REPOSITORIES/LPP/INSTRUMENTATION/USERS/JEANDET/SOLO_LFR_Notebooks/files/ea8683773e3816b28b499a7520bdfde53353a82a/LFR_CPU_POWERDOWN_EFFECT/LFR_CPU_POWERDOWN_EFFECT.ipynb" class="external">Analyse de l'effet du powerdown</a></li>
</ul>
LFR-FSW - Bug #1029 (Stalled): La tâche AVGV semble s'arrêter lorsque l'on repasse en STDBY sur l...
https://hephaistos.lpp.polytechnique.fr/redmine/issues/1029
2017-03-27T14:15:21Z
bruno katra
<p>La courbe ci-dessous montre les moyennes dans les HK avec un signal de 0.1Hz sur V et 5Hz sur E1 -3/3V en STANDBY puis passage en NORMAL pendant 10s et repassage en STANDBY (on voit d'ailleurs le bug <a class="issue tracker-1 status-5 priority-2 priority-default closed" title="Bug: HK_LFR_SC_V_F3 , HK_LFR_SC_E1_F3, HK_LFR_SC_E2_F3 have amazing values when a TC_LFR_ENTER_MODE is... (Closed)" href="https://hephaistos.lpp.polytechnique.fr/redmine/issues/955">#955</a> de Véro).</p>
<p><img src="https://hephaistos.lpp.polytechnique.fr/redmine/attachments/download/2192/FLOWCHART01.png" alt="" /></p>
<p>Ceci est confirmé en regardant les valeurs dans les HK :<br />[LFR@pc-solar1 3.2.0.9]$ more hk<br /> V E1 E2<br /> 431 434 379 > STDBY<br /> 432 433 380>.....<br /> 430 433 380<br /> 430 433 380<br /> 432 434 379<br /> 431 434 379<br /> 430 435 380<br /> 431 434 380<br /> 431 434 380<br /> 430 434 380<br /> 432 433 379<br /> 431 436 380<br /> 431 434 380 <br /> 8279 1271 381 > NORMAL<br /> 22638 418 377<br /> 27125 409 376<br /> 21361 411 377<br /> 7575 411 377<br /> -8947 410 378<br /> -21935 410 378<br /> -26425 410 378<br /> -20669 410 377<br /> -6895 410 377<br /> 9642 410 378<br /> 22631 410 377> STDBY<br /> 540 415 338 <br /> 433 435 377<br /> 430 434 379<br /> 432 434 379<br /> 430 435 379</p>
<p>SSS-CP-EQS-526 ne stipule pas que la moyenne n'est faite qu'en mode SCIENCE. Nous avions compris que le moyennage est tout le temps actif (y compris en BURST et STANDBY où il n'y a pas de produits F3)</p>
LFR-FSW - Bug #897 (Closed): Analyse Logiscope LFR_3.1.0.4 modifiée tag 322 (c0603702c8c8) : Do...
https://hephaistos.lpp.polytechnique.fr/redmine/issues/897
2017-01-13T16:00:08Z
William Recart
william.recart@lpp.polytechnique.fr
<p>Rappel de la règle :<br />Don_ArtVariables</p>
<p>Definition:<br />-----------<br />The key-word union is not allowed.</p>
<p>La règle n'est pas respectée dans 2 cas :<br />ccsds_types.h : lignes 803, 833 (code ajouté das cette version)</p>
LFR-FSW - Bug #814 (Closed): Analyse Logiscope LFR_3.1.0.4 : metric Number of direct calls
https://hephaistos.lpp.polytechnique.fr/redmine/issues/814
2016-10-19T13:39:17Z
William Recart
william.recart@lpp.polytechnique.fr
<p>La métriqueNumber of direct calls doit etre inférieure à 20.</p>
<p>Le métrique est non respectée dans 0.79% des cas :<br />Init (rtems_task_argument) => 38<br />actn_task (rtems_task_argument) => 21</p>
LFR-FSW - Bug #813 (Closed): Analyse Logiscope LFR_3.1.0.4 : metric Cyclomatic number
https://hephaistos.lpp.polytechnique.fr/redmine/issues/813
2016-10-19T13:36:39Z
William Recart
william.recart@lpp.polytechnique.fr
<p>La métrique Cyclomatic number doit etre inférieure à 20.</p>
<p>Le métrique est non respectée dans 1.19% des cas :<br />start_all_tasks (void) => 34<br />actn_task (rtems_task_argument) => 21<br />tc_check_length (unsignedchar, unsignedint) => 33</p>
LFR-FSW - Bug #812 (Closed): Analyse Logiscope LFR_3.1.0.4 : metric Maximum nesting level
https://hephaistos.lpp.polytechnique.fr/redmine/issues/812
2016-10-19T13:30:46Z
William Recart
william.recart@lpp.polytechnique.fr
<p>La métrique Maximum nesting level doit etre inférieure à 4.</p>
<p>Le métrique est non respectée dans 1.58% des cas :<br />cwf2_task (rtems_task_argument) => 5<br />lfr_rtems_cpu_usage_report (void) => 6<br />recv_task (rtems_task_argument) => 6<br />send_task (rtems_task_argument) => 10</p>
LFR-FSW - Bug #810 (Closed): Analyse Logiscope LFR_3.1.0.4 : Tr_OperCond Severity is Low
https://hephaistos.lpp.polytechnique.fr/redmine/issues/810
2016-10-19T12:44:49Z
William Recart
william.recart@lpp.polytechnique.fr
<p>Rappel de la règle :<br />Tr_OperCond<br />Definition:<br />-----------<br />The conditional operator ? ... : ... must not be used.</p>
<p>La règle n'est pas respectée dans 10 cas d'après Logiscope:<br />Fichier fsw_processing.c : ligne 669<br />Fichier fsw_processing.h : lignes 204, 205, 206, 207, 208, 209, 210, 211, 287</p>
LFR-FSW - Bug #809 (Closed): Analyse Logiscope LFR_3.1.0.4 : Tr_Parenthèses Severity is Medium
https://hephaistos.lpp.polytechnique.fr/redmine/issues/809
2016-10-19T12:42:41Z
William Recart
william.recart@lpp.polytechnique.fr
<p>Rappel de la règle :<br />Tr_Parenthèses<br />Definition:<br />-----------<br />In expressions, every binary and ternary operator has to be put in parenthesis, <br />so that the evaluation priorities are not ambiguous.<br />Use the partpar option to allow the following rules: when the right operand of <br />a + or * operator uses the same operator, you can omit parenthesis for it. <br />In the same way, you can omit parenthesis in the case of the right operand of an <br />assignment operator. Moreover, you can omit parenthesis at the first level of <br />the expression.</p>
<p>Parameters:<br />----------<br />The character string "partpar", which, if used, allows programmers not to put <br />systematically parenthesis, according to the rule above.</p>
<p>Justification:<br />--------------<br />Removes ambiguity about the evaluation priorities.</p>
<p>Example:<br />--------</p>
<p>// do not write<br />result = fact / 100 + rem;</p>
<p>// write<br />result = ((fact / 100) + rem);</p>
<p>// or write, with the partpar option<br />result = (fact / 100) + rem;</p>
<p>// with the partpar option, write<br />result = (fact * ind * 100) + rem + 10 + (coeff ** c);</p>
<p>// instead of <br />result = ((fact * (ind * 100)) + (rem + (10 + (coeff ** c))));</p>
<p>La règle n'est pas respectée dans 75 cas d'après Logiscope:<br />Fichier avf0_prc0.c : ligne 378<br />Fichier avf1_prc1.c : ligne 370<br />Fichier avf2_prc2.c : ligne 256<br />Fichier fsw_misc.c : lignes 374, 705, 706, 707<br />Fichier fsw_processing.c : lignes 236, 549, 556, 584, 585, 587, 651, 654, 658, 664, 668, 702, 782, 783<br />Fichier fsw_processing.h : lignes 280, 283, 286, 306, 309<br />Fichier fsw_spacewire.c : lignes 162, 167, 267, 1586<br />Fichier tc_acceptance.c : lignes 223, 274<br />Fichier tc_handler.c : lignes 279, 365, 382, 970, 1037, 1407, 1413, 1416, 1519, 1549<br />Fichier tc_load_dump_parameters.c : lignes 403, 408, 417, 422, 431, 436, 462, 467, 551, 555, 559, 867, 885, 999, 1000, 1353, 1365, 1367, 1514<br />Fichier tm_lfr_tc_exe.c : ligne 380<br />Fichier wf_handler.c : lignes 113, 843, 905, 906, 1170, 1184, 1185, 1208, 1209, 1231, 1233, 1266, 1277</p>
LFR-FSW - Bug #807 (Closed): Analyse Logiscope LFR_3.1.0.4 : Don_Enumeration Severity is Medium
https://hephaistos.lpp.polytechnique.fr/redmine/issues/807
2016-10-19T12:36:33Z
William Recart
william.recart@lpp.polytechnique.fr
<p>Rappel de la règle :<br />Don_Enumeration<br />Definition:<br />-----------<br />Numbers, characters and strings have to be declared as constants instead of being <br />used as literals inside a program. The user can list the allowed literal <br />constants.</p>
<p>Parameters:<br />-----------<br />A list of character strings representing the allowed literal constants.</p>
<p>Note: In the case of constants used in initializing lists <br />(concerning array and struct structures), only the first five violations are shown.</p>
<p>Justification:<br />--------------<br />Makes maintenance easier by avoiding the scattering of constants among the code, <br />often with the same value.</p>
<p>Example:<br />--------</p>
<p>// do not write</p>
<p>char tab<sup><a href="#fn100">100</a></sup>;<br />int i;</p>
<p>La règle n'est pas respectée dans 1435 cas d'après Logiscope:<br />Fichier avf0_prc0.c : lignes 27, 46, 83, 90, 172, 376, 377, 378, 378, 379, 380, 381, 382, 383, 384<br />Fichier avf1_prc1.c : lignes 28, 84, 91, 173, 368, 369, 370, 370, 371, 372, 373, 374<br />Fichier avf2_prc2.c : lignes 26, 72, 76, 123, 256, 269, 282<br />Fichier ccsds_types.h : lignes 303, 304, 305, 311, 313, 314, 323, 324, 325, 331, 333, 334, 335, 348, 349, 350, 356, 358, 359, 360, 363, 372, 373, 374, 380, 382, 383, 384, 395, 396, 397, 403, 405, 406, 407, 418, 419, 420, 426, 428, 429, 430, 433, 434, 435, 436, 444, 445, 446, 452, 460, 461, 469, 470, 471, 477, 483, 484, 492, 493, 494, 500, 508, 509, 517, 518, 519, 525, 531, 533, 541, 542, 543, 549, 555, 556, 564, 565, 566, 572, 580, 581, 582, 587, 592, 593, 594, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 623, 624, 625, 626, 628, 635, 636, 640, 642, 643, 644, 646, 647, 648, 687, 688, 689, 695, 705, 706, 707, 729, 730, 731, 732, 734, 735, 736, 737, 739, 740, 741, 742, 748, 750, 751, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 776, 777, 778, 784, 792<br />Fichier fsw_config.c : lignes 7, 7, 8, 8, 9, 9<br />Fichier fsw_globals.c : lignes 26, 27, 28, 98<br />Fichier fsw_init.c : lignes 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 322, 323, 325, 326, 327, 332, 345, 345, 345, 345, 346, 346, 346, 346, 347, 347, 347, 347, 348, 348, 348, 348, 349, 349, 349, 349, 350, 350, 350, 350, 351, 351, 351, 351, 352, 352, 352, 352, 353, 353, 353, 353, 354, 354, 354, 354, 355, 355, 355, 355, 356, 356, 356, 356, 357, 357, 357, 357, 358, 358, 358, 358, 359, 359, 359, 359, 360, 360, 360, 360, 361, 361, 361, 361, 362, 362, 362, 362, 363, 363, 363, 363, 366, 366, 366, 366, 368, 368, 368, 368, 369, 369, 369, 369, 370, 370, 370, 370, 371, 371, 371, 371, 372, 372, 372, 372, 374, 374, 374, 374, 406, 449, 465, 481, 831, 831, 831, 831, 843, 843, 843, 843, 855, 855, 855, 855, 867, 867, 867, 867, 879, 879, 879, 879, 916, 917, 918, 919<br />Fichier fsw_init.h : lignes 19, 20<br />Fichier fsw_misc.c : lignes 28, 48, 49, 50, 51, 52, 64, 65, 66, 130, 144, 145, 146, 147, 193, 193, 193, 193, 213, 220, 264, 264, 272, 287, 291, 292, 293, 293, 294, 295, 295, 296, 354, 354, 355, 356, 357, 358, 380, 382, 386, 390, 394, 422, 429, 433, 447, 448, 452, 453, 453, 473, 474, 494, 495, 496, 496, 497, 498, 498, 499, 509, 509, 526, 530, 536, 537, 538, 538, 539, 540, 540, 541, 545, 546, 550, 551, 553, 555, 556, 556, 560, 562, 586, 587, 588, 588, 589, 589, 590, 590, 591, 591, 604, 605, 606, 606, 607, 607, 608, 608, 609, 609, 628, 640, 644, 652, 656, 664, 668, 676, 680, 686, 689, 705, 706, 707, 740, 740, 741, 743, 743, 744, 746, 746, 747, 757, 757, 811<br />Fichier fsw_params.h : lignes 276, 277, 278<br />Fichier fsw_processing.c : lignes 51, 70, 76, 78, 98, 100, 117, 128, 128, 134, 136, 156, 158, 175, 185, 185, 191, 193, 202, 208, 214, 236, 236, 238, 243, 273, 273, 279, 279, 285, 285, 360, 362, 365, 366, 369, 373, 374, 375, 375, 376, 376, 377, 377, 378, 378, 381, 382, 383, 384, 385, 386, 386, 387, 387, 388, 388, 389, 389, 390, 400, 402, 405, 406, 409, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 480, 514, 521, 521, 522, 522, 523, 523, 524, 524, 530, 531, 531, 532, 533, 533, 534, 534, 535, 535, 536, 584, 585, 605, 606, 607, 608, 609, 610, 611, 612, 613, 616, 617, 618, 619, 669, 669, 692, 699, 700, 702, 719, 723, 728, 731, 732, 733, 782, 783<br />Fichier fsw_processing.h : lignes 27, 28, 29, 35, 41, 42, 44, 53, 54, 55, 61, 67, 69, 71, 102, 103, 176, 184, 204, 205, 206, 206, 206, 207, 207, 207, 208, 208, 208, 209, 209, 209, 210, 210, 210, 211, 211, 211, 287, 287, 344<br />Fichier fsw_processing_globals.c : ligne 46<br />Fichier fsw_spacewire.c : lignes 60, 67, 125, 126, 162, 163, 194, 263, 263, 264, 264, 349, 351, 479, 539, 542, 561, 565, 768, 768, 769, 773, 773, 774, 774, 775, 775, 776, 776, 783, 785, 810, 810, 812, 820, 851, 1010, 1011, 1017, 1018, 1019, 1020, 1021, 1022, 1024, 1026, 1027, 1036, 1040, 1047, 1048, 1049, 1050, 1051, 1052, 1054, 1057, 1058, 1068, 1072, 1073, 1079, 1080, 1081, 1082, 1083, 1084, 1086, 1087, 1088, 1089, 1090, 1091, 1128, 1132, 1153, 1153, 1154, 1154, 1155, 1155, 1156, 1156, 1161, 1166, 1216, 1225, 1228, 1230, 1236, 1238, 1247, 1247, 1248, 1248, 1249, 1249, 1250, 1250, 1302, 1306, 1329, 1329, 1330, 1330, 1331, 1331, 1332, 1332, 1335, 1368, 1378, 1389, 1399, 1402, 1406, 1407, 1408, 1408, 1409, 1410, 1410, 1411, 1415, 1415, 1416, 1416, 1417, 1417, 1418, 1418, 1448, 1458, 1469, 1479, 1482, 1486, 1487, 1488, 1488, 1489, 1490, 1490, 1491, 1495, 1495, 1496, 1496, 1497, 1497, 1498, 1498, 1528, 1537, 1546, 1549, 1553, 1554, 1555, 1555, 1556, 1557, 1557, 1558, 1562, 1562, 1563, 1563, 1564, 1564, 1565, 1565, 1586, 1598<br />Fichier lfr_cpu_usage_report.c : lignes 95, 103, 104, 110<br />Fichier tc_acceptance.c : lignes 13, 28, 28, 28, 28, 42, 46, 48, 49, 51, 52, 54, 55, 57, 58, 60, 61, 63, 64, 66, 67, 87, 91, 92, 128, 128, 128, 128, 129, 130, 458, 460<br />Fichier tc_handler.c : lignes 35, 180, 265, 269, 269, 274, 279, 282, 293, 295, 360, 361, 362, 362, 363, 365, 368, 489, 502, 905, 922, 923, 928, 929, 934, 935, 940, 941, 946, 947, 952, 953, 958, 959, 964, 965, 971, 971, 972, 972, 973, 973, 974, 974, 996, 1013, 1014, 1019, 1020, 1025, 1026, 1031, 1032, 1038, 1038, 1039, 1039, 1322, 1326, 1334, 1338, 1367, 1368, 1369, 1370, 1371, 1371, 1373, 1376, 1378, 1379, 1380, 1381, 1392, 1395, 1396, 1397, 1398, 1400, 1403, 1405, 1406, 1407, 1407, 1411, 1413, 1413, 1414, 1414, 1415, 1415, 1416, 1416, 1417, 1417, 1425, 1429, 1438, 1442, 1451, 1455, 1482, 1488, 1508, 1510, 1514, 1514, 1515, 1515, 1516, 1516, 1517, 1517, 1519, 1521, 1538, 1540, 1544, 1544, 1545, 1545, 1546, 1546, 1547, 1547, 1549, 1551, 1618, 1618, 1626, 1630<br />Fichier tc_load_dump_parameters.c : lignes 108, 117, 130, 175, 184, 192, 192, 195, 240, 249, 262, 334, 334, 335, 335, 339, 339, 340, 340, 343, 343, 344, 344, 350, 408, 422, 428, 436, 441, 442, 443, 443, 444, 445, 445, 446, 460, 462, 463, 467, 472, 473, 474, 474, 475, 476, 476, 477, 511, 512, 513, 513, 514, 515, 515, 516, 551, 555, 559, 570, 572, 578, 580, 589, 598, 608, 617, 627, 988, 996, 999, 1000, 1023, 1028, 1033, 1034, 1045, 1053, 1056, 1059, 1063, 1064, 1065, 1065, 1073, 1081, 1087, 1091, 1093, 1095, 1101, 1103, 1107, 1107, 1110, 1110, 1113, 1113, 1116, 1116, 1119, 1119, 1122, 1122, 1125, 1128, 1133, 1144, 1167, 1215, 1216, 1217, 1222, 1247, 1247, 1249, 1255, 1255, 1258, 1258, 1266, 1268, 1275, 1275, 1278, 1278, 1317, 1364, 1365, 1383, 1383, 1384, 1384, 1394, 1395, 1413, 1417, 1424, 1425, 1426, 1426, 1427, 1428, 1428, 1429, 1439, 1441, 1443, 1468, 1472, 1473, 1483, 1489, 1490, 1490, 1495, 1496, 1498, 1503, 1504, 1506, 1514, 1514, 1520, 1524, 1531, 1532, 1533, 1533, 1534, 1534, 1535, 1535, 1536, 1536, 1539, 1546, 1548, 1611, 1612, 1616<br />Fichier tm_lfr_tc_exe.c : lignes 44, 47, 54, 55, 56, 56, 57, 58, 58, 59, 109, 112, 119, 120, 121, 121, 122, 123, 123, 124, 126, 177, 180, 187, 188, 189, 189, 190, 191, 191, 192, 194, 245, 248, 255, 256, 257, 257, 258, 259, 259, 260, 262, 311, 314, 321, 322, 323, 323, 324, 325, 325, 326, 328, 379, 380, 388, 391, 398, 399, 400, 400, 401, 402, 402, 403, 405, 497, 498, 502<br />Fichier wf_handler.c : lignes 64, 67, 89, 118, 118, 121, 121, 125, 127, 127, 131, 145, 145, 160, 162, 172, 185, 185, 191, 191, 197, 199, 199, 204, 212, 212, 216, 216, 221, 223, 223, 228, 236, 236, 241, 241, 246, 248, 248, 253, 286, 286, 288, 288, 400, 401, 405, 416, 417, 417, 455, 470, 490, 578, 679, 679, 680, 680, 681, 681, 682, 682, 698, 701, 703, 704, 705, 705, 706, 707, 707, 708, 710, 711, 712, 712, 713, 713, 714, 714, 715, 720, 720, 724, 724, 728, 728, 732, 732, 736, 736, 740, 740, 744, 744, 748, 748, 753, 759, 760, 761, 761, 762, 762, 763, 763, 764, 791, 792, 793, 794, 807, 808, 810, 813, 814, 818, 819, 838, 850, 850, 850, 851, 851, 851, 854, 855, 856, 856, 856, 857, 857, 857, 861, 898, 899, 900, 905, 905, 906, 906, 914, 914, 919, 919, 931, 933, 933, 939, 944, 944, 950, 967, 1018, 1029, 1094, 1095, 1096, 1100, 1120, 1120, 1121, 1121, 1122, 1123, 1124, 1124, 1125, 1125, 1144, 1145, 1148, 1149, 1152, 1170, 1173, 1184, 1185, 1185, 1185, 1185, 1185, 1185, 1188, 1208, 1209, 1209, 1209, 1209, 1209, 1209, 1231, 1233, 1292, 1293, 1297<br />Fichier wf_handler.h : ligne 33</p>
LFR-FSW - Bug #804 (Closed): Analyse Logiscope LFR_3.1.0.4 : Tr_ModelFonction Severity is High
https://hephaistos.lpp.polytechnique.fr/redmine/issues/804
2016-10-19T12:22:47Z
William Recart
william.recart@lpp.polytechnique.fr
<p>Rappel de la règle :<br />Tr_ModelFonction<br />Definition:<br />-----------<br />Use inline functions instead of macro-functions.</p>
<p>Example:<br />--------</p>
<p>// write<br />inline char *GetName(aClass &object) {<br />return(object.name);<br />}</p>
<p>// do not write<br />#define GetName(s) ((s)->name)</p>
<p>La règle n'est pas respectée dans 120 cas d'après Logiscope:<br />Fichier fsw_params.h : lignes 237, 238, 239, 241, 242, 243, 247, 248, 249, 251, 252, 253, 257, 258, 259, 261, 262, 263</p>
LFR-FSW - Bug #802 (Closed): Analyse Logiscope LFR_3.1.0.4 : rule Tr_Accolades Severity is High
https://hephaistos.lpp.polytechnique.fr/redmine/issues/802
2016-10-19T12:17:22Z
William Recart
william.recart@lpp.polytechnique.fr
<p>Rappel de la règle :<br />Tr_Accolades<br />Definition:<br />-----------<br />Block statements shall always be used in control statements (if , for , while , do).</p>
<p>Justification:<br />--------------<br />Removes ambiguity about the scope of instructions and makes the code easier to read<br />and to modify.</p>
<p>Example:<br />--------</p>
<p>// do not write<br />if (x 0) return;<br />else <br />while (x > min) <br /> x--;</p>
<p>// write<br />if (x 0) {<br /> return;<br />} else {<br /> while (x > min) {<br /> x--;<br /> }<br />}</p>
<p>La règle n'est pas respectée dans 38 cas d'après Logiscope:<br />Fichier avf0_prc0.c : lignes 119, 132, 225, 234, 391, 396<br />Fichier avf1_prc1.c : lignes 120, 133, 226, 381<br />Fichier fsw_init.c : lignes 788, 792, 796<br />Fichier fsw_processing.c : ligne 565<br />Fichier fsw_processing.h : lignes 222, 227, 251, 256<br />Fichier fsw_spacewire.c : lignes 274, 278, 282, 286, 290, 294, 303, 975<br />Fichier lfr_cpu_usage_report.c : ligne 53<br />Fichier tc_acceptance.c : ligne 463<br />Fichier tc_handler.c : ligne 1585<br />Fichier tc_load_dump_parameters.c : lignes 1028, 1330, 1337<br />Fichier wf_handler.c : lignes 127, 199, 223, 248, 475, 1277</p>
LFR-FSW - Bug #801 (Closed): Analyse Logiscope LFR_3.1.0.4 : Don_Initialisation_P2 Severity is High
https://hephaistos.lpp.polytechnique.fr/redmine/issues/801
2016-10-19T12:13:09Z
William Recart
william.recart@lpp.polytechnique.fr
<p>Rappel de la règle :<br />Don_Initialisation_P2 :<br />Definition:<br />-----------<br />All variables must be initialized before they are used, without aking into account<br />on the default value attributed by the compiler.<br />Global variables, parameters of a function in the function body, and data fields <br />of a class in its methods are considered to be initialized.</p>
<p>Justification:<br />--------------<br />Not all compilers give the same default values. Unexpected behaviour can be <br />avoided with better control over variable values.</p>
<p>Limitations:<br />------------<br />This rule is not violated in the following cases: <br />If an array, a struct or a class are used, they will be consided initialized as <br />soon as a part of them has been initialized.<br />For example: <br /> int a<sup><a href="#fn2">2</a></sup>;<br /> int b<sup><a href="#fn2">2</a></sup> = {6, 7};<br /> int h;</p>
<pre><code>a[0] = b[0]; // ok<br /> h = a[1]; // ok</code></pre>
<pre><code>struct
{<br /> int i;<br /> int j;<br /> } e, f;</code></pre>
<pre><code>e.i = 0;<br /> g = e; // ok</code></pre>
<p>This rule is violated in the following cases where initialization is uncertain:</p>
<p>Using a variable in a function call is considered as "being used": if it is not <br />initialized, the rule will be violated. <br />This will occur whatever the use of the function, even initializing the variable.</p>
<p>In cases including a conditional initialization, the rule is violated even though <br />the variable may well be initialized. </p>
<pre><code>int i, j, k;<br /> j = func();<br /> if (j)<br /> i = 0;<br /> k = i; // violation</code></pre>
<p>This applies even when there is an else branch, for example in<br /> int i, j, k;<br /> j = func();<br /> if (j)<br /> i = 0;<br /> else <br /> i = 5;<br /> k = i; // violation <br />where initialization is certain.</p>
<p>In the case of a loop, for example<br />int j, k;<br />for (int i=0; i<glob; i++)
{<br /> j=func(i);<br /> }<br />k = j; // violation <br />where glob is a global variable, depending on the value of glob, j will have been <br />initialized or not: the rule is violated, even if the loop condition occurs or not.</p>
<p>La règle n'est pas respectée dans 352 cas d'après Logiscope:<br />Fichier avf0_prc0.c : lignes 70, 77, 174, 207, 210, 218, 221, 227, 230, 236, 239, 248, 253, 262, 262, 287, 289, 290, 293, 300, 302, 303, 306, 325, 327, 328, 331, 337, 339, 340, 343, 357, 360, 366<br />Fichier avf1_prc1.c : lignes 71, 78, 175, 208, 211, 219, 222, 228, 231, 240, 245, 254, 254, 279, 281, 282, 285, 292, 294, 295, 298, 317, 319, 320, 323, 329, 331, 332, 335, 349, 352, 358<br />Fichier avf2_prc2.c : lignes 59, 66, 125, 156, 159, 163, 168, 177, 177, 202, 204, 205, 208, 216, 218, 219, 222, 238, 244<br />Fichier fsw_init.c : lignes 274, 278, 743, 752, 761, 770, 779, 805, 891, 893<br />Fichier fsw_misc.c : lignes 30, 195, 210, 235, 260, 262, 270, 323, 378, 379, 565, 567, 802, 802, 803, 803, 805, 806, 807, 808<br />Fichier fsw_processing.c : ligne 574<br />Fichier fsw_spacewire.c : lignes 45, 59, 60, 66, 67, 136, 142, 152, 166, 173, 173, 175, 175, 184, 186, 186, 188, 193, 193, 199, 240, 250, 250, 259, 314, 329, 346, 348, 349, 352, 406, 522, 588, 611, 613, 615, 617, 619, 621, 623, 625, 627, 629, 631, 649, 674, 674, 681, 681, 688, 688, 695, 695, 702, 702, 709, 709, 716, 716, 723, 723, 730, 730, 737, 737, 744, 744, 754, 754, 757, 1122, 1124, 1125, 1208, 1209, 1211, 1296, 1298, 1299, 1360, 1362, 1363, 1440, 1442, 1443, 1520, 1522, 1523, 1586, 1586<br />Fichier lfr_cpu_usage_report.c : ligne 110<br />Fichier tc_acceptance.c : lignes 130, 130, 204, 287, 470<br />Fichier tc_handler.c : lignes 39, 45, 58, 58, 58, 67, 71, 71, 72, 72, 75, 76, 76, 79, 79, 80, 80, 83, 83, 84, 84, 87, 87, 88, 88, 91, 91, 92, 92, 95, 95, 96, 96, 99, 99, 100, 100, 103, 103, 104, 104, 107, 107, 108, 108, 111, 111, 112, 112, 115, 115, 116, 116, 119, 119, 120, 120, 123, 123, 124, 124, 127, 127, 128, 128, 131, 132, 132, 393<br />Fichier tc_load_dump_parameters.c : lignes 878, 897, 914, 1021, 1043, 1044, 1045<br />Fichier tm_lfr_tc_exe.c : lignes 379, 379<br />Fichier wf_handler.c : lignes 145, 185, 191, 197, 197, 199, 204, 204, 212, 216, 221, 221, 223, 228, 228, 236, 241, 246, 246, 248, 253, 253, 343, 354, 356, 362, 363, 364, 366, 390, 412, 421, 426, 457, 469, 471, 473, 475, 482, 523, 534, 542, 585, 586, 838, 843, 924, 953, 1183, 1207, 1230, 1264, 1290, 1293, 1293, 1295, 1301, 1303, 1303, 1307, 1313, 1313<br />Fichier : lignes</p>
LFR-FSW - Bug #796 (Closed): Analyse Logiscope LFR_3.1.0.4 : rule Don_Initialisation_P1 Severity ...
https://hephaistos.lpp.polytechnique.fr/redmine/issues/796
2016-10-18T15:26:50Z
William Recart
william.recart@lpp.polytechnique.fr
<p>Rappel de la règle :<br />Don_Initialisation_P1:<br />Definition:<br />-----------<br />Global variables must be initialized when they are defined.</p>
<p>Justification:<br />--------------<br />Not all compilers give the same default values. Unexpected behaviour can be <br />avoided with better control over variable values. Initializing global variables <br />when they are declared ensures that they are initialized before being used.</p>
<p>La règle n'est pas respectée dans 120 cas d'après Logiscope:<br />Fichier avf0_prc0.c : lignes 13, 17, 18, 20, 21, 23, 24, 25, 27, 28, 29, 31, 32<br />Fichier avf1_prc1.c : lignes 12, 18, 19, 21, 22, 24, 25, 26, 28, 29, 30, 32, 33<br />Fichier avf2_prc2.c : lignes 12, 18, 20, 21, 23, 24, 26, 27, 29<br />Fichier fsw_globals.c : lignes 26, 27, 28, 29, 30, 33, 34, 43, 44, 45, 46, 52, 53, 54, 63, 64, 65, 68, 69, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 85, 86, 87, 88, 89, 90, 91, 92, 95, 97<br />Fichier fsw_misc.h : lignes 29, 30<br />Fichier fsw_processing.c : lignes 14, 15, 16, 17, 28, 29, 30, 31, 32, 33, 34, 35, 36<br />Fichier fsw_processing.h : ligne 105<br />Fichier fsw_spacewire.c : lignes 16, 17, 21, 22, 23<br />Fichier tc_acceptance.c : ligne 13<br />Fichier tc_load_dump_parameters.c : lignes 17, 18, 19, 20<br />Fichier wf_handler.c : lignes 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 29, 30, 31, 32, 41, 42, 43, 44</p>
LFR-FSW - Bug #84 (Closed): Talon dans la période de génération des TM_LFR_SCIENCE_x
https://hephaistos.lpp.polytechnique.fr/redmine/issues/84
2014-03-11T18:10:22Z
Gerald Saule
<p>Cette issue fait suite à Bug <a class="issue tracker-1 status-5 priority-1 priority-lowest closed" title="Bug: Analyse Logiscope LFR_3.1.0.4 : Tr_Parenthèses Severity is Medium (Closed)" href="https://hephaistos.lpp.polytechnique.fr/redmine/issues/809">#809</a> (Fluctuation du délai entre deux TM_LFR_SCIENCE_NORMAL_SWF_Fx (FIRST_PACKET_OF_A_GROUP_OF_PACKETS) consécutives).</p>
<p>Actuellement, la période des TM_LFR_SCIENCE_NORMAL_SWF_Fx est 300s par défaut. C'est un paramètre modifiable; des essais sont faits avec 16s.<br />On n'observe pas de différence de cadence entre TM_LFR_SCIENCE_NORMAL_SWF_F1, TM_LFR_SCIENCE_NORMAL_SWF_F2, ou TM_LFR_SCIENCE_NORMAL_SWF_F3.</p>
<p>En utilisant le champ PA_LFR_ACQUISITION_TIME:<br />-exp=300s: sur 2 périodes, on mesure res=300.00390625s<br />-exp=16: sur 61 périodes, on mesure res=16.00390625s</p>
<p>L'écart est satisfaisant; mais ce talon est toujours rigoureusement identique. Il pourrait y avoir un pb de principe à améliorer.<br />Notons que sur TM_LFR_SCIENCE_NORMAL_CWF_F3, on attend nom=168.0s. PA_LFR_ACQUISITION_TIME nous mène à 168.0s exactement.</p>
<p><ins>Contexte:</ins><br />LPPMON Version=0.2.2 - Branch=default - Changeset=835955994d5f</p>
<p>Carte mini-LFR: LFR-172200 dev V1.0; No série III (sans connecteurs sub-click)<br />Vhdl: mini-lfr_0.0.0.15<br />Soft: 1.0.0.2 (variante sur carte finale) = r104</p>
<p>Brique Brique Star-Dundee S/N 46120065.</p>
<p>TEST CASE associé(s) = SVS-0029.</p>
<p>RPW-SYS-MEB-LFR-ICD-00097 Issue2_Rev0<br />RPW-SYS-SSS-00013-LES + Annex_Release_Definition Issue2_rev1</p>
LFR-FSW - Bug #72 (Closed): Perte de périodicité sur ultime TM_LFR_SCIENCE_SBM2_CWF_F2
https://hephaistos.lpp.polytechnique.fr/redmine/issues/72
2014-02-26T17:22:37Z
Gerald Saule
<p>Les TM_LFR_SCIENCE_SBM2_CWF_F2doivent être générées à la fréquence de 256.0Hz. Ainsi, les données étant bufferisées, on attend uns salve de 8 TM_LFR_SCIENCE_SBM2_CWF_F2 toutes les 10.5s.</p>
<p>On observe très précisement cette cadence (sur les 36 périodes précédentes), sauf dans le cas ci-dessous:</p>
<blockquote>
<p>17:18:53.066229, TM_LFR_SCIENCE_SBM2_CWF_F2, PA_LFR_ACQUISITION_TIME=0x800007c000a8<br />17:18:53.074801, TM_LFR_SCIENCE_SBM2_CWF_F2, PA_LFR_ACQUISITION_TIME=0x800007c150a8<br />17:18:53.078671, TM_LFR_SCIENCE_SBM2_CWF_F2, PA_LFR_ACQUISITION_TIME=0x800007c2a0a8<br />17:18:53.082048, TM_LFR_SCIENCE_SBM2_CWF_F2, PA_LFR_ACQUISITION_TIME=0x800007c3f0a8<br />17:18:53.085287, TM_LFR_SCIENCE_SBM2_CWF_F2, PA_LFR_ACQUISITION_TIME=0x800007c540a8<br />17:18:53.101314, TM_LFR_SCIENCE_SBM2_CWF_F2, PA_LFR_ACQUISITION_TIME=0x800007c690a8<br />17:18:53.105723, TM_LFR_SCIENCE_SBM2_CWF_F2, PA_LFR_ACQUISITION_TIME=0x800007c7e0a8<br />17:18:53.109579, TM_LFR_SCIENCE_SBM2_CWF_F2, PA_LFR_ACQUISITION_TIME=0x800007c930a8<br />17:18:53.93814, TM_LFR_HK<br />17:18:54.938771, TM_LFR_HK<br />17:18:55.938731, TM_LFR_HK<br />17:18:56.938748, TM_LFR_HK<br />17:18:57.938755, TM_LFR_HK<br />17:18:58.938711, TM_LFR_HK<br />17:18:59.938724, TM_LFR_HK<br />17:19:00.53456, TM_LFR_SCIENCE_NORMAL_CWF_LONG_F3<br />17:19:00.939025, TM_LFR_HK<br />17:19:01.938561, TM_LFR_HK<br />17:19:02.93855, TM_LFR_HK<br />17:19:03.556298, TC_LFR_ENTER_MODE (CP_LFR_MODE=0), CCSDS_VERSION_NUMBER = 0, PACKET_TYPE: TC_PACKET = 1, DATA_FIELD_HEADER_FLAG: WITH_HEADER = 1, PROCESS_ID: RPW_PID_2 = 76, PACKET_CATEGORY: PRIVATE_SCIENCE_OR_TELECOMMAND = 12, (PACKET_ID=0x1ccc), SEGMENTATION_GROUPING_FLAG: STANDALONE_PACKET = 3, SEQUENCE_CNT=7277, (PACKET_SEQUENCE_CONTROL=0xdc6d), PACKET_LENGTH=13, CCSDS_SECONDARY_HEADER_FLAG=0, PUS_VERSION = 1, ACK_EXECUTION_COMPLETION=1, ACK_EXECUTION_PROGRESS=0, ACK_EXECUTION_START=0, ACK_ACCEPTANCE=1, SERVICE_TYPE: EQ_CONFIGURATION = 181, SERVICE_SUBTYPE: ENTER_MODE = 41, SOURCE_ID: MISSION_TIMELINE = 110, SPARE=0, CP_LFR_MODE: STANDBY = 0, CP_LFR_ENTER_MODE_TIME=0x000000000000, CRC = 0x65b1<br />17:19:03.566126, TM_LFR_SCIENCE_SBM2_CWF_F2, PA_LFR_ACQUISITION_TIME=0x800007cfc0a8<br />17:19:03.574951, TM_LFR_SCIENCE_SBM2_CWF_F2, PA_LFR_ACQUISITION_TIME=0x800007d110a8<br />17:19:03.579086, TM_LFR_SCIENCE_SBM2_CWF_F2, PA_LFR_ACQUISITION_TIME=0x800007d260a8<br />17:19:03.585768, TM_LFR_SCIENCE_SBM2_CWF_F2, PA_LFR_ACQUISITION_TIME=0x800007d3b0a8<br />17:19:03.588339, TM_LFR_TC_EXE_SUCCESS, PA_RPW_TELECOMMAND_PKT_ID=0x1ccc, PA_RPW_PKT_SEQ_CONTROL=0xdc6d</p>
</blockquote>
<p>On mesure malheureusement un délai de 15.75s, ce qui est hors tolérance pour les outils automatisés (Python) de mesure de période.<br />Visiblement, le traitement du TC_LFR_ENTER_MODE provoque cette irrégularité.<br />Le fonctionnement en régime établi étant ok, je propose un niveau de priorité "Low".</p>
<p>Contexte:<br />LPPMON: Version=0.2.2 Branch=default Changeset=835955994d5f<br />Carte mini-LFR: LFR-172200 dev V1.0; No série III (sans connecteurs sub-click)<br />Vhdl: mini-lfr_0.0.0.15<br />Brique Star-Dundee S/N 46120065.<br />Soft:1.0.0.1 (variante sur carte finale)</p>
<p>TEST CASE = SVS_0019<br />Req: SSS-CP-FS-590</p>
<p>RPW-SYS-MEB-LFR-ICD-00097 Issue2_Rev0<br />RPW-SYS-SSS-00013-LES + Annex_Release_Definition Issue2_rev1</p>